我有一个旧版本的 Fedora,我想升级它。我只能使用命令行访问(通过 Windows 计算机上的 PuTTy)。从我读到的内容来看,preupgrade-cli
这是我应该做的,但总是失败并显示消息“[Errno 256]没有更多的镜像可以尝试”。
[root@localhost ~]# cat /etc/fedora-release
Fedora release 9 (Sulphur)
[root@localhost ~]# preupgrade-cli
Loaded plugins: blacklist, refresh-packagekit, whiteout
Loaded plugins: refresh-packagekit
please give a release to try to pre-upgrade to
valid entries include:
"Fedora 16 (Verne)"
"Fedora 15 (Lovelock)"
"Fedora 13 (Goddard)"
"Fedora 11 (Leonidas)"
"Fedora 12 (Constantine)"
"Fedora 17 (Beefy Miracle)"
"Fedora 14 (Laughlin)"
"Fedora 10 (Cambridge)"
[root@localhost ~]# preupgrade-cli "Fedora 16 (Verne)"
Loaded plugins: blacklist, refresh-packagekit, whiteout
Loaded plugins: refresh-packagekit
preupgrade-main (mirrorlist)
url: http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-16&arch=$basearch
now: http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-16&arch=i386
preupgrade (mirrorlist)
url: http://mirrors.fedoraproject.org/mirrorlist?path=pub/fedora/linux/releases/16/Fedora/$basearch/os/
now: http://mirrors.fedoraproject.org/mirrorlist?path=pub/fedora/linux/releases/16/Fedora/i386/os/
preupgrade-updates-newkey (mirrorlist)
url: http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f16.newkey&arch=i386
now: http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f16.newkey&arch=i386
Can't set up new repo preupgrade-updates-newkey - removing
preupgrade-fedora (mirrorlist)
url: http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-16&arch=i386
now: http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-16&arch=i386
preupgrade-updates (mirrorlist)
url: http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f16&arch=i386
now: http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f16&arch=i386
Fetched treeinfo from http://ftp.heanet.ie/pub/fedora/linux/releases/16/Fedora/i386/os//.treeinfo
treeinfo timestamp: Thu Nov 3 03:11:15 2011
.treeinfo | 906 B 00:00
/boot/upgrade/vmlinuz checksum OK
/boot/upgrade/initrd.img checksum OK
Traceback (most recent call last):
File "/usr/share/preupgrade/preupgrade-cli.py", line 305, in <module>
pu.main(myrelease)
File "/usr/share/preupgrade/preupgrade-cli.py", line 204, in main
stage2file = self.retrieve_non_critical_files()
File "/usr/lib/python2.5/site-packages/preupgrade/__init__.py", line 556, in retrieve_non_critical_files
self._retrieve_file(self.mainimage,targetdir)
File "/usr/lib/python2.5/site-packages/preupgrade/__init__.py", line 437, in _retrieve_file
tmp = self.instgrab.urlopen(fileinfo)
File "/usr/lib/python2.5/site-packages/urlgrabber/mirror.py", line 417, in urlopen
return self._mirror_try(func, url, kw)
File "/usr/lib/python2.5/site-packages/urlgrabber/mirror.py", line 390, in _mirror_try
mirrorchoice = self._get_mirror(gr)
File "/usr/lib/python2.5/site-packages/urlgrabber/mirror.py", line 287, in _get_mirror
raise URLGrabError(256, _('No more mirrors to try.'))
urlgrabber.grabber.URLGrabError: [Errno 256] No more mirrors to try.
[root@localhost ~]# traceroute ftp.heanet.ie
traceroute to ftp.heanet.ie (193.1.193.64), 30 hops max, 60 byte packets
1 192.168.1.254 (192.168.1.254) 0.318 ms 0.383 ms 0.584 ms
2 b-ras1.pgs.portlaoise.eircom.net (159.134.155.8) 31.286 ms 34.831 ms 35.415 ms
3 tenge-5-1-1.pe1.pgs.lmk-pgs.eircom.net (86.43.247.133) 39.728 ms 39.806 ms 40.421 ms
4 tenge-7-1-1.core1.bdt.core.eircom.net (86.43.252.249) 48.627 ms 48.872 ms 48.938 ms
5 * * *
6 83.71.115.181 (83.71.115.181) 55.914 ms 33.992 ms 38.373 ms
7 te0-0-0-1-cr2-cwt.hea.net (193.242.111.16) 83.851 ms 44.684 ms 44.839 ms
8 te5-1-blanch-sr1.services.hea.net (193.1.236.2) 39.659 ms 40.871 ms 44.635 ms
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 te5-1-blanch-sr1.services.hea.net (193.1.236.2) 53.721 ms !X * *
Fedora 17 的更新也失败。 (我先尝试了16,因为17在列表中是乱序的,所以我从来没有注意到它。)
[root@localhost ~]# preupgrade-cli "Fedora 17 (Beefy Miracle)"
Loaded plugins: blacklist, refresh-packagekit, whiteout
Loaded plugins: refresh-packagekit
preupgrade-main (mirrorlist)
url: http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-17&arch=$basearch
now: http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-17&arch=i386
preupgrade (mirrorlist)
url: http://mirrors.fedoraproject.org/mirrorlist?path=pub/fedora/linux/releases/17/Fedora/$basearch/os/
now: http://mirrors.fedoraproject.org/mirrorlist?path=pub/fedora/linux/releases/17/Fedora/i386/os/
preupgrade-updates-newkey (mirrorlist)
url: http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f17.newkey&arch=i386
now: http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f17.newkey&arch=i386
Can't set up new repo preupgrade-updates-newkey - removing
preupgrade-fedora (mirrorlist)
url: http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-17&arch=i386
now: http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-17&arch=i386
preupgrade-updates (mirrorlist)
url: http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f17&arch=i386
now: http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f17&arch=i386
Fetched treeinfo from http://ftp.heanet.ie/pub/fedora/linux/releases/16/Fedora/i386/os//.treeinfo
treeinfo timestamp: Thu Nov 3 03:11:15 2011
.treeinfo | 906 B 00:00
/boot/upgrade/vmlinuz checksum OK
/boot/upgrade/initrd.img checksum OK
Traceback (most recent call last):
File "/usr/share/preupgrade/preupgrade-cli.py", line 305, in <module>
pu.main(myrelease)
File "/usr/share/preupgrade/preupgrade-cli.py", line 204, in main
stage2file = self.retrieve_non_critical_files()
File "/usr/lib/python2.5/site-packages/preupgrade/__init__.py", line 556, in retrieve_non_critical_files
self._retrieve_file(self.mainimage,targetdir)
File "/usr/lib/python2.5/site-packages/preupgrade/__init__.py", line 437, in _retrieve_file
tmp = self.instgrab.urlopen(fileinfo)
File "/usr/lib/python2.5/site-packages/urlgrabber/mirror.py", line 417, in urlopen
return self._mirror_try(func, url, kw)
File "/usr/lib/python2.5/site-packages/urlgrabber/mirror.py", line 390, in _mirror_try
mirrorchoice = self._get_mirror(gr)
File "/usr/lib/python2.5/site-packages/urlgrabber/mirror.py", line 287, in _get_mirror
raise URLGrabError(256, _('No more mirrors to try.'))
urlgrabber.grabber.URLGrabError: [Errno 256] No more mirrors to try.
有什么方法可以解决这个问题并安装升级,或者我最好备份数据、擦除并从头开始?
http://mirrors.fedoraproject.org/publiclist/Fedora/17/和http://ftp.heanet.ie/mirrors/fedora-secondary/updates/17/和http://ftp.heanet.ie/mirrors/fedora-secondary/releases/17/Fedora/所有这些都表明 ftp.heanet.ie 确实托管 Fedora 17,但由于某种原因,preupgrade 命令在那里找不到它。我应该使用不同的镜像(如果是的话,如何?)或重新配置与 ftp.heanet.ie 连接中的其他内容?
答案1
从 Fedora 9 升级到任何当前受支持的 Fedora 版本可能是不可能的,因为变化太多,而且有太多损坏,不值得这样做。您最终会花费更多时间修复没人遇到过的损坏的软件包,因为这不是受支持的升级路径。从全新安装介质备份并重新安装。
答案2
我会尝试升级到 Fedora 17 - 15 可能已经足够旧,以至于镜像已将其删除,这似乎是您遇到的错误。如果这不起作用,您最好擦除并重新开始,因为与简单地恢复数据相比,您可能会花费更多的时间来让升级生效。
答案3
我最近将这款上网本从 Fedora 16 升级到 17,然后又升级到 18,但是前16 人寿终正寝。不是一步就能搞定的,查看Fedora 17的升级说明并照着做;一旦 Fedora 17 正常(请记住运行建议的清理命令!),然后转到 Fedora 18。