哪个对已安装的应用程序更好:/ usr / bin或用户的主目录?


9

对我来说,尚不完全清楚将GUI应用程序安装在/usr/bin主目录中还是将其安装会更好。我已经通过阅读这篇文章这一个,但它并没有真正谈论如何使用这些不同的目录哲学。命令应该与GUI应用程序区别对待吗?

Answers:


11

/usr/bin是在系统上可执行命令的主目录。

/usr/local

  • 由系统管理员在本地安装软件时使用。

  • 更新系统软件时,必须确保它不会被覆盖。
  • 它可用于可在一组主机之间共享但在中找不到的程序和数据/usr

本地安装的软件必须放置在其中,/usr/local而不是/usr除非安装了该软件以替换或升级/ usr中的软件。

这里更多。


7

在GUI和CLI命令之间没有区别的特殊原因。

/usr/bin属于操作系统,因此,即使没有任何事情可以阻止您(作为根用户)执行此操作,也不应在此处放置任何内容。该目录用于分发与OS集成在一起的软件并正确处理/避免名称冲突的人员。

/usr/local/bin是本地构建软件的通用目录。如果可以在这里写,则可以使用此目录。

/opt/<name>/bin适用于不属于操作系统的软件。这是共享软件的理想位置。

您的主目录属于您,因此您可以随意在目录下的任何位置放置任何东西,但是如果其他人需要运行您的程序,则它不是最佳位置。


1
那么/ usr / local / bin和/ opt / foo / bin之间的唯一区别是软件的安装位置/方式?因此,通常来说,我手动安装的任何软件都应该放在前者中,而从程序包管理器安装的任何东西都将在后者中结束?编辑:看起来是这样。链接
TheAmpersand 2012

是。请注意,本地构建的软件也可能会转到/ opt / local / bin。这样可以避免/ usr / local的问题,而/ usr / local可能以只读方式挂载,因此可以写得多。
jlliagre 2013年

3

不要在中手动安装任何东西/usr/bin。整个的/usr,以及/bin/lib/sbin,保留给您的分发提供的软件。有一个例外:/usr/local,它供系统管理员安装的程序使用,而程序包管理器则不使用(创建几个目录除外)。(在Linux上,其他unix变体可能具有在下安装软件的软件包管理器/usr/local。)

/usr/local在您的主目录中的某个位置之间,这是您的选择。如果您希望所有用户都可以使用该程序,请将其放在中/usr/local。如果您只想使用它,请将其安装在主目录中。

程序是否具有GUI无关紧要。


1
/opt有时也用于本地安装,但之间的分裂/usr/local/opt不明确。
Faheem Mitha 2015年


0

对于全局用途,您可以将其安装到/ usr / bin,但是没有人建议这样做。

对于将某个应用程序用作特定用户(以1个用户身份运行时应该更安全),请将其安装到特定用户的主目录中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.