'E:需要重新安装软件包 linux-headers-3.5.0-54,但我找不到它的存档。 ' 升级系统时

'E:需要重新安装软件包 linux-headers-3.5.0-54,但我找不到它的存档。 ' 升级系统时

我使用的是 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 updatesudo apt upgrade

现在我可以升级到更新的 Ubuntu...

相关内容