Answers:
根据文件系统层次结构标准,根据应用程序有几个可以接受的地方。我在这里广泛引用。
bin
是“二进制”的缩写sbin
是“服务器二进制文件”的缩写,否则定义为:
用于系统管理的实用程序(和其他仅root用户命令)
/usr
用于共享的只读数据,并且应该在各种符合FHS的主机之间共享(如果您的网络上有很多计算机,并且它们都是相同的体系结构,则您应该能够共享一个/ usr文件夹与网络上的每台机器)
/usr/local
是供系统管理员在本地安装软件时使用的(即,仅安装在此计算机上而不是网络上每台计算机上的应用程序)。将这些结合在一起:
/usr/bin
是系统上可执行命令的主目录。/usr/sbin
适用于系统管理员专用的任何非必需二进制文件。 /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下可能是最有意义的
确实,这取决于个人喜好。我会解释我的价值。
/ usr,/ usr / bin通常是要安装的系统所安装软件的位置。我自己安装东西时,将它们安装在以下几个位置之一:
为什么要区分#2和#3?不知道,这只是我逐渐养成的习惯。可以确定/ opt通常最终会变成一棵文件深的树,但是只安装了2或3个实际的“东西”。这时,我在opt中安装了lampp和Lotus音符,这两个目录下都有很大的树。在/ usr / local / bin中,我有20或30个条目,但没有子目录。
我不会在/ usr / bin或/ usr / sbin中安装东西,因为我希望将手动添加的东西(不是从标准存储库简单安装的一部分)分开。
虽然文件系统层次结构标准确实提供了一些指导。我发现大多数发行版都喜欢将软件包安装到中/usr/share
。
因此,我采用了安装未通过软件包管理器(rpm / apt-get / emerge)安装的任何应用程序的做法/usr/local
。这使我可以将未通过程序包管理管理的应用程序和库与未通过程序包管理进行管理的库分开。
这是一项帮助我在Fedora Core和Gentoo下管理系统的技术。
我本来以为默认位置是/bin
,如果使用apt-get或类似的东西,默认情况下几乎所有东西都安装在这里。
...但是,当涉及到具有许多其他文件的更现代的程序(或没有安装程序的程序)时,我喜欢将它们放在自己的目录中/bin
。
我喜欢将/ apps用于安装在多台服务器上的大多数附加应用程序。我将文件夹的副本保留在nfs服务器上的/ installs / apps中。当我创建任何新的linux服务器时,我会挂载installs文件夹并复制/ apps,新服务器上有许多不同的通用应用程序。我删除了不需要此新服务器的那些条目,并完成了。好吧,也许我需要运行一个或三个脚本来设置环境变量或路径语句,但这几乎是设置许多新服务器所需要的。
我来自Windows和.net背景。.net的一项承诺是,可以使用Windows xcopy来安装大多数应用程序。我在Linux中寻找相同的东西。在可用的地方,我选择tar而不是RPM或yum等,以便可以使用cp -r部署到/ apps并将该应用程序添加到我的nfs服务器中以供将来部署。