如何从源代码安装软件并告诉 apt-get 我已经安装了该版本?

Har*_*han 7 package-management apt compiling software-sources

从源安装软件:

./configure
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

怎么告诉apt-get软件已经安装好了,这样

sudo apt-get install someSoftware
Run Code Online (Sandbox Code Playgroud)

会显示软件已经安装了吗?

(该软件位于 ubuntu 软件包存储库中,但版本较旧。)

Sco*_*nce 8

你不能。并且在大多数情况下,除非绝对没有其他方法,否则您不应该安装裸源 tarball。使用来自 Ubuntu 的包,或者从 Debian 构建源包,或者其他任何东西。您确实想使用 Debianized 源代码。

但是,您可以构建/修改源包:

apt-get source some-package
Run Code Online (Sandbox Code Playgroud)

然后,在进行任何更改后,构建一个二进制包:

cd source-directory
debuild -S
Run Code Online (Sandbox Code Playgroud)

现在,您有一个可以安装的 .deb 包。

编辑:我很晚才想起checkinstall。您可以使用checkinstall来替换make install步骤。你会得到一些看起来非常像你最初提出的问题的东西,尽管我最后一次工作checkinstall(几年前)它远非完美。我提到的其他选项比这个更好。