我输入了命令
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
并收到以下错误
W: Failed to fetch http://old-releases.ubuntu.com/ubuntu/dists/precise/main/source/Sources 404 Not Found
以及其他类似的信息
之前,我曾从这个网站的答案中输入以下命令 升级到不再支持的版本
username-M:~$ sudo cp -v /etc/apt/sources.{list,backup}
[sudo] password for username:
'/etc/apt/sources.list' -> '/etc/apt/sources.backup'
username:~$ sudo sed -i 's/us.archive/old-releases/' /etc/apt/sources.list
有问题的 sources.list 文件
# deb cdrom:[Ubuntu 12.04 _Precise Pangolin_ - Release i386 (20131017)]/ precise main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://old-releases.ubuntu.com/ubuntu/ precise main restricted
deb-src http://old-releases.ubuntu.com/ubuntu/ precise main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://old-releases.ubuntu.com/ubuntu/ precise-updates main restricted
deb-src http://old-releases.ubuntu.com/ubuntu/ precise-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://old-releases.ubuntu.com/ubuntu/ precise universe
deb-src http://old-releases.ubuntu.com/ubuntu/ precise universe
deb http://old-releases.ubuntu.com/ubuntu/ precise-updates universe
deb-src http://old-releases.ubuntu.com/ubuntu/ precise-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://old-releases.ubuntu.com/ubuntu/ precise multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ precise multiverse
deb http://old-releases.ubuntu.com/ubuntu/ precise-updates multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ precise-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://old-releases.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ precise-security main restricted
deb-src http://old-releases.ubuntu.com/ubuntu/ precise-security main restricted
deb http://old-releases.ubuntu.com/ubuntu/ precise-security universe
deb-src http://old-releases.ubuntu.com/ubuntu/ precise-security universe
deb http://old-releases.ubuntu.com/ubuntu/ precise-security multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ precise-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 precise main
# deb-src http://extras.ubuntu.com/ubuntu precise main
deb http://old-releases.ubuntu.com/ubuntu/ precise-proposed restricted main multiverse universe
答案1
你应该通过重置来重置你的存储库来源列表文件将位于/etc/apt/sources.list
访问http://repogen.simplylinux.ch/产生新的来源列表根据你的 Ubuntu 版本
在将来对 sources.list 进行破坏性操作(例如就地 sed 替换)之前,请先备份它
e.g. sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup.
答案2
问题在于,当您的版本仍然受支持时,您尝试使用该流程从不受支持的版本进行更新。
您的错误行显示了这一点
W: Failed to fetch http://old-releases.ubuntu.com/ubuntu/dists/precise/main/source/Sources 404 Not Found
其中有版本名称“precise”,与 12.04 相关,这是一个仍受支持的版本。precise 存储库仍可用us.archive.ubuntu.com
,尚未移至服务器old-releases
。
您可以使用以下命令从备份中重置 sources.list 文件:
sudo cp /etc/apt/sources.backup /etc/apt/sources.list
此后您的apt-get
命令应该可以起作用。
编辑:
您的文件似乎/etc/apt/sources.backup
包含与文件相同的行/etc/apt/sources.list
,因此最好对此 sources.list 文件进行另一次备份,然后尝试将开关从us.archive.ubuntu.com
改为old-releases.ubuntu.com
。
使用以下命令进行新的备份:
sudo cp -a /etc/apt/sources.list /etc/apt/sources.secondbackup
并执行上一个命令的相反操作sed
:
sudo sed -i 's/old-releases/us.archive/' /etc/apt/sources.list
然后检查它是否有效,只需执行apt-get
命令的更新部分:
sudo apt-get update