use*_*600 20 source directory-structure
Linux 中是否有用于保存源文件的标准位置,例如OpenSSL。我正在使用非默认版本的 OpenSSL 从源代码构建 Nginx。我需要下载并解压 OpenSSL,我是在主目录中完成的。现在,我想知道 Linux 中是否有标准位置/opt
?
ter*_*don 22
每当您问自己这样的问题时,请查看文件系统层次结构标准(FHS)。在那里,您会找到以下条目:
usr/src : 源代码(可选)
目的
源码可能放在这个子目录下,仅供参考
因此,您可以将源文件放在/usr/src
. 也就是说,这是一个可选目录,因此您可以将它们放在任何您喜欢的地方。将源代码编译成可执行文件后,源代码就不再相关了,因此系统永远不会要求在特定位置可以访问某些内容的源代码。
总之:/usr/src
是一个非常标准的位置,但如果您愿意,可以随意选择自己的位置。
Fah*_*tha 18
/usr/local/src
是保存源代码和构建源代码的安全场所。FHS说:
Directory Description
src Local source code
Run Code Online (Sandbox Code Playgroud)
并且
/usr/local 层次结构供系统管理员在本地安装软件时使用。它需要在系统软件更新时不会被覆盖。
不清楚“本地源代码”是什么意思,但很明显系统不会尝试在 中放置任何东西/usr/local/src
,不像/usr/src
,因此将代码放在那里似乎没有什么缺点。
事实上,我在一个单独的文件系统上有我的:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/data-local_src 79G 46G 30G 61% /usr/local/src
Run Code Online (Sandbox Code Playgroud)
注意:至少在 Debian 上,您的用户需要添加到staff
组中才能写入/usr/local
.
如果您所说的“标准”是指常规的,那么解压和构建源代码的地方就是您的主目录。这些文件应该是暂时的,在您完成后删除,或者根据您的喜好保留,随意组织。您的主目录是您处理所有此类内容的区域。
如果您确实希望以后保留它们,作为参考,“文件系统层次结构标准”建议使用/usr/src
. 然而,这是指南而不是法律;而且,如果您养成了这种习惯然后冒险进入非 Linux 系统,那么您很可能会因为遵循它而造成麻烦。例如,在 BSD 系统上,基本系统源保存在那里,您真的不想弄乱它们。即使在 Linux 上,您也可能冒着与包管理器存储的任何源混合的风险,这是不可取的。
我建议避免/usr/src
整体。将任何东西保留在那里没有明显的好处,如果你混淆了它的预期含义,就会有潜在的风险。