今晚在ubuntu上安装一个软件时,出现这样的错误提示:
E: Sub-process /usr/bin/dpkg returned an error code (1)
然后在网上找了查找问题原因及解决方法,很多都说是因为系统中的某个软件有问题,而解决方法好像有不少,但是否奏效就不得而知了。
我试了下面的这个比较好操作的方法。
sudo dpkg --configure -a
sudo apt-get update
sudo apt-get upgrade
然后再装一次软件,还是不行,又试了下面这个:
1.$ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old //现将info文件夹更名
2.$ sudo mkdir /var/lib/dpkg/info //再新建一个新的info文件夹
3.$ sudo apt-get update, apt-get -f install
4.$ sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old //执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_old文件夹下
5.$ sudo rm -rf /var/lib/dpkg/info //把自己新建的info文件夹删掉
6.$ sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info //把以前的info文件夹重新改回名字
在这个操作过程中,粗心大意误把/var/lib/dpkg/info下的文件全部删掉了,就有点担心将会出现什么后果。
根据搜索得知,/var/lib/dpkg/info下保存有各个软件包的配置文件列表。顿时傻了,这下惨了,以后怎么更新呢?
也有人说即使把/var/lib/dpkg/info里面的东西全部删除系统也不会瘫痪,不过我总不放心。
找了很久也没找到一个可行的补救方法,有人说可能要重装,有人则说可以把系统上的一些软件删掉再重新安装就可以恢复info下的文件了,这还不如重装系统好了。
去几个linux的交流群里求助,在网友的帮助下,终于在某个国外网站上找到一个相关的帖子,通过下面这条命令就可以实现重装那些软件了
sudo apt-get --reinstall install `dpkg --get-selections | grep '[[:space:]]install' | cut -f1`
我把它复制到终端里执行,它先读取相关的软件包,然后问是否要下载这些软件包,我选择了下载,有六百多M。等了一个多小时才下载玩。
不过,完后我查看了一下/var/lib/dpkg/info下的文件,好像也没有恢复之前的,所以还是不知道这个方法到底有没有用。