`
dengzhangtao
  • 浏览: 677279 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

在ubuntu上遇到的一个错误Problem with MergeList /var/lib/dpkg/status

 
阅读更多
平台信息:

    ubuntu 16.04LTS


在ubuntu上编译一个驱动源码时,不知道自己做了什么操作,然后执行apt-get update/install/remove 命令时都出现以下错误,错误提示如下所示:
[plain] view plain copy

    命中:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial InRelease 
    获取:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu xenial-security InRelease [102 kB] 
    已下载 102 kB,耗时 5秒 (18.4 kB/s)                           
    正在读取软件包列表... 有错误! 
    E: Encountered a section with no Package: header 
    E: Problem with MergeList /var/lib/dpkg/status 
    E: 无法解析或打开软件包的列表或是状态文件。 


如果是在安装某个软件包之后出现这个问题,且apt-get install 还能用,那么尝试使用命令 sudo  apt-get  install --reinstall  XXX软件包 ,重新安装该软件包进行修复。

如果和我一样,apt-get 命令运行不了,那么可参考我的解决方法。
解决方法1:
1,把status文件进行备份。sudo cp /var/lib/dpkg/status  /var/lib/dpkg/status-error
2,把旧的status 还原, sudo cp /var/lib/dpkg/status-old  /var/lib/dpkg/status

3,然后执行命令:

     sudo  rm -vrf  /var/lib/apt/list/* 

     sudo  apt-get update


如按照以上方法处理后,执行sudo  apt-get update 命令后,又出现以下错误:
[plain] view plain copy

    正在读取软件包列表... 有错误!                    
    E: Problem parsing dependency Depends 
    E: 处理 libio-socket-ssl-perl (NewVersion2) 时出错 
    E: Problem with MergeList /var/lib/dpkg/status 
    E: 无法解析或打开软件包的列表或是状态文件。 

解决方法2 :

     这显然是安装libio-socket-ssl-perl软件包时有问题,那么尝试重新安装该包:sudo  apt-get  install --reinstall  libio-socket-ssl-perl

    但是,我的apt-get install  命令用不了,因此,无法重装。

那么只有使用其他的方法来解决了。

解决方法3:

    sudo  rm -rf  /var/lib/dpkg/status

    sudo  cp /var/backups/dpkg.status.0   /var/lib/dpkg/status

    sudo rm  -vrf /var/lib/apt/list/*

    sudo  apt-get  update 

按照解决方法3执行后,结果还是一样,报这个错:
[html] view plain copy

    正在读取软件包列表... 有错误!                    
    E: Encountered a section with no Package: header 
    E: Problem with MergeList /var/lib/dpkg/status 


看来无法解决这个出错的地方,那么只能用一个以前的且没有错误的status文件来覆盖这个status文件了。
终极解决方法4:
    sudo  rm -rf /var/lib/dpkg/status
    sudo cp  /var/backups/dpkg.status.1.gz   /var/lib/dpkg/
     cd /var/lib/dpkg/
    sudo  gzip  -d dpkg.status.1.gz
    sudo  mv  dpkg.status.1  status
    sudo  rm -vrf  /var/lib/apt/list/*

    然后再执行 sudo  apt-get update   就可以正常获取更新的软件包的列表信息了。

     因为我也不知道我是做什么操作才导致这个问题,所以只能一步步的来解决了。
分享到:
评论

相关推荐

    Ubuntu源更新错误修复大全

    E: Problem with Merge List /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_precise_universe_binary-i386_Packages E: The package lists or status file could not be parsed or opened. ``` **修复方法:...

    linux 下安装播放器:无法解析或打开软件包的列表或是状态文件

    最近准备在ubuntu系统上安装一个播放器,方便学习。可是自带的播放器缺少插件,而且自带的播放器比较...E: Problem with MergeList /var/lib/apt/lists/cn.archive.ubuntu.com_ubuntu_dists_natty_main_i18n_Transla

    docker清理大杀器/docker的overlay、overlay2文件占用磁盘太大的解决办法

    7. 准备一块磁盘或分区,格式化为 xfs 格式,然后将 /var/lib/docker 挂载上去。 五、 overlay 存储驱动的优点 使用 overlay 存储驱动可以提高 Docker 的性能和效率,减少磁盘空间占用。 六、 结论 本文提供了一...

    MergeList_Sq.zip_MergeList Sq_MergeList_Sq

    标题“MergeList_Sq.zip_MergeList Sq_MergeList_Sq”暗示了我们正在处理一个与线性表合并相关的项目,可能是一个程序或代码库,其中包含了名为“MergeList_Sq”的压缩文件,该文件包含了一个名为“MergeList_Sq.cpp...

    WinMerge 文件对比合并工具

    WinMerge 是一款用以对文件进行对比以及合并,可以运行在所有流行的 Windows平台上的开源软件。有些功能需要额外安装组件。 最新的 WinMerge 版本以及其它相关信息可以从 http://winmerge.org 得到。 WinMerge ...

    linux ubuntu下的merge小工具

    在Linux Ubuntu系统中,"merge"通常指的是合并两个或多个文本文件或代码文件的过程,而"Meld"是一款非常实用的图形化对比和合并工具。Meld不仅提供了文件的对比功能,还能帮助用户有效地合并差异,是Linux开发者和...

    mergelist.cpp

    mergelist.cpp

    qsort/heapsort/merge/BinarySearch/List实现

    自己写的一些简单算法和数据结构的代码 快排 堆排 归并 二分查找 单链表

    linux全志R16的linux系统编译的资料_20170502_1655.7z

    升级了 0 个软件包,新安装了 28 个软件包,要卸载 0 个软件包,有 737 个软件包未被升级。 需要下载 3,425 kB 的软件包。 解压缩后会消耗掉 13.0 MB 的额外空间。 您希望继续执行吗? [Y/n] y 获取:1 ...

    如何在Ubuntu 上安装Git与入门教程

    在本教程中,我们将深入探讨如何在Ubuntu 18.04系统上安装和使用Git。Git是一款强大的分布式版本控制系统,被广泛应用于软件开发中,因为它能够跟踪代码的修改历史,便于团队协作和代码管理。 首先,为了安装Git,...

    WinMerge文件比较/合并工具

    1. **文件内容比较**:WinMerge可以精确地比较两个文本文件的每一行甚至每个字符,高亮显示差异,帮助用户快速找出不同之处。 2. **文件夹比较**:除了单个文件的比较,WinMerge还能对整个文件夹进行深度比较,包括...

    lichee_20170502_1607_全志R16的linux系统编译需要改动的文件_使用parrotv1.1的内核_没有外层目录.7z

    升级了 0 个软件包,新安装了 28 个软件包,要卸载 0 个软件包,有 737 个软件包未被升级。 需要下载 3,425 kB 的软件包。 解压缩后会消耗掉 13.0 MB 的额外空间。 您希望继续执行吗? [Y/n] y 获取:1 ...

    Araxis Merge v6.5/Araxis Merge 2017比对工具

    Araxis Merge是一款比对软件工具,不仅支持单个文件的比对,而且支持对两个文件夹的所有文件进行对比,并实时修改。用了蛮久感觉很好用,所以分享给大家。 里面给大家内嵌了Araxis Merge v6.5和Araxis Merge 2017两...

    linux第十三刀_Linux上安装Subversion

    在Ubuntu/Debian上: ```bash sudo apt-get install libapr1-dev libaprutil1-dev ``` 在CentOS/RHEL上: ```bash sudo yum install apr-devel apr-util-devel ``` 2. **安装Subversion服务器** 使用...

    address_merge_with_mobile_data.json

    address_merge_with_mobile_data.json

    mergelist(删除ab,只去掉部分重复).cpp

    mergelist(删除ab,只去掉部分重复).cpp

    P4Merge, Linux上最好用的merge工具,附git集成

    P4Merge是一款强大的可视化三向合并工具,尤其在Linux环境中,它被广泛认为是最佳的merge工具之一。由Perforce公司开发,P4Merge以其清晰的界面、强大的冲突解决能力和高效的工作流程而受到开发者们的喜爱。本文将...

    ubuntu SVN命令大全

    ### Ubuntu SVN 命令大全解析 #### 一、Checkout (检出) **命令格式**: ``` svn checkout [URL] [本地路径] ``` **示例**: ``` svn checkout svn://192.168.1.1/pro/domain ``` **功能说明**: - `svn ...

Global site tag (gtag.js) - Google Analytics