保存软件源文件的标准位置

保存软件源文件的标准位置

例如,Linux 中是否有一个标准位置来保存源文件开放式SSL。我正在使用非默认版本的 OpenSSL 从源代码构建 Nginx。我需要下载并解压 OpenSSL,我是在主目录中完成的。现在,我想知道 Linux 中是否有一个标准位置/opt

答案1

每当你问自己这样的问题时,请查看文件系统层次结构标准(FHS)。在那里,您将找到以下条目:

usr/src :源代码(可选)

目的

源代码可能放在该子目录下,仅供参考

因此,您可以将源文件放在/usr/src.也就是说,这是一个可选目录,因此您可以将它们保存在任何您喜欢的地方。将源代码编译成可执行文件后,源代码就不再相关,因此系统永远不会要求在特定位置可访问某些内容的源代码。

总之:/usr/src这是一个相当标准的位置,但如果您愿意,可以随意选择自己的位置。

答案2

/usr/local/src是保存源代码并构建源代码的安全位置。联邦调查局说:(桌子上的最后一行)

/usr/local : Local hierarchy
[...]

Requirements:
The following directories, or symbolic links 
to directories, must be in /usr/local

Directory   Description  
[...]
src         Local source code

并且

/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

注意:至少在 Debian 上,您的用户需要添加到staff组中才能写入/usr/local.

答案3

如果“标准”指的是传统的,那么解压和构建源代码的位置就是您的主目录。此类文件应该是暂时的,完成后删除,或者根据您的喜好保留,按您的意愿组织。您的主目录是您处理所有此类内容的区域。

如果您以后确实想保留它们,以供参考, 这 ”文件系统层次结构标准” 建议/usr/src。但是,这是一个指南,而不是法律;并且,如果您养成了这种习惯,然后冒险进入非 Linux 系统,那么遵循它很可能会造成麻烦。例如,在 BSD 系统上,基本系统源代码保存在那里,您真的不想弄乱它们,即使在 Linux 上,您也可能面临与包管理器存储的任何源代码混合的风险,这是不可取的。

我建议/usr/src总体避免。将任何东西保留在那里并没有明显的好处,如果你混淆了它的预期含义,还有潜在的风险。

答案4

您可以使用/usr/src这个地方听起来很合理,并且基于 rpm 的发行版使用它来存储 srpm 包的内容。但像/opt, /usr/local,之类的任何其他地方~/src都很好

相关内容