我应该将源下载存储在哪里以进行安装?


10

我曾经将所有内容下载到/ tmp,因为之后make; sudo make install通常不再需要这些文件。

但是现在我意识到,卸载从源安装的程序的唯一方法是使用make uninstall(如果可用)。因此,我可能应该保留我的下载内容,以备日后需要时使用。

那么我应该将它们存储在哪里?在linux中有专门设计的地方吗?


避免问题:尽可能从软件包安装。
迈克尔·汉普顿

@MichaelHampton有时这不是一个选择(我认为),例如:如果要添加第三方模块,nginx需要从源代码安装。
ChocoDeveloper

Answers:


16

文件系统层次结构标准定义的用于保存源代码的位置是/usr/src。我想您也可以使用/usr/local/src,因为它更多地描述了软件的来源(也就是说,您构建了软件;发行版没有)。

但是请注意,FHS实际上提到不应从此目录构建源代码,这可能是因为您不应该将其编译为root用户,因此我想在安装后将源代码树移至该目录。但是在实践中,我不会打扰。我将构建的所有内容都保留~/Code在一个更大的分区中。基本上,并没有一个被广泛接受的约定。你只要做对你有用的事。

您还应该看一下checkinstall,它是一个很棒的小软件,可以通过命令生成基本的软件包。(它可能会在您的发行版的存储库中。)本质上,而不是运行

sudo make install

你会沿着

sudo checkinstall make install

它将向您询问您正在制作的软件包,监视make install安装所有内容,然后构建一个软件包,然后可以使用软件包管理器对其进行干净地安装和卸载。我相信checkinstall可以为基于dpkg的系统(Ubuntu,Debian等),基于RPM的系统(Fedora,RHEL等)和基于Slackware的系统构建软件包。如果您正在运行Arch,请不要为checkinstall操心;相反,请考虑使用PKGBUILD。

希望有帮助!


+1提及包裹。我认为这是需要的(但没有要求)答案。
Hennes

谢谢!我现在正在使用checkinstall,到目前为止看起来不错。最后一个问题:我不需要保留.deb,对吗?dpkg即使不见了也会知道如何卸载
ChocoDeveloper

没错 所有程序包管理器都会保留该程序包安装的文件列表,因此您可以在安装后删除生成的程序包。
2013

5

没有指定源文件的位置;每个人都有自己的习惯。

但是,请考虑以下三个选项:

  1. 根目录homedir(有效,但位于/上,通常很小)。
  2. / usr / local / src /(或/ usr / local /下的任何东西
  3. 通过软件包安装,然后使用软件包管理器进行卸载。

对于长期维护,我真的建议使用选项3。即使您必须自己构建软件包(从源代码)。在这种情况下,您确实需要:根据某些软件包的选择/安装软件包,通过某种语法解压缩/配置/生成/生成软件包

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.