Wat is de beste manier om alle software in een Fedora installatie te updaten?

Vóór Fedora 17

Geen van de Red Hat distro’s vóór Fedora 17 had de mogelijkheid om dist-upgrades uit te voeren zoals je vroeg. Dit was een lang besproken optie op het verlanglijstje van veel mensen, maar was nooit geïmplementeerd.

Maar voordat we aan een verduidelijking beginnen…

Volgens het Upgrading onderwerp in de wiki, was er een methode waarbij je een DVD in je systeem kon stoppen voor de volgende versie van Fedora, en Anaconda zou dan proberen je systeem te upgraden. Na deze methode talloze malen geprobeerd te hebben, zou ik dit niet als gelijkwaardig beschouwen aan de dist-upgrade die beschikbaar is in de Debian/Ubuntu distro’s, die eigenlijk heel goed werkte.

Daarnaast heb ik RHEL, Fedora & CentOS systemen onderhouden gedurende de afgelopen tien jaar, en ik zou zelfs nooit overwegen om deze methode ergens voor te gebruiken. Het werkt gewoon niet.

Dus typisch zouden mensen een van de volgende dingen doen:

Rawhide

Gebruik de Rawhide release, dat is de bleeding edge versie, vergelijkbaar met hoe Sid is in Debian. Rawhide biedt rolling releases in de zin dat het altijd de laatste versies van pakketten heeft, maar het is in geen geval bedoeld om te worden gebruikt als een dagelijkse distro, het is echt alleen bedoeld voor testen.

Blijf bij een enkele release

Leef met dit feit en blijf up-to-date zolang de distro bestaat, door yum te gebruiken. U kunt yum gebruiken om zowel alle hangende updates toe te passen en/of een enkel pakket te updaten. Daarnaast kan yum ook gebruikt worden om nieuwe pakketten te installeren.

Alle uitstaande updates toepassen (veronderstelt ja op alle vragen):

sudo yum -y update

Een enkel pakket bijwerken:

sudo yum -y update apache\*

Een nieuw pakket installeren:

sudo yum -y install apache\*

Software Update Applet

Als u updates wilt uitvoeren met behulp van een GUI, kunt u de software updater tool gebruiken die in uw taakbalk verschijnt. Deze tool doet in wezen hetzelfde als de yum -y update hierboven, en kan op verzoek worden uitgevoerd met behulp van het volgende commando:

gpk-update-viewer

Re-install

Als er een nieuwe versie uitkomt, moet u handmatig een nieuwe installatie uitvoeren en ervoor zorgen dat u alle gegevens en configuraties naar het nieuwe systeem kopieert.

PreUpgrade

Maak gebruik van de PreUpgrade tool. Deze tool verzamelt in wezen alleen uw setups en de namen van de pakketten die u hebt geïnstalleerd en zou u helpen bij het toepassen ervan op een nieuwe installatie. Zie ook @JoelDavis’ antwoord voor deze techniek.

NOOT: Dit is niet langer een optie vanaf Fedora 18 dus je bent gewaarschuwd.

Fedora 17 en later

Beginnend met 17 kun je nu rolling releases doen.

FedUp

Nieuw in Fedora 17/18 is een gereedschap genaamd FedUp (FEDora UPgrader) die pretendeert “dist-upgrades” te doen vergelijkbaar met Debian/Ubuntu distro’s.

FedUp (FEDora UPgrader) is de naam van een nieuw systeem voor het upgraden van Fedora installaties in Fedora 18 en hoger releases. Het vervangt alle momenteel aanbevolen upgrade methodes (PreUpgrade en DVD) die in vorige Fedora releases zijn gebruikt. Anaconda, het Fedora installatieprogramma heeft geen ingebouwde upgrade functionaliteit in Fedora 18 of hogere versies. Het is volledig gedelegeerd aan Fedup.

Op dit moment is FedUp in staat Fedora 17 installaties te upgraden naar Fedora 18 door gebruik te maken van een netwerk repository, vergelijkbaar met hoe PreUpgrade werkte. Meer methoden voor opwaarderen zijn momenteel gepland en deze pagina zal worden bijgewerkt als deze functies zijn voltooid.

Rolling Releases vs. Versioned Releases

De OP stelde een vervolgvraag waarin hij wilde dat ik de volgende zin zou toelichten:

“Beginnend met 17 kun je nu rolling releases doen.”

Toen ik die opmerking maakte, bedoelde ik één ding en de zin “rolling releases” betekent eigenlijk iets anders. Toen ik dat schreef bedoelde ik met “rolling release” dat je nu van een punt release van Fedora (zeg 17) naar versie 18 kunt rollen. De meeste distro’s zoals Debian & Ubuntu bieden deze mogelijkheid nu.

Maar door het opzoeken van de beschrijving van wat “rolling releases” eigenlijk betekent op wikipedia, ben ik nu meer onderwezen over het onderwerp.

excerpt van wikipedia

…. een rolling release of rolling update ontwikkelingsmodel verwijst naar een zich voortdurend ontwikkelend softwaresysteem; dit is in plaats van een standaard release ontwikkelingsmodel dat gebruik maakt van softwareversies die opnieuw moeten worden geïnstalleerd over de vorige versie. Rolling software, in plaats daarvan, wordt voortdurend bijgewerkt, in tegenstelling tot standaard release software die wordt opgewaardeerd tussen versies. …

Dus vanuit een puristisch standpunt, zijn Debian, Ubuntu, Fedora, geen “rolling releases”. Ze zijn punt standaard vrijgegeven software die tools bieden om te helpen bij het upgraden van een punt release naar een andere.

De OP stelde ook de volgende vraag

Debian is alleen “soort van” rolling release als je Sid gebruikt. Rolling release = geen versies, pakketten worden gewoon zo snel mogelijk van de upstream in de distro gedumpt, toch? Dus Debian is het complete tegenovergestelde van een rolling release, Ubuntu ook. Fedora Rawhide is ook een soort van rolling release, maar dat wist ik al (en ik wil het niet gebruiken, als dat is waar je op doelde).

Om duidelijk te zijn voor eventuele toekomstige lezers. Zelfs de ontwikkelingstakken van Debian (aka. Sid) en Fedora (aka. Rawhide) zijn geen “rolling releases”. Natuurlijk kun je ze als zodanig gebruiken, maar ze zijn slechts een “ontwikkelingsgebied” waar nieuwe softwarepakketten die in een toekomstige release kunnen worden opgenomen, op een gecentraliseerde manier aan de gemeenschap kunnen worden gepresenteerd.

Het niveau van testen dat zou gaan in een pakket dat in een van deze takken wordt geplaatst, is minder streng dan wanneer een pakket verschijnt als een update in een echte “rolling release” distro zoals ArchLinux (zou mijn verwachting zijn).

Hier is de sectie van de wikipedia pagina die het gebruik van ontwikkelingstakken voor standaard release distro’s behandelt:

Het onderscheid tussen software-distributies met rollende release en ontwikkelingstakken van software-distributies met standaard release wordt vaak over het hoofd gezien door gebruikers die geen ervaring hebben met rollende distributies. Dit kan leiden tot verwarrende opmerkingen, zoals: “distro-X is een rollende distributie als je zijn ontwikkelingstak gebruikt” – waar distro-X een standaard release distributie is. Zelfs in het zeldzame geval dat de ontwikkelingstak een “rolling” tak is (in tegenstelling tot de meer gebruikelijke cyclische), maakt dit de distributie nog niet “rolling”. In tegenstelling tot standaard release distributies, hebben rolling release distributies geen ontwikkelingstakken.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.