Apt处理从其存储库或*.deb
文件安装的软件包之间的依赖关系。但是,用户从源代码编译并安装./configure && make && make install
而不先创建.deb
文件的软件又如何呢?Apt是否有可能删除此类软件所需的软件包?是从源代码安装软件/opt
还是/usr/local
有所作为?
APT对手动安装的软件一无所知。它不知道该软件需要什么库或什么。
当APT仅安装软件包以满足其他软件包的依赖性时,该软件包将标记为自动安装。如果删除依赖于自动安装的软件包的所有软件包,则在运行时将删除该软件包apt-get autoremove
。APT的更高级别的前端通常会在进行其他维护之后提供此功能。为避免删除本地安装的软件所需的软件包,请将这些软件包标记为手动安装:,或键入aptitude。apt-mark manual PACKAGE-NAME
m
要查找二进制可执行文件需要哪些库软件包,请运行ldd /path/to/executable
。对于包含的每一行,运行以显示包含该库的软件包的名称。对于脚本,显示脚本使用的解释器;确保该解释器保持安装状态。查找脚本使用的库可能很困难,没有通用的方法可以做到这一点。/usr/lib/SOMETHING
dpkg -S /usr/lib/SOMETHING
head -n 1 /path/to/script
如果您手动安装了发行版中存在的软件包的较新版本,请查看发行版软件包的依赖项并将其标记为手动安装。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句