我使用 make 和 make install 而不是 apt-get 自己构建了一些软件包,因为 ubuntu 存储库中的一些软件包不是最新版本,有时不够新,无法构建依赖于它的一些软件包。但是,当我稍后想通过 apt 安装某些东西时,它告诉我某些依赖项不满足。那么我有没有可能让 apt 意识到有比其存储库中的软件包更新的东西?
答案1
make install
是的,您可以使用实用程序来代替使用checkinstall
。
这样做的目的是,不是使用 make 将所有必需的文件直接复制到文件系统,而是 checkinstall 在虚拟环境中运行 make install,等待它完成,然后将生成的“已安装”文件编译成 .deb 包。
运行 checkinstall 的典型方式:
./configure
make
sudo checkinstall
在 checkinstall 过程中,您需要为软件包指定名称和版本号。
然后,您可以使用安装此 .deb 包,sudo dpkg -i packagename.deb
然后 dpkg(因此 APT 也是如此)将知道此包已安装。(但是,它不知道它依赖于哪些包,但您自己编译的大多数东西都是自给自足的,可能是静态链接的)。
如果您选择的软件包名称与存储库中软件包的名称相匹配,那么 APT 会将其视为该软件包的另一个版本选择 - 如果它高于存储库中的版本,则默认会保留它。
这也是一种相对干净的安装方式,因为它也可以让您轻松地“卸载”软件。