ubuntu误删文件造成软件包信息列表损坏无法更新或安装文件

       因为一开始不知到如何彻底卸载软件包,误把文件目录删除,造成了软件包信息列表损坏,系统无法使用apt-get 命令,无论实施更新或安装还是卸载都会提示软件包信息列表损坏,建议重新安装该软件包。在网上找了好久,有说用apt-get remove XXX ,apt-get autoremove,  apt-get autoclean 或apt-get  purge xxx的;有说用dpkg -r或dpkg -P 的;有说用aptitude reinstall XXX重新安装的,亦或是 aptitude purge XXX完全清除命令的都不好使。后来看到一篇文章说将/var/lib/dpkg/info目录更改为 info_old,新建一个空目录info  然后用 aptitude update 更新,用apt-get -f install 清除残留文件,结果还是不行。我郁闷了一上午,后来我尝试在系统中搜索相关文件想把其全部删除,用sudo find / -name XXX命令, 发现什么都找不到。也就是说该软件包的文件已经全部被我删除了,但是它还残留信息告诉系统它还存在。就好像一本书目录完好,内容有缺页一样,导致软件包管理工具无法正常使用。我尝试用aptitude show XXX命令 ,发现文件包的信息记录的仍旧很详尽,而且用 dpkg -l |grep XXX命令也可查到该包已部分安装。

        于是我开启了无头苍蝇模式。到/var/lib/dpkg/目录下,打开里面所有文件,看了一遍。发现这个目录下有available , available_old  , status  , status_old  这 4个文件,都记录了被我误删的软件包的信息,而且信息内容和用aptitude show xxx命令显示出来的内容一致,我就把这些信息从这4个文件中全部清除了。结果清除后,居然 apt-get 奇迹般的恢复了正常功效,哈哈。原来ubuntu/debian软件包的 信息都是有这个dpkg工具管理的,其他工具也是依赖dpkg这个工具对软件包实施操作的。看来无头苍蝇也是一个不错的解决问题的模式,呵呵。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值