当我通过提取 tar 存档在主目录中安装 Android Studio 等应用程序或 Oracle JDK 等程序时,运行文件后.sh
,它们会对主目录进行更改,例如创建配置文件和文件夹。我想知道它们是否可以访问我的根目录中的其他系统文件夹并在其中进行更改?
答案1
他们可以,但是共识是他们不应该。
安装tar.gz
应该分为两种。提供使用的安装程序或安装脚本...
/opt/
作为安装路径,然后将除符号链接之外的所有内容放入/etc/
二进制文件中,/opt/
这样服务就会在启动时启动。这需要sudo
并且往往适用于较大的项目(比如 jasperserver,来自源代码的 mysql),其中有多个用户使用该软件或该软件是服务器。/home/$USER/
以及一个以软件命名的子目录,所有内容都安装在那里。这个子目录不需要sudo
也不应该在你家之外安装任何东西。当您使用此类安装并且安装程序要求输入
sudo
密码时,这是一个危险信号。您需要停下来并进行调查。在屏幕上列出安装程序并检查它要求输入密码的原因。或者在 AskUbuntu 上询问 ;)
我还没有看到不遵循此原则的软件。
只有为特定操作系统制作的安装程序(Ubuntu/Debian 的 .DEB、Redhat 的 .RPM 等)才应使用Linux 文件系统层次结构。