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.

Indien het systeem dat opgewaardeerd wordt, cruciale diensten levert voor uw gebruikers of voor het netwerk [2], kunt u de periode van onbeschikbaarheid verkleinen door een minimale opwaardering van het systeem uit te voeren, zoals beschreven wordt in Minimale upgrade van het systeem, daarna een opwaardering van de kernel uit te voeren, het systeem vervolgens opnieuw te starten en pas nadien de pakketten die verband houden met die cruciale diensten op te waarderen. Waardeer deze pakketten in een dergelijk geval op vooraleer u een “full upgrade”, een volledige opwaardering, uitvoert zoals beschreven in Het systeem upgraden. Op die manier kunt u ervoor zorgen dat deze cruciale diensten actief en beschikbaar zijn gedurende het proces van volledige opwaardering, zodat de tijd waarin ze onbeschikbaar zijn, beperkt gehouden wordt.

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.

Voor noodherstel bevelen we over het algemeen het gebruik aan van de reparatiemodus van de Debian Installer van trixie. Het voordeel van het gebruik van het installatiesysteem is dat u de keuze heeft uit zijn talrijke methodes om er die uit te kiezen die het beste aansluit bij uw situatie. Voor bijkomende informatie kunt u de paragraaf “Een defect systeem herstellen” uit hoofdstuk 8 van de Installatiehandleiding (op https://www.debian.org/releases/trixie/installmanual) raadplegen en ook de 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

Indien u bepaalde VPN-diensten (zoals tinc) gebruikt, hou er dan rekening mee dat die mogelijk niet beschikbaar zijn gedurende het opwaarderingsproces. Zie in dat verband Zich voorbereiden op onbeschikbaarheid van diensten.

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 of tmux 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.

APT gaat over op een ander formaat voor het configureren van de locatie waar pakketten worden gedownload. De bestanden /etc/apt/sources.list en *.list in /etc/apt/sources.list.d/ worden vervangen door bestanden die zich nog steeds in die map bevinden, maar waarvan de naam eindigt op .sources, in het nieuwe, beter leesbare formaat (in deb822-stijl). Zie sources.list(5) voor meer informatie. Voorbeelden van APT-configuraties in deze notities worden gegeven in het nieuwe deb822-formaat.

Als uw systeem meerdere sources-bestanden gebruikt, 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

Volg de instructies uit de Notities bij de uitgave van Debian 12 op https://www.debian.org/releases/bookworm/releasenotes om indien nodig eerst naar Debian 12 op te waarderen.

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 de sources van APT vermeldingen gebruikt worden die verwijzen naar bookworm-backports-sloppy).

Net als bij Onofficiële bronnen, wordt gebruikers geadviseerd om de vermeldingen “bookworm-backports” uit hun APT-bronbestanden te verwijderen vóór de opwaardering. Na voltooiing kunnen ze overwegen om “trixie-backports” toe te voegen (zie https://backports.debian.org/Instructions/).

Raadpleeg voor bijkomende informatie de Backports Wiki-pagina.

4.2.4. De pakketdatabank voorbereiden

U moet er voor zorgen dat de pakketdatabank klaar is voor u doorgaat met de opwaardering. Indien u een ander programma voor pakketbeheer gebruikt, zoals aptitude of synaptic, moet u nakijken of er mogelijk acties in de wachtrij staan. Indien er in het programma voor pakketbeheer ingepland staat dat een pakket geïnstalleerd of verwijderd moet worden, kan dit interfereren met de opwaarderingsprocedure. Merk op dat u dit enkel kunt corrigeren als uw pakketbronbestanden voor APT nog steeds verwijzen naar “bookworm” en niet naar “stable” of “trixie”; zie Uw configuratie van APT controleren.

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.

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.

Het is mogelijk dat sommige gebruikers op hun bookworm-systeem “recentere” versies hebben, afkomstig van niet-officiële backports (voor de stabiele release geschikt gemaakte recentere softwareversies), van pakketten die wel degelijk in Debian aanwezig zijn. Dergelijke pakketten hebben een grote kans om tijdens de opwaardering voor problemen te zorgen, vermits ze kunnen leiden tot bestandsconflicten [4]. Mogelijke problemen tijdens de opwaardering bevat enige informatie over hoe u met bestandsconflicten kunt omgaan mochten die zich manifesteren.

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. 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

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

Vervang hold door unhold om de “hold”-status op te heffen.

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 Uw configuratie van APT controleren.

4.3. Pakketbronbestanden voor APT klaarmaken

Voor u met opwaarderen begint moet u de pakketbronbestanden voor APT opnieuw configureren om bronnen toe te voegen voor trixie en normaal ook om bronnen voor bookworm te verwijderen.

Zoals vermeld in Beginnen vanuit “zuiver” Debian, raden we u aan de nieuwe indeling in deb822-stijl te gebruiken. U moet dan /etc/apt/sources.list en alle *.list-bestanden in /etc/apt/sources.list.d/ vervangen door slechts één bestand met de naam debian.sources in /etc/apt/sources.list.d/ (als u dat nog niet gedaan hebt). Hieronder ziet u een voorbeeld van hoe dit bestand er doorgaans uit zou moeten zien.

APT houdt rekening met alle pakketten die via een van de geconfigureerde archieven te vinden zijn en installeert het pakket met het hoogste versienummer. Daarbij geeft het voorrang aan het eerste item in de bestanden. Dus indien u gebruik maakt van verschillende spiegelserverlocaties, moet u eerst deze op lokale harde schijven vermelden, dan CD-ROM’s en vervolgens externe spiegelservers.

Dikwijls kan naar een uitgave verwezen worden met zijn codenaam (bijv. “bookworm”, “trixie”) en met zijn statusnaam (d.w.z. “oldstable”, “stable”, “testing”, “unstable”). Naar een uitgave verwijzen met de codenaam ervan heeft het voordeel dat u nooit verrast zult worden door een nieuwe uitgave. Om die reden gebruiken we hier deze benadering. Dit betekent natuurlijk dat u zelf zult moeten uitkijken naar de aankondiging van een nieuwe uitgave. Maakt u daarentegen gebruik van de statusnaam, dan zult u van zodra een release plaats vond, merken dat er voor een massa pakketten updates beschikbaar gekomen zijn.

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-service is de juiste configuratie voor APT (ervan uitgaande dat u main en non-free-firmware gebruikt) als volgt in /etc/apt/sources.list.d/debian.sources:

Types: deb
URIs: https://deb.debian.org/debian
Suites: trixie trixie-updates
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Types: deb
URIs: https://security.debian.org/debian-security
Suites: trixie-security
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Zorg ervoor dat u alle oude pakketbronbestanden verwijdert.

Als u echter betere resultaten krijgt door een specifieke spiegelserver te gebruiken die qua netwerk dicht bij u in de buurt is in plaats van de CDN-service, dan kunt u de URI van de spiegelserver in de URI-regel vervangen zoals (bijvoorbeeld) “URIs: https://mirrors.kernel.org/debian”.

Als u pakketten uit de componenten contrib of non-free wilt gebruiken, kunt u deze namen toevoegen aan alle Components:-regels.

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.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 /etc/apt/sources.list.d/debian.sources:

Types: deb
URIs: file:/var/local/debian
Suites: trixie
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

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

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

Controleer vervolgens of de pakketbronvermeldingen voor APT (in bestanden onder /etc/apt/sources.list.d/) verwijzen naar “trixie” of naar “stable”. Er mogen geen pakketbronvermeldingen zijn die 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

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.

Als er zich 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.

Met het bestand term.log kunt u ook informatie bekijken die van het scherm is verdwenen. Als u zich op de console van het systeem bevindt, schakelt u gewoon over naar VT2 (met Alt+F2) om dit te bekijken.

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

4.4.3. Zorg voor voldoende vrije schijfruimte voor de opwaardering

Vooraleer u uw systeem opwaardeert moet u ervoor zorgen dat u voldoende vrije schijfruimte zult hebben als u begint aan de fase van volledige opwaardering van het systeem, welke beschreven wordt in Het systeem opwaarderen. Eerst worden alle pakketten die geïnstalleerd moeten worden en die over het netwerk opgehaald moeten worden, opgeslagen in /var/cache/apt/archives (en, tijdens het downloaden, in de onderliggende map partial/). Daarom moet u de zekerheid hebben dat u op de bestandssysteempartitie waarop /var/ zich bevindt, voldoende ruimte beschikbaar heeft om tijdelijk de pakketten die op uw systeem geïnstalleerd zullen worden, ernaartoe te downloaden. Nadat het downloaden afgelopen is, zult u vermoedelijk ook op andere bestandssysteempartities extra ruimte nodig hebben, niet enkel om de pakketten die opgewaardeerd worden te installeren (waarvan de uitvoerbare bestanden of de bestanden met data mogelijk groter zijn), maar ook voor het installeren van nieuwe pakketten die ten gevolge van de opwaardering noodzakelijk geworden zijn. Als uw systeem niet voldoende schijfruimte beschikbaar heeft, kunt u eindigen met een niet volledig opgewaardeerd systeem dat nog moeilijk te repareren valt.

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

Als u dit commando uitvoert bij de aanvang van het opwaarderingsproces, kunt u een foutmelding krijgen omwille van de redenen die in de paragrafen hierna beschreven worden. In een dergelijk geval zult u moeten wachten tot na de minimale opwaardering van het systeem, zoals beschreven in Minimale upgrade van het systeem, om dit commando uit te voeren en het de vereiste schijfruimte te laten schatten.

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 debfoster gebruiken om overbodige pakketten te vinden. Verwijder de pakketten die deze tool aangeeft niet blindelings, vooral niet als u agressieve niet-standaardopties gebruikt die gevoelig zijn voor valse positieven. Het wordt ten zeerste aanbevolen om de pakketten die voor verwijdering worden voorgesteld handmatig te controleren (d.w.z. hun inhoud, grootte en beschrijving) voordat u ze verwijdert.

  • 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.

  • Voer een minimale opwaardering van het systeem uit (zie Minimale upgrade van het systeem) of partiële opwaarderingen gevolgd door een volledige opwaardering. Dit maakt het mogelijk om het systeem gedeeltelijk op te waarderen en de pakketcache leeg te maken vooraleer de volledige opwaardering uit te voeren.

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 Uw configuratie van APT controleren.

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 sommige gevallen kan het onmiddellijk uitvoeren van een volledige opwaardering (zoals die hieronder beschreven wordt) leiden tot het verwijderen van een groot aantal pakketten die u wenst te behouden. Daarom bevelen we u een opwaardering in twee fases aan: eerst een minimale opwaardering uitvoeren om deze conflicten op te lossen en daarna een volledige opwaardering uitvoeren, zoals beschreven in Het systeem opwaarderen.

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. Opruimen na de opwaardering

Er worden twee stappen aanbevolen om de opgewaardeerde distributie op te schonen.

  • Verwijder pakketten als ze overbodig of verouderd geworden zijn, zoals beschreven is in Ervoor zorgen dat u voldoende ruimte heeft voor de opwaardering en in Verouderde pakketten. U moet nakijken welke configuratiebestanden zij gebruiken en erover denken om de pakketten te wissen zodat ook hun configuratiebestanden verwijderd worden. Zie ook Verwijderde pakketten wissen.

  • Werk uw APT-bronnen bij. APT vervangt de oude indeling die werd gebruikt om te specificeren welke pakketbronnen gebruikt moeten worden - zie Pakketbronbestanden voor APT voorbereiden <#upgrade-process>`__ en :url-man-stable:`sources.list(5). Als u nog niet al uw configuratiebestanden hebt overgezet, kunt u de nieuwe functie van apt apt modernize-sources gebruiken.

4.8. Automatisch geïnstalleerde pakketten opschonen

Sommige pakketten zijn mogelijk alleen op uw systeem geïnstalleerd als vereisten van andere pakketten. Met de nieuwe release kunnen deze vereisten zijn gewijzigd en zal apt voorstellen om deze automatisch geïnstalleerde pakketten te verwijderen. Voer hiervoor het volgende uit:

# apt autoremove

4.9. 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.9.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.9.2. 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.