Legrace s Beefy Miracle aneb upgrade z Fedory 16 na Fedoru 17

Jun|13 2012

Fedora 17 - Beefy MiracleNová Fedora 17 přináší kromě mnoha jiných novinek i jednu, na kterou je dobré myslet i při samotném upgradu. Možná se bude někomu hodit stručný popis, jak upgrade z Fedory 16 probíhal u mě.

Výchozí návod, ze kterého jsem vycházel, najdete na: https://fedoraproject.org/wiki/Upgrading_Fedora_using_yum

Nová featura, zmíněná v prvním odstavci, je označena UsrMove a v podsstatě jde o sjednocení adresářů /lib do /usr/lib, /bin do /usr/bin a /lib64 do /usr/lib64. Původní jména budou samozřejmě kvůli zpětné kompatibilitě nahrazeny symbolickými odkazy.

Před samotným upgradem nezapomeňte zálohovat vše důležité a není špatné updatovat na poslední verzi balíky v současné distribuci. Package maintainaři totiž vždy počítají zejména s možností, kdy se ugraduje z poslední dostupné verze balíku. Jiné updaty, přeskakující několik buildů, nemusí být vždy stoprocentní.

Oficiální dokumentace sice doporučuje pomocí telinit 3 přepnout do rozhraní bez grafického prostředí, nicméně u mě upgrade (kromě malého zaváhání v závěru) proběhl v pořádku přímo z Gnome terminálu. Pojďme se tedy pustit do prvního kroku, kterým je update balíků současné distribuce:

# yum update all

Ugrade začneme importováním klíče:

# rpm --import https://fedoraproject.org/static/1ACA3465.txt

Nyní provedeme konverzi filesystému, související právě s UsrMove:

dracut --force --add convertfs

Nicméně, toto nestačí, protože UsrMove je z hlediska upgradu existujícího systému celkem náročná operace. Nyní je čas upravit dočasně konfiguraci grubu, v našem případě budeme editovat soubor /etc/grub2/grub.cfg. Konkrétně můžeme zduplikovat pod jiným označením nejnovější položku a provést následující změny:

Odebereme "ro" a "rhgb" voby a přidáme místo nich "rw", "rd.info", "rd.convertfs" a "enforcing=0". Poté můžeme restartovat systém a doufat, že naběhne v pořádku, již s uzly /bin, /lib a /lib64 ve formě symbolických odkazů. V tuto chvíli můžeme vymazat dočasnou položku v /etc/grub2/grub.cfg a neměli bychom příliš otálet se samotným upgradem, který je doporučen provádět pomocí těchto kroků:

# rm -f /var/lib/rpm/__*
# rpm --rebuilddb
# yum --releasever=17 update rpm
# rm -f /var/lib/rpm/__*
# rpm --rebuilddb
# yum --releasever=17 --disableplugin=presto distro-sync
# fixfiles onboot

Po rebootování jsem čekal hladký náběh do F17, jenže ejhle, nový kernel dostal záchvat paniky a odmítl se spustit. Později jsem zjistil, že důvodem paniky byl chybějící soubor initramfs-3.4.0-1... a tím pádem i chybějící řádek initrd v grub menu. Kromě toho se také nějakým nedopatřením neodinstaloval balík fedora-release-16-1, zatímco fedora-release-17-1 již byl nainstalován a měl tedy starší verzi automaticky nahradit. Tento fakt měl za následek to, že jako výchozí repositář se stále bral ten z Fedory 16.

Jak tedy z toho ven? Nezbývalo než nabootovat do staršího kernelu 3.3, odinstalovat přebývající fedora-release-16-1 a nainstalovat novější kernel (případně reinstalovat původní 3.4.0). Zvolil jsem novější, nicméně nestačilo pouze zadat příkaz yum update kernel, dokonce ani yum update kernel --enablerepo=updates-testing, protože z nějakého důvodu není novější kernel dosud zařazen mezi updaty. Sáhl jsem tedy k manuálnímu stažení, přímo z buildovacího systému Koji a stáhl nové jádro kernel-3.4.2-1.fc17. Oba kroky tedy vypadaly takto:

# yum remove fedora-release-16-1
# yum install ./kernel-3.4.2-1.fc17.x86_64.rpm

Při následném restartu jsem ještě jednou uviděl panikující kernel, nicméně při bootování do nového 3.4.2 už běželo vše bez problému.

Přeji mnoho úspěchů s novou Fedorou 17 alias Beefy Miracle!

Tags: Počítače | Linux | Fedora | Operační systém | Open-source

Add New Comment

Note: Comments will be visible after manual check by admin.

* These fields have to be filled.