在哪里安装程序?

mpe*_*pen 157 software-installation

可能的重复:
安装用户应用程序的最佳位置是什么?

我已经下载.tar.gz并运行了sudo sh install.sh。它问我在哪里安装程序。我不希望它弄乱我的主目录,我希望它在应用程序菜单中可用。我应该把它放在哪里?/usr/bin? /usr/local/bin? 或者那些仅适用于单个二进制文件?这个程序想要创建一个文件夹。

LFC*_*fan 100

首先,您要安装哪个应用程序?始终最好通过本机包管理进行安装,因为包管理器将为您处理位置、更新、路径和启动器(快捷方式)。也会处理更新。理想情况下,您应该在软件中心或 Synaptic 中搜索该软件包。如果软件不在默认存储库中,则可以使用 PPA。

但是,如果您确定要安装此软件包,请使用例如/opt目录/opt/appname/opt将适合这种安装。根据安装程序的不同,可能会或可能不会创建启动器。如果安装程序未创建,您可以手动创建启动程序。您也可以$HOME/bin用于放置所有应用程序。

  • 我也会和 /opt 一起去:http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/opt.html (7认同)
  • 在这种情况下,只需使用 /opt/komodo 或 /opt 中的任何子目录。此安装程序将在菜单中为您创建一个启动器(刚刚测试)。 (2认同)
  • 为“/opt/appname”设置哪些权限? (2认同)

Ric*_*rri 90

对于所有与路径相关的问题,Linux Filesystem Hierarchy Standard是权威参考。

如果程序需要创建文件夹,那么/usr/local就是选择的目录;根据FHS

/usr/local层次结构供系统管理员在本地安装软件时使用。

避免将本地二进制文件直接放在 下/usr,因为根据 FHS,该层次结构是为 Linux 发行版(在本例中为 Ubuntu)提供的软件保留的。

请注意,将二进制文件放入/usr/local/bin(或任何其他bin目录)不会创建菜单项;为此,您必须提供一个.desktop文件并使用xdg-desktop-menu命令将其安装在适当的目录中。

  • @jordanbtucker 嗯,没有 [FHS 状态](http://www.pathname.com/fhs/pub/fhs-2.3.html#USRLOCALLOCALHIERARCHY):“没有其他目录,除了下面列出的目录,可能在 /usr /local 在 **first** 安装符合 FHS 的系统之后。” 实际上,`/usr/local` 用于本地安装的软件非常明确:“/usr/local 层次结构供系统管理员在本地安装软件时使用。*[...]* 本地安装的软件必须是放置在 /usr/local 而不是 /usr 中,除非 *[...]* 替换或升级 /usr 中的软件。” (8认同)
  • 我不同意。根据 FHS,/usr/local 不应包含超出指定目录的额外目录,而 /usr/local/bin 应仅包含二进制文件。在 /usr/local 或 /usr/local/bin 中创建文件夹是违反 FHS 的。在这种情况下应该使用 /opt。 (4认同)
  • @RiccardoMurri 啊,感谢您的澄清。这是一个重要的区别。 (2认同)
  • 其他人可能会想出更好的 icl7126 - 我对 linux 还很陌生(35 岁的开发人员一个月前搬到了 Linux!)但对我来说有效的是右键单击 zip 文件所在的文件夹 - 选择 '在终端中打开'。然后输入“sudo xdg-open”。以提升的权限打开文件浏览器。从那里我可以打开具有足够特权的 zip 文件以提取到 opt 文件夹。 (2认同)
  • @StackUnderflow `/opt` 和 `/usr/local` 的用法非常相似,因为两者都旨在托管 Linux 发行版*不*提供的软件。但“/usr/local”是保留给系统管理员使用的;“/opt”提供了一个目录树,第三方软件供应商可以在该目录树下安装他们的软件。例如,如果您购买商业应用程序,它可以在“/opt/app-name”中安装自己的文件,而不会干扰发行版或系统管理员安装的任何内容。 (2认同)

Mar*_*tin 8

通常你会把它放在/usr, 二进制文件中,/usr/bin如果它是更大的东西,它会转到/opt.