在红帽系列中装包的时候,rpm有两个很好用的参数,rpm --force --nodeps,可以强制安装和跳过依赖,虽然很暴力,但是也多了一个选择。。。
转到Ubuntu之后,发现apt-get很好用但是依赖确实个很麻烦的事,在升级到1610之后,用dpkg装了wps,提示需要libpng12-0.so库,但是系统已经升到libpng16了,降级是不想了,于是我做了个so的软链接,也能正常用。
麻烦的事情来了,这时候apt-get就会开始报错了,一直告诉你软件装的有问题,
“You might want to run ‘apt-get -f install‘ to correct these.
The following packages have unmet dependencies:
wps-office : Depends: libpng12-0 but it is not installable
Recommends: ttf-mscorefonts-installer but it is not installed
E: Unmet dependencies. Try using -f.
”
然后,你也装不了其他包了,总是让你先执行apt-get install -f修复先。
只能网上先差下有两种方法:
一:修改status信息
1、dpkg -i --ignore-depends=libpng12-0 wps.deb
2、修改/var/lib/dpkg/status里面的依赖关系,把libpng12-0给删了。
二:修改包
- Unpack deb:
ar x golden-linux.deb
(will create i.e. three files: debian-binary control.tar.gz data.tar.gz) - Unpack control archive:
tar xzf control.tar.gz
(will create: postinst postrm preinst prerm md5sums control) - Fix dependencies in
control
(use a text editor) - Repack control.tar.gz:
tar c {post,pre}{inst,rm} md5sums control | gzip -c > control.tar.gz
- Repack deb:
ar rcs newpackage.deb debian-binary control.tar.gz data.tar.gz
(order important! See [Note] )
第二个方法比较坑爹,喜欢折腾的可以试下,反正我这边ar命令报错了。。
时间: 2024-11-06 23:54:27