awtk icon indicating copy to clipboard operation
awtk copied to clipboard

Linux版AWStudio安装包在安装时执行危险操作

Open ufbycd opened this issue 3 years ago • 2 comments

发现github上不少仓库都转到AWStudio了,那么只能安装AWStudio了。我使用的是ArchLinux系的发行版,于是转换deb包到pacman包格式,然而在转换时发现安装脚本里有些比较危险的操作:

	# Soft link libsndio.so to /usr/lib, remove first.
	if [ -f "$LIB_PATH/libsndio.so.6.1" ]; then
	    rm "$LIB_PATH/libsndio.so.6.1"
	fi
	ln -sf "$AW_STUDIO_INSTALL_PATH/node_modules/awtk/libsndio.so.6.1" "$LIB_PATH/libsndio.so.6.1"

直接替换系统库!会影响系统库的兼容性和系统的依赖关系。

	if [ ! -f "/usr/lib/libgit2.so.1.3" ]; then
	  sudo cp $lg2_path/libgit2.so.1.3 /usr/lib
	  echo "copy libgit2.so.1.3 to /usr/lib"
	fi

	if [ ! -f "/usr/lib/libcrypto.so.1.0.0" ]; then
	  sudo cp $lg2_path/libcrypto.so.1.0.0 /usr/lib
	  echo "copy libcrypto.so.1.0.0 to /usr/lib"
	fi

	if [ ! -f "/usr/lib/libssl.so.1.0.0" ]; then
	  sudo cp $lg2_path/libssl.so.1.0.0 /usr/lib
	  echo "copy libssl.so.1.0.0 to /usr/lib"
	fi

直接安装存在于软件仓库里的包的库!会影响这些库对应的软件包的正常安装使用。

理想的处理方法应该是由安装包的依赖关系来管理依赖库。如果不想利用依赖关系而直接安装使用第三方库,那么应该按如下方式进行:

  • 将第三方库安装到/usr/lib目录之外以防止跟软件仓库里的冲突
  • 编译AWStudio软件时使用-Wl,-rpath选项指定库的链接路径
  • 如果不想用-Wl,-rpath来固定链接路径,可以在运行AWStudio软件时将第三方库路径写入LD_LIBRARY_PATH环境变量的开头

ufbycd avatar Oct 27 '22 03:10 ufbycd

AWStudio第一次运行时为何要超级用户权限?这是要做什么动作? Screenshot_20221027_142441

ufbycd avatar Oct 27 '22 06:10 ufbycd

目前来说,Linux版的AWStudio的可信度非常低,我不太敢在我的开发系统上运行这个软件,就怕它搞坏我的系统导致我干不了活!

ufbycd avatar Oct 27 '22 06:10 ufbycd