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

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

我目前正在安装 NetBeans,默认安装目录是/home/thomasowens/netbeans-6.8。我不喜欢那个位置,所以我正在查看/etc/bin/usr/bin/sbin。Linux 是否有一个按照惯例与 WindowsC:\Program Files目录相同的地方?

答案1

根据文件系统层次标准,根据具体应用,有几个地方是可以接受的。我在这里大量引用了它。

  • 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 下可能是最合理的

答案2

这其实取决于个人喜好。我会解释一下我的看法。

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

  1. 如果它是一个仅我会使用的脚本或小程序,我会将其安装在~/bin 中 - 我的大部分东西都放在这里。
  2. 如果它像你描述的一样(NetBeans),并且有自己的完整文件树,我会将它安装在 /opt 中
  3. 如果它是一个可执行文件,我会将其安装在 /usr/local/bin 中

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

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

答案3

虽然文件系统层次标准确实提供了一些指导。我发现大多数发行版都喜欢将软件包安装到 中/usr/share

因此,我采用了在 中安装任何未通过包管理器 (rpm / apt-get / emerge) 安装的应用程序的做法/usr/local。这使我能够将未通过包管理管理的应用程序和库与通过包管理管理的应用程序和库区分开来。

这项技术帮助我在 Fedora Core 和 Gentoo 下管理我的系统。

答案4

通常它们安装在多个文件夹中,主要是 /usr、/local、/bin 等。您可以从 GDebi 安装程序(在文件选项卡下)找到程序的安装位置。如果您要移动 Netbeans,我建议将其移动到 /opt,因为 Google 似乎在那里安装其内容。

相关内容