我有一个安装了 Ubuntu 8.10 服务器版的 VPS,我想将其升级到 10.04。正确的做法是什么?我只能通过 ssh 访问它,并且只能在供应商的客户端面板上访问“启动/关闭 VPS”。换句话说,我没有物理访问权限。
还值得注意的是,我显然无法再安装程序,因为源(osuosl.org?)不在线。无论如何,不是这个服务器设置的源。
# apt-get update
Ign http://ubuntu.osuosl.org intrepid Release.gpg
Ign http://ubuntu.osuosl.org intrepid/main Translation-en_US
Ign http://ubuntu.osuosl.org intrepid/universe Translation-en_US
Ign http://ubuntu.osuosl.org intrepid Release
Ign http://ubuntu.osuosl.org intrepid/main Packages
Ign http://ubuntu.osuosl.org intrepid/universe Packages
Err http://ubuntu.osuosl.org intrepid/main Packages
404 Not Found
Err http://ubuntu.osuosl.org intrepid/universe Packages
404 Not Found
W: Failed to fetch http://ubuntu.osuosl.org/ubuntu/dists/intrepid/main/binary-amd64/Packages.gz 404 Not Found
W: Failed to fetch http://ubuntu.osuosl.org/ubuntu/dists/intrepid/universe/binary-amd64/Packages.gz 404 Not Found
E: Some index files failed to download, they have been ignored, or old ones used instead.
答案1
好的,我设法使用 wojox 的提示作为启动来解决了这个问题。
主要问题是无法访问存储库,因此无法运行正确的升级。通过编辑
/etc/apt/sources.list
并将每次出现的 更改为 ,intrepid
可以解决此jaunty
问题。您可以手动执行此操作,也可以使用 wojox 的 oneliner(需要安装 perl)。请注意我们假设活跃的回购协议仍然有效,在撰写本文时也是如此。sudo perl -p -i.intrepid -e 's/intrepid/jaunty/' /etc/apt/sources.list
注意 - Ubuntu 提供了旧版本的镜像:https://help.ubuntu.com/community/EOLUpgrades/Intrepid
更新软件包列表
sudo apt-get update
安装
update-manager-core
sudo apt-get install update-manager-core
运行
do-release-upgrade
将正确处理对下一个版本的更新(并确保使用 ssh 不会造成阻碍)。请记住,虽然我们之前更改了源列表,但我们仍然处于开始的版本。所以在我的情况下,我必须执行步骤 4 三次。确保在每次升级之间重新启动。请注意,如果对当前的 Ubuntu 版本有疑问,您可以随时发出cat /etc/issue
答案2
它可能不起作用,因为你必须按时间顺序进行。8.10 > 9.04 > 9.10 > 10.04 并且 9.04 也是 EOL。
sudo perl -p -i.intrepid -e 's/intrepid/jaunty/' /etc/apt/sources.list
答案3
我还没有尝试过,但也许可以不用手动升级,而是将/etc/apt/sources.list
使用“http://*archive.ubuntu.com/ubuntu/”切换到使用“http://old-releases.ubuntu.com/ubuntu/”。然后尝试使用 的正常路径do-release-upgrade
。更新程序可能会抱怨您没有使用“官方镜像”,但请继续。一旦您升级到 9.04,您就可以切换回sources.list
官方镜像并升级到 9.10 并继续正常操作,也许可以。
我担心它do-release-upgrade
会失败,因为它根本不知道 EOL 版本。