4. Opwaarderen vanuit Debian 12 (bookworm)

4.1. Zich op de opwaardering voorbereiden

We raden aan dat u voor de opwaardering ook de informatie leest in Kwesties waarvan u zich bewust moet zijn bij trixie. In dat hoofdstuk worden mogelijke problemen behandeld die niet rechtstreeks in verband staan met het opwaarderingsproces zelf, maar waarvan het toch belangrijk is dat u erover geïnformeerd bent voor u met de opwaardering begint.

4.1.1. Maak een reservekopie van alle gegevens en configuratie-informatie

Het wordt sterk aanbevolen om een volledige back-up te maken voor u het systeem opwaardeert, of dat u minstens een reservekopie maakt van alle gegevens en alle configuratie-informatie die u zeker niet mag verliezen. Het opwaarderingsgereedschap en het opwaarderingsproces zijn behoorlijk betrouwbaar, maar een stoornis van de hardware middenin de opwaardering zou kunnen leiden tot een ernstig beschadigd systeem.

De belangrijkste zaken waarvan u een reservekopie zou moeten maken, zijn de inhoud van /etc, /var/lib/dpkg, /var/lib/apt/extended_states en de uitvoer van:

$ dpkg --get-selections '*' # (the quotes are important)

Als u aptitude gebruikt om de pakketten op uw systeem te beheren, neemt u best ook een reservekopie van /var/lib/aptitude/pkgstates.

Het opwaarderingsproces zelf verandert niets in de map /home. Maar het is bekend dat sommige toepassingen (bijv. onderdelen van de Mozilla-suite en de desktopomgevingen GNOME en KDE) bestaande gebruikersinstellingen overschrijven met nieuwe standaardwaarden wanneer de gebruiker voor het eerst een nieuwe versie van de toepassing start. Bij wijze van voorzorg kunt u een reservekopie maken van de verborgen bestanden en mappen ("dotfiles" of "puntbestanden") in de persoonlijke mappen van de gebruikers. Een dergelijke back-up kan helpen bij het herstellen of het opnieuw creëren van de vroegere instellingen. Wellicht wilt u uw gebruikers daarover ook inlichten.

Elke pakketinstallatiebewerking moet uitgevoerd worden met de voorrechten van de superuser, dus als systeembeheerder. Daarom moet u zich ofwel aanmelden als gebruiker root of het commando su of sudo gebruiken om de vereiste toegangsrechten te verwerven.

De opwaardering stelt een aantal voorwaarden, waaraan vooraf voldaan moet worden. Controleer ze vooraleer u de opwaardering daadwerkelijk uitvoert.

4.1.2. Informeer gebruikers vooraf

Het is verstandig om alle gebruikers vooraf te informeren over elke opwaardering die u van plan bent uit te voeren, hoewel gebruikers die via een ssh-verbinding op uw systeem werken, weinig zouden mogen merken van de opwaardering en gewoon zouden moeten kunnen voortwerken.

Wenst u extra voorzorgsmaatregelen te nemen, maak dan voor de opwaardering een reservekopie van de /home-partitie of koppel ze af.

U zult een opwaardering van de kernel moeten uitvoeren bij het opwaarderen naar trixie. Een herstart van het systeem zal dus nodig zijn. Gewoonlijk wordt dit gedaan na het afronden van de opwaardering.

4.1.3. Bereid u voor op het feit dat diensten een tijd onbeschikbaar zullen zijn

Mogelijk levert uw systeem diensten die gekoppeld zijn aan pakketten die bij de opwaardering betrokken zijn. Is dit het geval, houd er dan rekening mee dat deze diensten tijdens de opwaardering gestopt zullen worden terwijl de betreffende pakketten vervangen en geconfigureerd worden. Gedurende die tijd zullen die diensten niet beschikbaar zijn.

De exacte duur van onbeschikbaarheid van deze diensten kan variëren, afhankelijk van het aantal pakketten dat op het systeem opgewaardeerd wordt. Ook de tijd die de systeembeheerder nodig heeft voor het beantwoorden van eventuele configuratievragen die gepaard gaan met de opwaardering van de pakketten, speelt daarin mee. Noteer dat als het opwaarderingsproces zonder toezicht verloopt en het systeem om invoer vraagt tijdens de opwaardering, er een grote kans bestaat dat diensten gedurende een significante periode onbeschikbaar [1] zullen blijven.

If the system being upgraded provides critical services for your users or the network [2], you can reduce the downtime if you do a minimal system upgrade, as described in Minimal system upgrade, followed by a kernel upgrade and reboot, and then upgrade the packages associated with your critical services. Upgrade these packages prior to doing the full upgrade described in Upgrading the system. This way you can ensure that these critical services are running and available through the full upgrade process, and their downtime is reduced.

4.1.4. Tref voorbereidingen om een hersteloperatie te kunnen uitvoeren

Hoewel Debian er tracht voor te zorgen dat uw systeem op elk moment tot opstarten in staat blijft, blijft er altijd een kans bestaan dat u na de opwaardering problemen ervaart bij het herstarten van het systeem. Mogelijke problemen die bekend zijn, worden in dit en de volgende hoofdstukken van deze notities bij de release behandeld.

Om die reden heeft het zin dat u voorbereidingen treft om in staat te zijn aan de situatie te verhelpen, mocht blijken dat het heropstarten van het systeem mislukt, of het herstellen van de netwerkfunctionaliteit bij vanop afstand beheerde systemen niet succesvol is.

Indien u de opwaardering via een ssh-verbinding vanop afstand uitvoert, is het aangeraden om de nodige voorzorgen te treffen, zodat u in staat bent toegang te hebben tot de server via een externe seriële terminal. De mogelijkheid bestaat dat u na het opwaarderen van de kernel en het herstarten van het systeem, via een lokale console de systeemconfiguratie zult moeten repareren. Ook is het mogelijk dat wanneer het systeem middenin de opwaardering per ongeluk herstart wordt, u via een lokale console herstelwerkzaamheden zult moeten uitvoeren.

For emergency recovery we generally recommend using the rescue mode of the trixie Debian Installer. The advantage of using the installer is that you can choose between its many methods to find one that best suits your situation. For more information, please consult the section "Recovering a Broken System" in chapter 8 of the Installation Guide (at https://www.debian.org/releases/trixie/installmanual) and the Debian Installer FAQ.

Indien dat mislukt zult u een andere manier moeten vinden om uw systeem op te starten, zodat u er toegang toe krijgt en het kunt herstellen. Een mogelijkheid is een speciaal reparatie-image gebruiken of een live installatie-image. Nadat u daarmee het systeem opgestart heeft, zou u in staat moeten zijn het basisbestandssysteem ervan aan te koppelen en die omgeving terug binnen te gaan met het commando chroot om het probleem te onderzoeken en te repareren.

4.1.4.1. Een debug-shell tijdens het opstarten met initrd

Het pakket initramfs-tools voegt een debug-shell [3] toe aan het initrds dat het genereert. Indien bijvoorbeeld het initrd er niet in slaagt om uw basisbestandssysteem aan te koppelen, zult u terechtkomen in die debug-shell waarin basiscommando's ter beschikking staan die u kunnen helpen om het probleem op te sporen en te onderzoeken en het eventueel te repareren.

Basisgegevens die u moet controleren zijn: de aanwezigheid van correcte apparaatbestanden in /dev; welke modules geladen zijn (cat /proc/modules); de uitvoer van dmesg op foutmeldingen over het laden van stuurprogramma's. De uitvoer van dmesg zal ook laten zien welk apparaatbestand toegewezen werd aan welke schijf; u moet dit toetsen aan de uitvoer van echo $ROOT om er zeker van te zijn dat het basisbestandssysteem zich op het verwachte apparaat bevindt.

Indien u er in slaagt het probleem te verhelpen, kunt u de debug-shell verlaten door exit te typen en vervolgens zal het opstartproces verdergaan op het punt waarop het mislukte. Natuurlijk zult u ook het onderliggende probleem moeten repareren en het initrd opnieuw moeten genereren, zodat de volgende herstart niet opnieuw mislukt.

4.1.4.2. Een debug-shell tijdens het opstarten met systemd

Indien onder systemd het opstarten mislukt, kunt u een debug-shell voor root krijgen door de commandoregel voor de kernel aan te passen. Indien basaal opstarten wel lukt, maar sommige diensten niet willen starten, kan het nuttig zijn om systemd.unit=rescue.target toe te voegen aan de parameters voor de kernel.

Anders zal de kernelparameter systemd.unit=emergency.target u zo vroeg mogelijk een root-shell leveren. Dit gebeurt echter voordat het basisbestandssysteem aangekoppeld wordt met lees- en schrijfrechten. U zult dit handmatig moeten doen met:

# mount -o remount,rw /

Een andere aanpak is de "vroegtijdige debug-shell" van systemd inschakelen via de debug-shell.service. Wanneer dan de volgende keer opgestart wordt, wordt heel vroeg in het opstartproces een login-shell voor root geopend op tty9. Dit kan ingeschakeld worden met de kernel-opstartparameter systemd.debug-shell=1, of blijvend gemaakt worden met systemctl enable debug-shell (in dat geval moet het weer worden uitgeschakeld wanneer de foutopsporing is voltooid).

Meer informatie over het onderzoeken en repareren van een defect opstartproces onder systemd is te vinden in het artikel van Freedesktop.org over Diagnosing Boot Problems.

4.1.5. Maak een veilige omgeving klaar voor de opwaardering

Belangrijk

If you are using some VPN services (such as tinc) consider that they might not be available throughout the upgrade process. Please see Prepare for downtime on services.

Om bij het vanop afstand opwaarderen een extra veiligheidsmarge in te bouwen, suggereren we dat u de opwaarderingsprocessen uitvoert in de virtuele console die door het programma screen geleverd wordt. Dit laat toe om op een veilige manier opnieuw verbinding te maken en garandeert dat het opwaarderingsproces niet onderbroken wordt, zelfs als de externe verbinding tijdelijk faalt.

Gebruikers van de achtergronddienst watchdog uit het pakket micro-evtd moeten voor de opwaardering de achtergronddienst stoppen en de timer van watchdog uitschakelen om een ongepaste herstart middenin de opwaardering te vermijden:

# service micro-evtd stop
# /usr/sbin/microapl -a system_set_watchdog off

4.2. Beginnen vanuit "zuiver" Debian

Het opwaarderingsproces dat in dit hoofdstuk beschreven wordt, is uitgetekend voor systemen met een "zuivere" versie van Debian stable. APT stuurt wat er op uw systeem wordt geïnstalleerd. Indien uw configuratie van APT naast bookworm nog andere pakketbronnen bevat, of indien u pakketten geïnstalleerd heeft van andere releases of van derden, dan zou u kunnen beginnen met het verwijderen van die complicerende factoren om er zeker van te zijn dat het opwaarderingsproces op een betrouwbare wijze verloopt.

Het primaire configuratiebestand dat gebruikt wordt door APT om uit te maken vanaf welke pakketbronnen pakketten gedownload moeten worden, is /etc/apt/sources.list, maar het kan ook gebruik maken van bestanden uit de map /etc/apt/sources.list.d/. Zie sources.list(5) voor details. Indien uw systeem gebruik maakt van meerdere pakketbronbestanden, moet u ervoor zorgen dat deze consistent blijven.

4.2.1. Opwaarderen naar Debian 12 (bookworm)

Enkel opwaarderingen vanaf Debian 12 (bookworm) worden ondersteund. U kunt uw Debian-versie weergeven met:

$ cat /etc/debian_version

Please follow the instructions in the Release Notes for Debian 12 at https://www.debian.org/releases/bookworm/releasenotes to upgrade to Debian 12 first if needed.

4.2.2. Naar de laatste tussenrelease opwaarderen

Deze werkwijze veronderstelt dat uw systeem reeds opgewaardeerd is naar de recentste onderversie of tussenrelease (point release) van bookworm. Is dat nog niet gebeurd of weet u het niet, volg dan de instructies uit Uw bookworm-systeem opwaarderen.

4.2.3. Debian Backports

Debian Backports stelt gebruikers van de stabiele uitgave van Debian in staat om actuelere versies van pakketten te gebruiken (met enkele nadelen op het gebied van testen en beveiligingsondersteuning). Het Debian Backports Team onderhoudt een deelverzameling pakketten van de eerstvolgende uitgave van Debian, aangepast en opnieuw gecompileerd om gebruikt te kunnen worden met de huidige stabiele uitgave van Debian.

Pakketten van bookworm-backports hebben lagere versienummers dan de versie in trixie, zodat ze tijdens de opwaardering van de distributie gewoon opgewaardeerd kunnen worden naar trixie, op dezelfde wijze als "zuivere" bookworm pakketten. Hoewel er geen potentiële problemen bekend zijn, worden opwaarderingstrajecten vanaf backports minder getest en lopen deze dienovereenkomstig een groter risico.

Pas op

Terwijl gewone Debian Backports ondersteund worden, bestaat er geen schoon opwaarderingstraject voor sloppy backports (waarvoor in sources-list van APT vermeldingen gebruikt worden die verwijzen naar bookworm-backports-sloppy).

As with Unofficial sources, users are advised to remove "bookworm-backports" entries from their APT source-list files before the upgrade. After it is completed, they may consider adding "trixie-backports" (see https://backports.debian.org/Instructions/).

Raadpleeg voor bijkomende informatie de Backports Wiki-pagina.

4.2.4. De pakketdatabank voorbereiden

You should make sure the package database is ready before proceeding with the upgrade. If you are a user of another package manager like aptitude or synaptic, review any pending actions. A package scheduled for installation or removal might interfere with the upgrade procedure. Note that correcting this is only possible if your APT source-list files still point to "bookworm" and not to "stable" or "trixie"; see Het controleren van uw bronnenlijstbestanden voor APT.

4.2.5. Verouderde pakketten verwijderen

Het is een goede praktijk om voor de opwaardering verouderde pakketten te verwijderen van uw systeem. Ze kunnen complicaties veroorzaken tijdens het opwaarderingsproces en ze kunnen veiligheidsrisico's inhouden omdat ze niet langer onderhouden worden.

4.2.6. Niet-Debianpakketten verwijderen

Hieronder worden twee methodes aangereikt om geïnstalleerde pakketten te vinden die niet van Debian afkomstig zijn. De ene met apt en de andere met apt-forktracer. Houd er rekening mee dat geen van beide 100% accuraat werkt (het voorbeeld met apt levert bijvoorbeeld ook pakketten op die ooit door Debian geleverd werden maar nu niet meer, zoals oude kernelpakketten).

$ apt list '?narrow(?installed, ?not(?origin(Debian)))'
$ apt-forktracer | sort

4.2.7. Overgebleven configuratiebestanden opruimen

Een eerdere upgrade heeft mogelijk ongebruikte kopieën van configuratiebestanden achtergelaten; oude versies van configuratiebestanden, versies geleverd door de pakketbeheerders, enz. Het verwijderen van overgebleven bestanden van eerdere upgrades kan verwarring voorkomen. Zoek dergelijke overgebleven bestanden met:

# find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'

4.2.8. De componenten non-free en non-free-firmware

Als u niet-vrije firmware hebt geïnstalleerd, wordt aanbevolen non-free-firmware toe te voegen aan uw APT-bronnenlijst. Voor details zie Archiefgebieden en Niet-vrije firmware verplaatst naar zijn eigen component in het archief.

4.2.9. De archiefafdeling proposed-updates

Indien u in uw pakketbronbestanden voor APT de archiefafdeling proposed-updates opgenomen heeft, moet u die vermelding verwijderen vooraleer u uw systeem probeert op te waarderen. Dit is een voorzorgsmaatregel om de kans op conflicten te verkleinen.

4.2.10. Niet-officiële pakketbronnen

Als u op uw systeem pakketten heeft die niet van Debian afkomstig zijn, moet u weten dat deze tijdens de opwaardering eventueel verwijderd kunnen worden wegens tegenstrijdige vereisten. Indien deze pakketten geïnstalleerd werden via het toevoegen van een extra pakketarchief in uw pakketbronbestanden voor APT, ga dan na of dat archief ook pakketten aanbiedt die gecompileerd werden voor trixie en pas die pakketbronregel dienovereenkomstig aan op hetzelfde moment waarop u de pakketbronregels voor de pakketten van Debian aanpast.

Some users may have unofficial backported "newer" versions of packages that are in Debian installed on their bookworm system. Such packages are most likely to cause problems during an upgrade as they may result in file conflicts [4]. Possible issues during upgrade has some information on how to deal with file conflicts if they should occur.

4.2.11. APT-verankering (pinning) uitschakelen

Indien u APT geconfigureerd heeft om bepaalde pakketten te installeren uit een andere distributie dan uit stable (bijvoorbeeld uit testing), zult u de configuratie voor APT pinning (opgeslagen in /etc/apt/preferences en /etc/apt/preferences.d/) moeten wijzigen om de opwaardering van pakketten naar versies uit de nieuwe stabiele release mogelijk te maken. Bijkomende informatie over APT-verankering (pinning) is te vinden in de man-pagina apt_preferences(5).

4.2.12. Controleren of gpgv is geïnstalleerd

APT heeft versie 2 of hoger nodig van gpgv om de sleutels te verifiëren die gebruikt worden om releases van trixie te ondertekenen. Aangezien gpgv1 technisch gezien voldoet aan deze vereiste, maar alleen nuttig is in specifieke omstandigheden, kunnen gebruikers ervoor zorgen dat de juiste versie wordt geïnstalleerd met:

# apt install gpgv

4.2.13. De toestand van pakketten controleren

Ongeacht de gebruikte methode van opwaarderen is het aanbevolen om eerst de toestand van alle pakketten te controleren en na te gaan of alle pakketten zich in een opwaardeerbare toestand bevinden. Het volgende commando toont pakketten die een status hebben van Half-Installed (gedeeltelijk geïnstalleerd) of Failed-Config (mislukte configuratie) en de pakketten met een foutstatus.

$ dpkg --audit

U kunt de toestand van alle pakketten op uw systeem ook controleren met aptitude of met commando's zoals

$ dpkg -l | pager

of

# dpkg --get-selections '*' > ~/curr-pkgs.txt

Als alternatief kunt u ook apt gebruiken.

# apt list --installed > ~/curr-pkgs.txt

Het is wenselijk om eventuele 'hold'-markeringen (pakketten die gemarkeerd staan als te handhaven in de huidige versie) voor de opwaardering te verwijderen. Indien een pakket dat essentieel is voor de opwaardering als te handhaven gemarkeerd staat, zal de opwaardering mislukken.

$ apt-mark showhold

Indien u lokaal een pakket aanpaste en opnieuw compileerde, maar het geen andere naam gaf of geen epoch in het versienummer opnam, dan moet u het markeren als te handhaven (on hold) om te voorkomen dat het opgewaardeerd wordt.

U kunt voor apt de "hold"-status (te handhaven) van een pakket wijzigen met:

# apt-mark hold package_name

Replace hold with unhold to unset the "hold" state.

Als er nog iets is dat u moet repareren, is het best om ervoor te zorgen dat uw pakketbronbestanden voor APT nog blijven verwijzen naar bookworm, zoals uitgelegd werd in Het controleren van uw bronnenlijstbestanden voor APT.

4.3. Pakketbronbestanden voor APT klaarmaken

Voor u met opwaarderen begint moet u de pakketbronbestanden voor APT (/etc/apt/sources.list en bestanden onder /etc/apt/sources.list.d/) opnieuw configureren om bronnen toe te voegen voor trixie en normaal ook om bronnen voor bookworm te verwijderen.

APT will consider all packages that can be found via any configured archive, and install the package with the highest version number, giving priority to the first entry in the files. Thus, if you have multiple mirror locations, list first the ones on local hard disks, then CD-ROMs, and then remote mirrors.

A release can often be referred to both by its codename (e.g. "bookworm", "trixie") and by its status name (i.e. "oldstable", "stable", "testing", "unstable"). Referring to a release by its codename has the advantage that you will never be surprised by a new release and for this reason is the approach taken here. It does of course mean that you will have to watch out for release announcements yourself. If you use the status name instead, you will just see loads of updates for packages available as soon as a release has happened.

Debian gebruikt twee mailinglijsten voor het doen van aankondigingen, zodat u op de hoogte kunt blijven van relevante informatie over de releases van Debian:

4.3.1. Op het internet aanwezige pakketbronnen voor APT toevoegen

Op nieuwe installatie is de standaardinstelling dat APT gebruik maakt van de CDN-dienst van Debian, hetgeen er moet voor zorgen dat pakketten automatisch gedownload worden van een spiegelserver die zich in netwerktermen dicht in de buurt bevindt. Vermits het een relatief recente dienst betreft, is het mogelijk dat in de configuratie van oudere installaties nog steeds verwezen wordt naar een van de centrale internetservers van Debian of naar een van de spiegelservers. Indien u dit nog niet gedaan heeft, wordt u aangeraden om over te schakelen op het gebruik van de CDN-dienst in uw configuratie van APT.

Om gebruik te maken van de CDN-dienst, moet u een regel zoals deze toevoegen aan uw pakketbronconfiguratie van APT (in de veronderstelling dat u gebruik maakt van main en contrib):

deb https://deb.debian.org/debian trixie main contrib

Nadat u de nieuwe pakketbronnen toegevoegd heeft, moet u de eerdere "deb"-regels deactiveren door er een hash-teken (#) voor te plaatsen.

Indien u echter betere resultaten bekomt door een specifieke spiegelserver te gebruiken die in netwerktermen dicht bij u in de buurt is, heeft u nog steeds die mogelijkheid.

De adressen van Debian spiegelservers zijn te vinden op https://www.debian.org/distrib/ftplist (kijk bij de paragraaf met als titel "Lijst van Debian spiegelservers").

Bijvoorbeeld, veronderstel dat de dichtstbijzijnde Debian spiegelserver http://mirrors.kernel.org is. Als u op deze spiegelserver met een webbrowser gaat kijken, dan zult u merken dat de hoofdmappen op de volgende manier georganiseerd zijn:

http://mirrors.kernel.org/debian/dists/trixie/main/...
http://mirrors.kernel.org/debian/dists/trixie/contrib/...

Om APT in te stellen op het gebruik van een specifieke spiegelserver, moet u een regel als deze toevoegen (opnieuw in de veronderstelling dat u gebruik maakt van main en contrib):

deb http://mirrors.kernel.org/debian trixie main contrib

Merk op dat "dists" impliciet toegevoegd wordt en dat de argumenten na de naam van de release gebruikt worden om het pad uit te breiden tot meerdere mappen.

Opnieuw moet u na het toevoegen van de nieuwe pakketbronnen de voorheen bestaande archiefregels uitschakelen.

4.3.2. APT-pakketbronnen van een lokale spiegelserver toevoegen

In plaats van externe pakketspiegelservers te gebruiken, kunt u de pakketbronbestanden voor APT ook instellen om gebruik te maken van een spiegelserver op een lokale harde schijf (mogelijk aangekoppeld over NFS).

Bijvoorbeeld, uw pakketspiegelserver bevindt zich onder /var/local/debian/ en heeft de volgende hoofdmappen:

/var/local/debian/dists/trixie/main/...
/var/local/debian/dists/trixie/contrib/...

Om met apt van deze spiegelserver gebruik te maken, voegt u deze regel toe aan het bestand sources.list:

deb file:/var/local/debian trixie main contrib

Merk op dat "dists" impliciet toegevoegd wordt en dat de argumenten na de naam van de release gebruikt worden om het pad uit te breiden tot meerdere mappen.

Nadat u de nieuwe pakketbronnen toegevoegd heeft, moet u de eerder bestaande archiefitems in de pakketbronbestanden voor APT deactiveren door er een hash-teken (#) voor te plaatsen.

4.3.3. APT-pakketbronnen van optische media toevoegen

Indien u enkel dvd's (of cd's of blu-raydiscs) wenst te gebruiken, moet u de bestaande items in alle pakketbronbestanden voor APT deactiveren door er een hash-teken (#) voor te plaatsen.

Controleer of /etc/fstab een regel bevat die het mogelijk maakt om uw cd-station aan te koppelen aan het aankoppelpunt /media/cdrom. Indien bijvoorbeeld /dev/sr0 uw cd-station is, moet /etc/fstab een regel bevatten zoals deze:

/dev/sr0 /media/cdrom auto noauto,ro 0 0

Merk op dat er geen spaties mogen staan tussen de woorden noauto,ro in het vierde veld.

Om na te gaan of het werkt, kunt u een cd in het station plaatsen en de volgende commando's uitvoeren:

# mount /media/cdrom    # this will mount the CD to the mount point
# ls -alF /media/cdrom  # this should show the CD's root directory
# umount /media/cdrom   # this will unmount the CD

Voer vervolgens het volgende commando uit:

# apt-cdrom add

voor elke cd met Debian-pakketten waarover u beschikt, om zo de gegevens over elke cd toe te voegen aan de databank van APT.

4.4. Pakketten opwaarderen

De aanbevolen wijze om op te waarderen vanaf eerdere releases van Debian, is het pakketbeheergereedschap apt gebruiken.

Notitie

apt is bedoeld voor interactief gebruik en zou niet mogen gebruikt worden in scripts. In scripts moet men apt-get gebruiken, dat een stabiele uitvoer heeft welke beter geschikt is voor verwerking.

Vergeet niet alle partities die nodig zijn (in het bijzonder de root-partitie en de /usr-partitie), aan te koppelen voor lezen en schrijven met een commando zoals:

# mount -o remount,rw /mountpoint

Nadien moet u zeker nog eens controleren of de vermeldingen van de pakketbronnen voor APT (in /etc/apt/sources.list en in de bestanden in /etc/apt/sources.list.d/) ofwel verwijzen naar "trixie" of naar "stable". Er zouden geen pakketbronvermeldingen mogen verwijzen naar bookworm.

Notitie

Regels waarin een cd als pakketbron functioneert, verwijzen soms naar "unstable". Hoewel dit voor verwarring zorgt, mag u deze regel niet aanpassen.

4.4.1. De sessie opnemen

Het wordt sterk aanbevolen dat u het programma /usr/bin/script gebruikt om een transcriptie te maken van de opwaarderingssessie. Als er zich dan een probleem voordoet, zult u een logboekbestand hebben met een beschrijving van wat er gebeurde en kunt u zo nodig exacte informatie geven in een bugrapport. Om het opnemen te starten, typt u:

# script -t 2>~/upgrade-trixie-step.time -a ~/upgrade-trixie-step.script

of iets dergelijks. Indien u het script opnieuw moet starten (bijv. als u het systeem moet herstarten), gebruik dan andere waarden voor step om een aanduiding te hebben over voor welke stap in het opwaarderingsproces u een logboekbestand aanmaakt. Laat het script zijn logboekbestand niet in een tijdelijke map, zoals /tmp of /var/tmp plaatsen (bestanden in deze mappen kunnen verwijderd worden tijdens de opwaardering of bij een herstart van de computer).

The typescript will also allow you to review information that has scrolled off-screen. If you are at the system's console, just switch to VT2 (using Alt+F2) and, after logging in, use

# less -R ~root/upgrade-trixie.script

to view the file.

Nadat u de opwaardering afgerond heeft, kunt u het programma script stoppen door aan de prompt exit te typen.

apt zal ook een logboek bijhouden van de gewijzigde toestand van pakketten in /var/log/apt/history.log en van de uitvoer naar de terminal in /var/log/apt/term.log. dpkg zal daarenboven een logboek van alle wijzigingen aan de toestand van pakketten bijhouden in /var/log/dpkg.log. Indien u aptitude gebruikt, zal ook dit programma een logboek van de wijzigingen bijhouden in /var/log/aptitude.

Indien u het programma script met de schakeloptie -t gebruikte, kunt u het programma scriptreplay gebruiken om de hele sessie opnieuw af te spelen:

# scriptreplay ~/upgrade-trixie-step.time ~/upgrade-trixie-step.script

4.4.2. De pakketlijst bijwerken

Eerst moet de lijst met beschikbare pakketten uit de nieuwe uitgave opgehaald worden. Dit gebeurt met het volgende commando:

# apt update

Notitie

Gebruikers van apt-secure kunnen problemen ondervinden wanneer ze aptitude of apt-get gebruiken. Voor apt-get kunt u apt-get update --allow-releaseinfo-change gebruiken.

4.4.3. Zorg voor voldoende vrije schijfruimte voor de opwaardering

You have to make sure before upgrading your system that you will have sufficient hard disk space when you start the full system upgrade described in Upgrading the system. First, any package needed for installation that is fetched from the network is stored in /var/cache/apt/archives (and the partial/ subdirectory, during download), so you must make sure you have enough space on the file system partition that holds /var/ to temporarily download the packages that will be installed in your system. After the download, you will probably need more space in other file system partitions in order to both install upgraded packages (which might contain bigger binaries or more data) and new packages that will be pulled in for the upgrade. If your system does not have sufficient space you might end up with an incomplete upgrade that is difficult to recover from.

apt kan u gedetailleerde informatie geven over de schijfruimte die voor de installatie vereist is. Voor u met de opwaardering start, kunt u daarvan een schatting krijgen met het commando:

# apt -o APT::Get::Trivial-Only=true full-upgrade
[ ... ]
XXX upgraded, XXX newly installed, XXX to remove and XXX not upgraded.
Need to get xx.xMB of archives.
After this operation, AAAMB of additional disk space will be used.

Notitie

Running this command at the beginning of the upgrade process may give an error, for the reasons described in the next sections. In that case you will need to wait until you've done the minimal system upgrade as in Minimal system upgrade before running this command to estimate the disk space.

Indien u onvoldoende vrije ruimte voor de opwaardering heeft, zal apt u met een melding zoals deze waarschuwen:

E: You don't have enough free space in /var/cache/apt/archives/.

Als die situatie zich voordoet, moet u vooraf voldoende vrije ruimte maken. U kunt:

  • Pakketten verwijderen die vroeger werden gedownload om geïnstalleerd te worden (in /var/cache/apt/archives). Als u de pakketcache opruimt met het commando apt clean, zullen alle eerder gedownloade pakketbestanden verwijderd worden.

  • Vergeten pakketten verwijderen. Indien u aptitude of apt gebruikte om in bookworm handmatig pakketten te installeren, zullen die gereedschappen bijgehouden hebben dat u die pakketten handmatig installeerde. Deze programma's voor pakketbeheer zijn in staat om pakketten, die enkel geïnstalleerd werden omdat ze door andere pakketten vereist werden, als overbodig te markeren, wanneer de pakketten die aan hen behoefte hadden, zelf verwijderd werden. Maar pakketten die u handmatig installeerde, zullen zij nooit als te verwijderen markeren. Om automatisch geïnstalleerde pakketten die niet langer gebruikt worden te verwijderen, geeft u het commando:

    # apt autoremove
    

    U kunt ook deborphan, debfoster of cruft gebruiken om overbodige pakketten op te sporen. Verwijder niet blindweg alle pakketten die door deze programma's voorgesteld worden, zeker als u ze gebruikt met opties die niet standaard zijn en agressief zijn en die de kans op valse positieven vergroten. Het wordt sterk aangeraden om handmatig de pakketten te onderzoeken (d.w.z. hun inhoud, grootte en beschrijving) waarvan deze programma's de verwijdering voorstellen, vooraleer ze daadwerkelijk te verwijderen.

  • Verwijder pakketten die teveel ruimte in beslag nemen en die momenteel niet nodig zijn (u kunt ze altijd opnieuw installeren na de opwaardering). Indien u popularity-contest installeerde, kunt u het commando popcon-largest-unused gebruiken voor een lijst van niet gebruikte pakketten die de meeste ruimte in beslag nemen. Om gewoon te weten welke pakketten de meeste schijfruimte in beslag nemen, kunt u het commando dpigs (uit het pakket debian-goodies) gebruiken of wajig (met het commando wajig size). Ook met aptitude kunt u ze vinden. Start aptitude in volledige-terminalmodus, selecteer Weergaven > Nieuwe Vlakke Pakketlijst, druk op l en voer ~i in, druk daarna op S en voer ~installsize in. Dit zal u een lijst geven waarmee u op een handige manier kunt werken.

  • Verwijder vertalingen en taaldefinitiebestanden van het systeem als ze niet nodig zijn. U kunt het pakket localepurge installeren en het zo configureren dat enkel een paar geselecteerde taaldefinities behouden worden op het systeem. Hierdoor zult u de schijfruimte die door /usr/share/locale gebruikt wordt, beperken.

  • Verplaats de systeemlogboekbestanden onder /var/log/ tijdelijk naar een ander systeem of verwijder ze definitief.

  • Gebruik een tijdelijke /var/cache/apt/archives: u kunt een tijdelijke cachemap gebruiken op een ander bestandssysteem (USB-opslagapparaat, een tijdelijke harde schijf, een bestandssysteem dat al in gebruik is, ...)

    Notitie

    Gebruik geen bestandssysteem dat via NFS aangekoppeld is, aangezien de netwerkverbinding tijdens de opwaardering onderbroken kan worden.

    Indien u bijvoorbeeld een USB-schijf aangekoppeld heeft op /media/usbkey:

    1. verwijder de pakketten die eerder gedownload werden met het oog op installatie:

      # apt clean
      
    2. kopieer de map /var/cache/apt/archives naar de USB-schijf:

      # cp -ax /var/cache/apt/archives /media/usbkey/
      
    3. koppel de tijdelijke cachemap aan op de huidige:

      # mount --bind /media/usbkey/archives /var/cache/apt/archives
      
    4. herstel na de opwaardering de originele /var/cache/apt/archives-map:

      # umount /var/cache/apt/archives
      
    5. verwijder de achtergebleven /media/usbkey/archives.

    U kunt de tijdelijke cachemap aanmaken op om het even welk bestandssysteem dat aan uw systeem aangekoppeld is.

  • Do a minimal upgrade of the system (see Minimal system upgrade) or partial upgrades of the system followed by a full upgrade. This will make it possible to upgrade the system partially, and allow you to clean the package cache before the full upgrade.

Merk op dat om het verwijderen van pakketten veilig te laten verlopen, het aangeraden is om uw pakketbronbestanden voor APT terug in te stellen op bookworm, zoals beschreven wordt in Het controleren van uw bronnenlijstbestanden voor APT.

4.4.4. Monitoringsystemen stoppen

Aangezien apt mogelijk diensten die op uw computer actief zijn, tijdelijk moet stoppen, is het waarschijnlijk een goed idee om monitordiensten die andere beëindigde diensten tijdens de upgrade kunnen herstarten, te stoppen. In Debian is monit een voorbeeld van zo'n dienst.

4.4.5. Een minimale opwaardering van het systeem

In some cases, doing the full upgrade (as described below) directly might remove large numbers of packages that you will want to keep. We therefore recommend a two-part upgrade process: first a minimal upgrade to overcome these conflicts, then a full upgrade as described in Upgrading the system.

Om dit te bereiken geeft u eerst het commando:

# apt upgrade --without-new-pkgs

Dit heeft de opwaardering tot gevolg van die pakketten die opgewaardeerd kunnen worden zonder dat andere pakketten verwijderd of geïnstalleerd moeten worden.

Een minimale opwaardering van het systeem kan ook nuttig zijn als het systeem slechts over beperkte opslagruimte beschikt en een volledige opwaardering omwille van opslagruimtebeperkingen niet toegepast kan worden.

Indien het pakket apt-listchanges geïnstalleerd is, zal het (bij zijn standaardconfiguratie) paginagewijs belangrijke informatie over opgewaardeerde pakketten laten zien na het downloaden van de pakketten. Druk na het lezen van de informatie op q om de paginagewijze weergave te verlaten en voort te gaan met de opwaardering.

4.4.6. Het systeem opwaarderen

Nadat u de voorgaande stappen gezet heeft, bent u nu klaar om voort te gaan met het belangrijkste onderdeel van de opwaardering. Voer het volgende commando uit:

# apt full-upgrade

Dit zal een volledige opwaardering van het systeem uitvoeren, de meest recente beschikbare versies van alle pakketten installeren, een oplossing bieden voor alle mogelijke gewijzigde vereisten (meestal nieuwe bibliotheekversies of hernoemde pakketten), welke pakketten hebben vergeleken bij de vorige uitgave, en alle in de weg zittende verouderde pakketten verwijderen.

Indien u de opwaardering uitvoert met een set cd's/dvd's/BD's, zult u wellicht op verschillende momenten tijdens de opwaardering gevraagd worden een specifieke schijf in het station te plaatsen. Het is mogelijk dat u verschillende malen dezelfde schijf in het station moet plaatsen. Dit heeft te maken met pakketten die met elkaar verband houden en verspreid over de verschillende schijven opgeslagen werden.

Momenteel geïnstalleerde pakketten die niet opgewaardeerd kunnen worden naar een recentere versie zonder de installatiestatus van een ander geïnstalleerd pakket te wijzigen, zullen op hun huidige versie behouden blijven (dit wordt als "gehandhaafd" weergegeven). Dit kan opgelost worden door ofwel aptitude te gebruiken om deze pakketten te selecteren als te installeren pakketten of door het commando apt install pakket te gebruiken.

4.5. Mogelijke problemen tijdens de opwaardering

In de volgende paragrafen worden bekende problemen beschreven die zich eventueel kunnen manifesteren bij een opwaardering naar trixie.

4.5.1. De opdracht full-upgrade mislukt met de foutmelding "Kon de onmiddellijke configuratie niet uitvoeren"

In sommige gevallen kan de stap apt full-upgrade na het downloaden van de pakketten mislukken met:

E: Could not perform immediate configuration on 'package'.  Please see man 5 apt.conf under APT::Immediate-Configure for details.

Als dit zich voordoet, zou het mogelijk moeten zijn om de opwaardering voort te zetten door apt full-upgrade -o APT::Immediate-Configure=0 als commando te gebruiken.

Een andere mogelijke oplossing voor dit probleem is om tijdelijk zowel de pakketbronnen voor bookworm als voor trixie op te nemen in uw pakketbronbestanden voor APT en het commando apt update te geven.

4.5.2. Te verwachten verwijderingen

Het proces van opwaarderen naar trixie kan om het verwijderen van pakketten vragen. De exacte lijst van pakketten kan verschillen, afhankelijk van welke pakketten op uw systeem geïnstalleerd zijn. In deze notities bij de release worden algemene adviezen in verband met deze verwijderingen gegeven, maar bij twijfel is het aangeraden om bij elke gebruikte opwaarderingsmethode de voorgestelde pakketverwijderingen te onderzoeken vooraleer verder te gaan. Meer informatie over in trixie verouderde pakketten vindt u in Obsolete packages.

4.5.3. Vicieuze cirkels van conflicten of voorvereisten

Soms is het noodzakelijk om in APT de optie APT::Force-LoopBreak te activeren om in staat te zijn om tijdelijk een essentieel pakket te verwijderen omwille van een vicieuze cirkel van het type 'Conflicts/Pre-Depends' ('Is tegenstrijdig met/Heeft als voorvereiste'). apt zal u over een dergelijk probleem waarschuwen en de opwaardering afbreken. U kunt dit probleem omzeilen door aan de commandoregel van apt de optie -o APT::Force-LoopBreak=1 op te geven.

Het is mogelijk dat de vereistenstructuur van een systeem dermate defect is dat een manuele interventie noodzakelijk is. Gewoonlijk betekent dit dat apt gebruikt zal moeten worden of

# dpkg --remove package_name

om sommige van de voor problemen zorgende pakketten uit de weg ruimen, of

# apt -f install
# dpkg --configure --pending

In extreme gevallen kan het gebeuren dat u herinstallatie moet forceren met een commando zoals

# dpkg --install /path/to/package_name.deb

4.5.4. Bestandsconflicten

Bestandsconflicten zouden zich niet mogen voordoen als u een "zuiver" bookworm-systeem opwaardeert, maar ze kunnen wel optreden als u niet-officiële backports (een na een release verschenen recentere pakketversie die voor die release geschikt gemaakt werd) geïnstalleerd heeft. Bij een bestandsconflict krijgt u een foutmelding zoals:

Unpacking <package-foo> (from <package-foo-file>) ...
dpkg: error processing <package-foo> (--install):
trying to overwrite `<some-file-name>',
which is also in package <package-bar>
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
<package-foo>

U kunt een bestandsconflict proberen op te lossen door het pakket dat op de laatste regel van de foutmelding vermeld wordt, geforceerd te verwijderen:

# dpkg -r --force-depends package_name

Nadat u dit gerepareerd heeft, zou u in staat moeten zijn om de opwaardering te hervatten door de eerder beschreven apt-commando's nogmaals uit te voeren.

4.5.5. Configuratiewijzigingen

Tijdens de opwaardering zult u vragen krijgen in verband met de configuratie of de herconfiguratie van verschillende pakketten. Wanneer u gevraagd wordt of een bestand in de map /etc/init.d of het bestand /etc/manpath.config moet vervangen worden door de versie van de pakketonderhouder, is het meestal nodig om te antwoorden met "yes" om de consistentie van het systeem te verzekeren. U kunt steeds terugkeren naar de oudere versie, vermits die bewaard zal worden met de extensie .dpkg-old.

Indien u twijfelt wat u moet doen, kunt u de naam van het pakket of het bestand noteren en de zaak uitzoeken op een later moment. U kunt in het transcriptiebestand de informatie die tijdens de opwaardering op het scherm verscheen, nog eens nalezen.

4.5.6. Verspringen van de sessie naar een console

Indien u de lokale console van het systeem gebruikt om de opwaardering uit te voeren, kunt u ondervinden dat u op sommige momenten tijdens de opwaardering plots een ander scherm te zien krijgt en het zicht op het verloop van het opwaarderingsproces verloren bent. Dit kan bijvoorbeeld gebeuren op systemen met een grafische interface wanneer de beeldschermbeheerder opnieuw opgestart wordt.

Om de console te herstellen waarop de opwaardering liep, zult u de toetsencombinatie Ctrl+Alt+F1 (als u zich in het grafische opstartscherm bevindt) of Alt+F1 (als u zich in de lokale tekstmodus-console bevindt) moeten gebruiken om terug te keren naar de virtuele terminal 1. Vervang F1 door de functietoets die hetzelfde cijfer heeft als het cijfer van de virtuele terminal waarin de opwaardering uitgevoerd werd. U kunt ook Alt+Pijl-Links of Alt+Pijl-Rechts gebruiken om te wisselen tussen de verschillende tekstmodus-terminals.

4.7. Voorbereid zijn op de volgende release

Na de opwaardering kunt u verschillende zaken doen om voorbereid te zijn op de volgende release.

4.7.1. Verwijderde pakketten wissen

Over het algemeen is het aanbevolen om verwijderde pakketten te wissen (met het commando purge van APT). Dit is in het bijzonder het geval als ze bij een eerdere release-upgrade verwijderd werden (bijvoorbeeld bij de opwaardering naar bookworm) of als ze door een derde geleverd waren. In het bijzonder van init.d-scripts is bekend dat deze voor problemen kunnen zorgen.

Pas op

Door een pakket te wissen worden over het algemeen ook de logboekbestanden ervan gewist. Misschien wilt u er eerst een reservekopie van maken.

Het volgende commando toont een lijst van alle verwijderde pakketten waarvan er mogelijk configuratiebestanden achtergebleven zijn op het systeem (indien van toepassing):

$ apt list '~c'

De pakketten kunnen gewist worden met het commando apt purge. In de veronderstelling dat u ze allemaal tegelijk wilt wissen, kunt u het volgende commando gebruiken:

# apt purge '~c'

4.8. Verouderde pakketten

Worden er met trixie veel nieuwe pakketten geïntroduceerd, dan worden er ook heel wat oude pakketten die in bookworm zaten met pensioen gestuurd of weggelaten. Voor deze verouderde pakketten is geen opwaardering meer voorzien. Hoewel niets u belet om desgewenst een verouderd pakket te blijven gebruiken, zal het Debian-project gewoonlijk een jaar na de uitgave van trixie [5] de beveiligingsondersteuning ervan stopzetten en in die tussentijd gewoonlijk ook geen andere ondersteuning meer bieden. Als er alternatieven voor de verouderde pakketten beschikbaar zijn, is het aangeraden om ze door een dergelijk alternatief te vervangen.

Er kunnen veel redenen zijn waarom een pakket verwijderd werd uit de distributie: zij worden door de toeleveraar niet langer onderhouden; er is niet langer een ontwikkelaar van Debian geïnteresseerd in het onderhoud van het pakket; de geboden functionaliteit werd door andere software (of door een nieuwere versie) overgenomen; of omdat ze bugs bevatten worden zij niet langer als geschikt beschouwd voor trixie. In dit laatste geval kan het pakket wel nog aanwezig zijn in de distributie "unstable".

"Verouderde en lokaal gemaakte pakketten" kunnen worden weergegeven en verwijderd vanaf de opdrachtregel met:

$ apt list '~o'
# apt purge '~o'

Het Bugopvolgingssysteem van Debian verschaft dikwijls bijkomende informatie over de redenen voor het verwijderen van een pakket. U moet zowel de bugrapporten voor het pakket zelf als de bugrapporten voor het pseudo-pakket ftp.debian.org erop nakijken.

Raadpleeg voor een lijst van voor trixie verouderde pakketten Vermeldenswaardige uitgefaseerde pakketten.

4.8.1. Dummy overgangspakketten

Sommige pakketten uit bookworm kunnen in trixie vervangen zijn door dummy overgangspakketten, welke tijdelijke plaatsbekleders zijn, bedoeld om opwaarderingen te vereenvoudigen. Indien bijvoorbeeld een toepassing die vroeger uit een enkel pakket bestond, opgesplitst werd in verschillende pakketten, kan voorzien worden in een overgangspakket met dezelfde naam als het oude pakket en met passende vereisten die tot de installatie van de nieuwe pakketten leiden. Nadat dit gebeurd is, kan het overbodige dummypakket veilig verwijderd worden.

De pakketbeschrijving van dummy overgangspakketten vermeldt gewoonlijk welk doel deze hebben. Deze zijn echter niet uniform; in het bijzonder zijn sommige "dummy"-pakketten bedoeld om geïnstalleerd te blijven, met als doel om een volledige softwaresuite binnen te trekken of om doorheen de tijd zicht te blijven houden op de meest recente beschikbare versie van een programma. Wellicht vindt u ook deborphan met een van de opties van het type --guess-* (bijv. --guess-dummy), nuttig om dummy overgangspakketten op uw systeem te detecteren.