想象一下当你像这样(手动)安装openssl包时的情况:
wget http://openssl.org/source/openssl-1.0.1h.tar.gz tar -xvf openssl-1.0.1h.tar.gz cd openssl-1.0.1h ./config shared make depend make make test make install
现在你想从aptitude安装另一个软件包,像这样:
apt-get install ca-certificates
但它表示将安装openssl(较低的版本,但具有aptitude)您已经手动安装的软件包,如何使用已经手动安装的软件包安装?
请不要照顾为什么我需要使用手动安装这个软件包而不是使用官方的软件,只是请帮我回答这个问题,谢谢。 你可以想象任何其他的软件包,如果这是你的问题。
这样做并不是一个干净的方法,但是如果你从源代码安装openssl,那么你自己也是自己的。
apt-get download <package>来获得你想要安装的.deb文件。 dpkg --ignore-dep=openssl -i <dotdebfile.deb>删除.deb文件dpkg --ignore-dep=openssl -i <dotdebfile.deb> /var/lib/dpkg/status并从<package>中删除依赖项。 好的,openssl / libssl有点复杂,所以让我们先假设一些其他的包依赖。
首先,通过./configure方式安装某些东西,从而使事情变得不必要的复杂。 使; 安装在具有软件包pipe理器的操作系统上。 如果你需要现有的软件包仓库没有提供的东西,更好的路线通常是创build你自己的(deb)软件包并安装它。
也就是说,如果你真的坚持手动安装东西,保持dpkg / apt包数据库开心的最简单的方法可能是使用类似equivs的东西来创build空的伪包,提供依赖关系,而不需要实际安装任何文件。
是什么让openssl / libssl更复杂是你经常依赖于特定的版本。 根据情况,您可能仍然需要安装Debian版本,然后将新版本安装在(库)path之外的单独位置。