这几天在学习redis的时候,装软件总是报错,两个问题都和dpkg有关,上网查阅了些解决办法,发现整体来说执行以下方法均可解决。
虽然每个人需要安装的包不同,但是出现此类问题的不同也只有安装包的名字,以下办法通用。
错误及解决办法如下:
问题1:
dpkg: 处理软件包 redis-server (--configure)时出错:
子进程 已安装 post-installation 脚本 返回错误状态 1
正在处理用于 libc-bin (2.23-0ubuntu3) 的触发器 ...
正在处理用于 systemd (229-4ubuntu10) 的触发器 ...
正在处理用于 ureadahead (0.100.0-19) 的触发器 ...
在处理时有错误发生:
redis-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
zhangw@zhangw-g470:~$ sudo rm /var/lib/dpkg/info/redis-server.*
#删除掉目录下有关redis-server(根据dpkg报错提示更改软件包名)的所有文件,感觉这里应该是安装脚本,不删除旧的的话,新安装的包会带新的脚本过来,删除掉旧的即可
问题2:
dpkg: 处理软件包 python-crypto (--configure)时出错:
该软件包正处于非常不稳定的状态;
您最好在配置它之前,先重新安装它
在处理时有错误发生:
python-crypto
E: Sub-process /usr/bin/dpkg returned an error code (1)
#解决这个问题需要备份dpkg下的info,然后自己创建一个新的info,然后更新,再把新的info里的内容拷贝到旧的里面,旧的再改成info,删除自己添加的
zhangw@zhangw-g470:~$ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old
zhangw@zhangw-g470:~$ sudo mkdir /var/lib/dpkg/info
zhangw@zhangw-g470:~$ sudo apt-get update
zhangw@zhangw-g470:~$ sudo apt-get -f install
zhangw@zhangw-g470:~$ sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old
zhangw@zhangw-g470:~$ sudo rm -rf /var/lib/dpkg/info
zhangw@zhangw-g470:~$ sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info
zhangw@zhangw-g470:~$