我使用的是 Ubuntu 12.04,我尝试使用终端升级到 14.04.1:
do-release-upgrade
但我不断收到以下错误:
SystemError: E:The package linux-headers-3.5.0-54 needs to be
reinstalled, but I can't find an archive for it.
如何修复错误并继续升级?
的输出为sudo apt-get check
:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: The package linux-headers-3.5.0-54 needs to be reinstalled, but I can't find an archive for it.
输出为sudo dpkg -C
The following packages are in a mess due to serious problems during
installation. They must be reinstalled for them (and any packages
that depend on them) to function properly:
linux-headers-3.5.0-54 (no description available)
输出为cat /etc/apt/sources.list
# deb cdrom:[Ubuntu 12.04.2 LTS _Precise Pangolin_ - Release i386 (20130213)]/ precise main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://us.archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://us.archive.ubuntu.com/ubuntu/ trusty multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty multiverse
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://us.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu trusty-security main restricted
deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted
deb http://security.ubuntu.com/ubuntu trusty-security universe
deb-src http://security.ubuntu.com/ubuntu trusty-security universe
deb http://security.ubuntu.com/ubuntu trusty-security multiverse
deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse
## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu precise partner
# deb-src http://archive.canonical.com/ubuntu precise partner
## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu trusty main
deb-src http://extras.ubuntu.com/ubuntu trusty main
答案1
您需要下载并重新安装包裹linux-headers-3.5.0-54
。这里的问题是该包仅提供精确的数据,您的来源不再提供参考。为此,我建议手动下载软件包,而不是添加精确的存储库并使用 dpkg 重新安装软件包,然后继续删除它并继续升级:
wget http://security.ubuntu.com/ubuntu/pool/main/l/linux-lts-quantal/linux-headers-3.5.0-54_3.5.0-54.81~precise1_all.deb
sudo dpkg -i linux-headers-3.5.0-54_3.5.0-54.81~precise1_all.deb
sudo apt-get purge linux-headers-3.5.0-54
sudo do-release-upgrade
对于所有其他情况,一个简单的方法:
sudo apt-get --reinstall install package-name
应该足够了。
答案2
我用已被删除的 Cosmic(Ubuntu 18.10)进行了实验,需要更新 Linux 通用内核,但找不到。
我被保存为将 source.list 中的所有 url 替换为“old-releases.ubuntu.com”:
源列表
deb http://nova.clouds.archive.ubuntu.com/ubuntu/ cosmic main restricted
deb http://nova.clouds.archive.ubuntu.com/ubuntu/ cosmic-updates main restricted
deb http://nova.clouds.archive.ubuntu.com/ubuntu/ cosmic universe
deb http://nova.clouds.archive.ubuntu.com/ubuntu/ cosmic-updates universe
就是现在:
deb http://old-releases.ubuntu.com/ubuntu/ cosmic main restricted
deb http://old-releases.ubuntu.com/ubuntu/ cosmic-updates main restricted
deb http://old-releases.ubuntu.com/ubuntu/ cosmic universe
deb http://old-releases.ubuntu.com/ubuntu/ cosmic-updates universe
然后我就可以跑sudo apt update
了sudo apt upgrade
现在我可以升级到更新的 Ubuntu...