在 Ubuntu 更新中,谁没有碰见个错误?在 Ubuntu 和其它基于 Ubuntu 的 Linux 发行版中,更新错误是一个共性的错误,也经常发生。这些错误出现的原因多种多样,修复起来也很简单。在本文中,我们将见到 Ubuntu 中各种类型频繁发生的更新错误以及它们的修复方法。

    合并列表问题
    当你在终端中运行更新命令时,你可能会碰到这个错误 “合并列表错误”,就像下面这样:

    E:Encountered a section with no Package: header,
    E:Problem with MergeList /var/lib/apt/lists/archive.ubuntu.comubuntudistspreciseuniversebinary-i386Packages,
    E:The package lists or status file could not be parsed or opened.’

    可以使用以下命令来修复该错误:

    sudo rm -r /var/lib/apt/lists/*
    sudo apt-get clean && sudo apt-get update

    下载仓库信息失败 -1
    实际上,有两种类型的下载仓库信息失败错误。如果你的错误是这样的:

    W:Failed to fetch bzip2:/var/lib/apt/lists/partial/in.archive.ubuntu.comubuntudistsoneiricrestrictedbinary-i386Packages Hash Sum mismatch,
    W:Failed to fetch bzip2:/var/lib/apt/lists/partial/in.archive.ubuntu.comubuntudistsoneiricmultiversebinary-i386Packages Hash Sum mismatch,
    E:Some index files failed to download. They have been ignored, or old ones used instead

    那么,你可以用以下命令修复:

    sudo rm -rf /var/lib/apt/lists/*
    sudo apt-get update

    没效果,最终解决方案:copy原来的source.list,删除后重新写入:

    1. $ sudo mv /etc/apt/sources.list{,.backup}
    2. $ sudo mv /etc/apt/sources.list.d{,.backup}
    3. $ sudo mkdir /etc/apt/sources.list.d
    4. $ sudo gedit /etc/apt/sources.list
    5. $ sudo apt update

    源配置:Ubuntu 镜像使用帮助

    下载仓库信息失败 -2
    下载仓库信息失败的另外一种类型是由于 PPA 过时导致的。通常,当你运行更新管理器,并看到这样的错误时:

    UBUNTU更新源出现错误解决方法小结 - 图1

    你可以运行 sudo apt-get update 来查看哪个 PPA 更新失败,你可以把它从源列表中删除。你可以按照这个截图指南来修复下载仓库信息失败错误

    下载包文件失败错误

    一个类似的错误是下载包文件失败错误,像这样:

    UBUNTU更新源出现错误解决方法小结 - 图2

    该错误很容易修复,只需修改软件源为主服务器即可。转到 “软件和更新”,在那里你可以修改下载服务器为主服务器:

    UBUNTU更新源出现错误解决方法小结 - 图3

    部分更新错误

    在终端中运行更新会出现部分更新错误

    Not all updates can be installed Run a partial upgrade, to install as many updates as possible

    在终端中运行以下命令来修复该错误:

    1. sudo apt-get install -f

    加载共享库时发生错误

    该错误更多是安装错误,而不是更新错误。如果尝试从源码安装程序,你可能会碰到这个错误:

    error while loading shared libraries: cannot open shared object file: No such file or directory

    该错误可以通过在终端中运行以下命令来修复:

    1. sudo /sbin/ldconfig -v

    你可以在这里查找到更多详细内容加载共享库时发生错误

    无法获取锁 /var/cache/apt/archives/lock

    在另一个程序在使用 APT 时,会发生该错误。假定你正在 Ubuntu 软件中心安装某个东西,然后你又试着在终端中运行 apt。

    E: Could not get lock /var/cache/apt/archives/lock – open (11: Resource temporarily unavailable) E: Unable to lock directory /var/cache/apt/archives/

    通常,只要你把所有其它使用 apt 的程序关了,这个问题就会好的。但是,如果问题持续,可以使用以下命令:

    1. sudo rm /var/lib/apt/lists/lock

    如果上面的命令不起作用,可以试试这个命令:

    1. sudo killall apt-get

    关于该错误的更多信息,可以在这里找到。

    GPG 错误: 下列签名无法验证

    在添加一个 PPA 时,可能会导致以下错误 GPG 错误: 下列签名无法验证,这通常发生在终端中运行更新时:

    W: GPG error: http://repo.mate-desktop.org saucy InRelease: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 68980A0EA10B4DE8

    我们所要做的,就是获取系统中的这个公钥,从信息中获取密钥号。在上述信息中,密钥号为 68980A0EA10B4DE8。该密钥可通过以下方式使用:

    1. sudo apt-key adv —keyserver keyserver.ubuntu.com —recv-keys 68980A0EA10B4DE8

    在添加密钥后,再次运行更新就没有问题了。

    BADSIG 错误

    另外一个与签名相关的 Ubuntu 更新错误是 BADSIG 错误,它看起来像这样:

    W: A error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://extras.ubuntu.com precise Release: The following signatures were invalid: BADSIG 16126D3A3E5C1192 Ubuntu Extras Archive Automatic Signing Key W: GPG error: http://ppa.launchpad.net precise Release: The following signatures were invalid: BADSIG 4C1CBC1B69B0E2F4 Launchpad PPA for Jonathan French W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/precise/Release

    要修复该 BADSIG 错误,请在终端中使用以下命令:

    sudo apt-get clean
    cd /var/lib/apt
    sudo mv lists oldlist
    sudo mkdir -p lists/partial
    sudo apt-get clean
    sudo apt-get update

    本文汇集了你可能会碰到的 Ubuntu 更新错误,我希望这会对你处理这些错误有所帮助。你在 Ubuntu 中是否也碰到过其它更新错误呢?请在下面的评论中告诉我,我会试着写个快速指南。

    下面是其他网友的补充

    更新源出现问题

    E: Problem executing scripts APT::Update::Post-Invoke-Success ‘if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh > /dev/null; fi’
    E: Sub-process returned an error code

    解决办法

    sudo pkill -KILL appstreamcli

    wget -P /tmp https://launchpad.net/ubuntu/+archive/primary/+files/appstream_0.9.4-1ubuntu1_amd64.deb https://launchpad.net/ubuntu/+archive/primary/+files/libappstream3_0.9.4-1ubuntu1_amd64.deb

    sudo dpkg -i /tmp/appstream_0.9.4-1ubuntu1_amd64.deb /tmp/libappstream3_0.9.4-1ubuntu1_amd64.deb

    然后在次更新 就 ok

    E: GPG 错误:http://mirrors.163.com precise Release: 下列签名无效: NODATA 1 NODATA 2

    出现这个错误表示没有连上网,检查一下网络状态。

    在添加源,然后在更新源时中途中断了更新,只要再安装软件或者再去更新的时候就会出来的错误提示。

    E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用) E: 无法对目录 /var/lib/apt/lists/ 加锁

    输入指令:sudo rm /var/lib/apt/lists/lock

    如您对本文有所疑义或者有任何需求,请点击访问脚本社区,百万网友为您解惑!
    https://www.jb51.net/os/Ubuntu/713375.html