Ubuntu 出现故障 - 无法安装任何软件包。我该怎么办?

Ubuntu 出现故障 - 无法安装任何软件包。我该怎么办?

最近,我发现 Ubuntu 出现了一些奇怪的行为。首先也是最重要的一点是它无法安装更新。它给出软件包安装错误,并且根本无法工作。

之前我尝试通过软件中心安装 TeamViewer,但遇到了同样的软件包错误。我也感觉连接速度比正常速度慢——不知道这是否与此案例有关。

我的安装出了什么问题?如何修复这些软件包安装错误?

在此处输入图片描述

答案1

这是 Ubuntu 上一个非常常见的问题。这个问题有很多种问法。然而,答案总是相同的。我经常在软件包损坏时遇到这个问题。我查看了以下链接:

https://askubuntu.com/questions/461975/i-cant-edit-update-remove-or-install-my-broken-packages

$ sudo apt-get autoremove
$ sudo apt-get --purge remove && sudo apt-get autoclean
$ sudo apt-get -f install
$ sudo apt-get update
$ sudo apt-get upgrade && sudo apt-get dist-upgrade
$ sudo dpkg-reconfigure -a
$ sudo dpkg --configure -a

您已完成大部分操作。还有几个可以添加。但到目前为止,列表中的操作已修复了我损坏的 Ubuntu 损坏软件包问题。

就 Teamviewer 安装而言,在您修复了损坏的软件包问题后,请尝试以下操作:

$ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
$ sudo dpkg --add-architecture i386
$ sudo apt-get update
## (Download the latest 32-Bit / 64-Bit Multiarch go to the download and run)
$ sudo dpkg -i teamviewer_linux.deb

答案2

分区可能/boot已满,因此安装和更新将失败。

要检查该分区是否已满,请打开终端并输入命令df,它将显示类似以下内容:

Filesystem              1K-blocks      Used Available Use% Mounted on
/dev/mapper/ubuntu-root 959421896 379475996 531218164  42% /
udev                       832664         4    832660   1% /dev
tmpfs                      168352       576    167776   1% /run
none                         5120         0      5120   0% /run/lock
none                       841752         0    841752   0% /run/shm
cgroup                     841752         0    841752   0% /sys/fs/cgroup
/dev/sda1                  233191     27581    193169  13% /boot   <==== Note this line

如果使用率/boot达到 99%,则需要清除旧包备份。/boot使用命令检查文件夹中的内容ls /boot。如果您看到很多文件initrd.img-3.2.0-##-generic vmlinuz-3.2.0-##-generic(其中 ## 是版本号,如 40、41、42、43,您可能会发现数十个副本),则删除一些旧副本实际上是安全的。

使用以下命令删除旧副本:

dpkg --get-selections|grep 'linux-image*'|awk '{print $1}'|egrep -v "linux-image-$(uname -r)|linux-image-generic" |while read n;do sudo apt-get -y remove $n;done

(归功于此链接,经过修改以使其在 ubuntu 中工作)

然后运行sudo apt-get autoremove清理依赖项。

答案3

这听起来像我今天早些时候遇到的内核问题。我遇到了本网站这确实修复了问题。我不得不通过编辑 dpkg 状态文件来手动修复它。

但在执行任何操作之前,请先备份原始文件地位文件,这样如果这不能解决问题,您可以恢复到它。

  1. sudo gedit /var/lib/dpkg/status
  2. Then locate the corrupted package. Remove the whole block of information pertaining to it, save then exit.

如果您不知道哪个包导致此问题,您可以运行:

sudo apt-get 更新
sudo apt-get 升级

这可能会告诉你哪些包有问题,例如


处理/var/cache/apt/archives/(此处为包名称)时遇到错误
E:子进程 /usr/bin/dpkg 返回错误代码 (1)

我真的说不准,因为我不知道你在终端中收到什么错误消息。但如果这听起来可能有帮助,那就值得一试。另外,如果没有用,你总是可以恢复备份文件。有一件事,我不会重启,直到我知道它是否有效。祝你好运!

相关内容