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




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

评论

在unix.stackexchange上有一个关于此问题的良好讨论:unix.stackexchange.com/questions/30/…

#1 楼

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

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

评论


Komodo Edit6。我在回购中看不到它。

– mpen
2010-10-13 18:01

在这种情况下,只需使用/ opt / komodo或/ opt中的任何子目录。该安装程序将在菜单中为您创建一个启动器(经过测试)。

– LFC_fan
2010-10-13 18:19



我也将使用/ opt:tldp.org/LDP/Linux-Filesystem-Hierarchy/html/opt.html

–汉尼拔·莱克特博士
2010-10-13 18:22

有趣的是,如果您进行sudo安装,许多程序/应用程序会自动建议安装到/ opt。

–朱洪波
18-09-10在8:26



为/ opt / appname设置哪些权限?

–丹尼尔(Danijel)
20/11/11在14:44

#2 楼

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

如果程序需要创建文件夹,则选择/usr/local;根据FHS:


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


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

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

评论


我不同意。根据FHS的说明,/ usr / local不应包含超出指定目录的其他目录,/ usr / local / bin应仅包含二进制文件。在/ usr / local或/ usr / local / bin中创建文件夹违反了FHS。在这种情况下,应使用/ opt。

–jordanbtucker
15年3月28日在20:52

@jordanbtucker,嗯,没有FHS声明:“在首次安装FHS兼容系统之后,除下面列出的目录外,没有其他目录可以位于/ usr / local中。”实际上,/ usr / local是用于本地安装的软件的非常明确的信息:“ / usr / local层次结构是供系统管理员在本地安装软件时使用的。[...]本地安装的软件必须放在/ usr中除非替换或升级/ usr中的软件,否则/ local而不是/ usr。”

–里卡多·穆里(Riccardo Murri)
15年3月30日在8:45

@RiccardoMurri啊,谢谢您的澄清。那是一个重要的区别。

–jordanbtucker
15年3月30日在15:58

“未执行提取”-您没有正确的权限来提取文件夹“ local”中的存档。 1)我在Firefox Beta中进行了搜索; 2)点击下载; 3)提取管理器打开; 4)我用谷歌提取它; 5)我得到错误;我怎么做错了???这就是为什么人们讨厌Linux!

–icl7126
17年12月3日,9:14



别人可能会提出更好的icl7126-我对linux还是很陌生(一个35岁的开发者一个月前就搬到Linux了!),但对我来说,起作用的是右键单击zip文件所在的文件夹-选择“在终端中打开”。然后输入“ sudo xdg-open”。以提升的权限打开文件浏览器。从那里,我可以打开具有足够特权的zip文件以提取到opt文件夹。

–克里斯·内维尔(Chris Nevill)
18年1月14日在11:40

#3 楼

通常,您可以将其放在/usr中,将二进制文件放在/usr/bin中,如果更大,则将其放在/opt中。