apt-get upgrade 卡在同一个包上

apt-get upgrade 卡在同一个包上

当前状态

我开始怀疑这不是 Ubuntu 的问题,而是与我工作中的互联网连接有关。在我确定之前,我将在下面留下我的问题:

原始问题

我卡住了,无法升级我的系统。运行后sudo apt-get upgrade出现以下信息:

mmm@alalunga:~$ sudo apt-get upgrade 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages have been kept back:
  ginn libgrip0 linux-generic-pae linux-headers-generic-pae linux-image-generic-pae
The following packages will be upgraded:
  apport apport-gtk bind9-host build-essential dhcp3-client dhcp3-common dnsutils eog evince evince-common firefox firefox-branding firefox-dbg firefox-globalmenu
  firefox-gnome-support firefox-locale-en gimp gimp-data gir1.2-totem-1.0 glib-networking glib-networking-common glib-networking-services gnupg gpgv
  icedtea-6-jre-cacao icedtea-6-jre-jamvm icedtea-6-plugin icedtea-netx icedtea-netx-common icedtea-plugin isc-dhcp-client isc-dhcp-common libapache2-mod-php5
  libart-2.0-2 libbind9-80 libdns81 libevince3-3 libgimp2.0 libisc83 libisccc80 libisccfg82 liblwres80 libssl-dev libssl-doc libssl1.0.0 libtotem0 linux-firmware
  linux-libc-dev openjdk-6-jre openjdk-6-jre-headless openjdk-6-jre-lib openssl php-pear php5-cli php5-common php5-curl php5-dev php5-gd php5-mysql php5-xsl
  policykit-1-gnome python-apport python-django python-gst0.10 python-problem-report resolvconf thunderbird thunderbird-globalmenu thunderbird-gnome-support totem
  totem-common totem-mozilla totem-plugins xserver-xorg-input-synaptics
74 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
Need to get 317 MB/327 MB of archives.
After this operation, 1.481 kB of additional disk space will be used.
Do you want to continue [Y/n]? 
Get:1 http://archive.ubuntu.com/ubuntu/ precise-updates/main openjdk-6-jre-headless i386 6b24-1.11.4-1ubuntu0.12.04.1 [27,3 MB]
Get:2 http://archive.ubuntu.com/ubuntu/ precise-updates/main openjdk-6-jre-headless i386 6b24-1.11.4-1ubuntu0.12.04.1 [27,3 MB]                                       
Get:3 http://archive.ubuntu.com/ubuntu/ precise-updates/main openjdk-6-jre-headless i386 6b24-1.11.4-1ubuntu0.12.04.1 [27,3 MB]                                       
Get:4 http://archive.ubuntu.com/ubuntu/ precise-updates/main openjdk-6-jre-headless i386 6b24-1.11.4-1ubuntu0.12.04.1 [27,3 MB]                                       
Get:5 http://archive.ubuntu.com/ubuntu/ precise-updates/main openjdk-6-jre-headless i386 6b24-1.11.4-1ubuntu0.12.04.1 [27,3 MB]                                       
Get:6 http://archive.ubuntu.com/ubuntu/ precise-updates/main openjdk-6-jre-headless i386 6b24-1.11.4-1ubuntu0.12.04.1 [27,3 MB]                                       
Get:7 http://archive.ubuntu.com/ubuntu/ precise-updates/main openjdk-6-jre-headless i386 6b24-1.11.4-1ubuntu0.12.04.1 [27,3 MB]                                       
9% [7 openjdk-6-jre-headless 27,3 MB/27,3 MB 100%]

它一直在下载软件包openjdk-6-jre-headless,然后一段时间内什么也不做(挂在上面最后一行),然后再次下载软件包。在撰写本文时,它已经尝试下载了 13 次。实际下载似乎完成得很好,但下载后所做的一切似乎都失败了。

我尝试删除 openjdk-6,但它却想安装 openjdk-7,结果相同,挂起openjdk-7-jre-headless

我也尝试过将服务器从本地(丹麦)更改为主服务器。但没有成功。

它也阻止我升级所有其他软件包。

该怎么办?

更新

按照 @lpanebr 的回答中的说明操作后,它现在卡在了linux-firmware包上。所以,也许这是一个比与特定包相关的更普遍的问题?虽然在卡在之前它确实下载了一些包,没有问题linux-firmware

答案1

我的问题是我中断了代理后面的 apt 软件包(此处为 linux-firmware)的下载,导致代理缓存中的文件部分下载(且已损坏)。当我尝试升级时,此软件包的下载从文件中间开始,反复进行。

我所做的是手动下载文件,并将其放入 /var/cache/apt/archives。

答案2

我一直没有回来揭示这种奇怪行为的原因。

事实证明这很可能是网络问题。我确信这是由于在我和互联​​网之间安装了一些防病毒软件/防火墙/恶意软件造成的。

如果我通过 SSH 隧道传输所有内容,从我的家庭连接退出到互联网的其余部分,则不会出现问题。同样,如果我使用移动热点,也不会出现问题。

如果直接通过公司网络下载,我从 URL 下载的文件就会变得非常混乱并且毫无用处。

答案3

我遇到了非常类似的问题。我的更新管理器总是报告“并非所有更新都能够安装”。每当我尝试以下操作时:

sudo apt-get update && sudo apt-get upgrade

我懂了:

The following packages have been kept back:
  0ad 0ad-data ginn libgrip0 linux-generic linux-headers-generic linux-image-generic touchegg

然后我做了:

sudo apt-get purge touchegg 0ad 0ad-data

因为我知道无论如何我都不需要那些。

之后命令行仍然给出与上面相同的结果。然后,不知为何,我做了系统设置 > 详细信息 并点击了 安装更新按钮。令我惊讶的是,它毫无问题地安装了所有这些软件包。

非常奇怪..希望这有帮助。

答案4

你试过了吗sudo apt-get dist-upgrade?它应该会安装所有软件包,甚至包括那些现在没有升级的软件包。

事实上,这意味着分发更新。当我在更新过程中遇到问题时它非常有用。

相关内容