Linux 中应用程序的常规安装位置是什么?

Tho*_*ens 77 linux netbeans default-settings

我目前正在安装 NetBeans,默认安装目录是/home/thomasowens/netbeans-6.8. 我不是该位置的粉丝,所以我在寻找/etc/bin/usr/bin,和/sbin。按照惯例,Linux 是否有与 WindowsC:\Program Files目录相同的位置?

Jam*_*ley 103

根据Filesystem Hierarchy Standard,有几个地方是可以接受的,具体取决于应用程序。我在这里广泛引用它。

  • bin 当然是“二进制”的缩写
  • sbin 是“服务器二进制文件”的缩写,否则定义为:

    用于系统管理的实用程序(和其他仅限 root 的命令)

  • /usr 用于可共享的只读数据,并且应该可以在各种符合 FHS 的主机之间共享(如果您的网络上有很多机器,并且它们都是相同的架构,您应该能够共享一个 /usr 文件夹网络上的每台机器)

  • /usr/local 供系统管理员在本地安装软件时使用(即,仅安装在本机上的应用程序,而不是网络上的每台机器上)。

把这些放在一起:

  • /usr/bin 是系统上可执行命令的主目录。
  • /usr/sbin 用于系统管理员专门使用的任何非必要二进制文件。
  • 所需要的系统修复,系统恢复,安装在/ usr,或其它基本功能的系统管理程序必须放在/sbin代替(即事情你需要访问,以便安装/usr/sbin进去/sbin
  • 同样,在/usr安装之前可能需要的基本用户命令进入/bin
  • 只安装在本地机器上的任何东西都应该进入/usr/local/bin/usr/local/sbin

不过,/usr/local 还有另一种用途。您通过发行版的包管理器安装的大多数东西都将放在 /usr 下;许多人把他们手工编译的东西放在 /usr/local 下。这使它们不受包管理系统的影响,并让您发现从发行版安装的内容(并且不需要备份,因为您可以再次获取它)以及您手动编译的内容;它还允许您同时运行不同的版本(例如,/usr/bin/firefox 与 /usr/local/bin/firefox)。


就在你以为事情已经解决的时候,还有一个地方,它可能是最接近的c:\Program Files- /opt

/opt 保留用于安装附加应用程序软件包。`

/opt可能是最接近相当于c:\program files,因为它是你希望找到与它的所有文件的应用程序放在一个文件夹中,而不是散落一个地/usr/bin/var/etc。它通常只被非常大的包使用,但在这种情况下,考虑到 Netbeans 想要拥有自己的文件夹,将它放在 /opt/netbeans 下可能是最有意义的

  • 有趣的。如果我设计了 Linux,我会将网络共享应用程序放在 /usr/shared 中,然后将私有本地主机应用程序放在 /usr 中。这样我就可以共享 /usr/shared 而没有通过继承共享 /usr 。 (3认同)

Dav*_*llo 6

其实还是看个人喜好。我将解释我的价值。

/usr、/usr/bin 通常是系统安装的软件待安装的地方。当我自己安装东西时,我将它们安装在以下几个地方之一:

  1. 如果它是一个我只会使用的脚本或小程序,我会将它安装在 ~/bin 中 - 这是我的大部分内容结束的地方。
  2. 如果它像您所描述的(NetBeans)那样具有自己的完整文件树,我会将其安装在 /opt 中
  3. 如果它是单个可执行文件,我将其安装在 /usr/local/bin

为什么我要区分#2 和#3?不知道,这只是我随着时间养成的习惯。确实发现 /opt 通常最终会变成一个深层次的文件树,但只安装了 2 或 3 个实际的“东西”。此时,我在 opt、2 个目录中安装了 lampp 和 lotus notes,每个目录下面都有相当大的树。在 /usr/local/bin 中,我有 20 或 30 个条目,但没有子目录。

我不会在 /usr/bin 或 /usr/sbin 中安装东西,因为我喜欢将我手动添加的东西(不是简单地从标准存储库安装的一部分)分开。