当前状态
我开始怀疑这不是 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
?它应该会安装所有软件包,甚至包括那些现在没有升级的软件包。
事实上,这意味着分发更新。当我在更新过程中遇到问题时它非常有用。