Upgraden naar Fedora 22

Sinds afgelopen week is de nieuwe uitgave van Fedora Linux beschikbaar, nu versie 22. In dit blog laat ik zien hoe ik mijn machines een upgrade heb gegeven van Fedora 21 naar 22. Het is eigenlijk een vrij makkelijke procedure, zeker als je het extra opruimen, wat ik graag doe, achterwege laat. Maar het vastleggen van de procedure middels een blog en daarbij wat uitleg geven kan nooit kwaad.

Met Fedora 22 ben je weer helemaal bij in Linux-land. Voor de highlights wat er nieuw is in de Workstation editie verwijs ik graag naar: http://fedoramagazine.org/whats-new-fedora-22-workstation/

Voor wie al Fedora gebruikt en over wil naar de nieuwste release is er de fedup applicatie beschikbaar. Daarmee is een aanwezige installatie bij te werken naar de gewenste uitgave van Fedora, een zogenaamde upgrade. Hiervoor heb je uiteraard root-rechten nodig op de machine. Alle verdere commando’s in dit blog dienen met root-rechten uitgevoerd te worden en daarom is het handig om deze gedaante aan te nemen:

# su - 

Tijd om met de voorbereiding te beginnen. Allereerst breng je het huidig draaiende systeem geheel up-to-date en installeer je fedup mocht deze nog niet aanwezig zijn. Wat package manager betreft kun je hiervoor yum gebruiken, of het nieuwe dnf. Beide werken nog onder Fedora 21, maar in Fedora 22 is yum vervallen en zul je met dnf moeten werken. De syntax is in meeste gevallen gelijk aan elkaar, wat de overstap vergemakkelijkt. Ik maak gebruik van dnf, aan jou de keuze welke je voor deze procedure gebruikt.

Alle beschikbare updates en fedup installeren:

# dnf upgrade 
# dnf install fedup

Opruimen

Op een moment als dit vind ik het prettig om gelijk mijn systeem even op te ruimen. Zowel mijn eigen bestanden als het besturingssysteem. De eigen bestanden opruimen verschilt voor iedereen en is iets waar je zelf waarschijnlijk wel uit komt, dus ik houd het hier bij het opruimen van het besturingssysteem. Dit doe ik door overbodige pakketten te verwijderen, oude kernels te verwijderen en eventueel programma’s welke ik niet meer gebruik te verwijderen. Mocht je dit niet zien zitten of er geen zin/tijd voor hebben dan kun je de opruimstappen gerust overslaan.

Overbodige pakketten opruimen

Tijdens deze stap gaan we op zoek naar pakketten welke niet meer nodig zijn, bijvoorbeeld wanneer ze niet zijn binnengehaald door een ander pakket als afhankelijkheid, terwijl dat oorspronkelijke pakket al is verwijderd.

Begin eens met de autoremove functie van yum en dnf. Hiermee worden overbodige pakketten welke ooit als afhankelijkheden zijn geïnstalleerd, maar niet langer nodig zijn, verwijderd. Ik merkte hierbij dat dnf en yum beide met een iets ander resultaat kwamen. Maar als je nu enkel yum gebruikt, dan hoef je niet speciaal hiervoor dnf aan te slingeren.

# yum autoremove 
# dnf autoremove

Volgende stap is het tonen van zogenaamde “leaf” pakketten met behulp van package-cleanup. Dit zijn pakketten welke als het ware “alleenstaand” zijn, er zijn geen andere pakketten op het systeem aanwezig welke op een of andere manier van deze “leaf” pakketten afhankelijk zijn. Een selectie uit deze lijst dien je zelf te maken, dit vereist enige kennis. Als je het niet zeker weet dan kun je deze stap overslaan. De ervaring leert dat ik het meeste van deze pakketten kan verwijderen zonder enig probleem.

Eerst eens package-cleanup installeren, deze bevindt zich in yum-utils:

# dnf install yum-utils 

Laat package cleanup de lijst van leaf pakketten tonen:

# package-cleanup --leaves 

Nu kun je de pakketten naar keuze laten verwijderen. Op mijn laptop was dat enkel hplip-libs welke ik niet meer nodig heb. Op mijn werkstation waren het er iets meer, maar ook daar kon alles weg. N.B.: PAS DIT COMMANDO AAN AAN JE EIGEN OMGEVING EN PAKKETTEN!

# dnf remove hplip-libs-3.14.10-5.fc21.x86_64 

Dan zijn er nog pakketten welke in feite “wezen” zijn geworden: Pakketten welke niet meer beschikbaar zijn in de repositories. Vaak zijn dit oudere kernels.

# package-cleanup --orphans 

Uit dit lijstje maak je weer een selectie. Het is mogelijk dat je nog een oudere kernelversie draait op dit ogenblik, verwijder deze nog even niet. In mijn geval draai ik bijvoorbeeld nog kernel 3.19.7, terwijl net na het updaten aan het begin van dit blog versie 4.0.4 is geïnstalleerd. Kernel 3.19.7 en bijbehorende pakketten staat wel in het lijstje van de “orphans”, maar deze laat ik nog maar even niet verwijderen. Als je wilt weten welke kernel je op dit ogenblik draait:

# uname -a 

Maak een selectie aan de hand van pakketten welke je niet meer nodig hebt. Ik laat mijn huidige kernel en ook teamviewer9-9.0.30203-1.i686 staan omdat ik deze nog gebruik.

# dnf remove aic94xx-firmware-30-6.fc20.noarch anaconda-yum-plugins-1.0-10.fc20.noarch celt-0.11.3-1.fc20.x86_64 kernel-3.19.5-200.fc21.x86_64 kernel-core-3.19.5-200.fc21.x86_64 kernel-modules-3.19.5-200.fc21.x86_64 kernel-modules-extra-3.19.5-200.fc21.x86_64

Herstarten en backups maken

Als je aan het begin van dit verhaal updates hebt geïnstalleerd raad ik aan nu eens de PC te herstarten, zodat je kunt nagaan of de update succesvol is verlopen en of klaar bent om backups te gaan maken, waarna doorgegaan kan
worden met het upgraden naar Fedora 22.

Het kan handig zijn om een kopie te maken van je systeemschijf met kloon-software zoals CloneZilla. Daarmee kun je een perfecte kopie maken van de gehele schijf zodat je in geval van paniek, stel er gaat iets mis, altijd
terug kunt. Hoe je backups maakt valt buiten de scope van dit blog, en er zijn zoveel verschillende manieren dat het onmogelijk is om ze allemaal te beschrijven. Zelf trek ik vaak voor de zekerheid even een kopie van de hele
disk met CloneZilla als ik daar vrije ruimte voor beschikbaar heb op bijvoorbeeld een externe harde schijf.

btrfs?

Mocht je al gebruik maken van het nieuwe btrfs bestandsysteem (zo niet sla deze stap dan over) dan kun je ook nog een snapshot maken van je huidige systeem. Als er dan iets mis gaat en je moet/wilt terug naar Fedora 21 dan
vergemakkelijkt zo’n snapshot de procedure aanzienlijk, want je kunt dan simpelweg je snapshot booten ipv je normale root. Hoe dit moet valt net even buiten de scope hier, maar dat is elders op het web zeker te vinden. Ik gebruik btrfs op één van mijn machines. En al kan ik het nog niet aanraden voor gebruik overal, het wordt steeds beter. Als je nog niet eerder snapshots hebt gemaakt, ik doe het als volgt:

Mijn / en /home zijn hier verschillende btrfs subvolumes, vandaar dat ik daar
een onderscheid tussen maak. Pas dit voorbeeld aan naar je eigen omgeving:

# mkdir /.snapshots
# mkdir /home/.snapshots
# btrfs subvolume snapshot / /.snapshots/fedora21
# btrfs subvolume snapshot /home /home/.snapshots/fedora21

Upgraden maar!

Klaar om over te gaan op Fedora 22? Nu kunnen we eindelijk fedup gaan gebruiken om alvast alle nieuwe pakketten te downloaden en klaar te zetten. Zodra je dit proces eenmaal gestart heb je er eigenlijk geen omkijken maar naar. Je kunt tijdens dit proces gewoon doorwerken, pas na een reboot vind het echte upgraden plaats. Fedup starten gaat zo makkelijk als dit:

# fedup --network 22

--network geeft aan dat je de upgrade over het netwerk (internet) wilt binnenhalen.

22 is het versienummer van Fedora welke geïnstalleerd moet worden.

Check het log

Ter extra controle kun je nu nog even het log nalopen van fedup. Wellicht staan er dingen in die je tijdens het downloaden van de updates niet is opgevallen.

 # less /var/log/fedup.log

Herstarten

Nu kan het systeem herstart worden om de upgrade daadwerkelijk te installeren. Bij het opstarten staat het GRUB menu nu standaard op de optie System Upgrade (fedup). Laat het systeem hierop doorstarten of druk op Enter om de keuze te bevestigen. De installatie van de upgrade gaat dan beginnen. Dit kan even duren, dus haal gerust nu een kop koffie.

Welkom in Fedora 22

Is alles goed gegaan? Dan staat nu Fedora 22 op je systeem. Proficiat!

Na de upgrade

Er zijn na de upgrade nog een paar klusjes die je kunt uitvoeren om te zorgen dat alles netjes op zijn plek staat en eventuele oude data van Fedora 21 verwijderd wordt.

Het is de moeite waard om de RPM DB even te laten herbouwen om te voorkomen dat je mogelijk tegen een checksum error aan loopt op een later moment:

# sudo rpm --rebuilddb

Na de upgrade een extra handeling om te zorgen dat je pakketten geheel in sync zijn met de repositories voor Fedora 22. Een enkele keer voert dit een downgrade uit van een pakket, welke bijvoorbeeld in Fedora 21 al beschikbaar was maar in Fedora 22 nog niet. Hier betrof dat twee kleine bibliotheken.

# dnf distro-sync --setopt=deltarpm=0

Oude repository metadata van yum en dnf voor Fedora 21 kan nu worden verwijderd, die wordt immers toch niet meer gebruikt.

# yum clean all --releasever=21
# dnf clean all --releasever=21

Als extraatje het nalopen van de configuratie files om openstaande wijzigingen te verwerken. Nieuwe pakketten plaatsen wel eens nieuwe configuratiebestanden naast actieve configuratiebestanden. De al aanwezige versie wordt met rust gelaten zodat mogelijke wijzigingen niet overschreven worden en het nieuwe bestand komt met de .rpmnew extensie naast het huidige bestand te staan. Met behulp van rpmconf kunnen de bestanden interactief worden nagelopen en mogelijke wijzigingen bekeken en verwerkt worden.

# dnf install rpmconf
# rpmconf -a

Volg de instructies op het scherm. Configuratie files welke je niet zelf hebt gewijzigd kun je doorgaans beantwoorden met ‘Y’. Het wordt interessanter wanneer je een configuratie file wel naar je wensen hebt aangepast, zoals bijvoorbeeld /etc/ssh/sshd_config. Bekijk dan met optie ‘D’ de verschillen tussen de versies. Je kunt dan kiezen voor optie ‘N’ om je eigen versie te behouden, of je kunt de file even overslaan met ‘S’ en handmatig de
verschillen verwerken met behulp van je favoriete editor.

Zodra je er zeker van bent dat alles correct werkt en je niet meer terug wilt/hoeft naar Fedora 21 kun je de gemaakte extra backups verwijderen. Mocht je btrfs snapshots hebben gemaakt, dan kun je op dat moment ook de oude
snapshots verwijderen.

Veel plezier met Fedora 22!

Onderwerpen
Actieve filters: Wis alle filters
Loading...