371 apt
计算机在一个窗口中给了我这个输出:
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_natty_main_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
All*_*lan 500
这些终端命令应该可以解决您的问题:
首先通过打开终端删除合并列表(按Ctrl+ Alt+T启动)并运行以下命令*:
sudo rm -vf /var/lib/apt/lists/*
Run Code Online (Sandbox Code Playgroud)
接下来,通过运行一个简单的更新来生成一个新的:
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
这是此问题的错误报告(和另一个),现在已修复,因此不应创建新的格式错误的文件,但是如果您已经拥有格式错误的文件,则需要按照本文中的说明删除它们。
*用于 rm 的选项是-v
冗长的
-v, --verbose 解释正在做什么
和-f
强制
-f, --force 忽略不存在的文件和参数,从不提示
如果您不确定命令行或正在使用的选项,请始终参考该命令的手册页。这些可以通过搜索 man 和命令例如man rm在互联网上访问,
或者您可以通过在终端中键入完全相同的命令来访问相同的信息,例如man rm
退出页面的说明将在终端的底部,如这个
tom*_*myk 85
打开终端并一次运行以下命令:
sudo rm /var/lib/apt/lists/* -vf
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
也可以看看:
Gil*_*il' 23
你编辑的时候搞砸了/var/lib/dpkg/status
。从编辑之前所做的备份中恢复它。当然,你做了备份,对吧?
由于您没有进行备份,请仔细重新编辑。尽量不要造成更大的伤害。
您可以/var/lib/dpkg/status.old
用作参考点。这是status
上次dpkg
运行之前的文件备份。跑
diff /var/lib/dpkg/status.old /var/lib/dpkg/status
Run Code Online (Sandbox Code Playgroud)
看到差异。撤消您手动所做的更改,并保留上次dpkg
运行所做的更改。
如果你真的不能设法修复文件,复制/var/lib/dpkg/status.old
了/var/lib/dpkg/status
。您将获得一个格式良好但已过时的软件包数据库。
您永远不需要/var/lib/dpkg/status
在正常操作中进行编辑。即使出现严重错误,/var/lib/dpkg/status
也不需要管理员干预。无论您遇到什么问题,crossplatformui
都可能有更好的解决方法。我唯一需要编辑的时间/var/lib/dpkg/status
是上游Packages
文件损坏时。
psy*_*ok7 20
我做了
sudo apt-get clean
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
它奏效了。
Eli*_*gan 16
按照包管理器故障排除过程中的步骤 2-5通常可以解决此问题。
对于第 2 步,禁用所有PPA。您可以在软件源中取消选中所有这些,就像取消选中一个一样;请参阅如何禁用特定 PPA?. 您可以稍后重新启用它们。
对于第 3 步,请关闭所有打开的程序。保持您的网络浏览器打开可能是安全的,这样您就可以看到您的说明。但确保任何包管理器都没有运行尤为重要。这包括软件中心、软件更新程序(旧版本 Ubuntu 中的更新管理器)、Synaptic 和 Gdebi。它还包括命令行包管理实用程序喜欢apt-get
,dpkg
,和aptitude
。
请注意,如果其他用户同时登录,则应尽可能将其注销。
对于第 4 步,打开一个终端窗口。无论您使用什么桌面环境都可以执行此操作的一种方法是按Ctrl+ Alt+ T。
对于第 5 步,在终端窗口中运行以下命令:
ubuntu-support-status
sudo grep -R proxy /etc/apt/*
grep proxy /etc/environment
echo $http_proxy
echo $ftp_proxy
grep proxy /etc/bash.bashrc
grep proxy ~/.bashrc
cat /etc/apt/apt.conf
sudo fuser -vvv /var/lib/dpkg/lock
sudo fuser -vvv /var/cache/apt/archives/lock
cat /etc/lsb-release
uname -a
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
sudo cp -arf /var/lib/dpkg /var/lib/dpkg.backup
sudo mv /var/lib/dpkg/status /var/lib/dpkg/status-bad
sudo cp /var/lib/dpkg/status-old /var/lib/dpkg/status || sudo cp /var/backups/apt.extended_states.0 /var/lib/dpkg/status
sudo mv /var/lib/dpkg/available /var/lib/dpkg/available-bad
sudo cp /var/lib/dpkg/available-old /var/lib/dpkg/available
sudo rm -rf /var/lib/dpkg/updates/*
sudo rm -rf /var/lib/apt/lists
sudo rm /var/cache/apt/*.bin
sudo mkdir /var/lib/apt/lists
sudo mkdir /var/lib/apt/lists/partial
LANG=C;sudo apt-get clean
LANG=C;sudo apt-get autoclean
LANG=C;sudo apt-get --purge autoremove
LANG=C;sudo apt-get --fix-missing update -o APT::Cache-Limit=100000000
sudo dpkg --configure -a
sudo dpkg --clear-avail
LANG=C;sudo apt-get -f install
LANG=C;sudo apt-get --fix-missing install
LANG=C;sudo apt-get update -o APT::Cache-Limit=100000000 && sudo apt-get dist-upgrade
find /etc/apt -name '*.list' -exec bash -c 'echo -e "\n$1\n"; cat -n "$1"' _ '{}' \;
Run Code Online (Sandbox Code Playgroud)
我在 2014 年 3 月 2 日从PackageManagementTroubleshootingProcedure逐字复制了该命令。这些命令在过去已经演变,该文章中推荐的命令将来可能会再次更改或扩展。因此,您可能希望从第 5 步开始工作。(这篇文章中,创建/编辑的“贡献者Ubuntu文档维基” -尤其是马克Rijckenberg --is许可CC-BY-SA 3.0。,在这里允许包含与适当的归属)
其中一些命令试图解决问题(也可能显示诊断信息);其他人显示有关问题的宝贵信息,您可以将这些信息包含在问题中或以其他方式提供给帮助您的人。(或者,根据您的技能,可能使您能够诊断和解决它。)
通常这可以修复它,但当它没有时,它通常会提供足够的信息来修复它。
您不必手动键入这些命令;你可以复制和粘贴它们。不过,我建议分别粘贴和运行每一个。这使得哪些命令的输出更加清晰。
and*_*den 11
我也看到当您的存储库中有太多来源时会出现此问题。
尝试上面发布的解决方案和/或有时在启动板上推荐的解决方案:
sudo mv /var/lib/apt/lists /var/lib/apt/lists-old
sudo mkdir -p /var/lib/apt/lists/partial
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
让我们知道您的身体情况如何。
我遇到了同样的问题,并尝试了其他答案中提到的所有故障排除。奇怪的是,唯一的解决办法是采取不同的步骤:
转到软件和更新 -> Ubuntu 软件 -> 下载来源 -> 其他 -> 选择最佳服务器
等待测试。测试结束时,将选择最好的服务器,不一定是最近的服务器,也不一定是主服务器,也不一定是适合您所在区域的服务器。
现在重新加载 Repo 数据,它将正常完成。
归档时间: |
|
查看次数: |
361010 次 |
最近记录: |