#1 楼
经验法则,至少在采用Debian的系统上:/usr/local
往往是发行版的默认/usr/local
,并遵循标准的UNIX目录层次结构,其中包含$PATH
,/usr/local/bin
等。 /usr/local/lib
,/opt
等。放入此文件夹需要更仔细的管理,但也不太可能破坏您的系统,并且更容易删除,因为您只需删除该文件夹即可。评论
有趣的是,如果您进行sudo安装,许多程序/应用程序会自动建议安装到/ opt。
–朱洪波
18-09-10在8:28
#2 楼
如果您真的不想完全干扰它,请不要将其放在$PATH
中的任何地方。我发现即使发行版将其安装在$PATH
中,也可以找到很多软件。这样,您无需使用/usr/local
进行任何操作,并且它与系统的其余部分非常好地分开了。例如:mkdir ~/stage
./configure --prefix=/home/username/stage && make && make install
如果需要,可以将
/usr
添加到$HOME
中。评论
当然,使用主目录是最佳选择。海事组织。
– Alex Bitek
2010年8月10日在20:24
+1同意。对于bash / ruby / python脚本,我喜欢〜/ sbin;对于编译的安装,我喜欢〜/ opt / ...,在〜/ bin中带有别名。
–克里斯
2010年8月10日20:59
+1用于使用主目录,因为它使事情变得更简单; -1表示避免$ PATH的建议-根据标准(例如/ usr / local),实际上有一些目录“保留用于本地安装”。
–里卡多·穆里(Riccardo Murri)
2010年8月11日在8:34
我避免使用/ usr / local的建议是基于原始发布者的意愿(有点含糊),不干扰打包的软件。由于有很多打包的软件可以通过在/ usr / local或$ PATH中查找来“帮助”,因此我认为这是有干扰的。但这确实取决于一个人的个人需求和目标。在许多情况下,/ usr / local是一个很好的选择。
–桑迪
2010年8月11日13:05
没有人注意到注释2中字母“ s”的完全误解。应该删除
– Northstrider
17 Mar 5 '17在21:18
#3 楼
FHS表示将其放在/ usr / local中,发行版不应该使用它。/usr/local/bin
用于二进制文件/usr/local/src
用于源文件,/usr/local/lib
用于库文件。有关更多信息,请参见FHS规范评论
那配置呢?说我没有使用软件包管理器安装MySQL,是否仍应使用/ etc / mysql进行配置?
–Hubro
15年7月1日在4:38
我只是注意到默认情况下有一个/ usr / local / etc文件夹,我想我应该使用它... :-)
–Hubro
2015年7月1日在4:40
#4 楼
大多数时候,我喜欢在/opt
中放置自己的已编译内容。这有点伪标准。您也可以考虑使用/usr/local
,但我更希望将自己的内容隔离100%。评论
发行版倾向于在/ opt(通常是专有软件包)中放入很多东西,/ opt并不表示发行版无法触摸它。但是它确实说关于/ usr / local
– xenoterracide
2010年8月10日在20:04
我从未见过将发行版放入/ opt的发行版,但是我看过很多次/ usr / local都散布着确实来自发行版的垃圾
–斯科特·安德森(Scott Anderson)
2010年8月10日在20:07
发行版,我习惯将Java放在/ opt中,我也曾经在其中看到过acrobat reader。如果他们将内容放在/ usr / local中,则它们将被FHS忽略,FHS表示需要安全,以免在系统更新中被覆盖。
– xenoterracide
2010年8月10日在20:10
我猜对每个人来说。 FHS很好,但我认为有时它会被忽略。
–斯科特·安德森(Scott Anderson)
2010年8月10日在20:12
我所见过的唯一发行包位于/ usr / local中,是与标准树中的目录并行的目录层次结构,甚至还有诸如TeX之类的索引文件。
–菲尔·米勒(Phil Miller)
2010-08-10 20:14
#5 楼
将它们放在/usr/local/src
中。我要做的是在此目录中提取源代码。它将创建一个类似
/usr/local/src/postgresql-8.3.7
的路径,然后我创建一个符号链接:
/usr/local/src # ln -s postgresql-8.3.7 postgresql
做您在
/usr/local/src/postgresql
中的所有建筑物。当您需要在版本和文档之间弹出时,这种方式很有用。
评论
+1说明您的基本原理以及OP可能如何应用它,包括版本控制。
– Samt
2010年8月10日23:07
#6 楼
根据FHS,/usr/local/
用于从源代码编译的应用程序,而/opt/
用于操作系统供应商不支持的第三方应用程序。#7 楼
如果有可能,我建议您编译软件,然后创建FC软件包(我相信它使用yum安装软件包)。然后,您可以安装自己的已编译软件的软件包并删除它,而不会弄乱整个系统。#8 楼
如果您希望能够轻松安装和删除自己构建的多个应用程序,则可以将Stow用作简单的程序包管理器。#9 楼
这使我想起,我需要更频繁地使用checkinstall!这样,我只需执行通常的操作,然后再执行 ./configure
make
来创建.deb文件。 ..
评论
不回答问题。
– JBentley
19年2月15日在17:24
#10 楼
我建议两件事:系统范围:使用stow并安装在/ usr / local / stow / package-version下。然后您可以轻松地在版本之间切换。 。您也可以在本地使用stow,尽管我从没有使用过:)
#11 楼
我的设置与大多数人有所不同,因为我做了很多开发工作。我有一个/ home / jackson / bin /目录,我将其安装到其中,并且我已经编辑了.bashrc并添加了以下内容:适用于所有功能,但在开发过程中很不错。#12 楼
实际上,从源tarball创建deb或rpm并不难。这样,您可以使用发行版软件包管理器的功能来保持系统清洁。大多数时候,这就是我的工作:只需创建一些rpm。#13 楼
如果正在编译应用程序,则可以在PATH env变量中添加其可执行文件路径。这不会影响其他用户。
评论
我不知道为什么要投反对票?为“平衡” +1
– phunehehe
2010年8月11日在7:04
我也想知道为什么:-)。我在没有安装权限的情况下使用了相同的解决方案来使用cscope。
– Hemant
2010年8月11日在7:14
@phunehehe可能是因为它甚至没有尝试回答问题。问题问在哪里放置软件。该答案提示您将其放置在某个地方后可以做什么。可以通过提供有关使用哪些文件夹的一些建议来改进它。
– JBentley
19年2月15日在17:31
#14 楼
总是可以选择“放入它所属的位置”,但首先要编写一个简单的rpm。#15 楼
如果希望您的应用程序对系统上的所有用户可用,并且您具有必要的权限,请使用/ opt。如果希望该应用程序仅对您(和root)可用,请使用/ home / username#16 楼
最简单的方法是获取源程序包(RPMite为.src.rpm
),将其解包,将新的源程序/配置/所有内容打包,适当地更改版本并进行构建。安装此软件包可使您的软件包管理器了解新软件包,并考虑将其用于依赖项并进行卸载/更新。 )问世,那么更新起来就更简单了。另一个好处是您可以使用本地软件创建自己的存储库,以便共享,例如通过实验室中的机器。
评论
您可能还会发现此问题有用。