Ele*_*eno 15 debian apt dependencies
Apt处理从其存储库或*.deb
文件安装的包之间的依赖关系。但是,用户在./configure && make && make install
没有先创建.deb
文件的情况下从源代码编译和安装的软件呢?Apt是否有可能删除此类软件所需的软件包?将在从源代码安装软件/opt
或/usr/local
有所作为?
Cel*_*ada 15
apt
并且dpkg
绝对可以删除包管理系统范围之外的本地安装的其他软件所需的软件。我们根本没有办法apt
和dpkg
知道,这种软件可能存在。
安装此类软件的位置没有区别:它可以是/opt
或/usr/local
或 在用户的主目录中(在这种情况下,即使是系统管理员也可能不知道它的存在),或者实际上是任何地方。
技术上apt
或者dpkg
甚至可以删除由其他软件所需要的软件是包管理系统的一部分,如果是后者的软件没有宣布这取决于前者的软件。但是,创建 deb 包的过程包括自动化,以帮助防止包维护者忘记声明这样的依赖项。
Gil*_*il' 13
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
如果您手动安装了发行版中存在的更新版本的软件包,请查看发行版软件包的依赖项并将它们标记为手动安装。
归档时间: |
|
查看次数: |
426 次 |
最近记录: |