安装用户应用程序时,“最佳实践”建议将它们放置在哪里?

安装用户应用程序时,“最佳实践”建议将它们放置在哪里?

有时我会手动安装应用程序,而不是使用apt或其他包管理器。

“最佳实践”建议在什么位置(/usr/、、、等)安装用户应用程序?/usr/local//opt//home/

答案1

这确实要看情况。如果应用程序有一个 makefile,或者例如对于 Python 应用程序,如果应用程序使用分布式实用程序(例如,有一个setup.py文件)或类似的构建/安装系统,您应该将其安装到/usr/local/。这通常是默认行为。

据我所知,/usr/local/的层次结构与 类似/usr/。但是,像/usr/bin/和 这样的目录/usr/lib/通常是为通过 安装程序包保留的apt。因此,期望“安装”到 中的程序/usr/应该可以在 中正常运行/usr/local/

如果您只需要提取 tarball 并直接运行(例如 Firefox),那么请将其放入/opt/。只需要一个目录并将获取与该目录相关的所有文件/库的程序可以在 中为自己获取一个目录/opt/

请参阅跳频

答案2

记住,这并不/usr意味着用户反而unix系统资源

因此,我倾向于认为任何发行版都有权践踏 的内容/usr,并且我对系统的特定添加将进入/usr/local,我会在升级之前保留它。

同时,应用程序和其他东西也进入了/opt

有些人觉得把东西放进去很舒服/home,尽管我很少遵循这种惯例。

尽管如此,我还是让分发包管理器首先按照自己的方式做事,然后在手动滚动内容时执行上述操作。

答案3

安装诸如 Firefox Devel 之类的不稳定程序/home/user/opt/可以更轻松地删除它,并且其他用户不会对应该使用哪个版本感到困惑...因此,如果它不是全局使用的程序,请将其安装在主目录的子文件夹中(/home/user/)。

切勿在 中安装程序/usr/,这很可能会造成混乱,安装在 中的东西/usr/仅用于分发包。/usr/local/ 用于本地编译的包。并且结构的工作方式完全相同! 中的文件/usr/local/将优先于 中的文件/usr/

/opt/应该用于安装预编译(二进制)包(Thunderbird、Eclipse、Netbeans、IBM NetSphere 等)等。但如果它们仅供单个用户使用,则应将它们放在您的主目录中。

如果你希望能够运行安装在“奇怪”位置(如/home/user/opt/firefox/)的程序,而无需输入需要将其添加到$PATH变量中的完整路径,则可以在你的/home/user/.profile

export PATH=/home/user/opt/firefox:$PATH

该文件夹名称应该是您需要运行的可执行文件所在的文件夹名称。

答案4

我家里通常有一个名为“程序”的文件夹,我会在那里安装这些程序,奇怪的是(或不是)它们现在都是 Java 的东西。

对我来说,它有一个很大的优势,当我重新安装或更换电脑时,它们会随我家的其他设备一起移动。但它有一个明显的缺点,这些应用程序只能供我的用户使用。

相关内容