按照软件的依赖关系,在很多地方都会遇到,如Ubuntu系统的使用,Centos服务器的使用,Docker镜像的制作等。
以ubuntu软件安装为例。centos的Yum也是差不多的。
# 通过网络Repository源安装软件,过程中会自动把需要的依赖安装完成
sudo apt-get install xxx
# 安装本地的deb包,这样可以自动解决依赖问题
sudo apt-get install ./xxx
# 正常都成功,遇到失败,apt-get会提示使用下面的命令,多执行几次一般也成功了
sudo apt-get -f install
# 还是不行,那就手动下载deb包安装
sudo dpkg -i xxx.deb
以清华大学开源软件镜像站点为例,https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/
这个路径下的 main
、restricted
、universe
、multiverse
这几个目录。
所有这些操作都只能把软件安装成功,不能保证正常运行。
--ignore-depends
,忽略依赖直接装。/var/lib/dpkg/status
文件。--ignore-depends
dpkg --help
...
--ignore-depends=<软件包>,...
忽略关于 <软件包> 的所有依赖关系。
...
指定要被忽略的安装包,安装不会有问题,能不能用另说。记住,并不是依赖不满足安装了就不能用,可能只是部分功能不行。
# 解压出打包之前的样子
dpkg-deb -R xxx.deb ./xxx
# 重新打包
dpkg-deb --build ./xxx xxx.deb
打开解压后的control
文件,删除Depends
后面的内容。