我应该在哪里存储用于安装的源下载?

Cho*_*per 11 linux installation

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

但是现在我意识到卸载从源代码安装的程序的唯一方法是使用make uninstall(如果可用)。所以我应该保留我的下载,以防我以后需要它们。

那么我应该把它们存放在哪里呢?在 linux 中是否有专门的地方?

thi*_*rty 16

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

但是请注意,FHS 实际上提到不应从该目录构建源代码,这可能是因为您不应该以 root 身份编译东西,所以我想您应该在安装后将源代码树移到那里。不过,在实践中,我并不介意。我保留了我内置的所有东西~/Code,它位于更宽敞的隔板上。基本上,没有一个被广泛接受的约定;你只做对你有用的事。

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

sudo make install
Run Code Online (Sandbox Code Playgroud)

你会运行一些类似的东西

sudo checkinstall make install
Run Code Online (Sandbox Code Playgroud)

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

希望有帮助!


Hen*_*nes 5

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

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

  1. 在 root homedir 中(有效,但它在 / 上,通常很小)。
  2. /usr/ local /src/(或实际上 /usr/local/ 下的任何内容
  3. 通过包安装并使用包管理器进行卸载。

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