博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ubuntu误删文件造成软件包信息列表损坏无法更新或安装文件
阅读量:4057 次
发布时间:2019-05-25

本文共 900 字,大约阅读时间需要 3 分钟。

       因为一开始不知到如何彻底卸载软件包,误把文件目录删除,造成了软件包信息列表损坏,系统无法使用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这个工具对软件包实施操作的。看来无头苍蝇也是一个不错的解决问题的模式,呵呵。

转载地址:http://qsrci.baihongyu.com/

你可能感兴趣的文章
解决国内NPM安装依赖速度慢问题
查看>>
Brackets安装及常用插件安装
查看>>
Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
查看>>
fastcgi_param 详解
查看>>
Nginx配置文件(nginx.conf)配置详解
查看>>
标记一下
查看>>
IP报文格式学习笔记
查看>>
autohotkey快捷键显示隐藏文件和文件扩展名
查看>>
Linux中的进程
查看>>
学习python(1)——环境与常识
查看>>
学习设计模式(3)——单例模式和类的成员函数中的静态变量的作用域
查看>>
自然计算时间复杂度杂谈
查看>>
当前主要目标和工作
查看>>
使用 Springboot 对 Kettle 进行调度开发
查看>>
一文看清HBase的使用场景
查看>>
解析zookeeper的工作流程
查看>>
搞定Java面试中的数据结构问题
查看>>
慢慢欣赏linux make uImage流程
查看>>
linux内核学习(7)脱胎换骨解压缩的内核
查看>>
以太网基础知识
查看>>