Kapitel 4. Opgraderinger fra Debian 9 (stretch)

Indholdsfortegnelse

4.1. Forberedelse af opgraderingen
4.1.1. Sikkerhedskopier alle data og konfigurationsinformation
4.1.2. Informer brugerne i forvejen
4.1.3. Forbered nedetid for tjenester
4.1.4. Forbered for gendannelse
4.1.5. Forbered et sikkert miljø for opgraderingen
4.1.6. Verify network interface name support
4.2. Checking APT configuration status
4.2.1. Afsnittet foreslåede opdateringer (proposed-updates)
4.2.2. Uofficielle kilder
4.2.3. Deaktivering af APT-pinning
4.2.4. Kontrol af pakkestatus
4.3. Preparing APT source-list files
4.3.1. Tilføjelse af APT-internetkilder
4.3.2. Tilføjelse af APT-kilder for et lokalt spejl
4.3.3. Tilføjelse af APT-kilder fra et optisk medie
4.4. Opgradering af pakker
4.4.1. Optagelse af sessionen
4.4.2. Opdatering af pakkelisten
4.4.3. Sikr dig, at du har tilstrækkelig med plads til opgraderingen
4.4.4. Minimal systemopgradering
4.4.5. Opgradering af systemet
4.5. Mulige problemstillinger under opgradering
4.5.1. Dist-upgrade fejler med Kunne ikke udføre øjeblikkelig konfiguration
4.5.2. Forventede fjernelser
4.5.3. Konflikter eller forhåndsafhængige (Pre-Depends) loop
4.5.4. Filkonflikter
4.5.5. Konfigurationsændringer
4.5.6. Ændring af session til konsol
4.6. Opgradering af din kerne og relaterede pakker
4.6.1. Installation af en kernens metapakke
4.7. Forberedelse af den næste udgivelse
4.7.1. Fuld fjernelse af afinstallerede pakker
4.8. Forældede pakker
4.8.1. Transitional dummy packages

4.1. Forberedelse af opgraderingen

Du bør læse informationen i Kapitel 5, Ting man skal være opmærksom på i forbindelse med buster, inden du opgraderer. Det kapitel dækker mulige problemer, som ikke er direkte relateret til opgraderingsprocessen, men som stadig kan være vigtige at kende til, inden du begynder.

4.1.1. Sikkerhedskopier alle data og konfigurationsinformation

Inden opgradering af dit system anbefales det kraftigt, at du foretager en fuldstændig sikkerhedskopiering, eller i det mindste laver en sikkerhedskopi af alle de data og den konfigurationsinformation, som du ikke vil risikere at miste. Opgraderingsværktøjerne og -processen er meget pålidelige, men en maskinel fejl midt i en opgradering kan resultere i et alvorligt skadet system.

De vigtigste dele, det vil være en god ide at lave sikkerhedskopier af, er indholdet af /etc, /var/lib/dpkg, /var/lib/apt/extended_states og uddata fra dpkg --get-selections "*" (citationstegn er vigtige). Hvis du bruger aptitude til at hente pakker på dit system, vil en sikkerhedskopiering af /var/lib/aptitude/pkgstates også være en god ide.

Selve opgraderingsprocessen ændrer ingenting i mappen /home. Dog er det kendt at visse programmer (for eksempel dele af Mozilla-pakken og skrivebordsmiljøerne GNOME og KDE) overskriver eksisterende brugerindstillinger med nye standardværdier, når en ny version af programmet startes for første gang af en bruger. Som en sikkerhedsforanstaltning bør du foretage en sikkerhedskopiering af de skjulte filer og mapper (såkaldte punktum-filer) i brugernes hjemmemapper. Denne sikkerhedskopiering kan hjælpe til at gendanne eller genoprette de gamle indstillinger. Du ønsker måske også at informere dine brugere om dette.

Alle pakkeinstallationshandlinger skal køres med superbrugerprivilegier, så log ind som root (administrator) eller brug su eller sudo for at få de nødvendige adgangsrettigheder.

Opgraderingen har nogle få forudsætninger; du bør tjekke dem, før du gennemfører opgraderingen.

4.1.2. Informer brugerne i forvejen

Det er klogt at informere alle brugerne i forvejen om eventuelle opgraderinger, du planlægger, også selv om brugere der tilgår dit system via en ssh-forbindelse ikke vil mærke meget under opgraderingen, og bør kunne fortsætte deres arbejde.

Hvis du vil være ekstra omhyggelig, så lav en sikkerhedskopi af eller afmonter /home før opgraderingen.

Du skal udføre en kerneopgradering under opgraderingen til buster, så en genstart er nødvendig. Typisk vil dette udføres efter opgraderingen er afsluttet.

4.1.3. Forbered nedetid for tjenester

Under opgraderingsprocessen kan der være tjenester, som er tilknyttet pakker, som er en del af opgraderingen. Hvis dette er tilfældet, vil disse tjenester måske stoppe mens pakkerne, som skal opgraderes bliver omplaceret og konfigureret. I dette tidsrum vil disse tjenester ikke være tilgængelige.

Præcis hvor lang nedetiden er for disse tjenester vil afhænge af antallet af pakker, som opgraderes på systemet, og vil også inkludere den tid som systemadministratoren er om at besvare konfigurationsspørgsmål fra forskellige pakkeopgraderinger. Bemærk at hvis opgraderingsprocessen foregår uovervåget og systemet kræver svar under opgraderingen, er der stor sandsynlighed for, at tjenester er utilgængelige[1] i en væsentlig tidsperiode.

Hvis systemet som opgraderes tilbyder kritiske tjenester for dine brugere eller netværk[2], så kan du minimere nedetiden, hvis du foretager en minimal systemopgradering som beskrevet i Afsnit 4.4.4, “Minimal systemopgradering”, efterfulgt af en kerneopgradering og en genstart og efterfølgende opgraderer pakker, som hører til dine kritiske tjenester. Opgrader disse pakker inden den komplette opgradering udføres jævnfør instruktionen i Afsnit 4.4.5, “Opgradering af systemet”. På denne måde kan du sikre dig, at disse vigtige tjenester er startet op og er tilgængelige gennem hele opgraderingsprocessen, og at deres nedetid er reduceret.

4.1.4. Forbered for gendannelse

Selom Debian forsøger at sikre, a dit system kan startes op på alle tidspunkter, er der en reel risko for, at du kan opleve problemer efter genstart af dit system, når opgraderingen er færdig. En del kendte problemer er dokumenteret i dette og de næste kapitler af udgivelsesnoterne.

Af den grund er det klogt at sikre sig, at du vil kunne gendanne dit system, såfremt det skulle fejle i at genstarte eller, for eksternt håndterede systemer, ikke kan få netværket til at fungere.

Hvis du fjernopgraderer via en ssh-henvisning, anbefales det kraftigt, at du foretager de nødvendige forholdsregler for at kunne tilgå serveren via en ekstern seriel terminal. Der er en risiko for, at efter opgradering af kernen og en genstart, at du skal rette systemkonfigurationen via en lokal konsol. Hvis systemet ved et uheld genstartes i midten af en opgradering, er der en risiko for, at du vil skulle gendanne via en lokal konsol.

For emergency recovery we generally recommend using the rescue mode of the buster 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 and the Debian Installer FAQ.

If that fails, you will need an alternative way to boot your system so you can access and repair it. One option is to use a special rescue image or a Linux live CD. After booting from that, you should be able to mount your root file system and chroot into it to investigate and fix the problem.

4.1.4.1. Fejlsøg skal under opstart med initrd

Pakken initramfs-tools inkluderer en fejlsøgningsskal[3] i initrds'en den opretter. Hvis for eksempel initrd'en ikke kan montere dit rodfilsystem, vil du blive placeret i denne fejlsøgningsskal, som har nogle grundlæggende kommandoer tilgængelige til at hjælpe med at spore problemet og eventuelt rette det.

Grundlæggende ting der kan kontrolleres: tilstedeværelse af korrekte enhedsfiler i /dev; hvilke moduler indlæses (cat /proc/modules); resultat af dmesg for fejl under indlæsning af drivere. Resultatet af dmesg vil også vise hvilke enhedsfiler, der er blevet tildelt til hvilke diske; du bør kontrollere det imod resultatet af echo $ROOT for at sikre, at rodfilsystemet er på den forventede enhed.

Hvis du lykkes med at rette problemet, vil indtastning af exit afslutte fejlsøgningsskallen og fortsætte opstartsprocessen på det punkt hvor den fejlede. Selvfølgelig skal du også rette det underliggende problem og genoprette initrd'en så den næste opstart ikke fejler igen.

4.1.4.2. Fejlsøg skal under opstart med systemd

Hvis opstarten fejler under systemd, er det muligt at indhente en fejlsøg root-skal ved at ændre kernens kommandolinje. Hvis standardopstarten lykkes, men nogle tjenester ikke kan starte, så kan det være nyttigt at tilføje systemd.unit=rescue.target til kerneparametrene.

Ellers vil kerneparameteren systemd.unit=emergency.target tilbyde dig en root-skal på det tidligste mulige punkt. Dette gøres dog før montering af root-filsystemet med læse-skrive rettigheder. Du skal gøre det manuelt med:

# mount -o remount,rw /
      

More information on debugging a broken boot under systemd can be found in the Diagnosing Boot Problems article.

4.1.5. Forbered et sikkert miljø for opgraderingen

[Vigtigt]Vigtigt

If you are using some VPN services (such as tinc) consider that they might not be available throughout the upgrade process. Please see Afsnit 4.1.3, “Forbered nedetid for tjenester”.

In order to gain extra safety margin when upgrading remotely, we suggest that you run upgrade processes in the virtual console provided by the screen program, which enables safe reconnection and ensures the upgrade process is not interrupted even if the remote connection process temporarily fails.

4.1.6. Verify network interface name support

Systems upgraded from older releases that still use network interfaces with names like eth0 or wlan0 are at risk of losing networking once they switch to buster; see Afsnit 5.1.5, “Migrating from legacy network interface names” for migration instructions.

4.2. Checking APT configuration status

The upgrade process described in this chapter has been designed for pure Debian stable systems. If your APT configuration mentions additional sources besides stretch, or if you have installed packages from other releases or from third parties, then to ensure a reliable upgrade process you may wish to begin by removing these complicating factors.

The main configuration file that APT uses to decide what sources it should download packages from is /etc/apt/sources.list, but it can also use files in the /etc/apt/sources.list.d/ directory - for details see sources.list(5). If your system is using multiple source-list files then you will need to ensure they stay consistent.

Below there are two methods for finding installed packages that did not come from Debian, using either aptitude or apt-forktracer. Please note that neither of them are 100% accurate (e.g. the aptitude example will list packages that were once provided by Debian but no longer are, such as old kernel packages).

$ aptitude search '~i(!~ODebian)'
$ apt-forktracer | sort
  

Direct upgrades from Debian releases older than 9 (stretch) are not supported. Please follow the instructions in the Release Notes for Debian 9 to upgrade to Debian 9 first.

Denne procedure antager også, at dit sytem er blevet opdateret til den sidste punktversion af stretch. Hvis du ikke har udført dette eller er usikker, så følg instruktionerne i Afsnit A.1, “Opgradering af dit stretch-system”.

You should also 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 stretch and not to stable or buster; see Afsnit A.2, “Checking your APT source-list files”.

It is a good idea to remove obsolete packages from your system before upgrading.

4.2.1. Afsnittet foreslåede opdateringer (proposed-updates)

If you have listed the proposed-updates section in your APT source-list files, you should remove it before attempting to upgrade your system. This is a precaution to reduce the likelihood of conflicts.

4.2.2. Uofficielle kilder

If you have any non-Debian packages on your system, you should be aware that these may be removed during the upgrade because of conflicting dependencies. If these packages were installed by adding an extra package archive in your APT source-list files, you should check if that archive also offers packages compiled for buster and change the source item accordingly at the same time as your source items for Debian packages.

Nogle brugere kan have uofficielle tilbageporterede nyere versioner af pakker som i Debian er installeret på deres stretch-system. Sådanne pakker vil højst sandsynlig medføre problemer under en opgradering, da de kan resultere i filkonflikter[4]. Afsnit 4.5, “Mulige problemstillinger under opgradering” har lidt information om hvordan filkonflikter skal håndteres, såfremt de opstår.

4.2.3. Deaktivering af APT-pinning

Hvis du har konfigureret APT til at installere bestemte pakker fra en distribution udover stable (f.eks. fra testing), så skal du måske ændre din APT-pinnings konfiguration (gemt i /etc/apt/preferences) for at tillade pakkeopgraderinger af versioner i den nye stabile version. Yderligere information om APT-pinning kan findes i apt_preferences(5).

4.2.4. Kontrol af pakkestatus

Uanset den anvendte opgraderingsmetode, så anbefales det, at du kontrollerer pakkernes status først, og verificerer at alle pakker er i en opgraderbar tilstand. Den følgende kommando vil vise alle pakker, som har en status som halvt installeret (Half-Installed) eller som ikke kunne konfigureres, (Failed-Config) og dem med en eventuel fejlstatus.

# dpkg --audit
    

Du kan også inspicere tilstanden for alle pakker på dit system med aptitude, eller med kommandoer såsom

# dpkg -l | pager
    

eller

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

Det er ønskværdigt at fjerne alle pakker på hold før en opgradering. Hvis en pakke - som er essentiel for opgraderingen - er på hold, så vil opgraderingen fejle.

Note that aptitude uses a different method for registering packages that are on hold than apt and dselect. You can identify packages on hold for aptitude with

# aptitude search "~ahold" 
    

If you want to check which packages you had on hold for apt, you should use

# dpkg --get-selections | grep 'hold$'
    

Hvis du ændrede og genkompilerede en pakke lokalt, og ikke omdøbte den eller placerede en epoch i versionen, så skal du sætte den på hold for at forhindre at den bliver opgraderet.

The hold package state for apt can be changed using:

# echo package_name hold | dpkg --set-selections
    

Erstat hold med install for at fjerne tilstanden hold.

If there is anything you need to fix, it is best to make sure your APT source-list files still refer to stretch as explained in Afsnit A.2, “Checking your APT source-list files”.

4.3. Preparing APT source-list files

Before starting the upgrade you must reconfigure APT's source-list files (/etc/apt/sources.list and files under /etc/apt/sources.list.d/).

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.

En udgivelse kan ofte refereres til både efter dets kodenavn (f.eks. stretch, buster) og efter sit statusnavn (dvs. oldstable, stable, testing, unstable). En reference til en udgivelse med sit kodenavn har den fordel, at du aldrig vil blive overrasket af en ny udgivelse og er derfor fremgangsmåden anvendt her. Det betyder selvfølgelig, at du selv skal holde øje med udgivelsesnoter. Hvis du bruger statusnavnet i stedet for, så vil du bare se en masse opdateringer for pakker så snart en udgivelse er tilgængelig.

Debian provides two announcement mailing lists to help you stay up to date on relevant information related to Debian releases:

4.3.1. Tilføjelse af APT-internetkilder

On new installations the default is for APT to be set up to use the Debian APT CDN service, which should ensure that packages are automatically downloaded from a server near you in network terms. As this is a relatively new service, older installations may have configuration that still points to one of the main Debian Internet servers or one of the mirrors. If you haven't done so yet, it is recommended to switch over to the use of the CDN service in your APT configuration.

To make use of the CDN service, add a line like this to your APT source configuration (assuming you are using main and contrib):

deb http://deb.debian.org/debian buster main contrib

After adding your new sources, disable the previously existing deb lines by placing a hash sign (#) in front of them.

However, if you get better results using a specific mirror that is close to you in network terms, this option is still available.

Debian mirror addresses can be found at https://www.debian.org/distrib/ftplist (look at the list of Debian mirrors section).

For example, suppose your closest Debian mirror is http://mirrors.kernel.org. If you inspect that mirror with a web browser, you will notice that the main directories are organized like this:

      http://mirrors.kernel.org/debian/dists/buster/main/binary-ppc64el/...
      http://mirrors.kernel.org/debian/dists/buster/contrib/binary-ppc64el/...
    

To configure APT to use a given mirror, add a line like this (again, assuming you are using main and contrib):

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

Bemærk at dists tilføjes implicit, og parametrene efter udgivelsesnavnet bruges til at udvide stien til flere mapper.

Again, after adding your new sources, disable the previously existing archive entries.

4.3.2. Tilføjelse af APT-kilder for et lokalt spejl

Instead of using remote package mirrors, you may wish to modify the APT source-list files to use a mirror on a local disk (possibly mounted over NFS).

For example, your package mirror may be under /var/local/debian/, and have main directories like this:

      /var/local/debian/dists/buster/main/binary-ppc64el/...
      /var/local/debian/dists/buster/contrib/binary-ppc64el/...
    

For at bruge dette med apt, så tilføj denne linje til din sources.list-fil:

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

Bemærk at dists tilføjes implicit, og parametrene efter udgivelsesnavnet bruges til at udvide stien til flere mapper.

After adding your new sources, disable the previously existing archive entries in the APT source-list files by placing a hash sign (#) in front of them.

4.3.3. Tilføjelse af APT-kilder fra et optisk medie

If you want to use only DVDs (or CDs or Blu-ray Discs), comment out the existing entries in all the APT source-list files by placing a hash sign (#) in front of them.

Sikr dig, at der er en linje i /etc/fstab som aktiverer montering af dit cd-rom-drev på monteringspunktet /media/cdrom. For eksempel hvis /dev/sr0 er dit cd-rom-drev, så skal /etc/fstab indeholde en linje som vist her:

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

Bemærk at der ikke må være mellemrum mellem ordene noauto,ro i det fjerde felt.

For at verificere, at det virker, så indsæt en cd og prøv igen

# 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
    

Næste, kør:

# apt-cdrom add
    

for hver Debian binær cd-rom du har, at tilføje dataene om hver cd til APT's database.

4.4. Opgradering af pakker

The recommended way to upgrade from previous Debian releases is to use the package management tool apt.

[Bemærk]Bemærk

apt is meant for interactive use, and should not be used in scripts. In scripts one should use apt-get, which has a stable output better suitable for parsing.

Glem ikke at montere alle krævede partitioner (vigtigst partitionerne for root og /usr som skrivbare med en kommando såsom:

# mount -o remount,rw /mountpoint
  

Next you should double-check that the APT source entries (in /etc/apt/sources.list and files under /etc/apt/sources.list.d/) refer either to buster or to stable. There should not be any sources entries pointing to stretch.

[Bemærk]Bemærk

Kildelinjer for en cd-rom kan undertiden referere til unstable; selvom dette kan være forvirrende, så skal du ikke ændre det.

4.4.1. Optagelse af sessionen

Det anbefales at du bruger programmet /usr/bin/script til at optage et sammendrag af opgraderingssessionen. Hvis der så opstår et problem, så vil du have en log over hvad der skete, og hvis krævet, kan give præcis information i en fejlrapport. For at starte registreringen tastes:

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

eller lignende. Hvis du skal køre typeskriptet igen (f.eks. hvis du skal genstarte systemet) så brug forskellige værdier for step for at indikere hvilket trin af opgraderingen du logger fra. Placer ikke typeskriptfilen i en midlertidig mappe såsom /tmp eller /var/tmp (filer i disse mapper kan blive slettet under opgraderingen eller under en genstart).

Typeskriptet vil også give dig mulighed for at gennemse information, som er rullet forbi skærmen. Hvis du er ved systemets konsol, så skift til VT2 (med Alt+F2) og efter at du er logget ind, så brug less -R ~root/upgrade-buster.script for at se filen.

Efter at du har færdiggjort opgraderingen, så kan du stoppe script ved at taste exit i prompten.

apt will also log the changed package states in /var/log/apt/history.log and the terminal output in /var/log/apt/term.log. dpkg will, in addition, log all package state changes in /var/log/dpkg.log. If you use aptitude, it will also log state changes in /var/log/aptitude.

Hvis du har brugt tilvalget -t for script så kan du bruge programmet scriptreplay for at afspille hele sessionen:

# scriptreplay ~/upgrade-busterstep.time ~/upgrade-busterstep.script
    

4.4.2. Opdatering af pakkelisten

Først skal listen over tilgængelige pakker for den nye udgivelse hentes. Dette gøres ved at køre:

# apt update
    
[Bemærk]Bemærk

Users of apt-secure may find issues when using aptitude or apt-get. For apt-get, you can use apt-get update --allow-releaseinfo-change.

4.4.3. Sikr dig, at du har tilstrækkelig med plads til opgraderingen

Du skal sikre dig, at du har tilstrækkelig med harddiskplads før du opgraderer med den fulde systemopgradering beskrevet i Afsnit 4.4.5, “Opgradering af systemet”. Først, alle pakker krævet for installation som hentes fra netværket gemmes i /var/cache/apt/archives (og undermappen partial/, under overførsel), så du skal sikre dig, at du har nok plads på partitionen for filsystemet, som indeholder /var/ til midlertidigt at hente pakkerne, som skal installeres på dit system. Efter overførslen skal du sikkert bruge ekstra plads i andre filsystempartitioner for både at installere opgraderede pakker (som kan indeholder større binære filer eller mere data) og nye pakker, som vil blive hentet ned for opgraderingen. Hvis dit system ikke har tilstrækkelig med plads, kan du ende med en ufuldstændig opgradering, som det kan være svært at fortryde.

apt can show you detailed information about the disk space needed for the installation. Before executing the upgrade, you can see this estimate by running:

# 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.
    
[Bemærk]Bemærk

Kørsel af denne kommando i begyndelsen af opgraderingsprocessen kan medføre en fejl, på grund af årsagerne beskrevet i de næste afsnit. I disse tilfælde skal du vente indtil du har udført den minimale systemopgradering som i Afsnit 4.4.4, “Minimal systemopgradering” før du kører denne kommando for at estimere diskpladsen.

If you do not have enough space for the upgrade, apt will warn you with a message like this:

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

I denne situation, så skab først ledig plads. Du kan:

  • Remove packages that have been previously downloaded for installation (at /var/cache/apt/archives). Cleaning up the package cache by running apt clean will remove all previously downloaded package files.

  • Remove forgotten packages. If you have used aptitude or apt to manually install packages in stretch it will have kept track of those packages you manually installed, and will be able to mark as redundant those packages pulled in by dependencies alone which are no longer needed due to a package being removed. They will not mark for removal packages that you manually installed. To remove automatically installed packages that are no longer used, run:

    # apt autoremove
            

    Du kan også deborphan, debfoster eller cruft ti lat finde redundante pakker. Fjern ikke blindt pakkerne disse værktøjer præsenterer, specielt hvis du bruger aggressive indstillinger, der ikke er standard, som er mere udsat for at give falske positive resultater. Det anbefales stærkt, at du manuelt gennemser pakkerne der bliver foreslået for fjernelse (dvs. deres indhold, størrelse og beskrivelse) før du fjerner dem.

  • Remove packages that take up too much space and are not currently needed (you can always reinstall them after the upgrade). If you have popularity-contest installed, you can use popcon-largest-unused to list the packages you do not use that occupy the most space. You can find the packages that just take up the most disk space with dpigs (available in the debian-goodies package) or with wajig (running wajig size). They can also be found with aptitude. Start aptitude in full-terminal mode, select ViewsNew Flat Package List, press l and enter ~i, then press S and enter ~installsize. This will give you a handy list to work with.

  • Fjern oversættelser og sprogfiler fra system hvis de ikke er krævet. Du kan installere pakken localepurge og konfigurere den så at kun nogle få udvalgte sprog bevares i systemet. Dette vil reducere den forbrugt diskplads i /usr/share/locale.

  • Flyt midlertidigt til et andet system, eller fjern permanent, systemlogge under /var/log/.

  • Use a temporary /var/cache/apt/archives: You can use a temporary cache directory from another filesystem (USB storage device, temporary hard disk, filesystem already in use, ...).

    [Bemærk]Bemærk

    Brug ikke en NFS-montering da netværksforbindelsen kan blive afbrudt under opgraderingen.

    For eksempel hvis du har et USB-drev monteret på /media/usbkey:

    1. fjern pakkerne som tidligere er blevet hentet for installation:

      # apt clean
                      

    2. kopier mappen /var/cache/apt/archives til USB-drevet:

      # cp -ax /var/cache/apt/archives /media/usbkey/
                      

    3. monter den midlertidige mappe for mellemlageret på den aktuelle:

      # mount --bind /media/usbkey/archives /var/cache/apt/archives
                      

    4. efter opgraderingen, gendan den originale /var/cache/apt/archives-mappe:

      # umount /media/usbkey/archives
                      

    5. fjern den tilbageværende /media/usbkey/archives.

    Du kan oprette den midlertidige mappe for mellemlageret på det filsystem som er monteret på dit system.

  • Udfør en minimal opgradering af systemet (se Afsnit 4.4.4, “Minimal systemopgradering”) eller delvise opgraderinger af systemet efterfulgt af en fuld opgradering. Dette vil gøre det muligt at opgradere systemet delvist, og give dig mulighed for at rydde pakkemellemlageret før den fulde opgradering.

Note that in order to safely remove packages, it is advisable to switch your APT source-list files back to stretch as described in Afsnit A.2, “Checking your APT source-list files”.

4.4.4. Minimal systemopgradering

I nogle tilfælde under udførelse af den fulde opgradering (som beskrevet nedenfor) kan der blive fjernet et stort antal pakker, som du måske ønsker at beholde. Vi anbefaler derfor en todelt opgraderingsproces, først en minimal opgradering til at forbigå disse konflikter, og så en fuld opgradering som beskrevet i Afsnit 4.4.5, “Opgradering af systemet”.

For at gøre dette, så kør først:

# apt-get upgrade
    

Dette medfører en opgradering af de pakker, som kan opgraderes uden at kærve at andre pakker fjernes eller installeres.

Den mimimale systemopgradering kan også være nyttig når systemet har lidt ledig plads og en fuld opgradering ikke kan køres på grund af pladsbegrænsninger.

If the apt-listchanges package is installed, it will (in its default configuration) show important information about upgraded packages in a pager after downloading the packages. Press q after reading to exit the pager and continue the upgrade.

4.4.5. Opgradering af systemet

Når du har udført de tidligere trin, er du nu klar til at fortsætte med hoveddelen af opgraderingen. Kør:

# apt full-upgrade
    

Dette vil udføre en fuldstændig opgradering af systemet, dvs. installere de nyeste tilgængelige versioner af alle pakker, og løse alle eventuelle afhængighedsændringer mellem pakker i forskellige udgivelser. Hvis nødvendigt vil den installere nogle nye pakker (normalt nye biblioteksversioner, eller omdøbte pakker), og fjerne alle forældede pakker der er i konflikt med andre pakker.

When upgrading from a set of CDs/DVDs/BDs, you will probably be asked to insert specific discs at several points during the upgrade. You might have to insert the same disc multiple times; this is due to inter-related packages that have been spread out over the discs.

New versions of currently installed packages that cannot be upgraded without changing the install status of another package will be left at their current version (displayed as held back). This can be resolved by either using aptitude to choose these packages for installation or by trying apt install package.

4.5. Mulige problemstillinger under opgradering

De følgende afsnit beskriver kendte problemstillinger, som kan opstå under en opgradering til buster.

4.5.1. Dist-upgrade fejler med Kunne ikke udføre øjeblikkelig konfiguration

In some cases the apt full-upgrade step can fail after downloading packages with:

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

If that happens, running apt full-upgrade -o APT::Immediate-Configure=0 instead should allow the upgrade to proceed.

Another possible workaround for this problem is to temporarily add both stretch and buster sources to your APT source-list files and run apt update.

4.5.2. Forventede fjernelser

Opgraderingsprocessen for buster kan anmode om fjernelse af pakker i systemet. Den præcise liste over disse pakker vil variere afhængig af det pakkesæt du har installeret. Disse udgivelsesnoter giver generelle råd om disse fjernelser, men hvis du er i tvivl, så anbefales det, at du undersøger pakkefjernelserne foreslået af hver metode før du fortsætter. For yderligere information om pakker, der er blevet forældet i buster, se Afsnit 4.8, “Forældede pakker”.

4.5.3. Konflikter eller forhåndsafhængige (Pre-Depends) loop

Sometimes it's necessary to enable the APT::Force-LoopBreak option in APT to be able to temporarily remove an essential package due to a Conflicts/Pre-Depends loop. apt will alert you of this and abort the upgrade. You can work around this by specifying the option -o APT::Force-LoopBreak=1 on the apt command line.

It is possible that a system's dependency structure can be so corrupt as to require manual intervention. Usually this means using apt or

# dpkg --remove package_name
    

for at eliminere nogle af de stridende pakker, eller

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

I ekstreme tilfælde kan det være nødvendigt at fremtvinge reinstallation med en kommando som

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

4.5.4. Filkonflikter

Filkonflikter bør ikke opstå hvis du opgraderer fra et rent stretch-system, men kan opstå hvis du har uofficielle backports installeret. En filkonflikt vil resultere i en fejl såsom:

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>
    

Du kan forsøge at løse en filkonflikt ved med tvang at fjerne pakken nævnt på den sidste linje i fejlbeskeden:

# dpkg -r --force-depends package_name
    

After fixing things up, you should be able to resume the upgrade by repeating the previously described apt commands.

4.5.5. Konfigurationsændringer

Under opgraderingen vil du blive stillet nogle spørgsmål angående konfigurationen eller omkonfigurationen af flere pakker. Når du bliver spurgt om en fil i mappen /etc/init.d eller filen /etc/manpath.config skal erstattes af pakkevedligeholderens version, så er det normalt nødvendigt at svare »ja« for at sikre systemkonsistens. Du kan altid vende tilbage til de ældre versioner, da de bliver gemt med filendelsen .dpkg-old.

Hvis du ikke er sikker på, hvad du skal gøre, så skriv navnet på pakken eller filen ned og udred så problemstillingen senere. Du kan søge i typescript-filen for at gennemse informationen på skærmen fra opgraderingen.

4.5.6. Ændring af session til konsol

If you are running the upgrade using the system's local console you might find that at some points during the upgrade the console is shifted over to a different view and you lose visibility of the upgrade process. For example, this may happen in systems with a graphical interface when the display manager is restarted.

For at gendanne konsollen hvor opgraderingen var nået til, skal du bruge Ctrl+Alt+F1 (hvis i den grafiske opstartsskærm) eller bruge Alt+F1 (hvis i den lokale konsol for teksttilstand) for at skifte tilbage til den virtuelle terminal 1. Erstat F1 med funktionstasten med det samme antal som den virtuelle terminal opgraderingen kørte i. Du kan også bruge Alt+Venstre piletast eller Alt+Højre piletast for at skifte mellem de forskellige terminaler i teksttilstand.

4.6. Opgradering af din kerne og relaterede pakker

Dette afsnit forklarer hvordan du opgraderer din kerne og identificerer potentielle problemstillinger forbundet med denne opgradering. Du kan enten installere en af linux-image-*-pakkerne tilbudt af Debian, eller kompilere en tilpasset kerne fra kilde.

Bemærk at en masse informaton i dette afsnit er baseret på den antagelse, at du vil bruge en af de modulære Debiankerner, sammen med initramfs-tools og udev. Hvis du vælger at bruge en tilpasset kerne, som ikke kræver en initrd eller hvis du bruger en anden initrd-opretter, kan noget af informationen være urelevant for dig.

4.6.1. Installation af en kernens metapakke

When you full-upgrade from stretch to buster, it is strongly recommended that you install a linux-image-* metapackage, if you have not done so before. These metapackages will automatically pull in a newer version of the kernel during upgrades. You can verify whether you have one installed by running:

# dpkg -l "linux-image*" | grep ^ii | grep -i meta
    

Hvis du ikke ser et resultat, så skal du installere en ny pakke for linux-image manuelt eller installere en linux-image-metapakke. For at se en liste over tilgængelige metapakker for linux-image, så kør:

# apt-cache search linux-image- | grep -i meta | grep -v transition
    

If you are unsure about which package to select, run uname -r and look for a package with a similar name. For example, if you see 4.9.0-8-amd64, it is recommended that you install linux-image-amd64. You may also use apt to see a long description of each package in order to help choose the best one available. For example:

# apt show linux-image-amd64
    

You should then use apt install to install it. Once this new kernel is installed you should reboot at the next available opportunity to get the benefits provided by the new kernel version. However, please have a look at Afsnit 5.1.11, “Ting at gøre efter opgradering og før genstart” before performing the first reboot after the upgrade.

For the more adventurous there is an easy way to compile your own custom kernel on Debian. Install the kernel sources, provided in the linux-source package. You can make use of the deb-pkg target available in the sources' makefile for building a binary package. More information can be found in the Debian Linux Kernel Handbook, which can also be found as the debian-kernel-handbook package.

If possible, it is to your advantage to upgrade the kernel package separately from the main full-upgrade to reduce the chances of a temporarily non-bootable system. Note that this should only be done after the minimal upgrade process described in Afsnit 4.4.4, “Minimal systemopgradering”.

4.7. Forberedelse af den næste udgivelse

Efter opgraderingen er der nogle ting, du kan forberede for din næste udgivelse.

4.7.1. Fuld fjernelse af afinstallerede pakker

Det er generelt et godt råd at fjerne afinstallerde pakker. Dette gælder specielt hvis de er blevet afinstalleret i en tidligere udgivelsesopgradering f.eks. fra opgraderingen til stretch) eller de kom fra en tredjeparts leverandør. Specielt gamle init.d-skripter vides at kunne medføre problemer.

[Pas på]Pas på

Fuld fjernelse af en pakke vil generelt også fjerne logfilerne, så du vil skulle lave en sikkerhedskopi af dem først.

Den følgende kommando viser en liste over alle fjernede pakker, som kan have konfigurationsfiler tilbage på systemet (hvis nogen):

# dpkg -l | awk '/^rc/ { print $2 }'
    

The packages can be removed by using apt purge. Assuming you want to purge all of them in one go, you can use the following command:

# apt purge $(dpkg -l | awk '/^rc/ { print $2 }')
    

Hvis du bruger aptitude, så kan du også bruge det følgende alternativ til kommandoerne ovenfor:

# aptitude search '~c'
# aptitude purge '~c'
    

4.8. Forældede pakker

Introducing lots of new packages, buster also retires and omits quite a few old packages that were in stretch. It provides no upgrade path for these obsolete packages. While nothing prevents you from continuing to use an obsolete package where desired, the Debian project will usually discontinue security support for it a year after buster's release[5], and will not normally provide other support in the meantime. Replacing them with available alternatives, if any, is recommended.

Der kan være mange årsager til at pakker er blevet fjernet fra distributionen: De bliver ikke længere vedligeholdt opstrøms, der er ikke længere en Debianudvikler interesseret i at vedligeholde pakkerne; funktionaliteten de tilbyder er blevet efterfulgt af andre programmer (eller en ny version); eller de anses ikke længere for at være egnet for buster på grund af fejl i dem. I det sidste tilfælde, kan pakker stadig være til stede i distributionen unstable.

Some package management front-ends provide easy ways of finding installed packages that are no longer available from any known repository. The aptitude textual user interface lists them in the category Obsolete and Locally Created Packages, and they can be listed and purged from the commandline with:

# aptitude search '~o'
# aptitude purge '~o'
  

Debians fejlsporingssystem tilbyder ofte yderligere information om hvorfor pakkerne blev fjernet. Du bør gennemse både de arkiverede fejlrapporter for selve pakken og de arkiverede fejlrapporter for ftp.debian.org pseudo-package.

For a list of obsolete packages for Buster, please refer to Afsnit 5.1.9, “Værd at bemærke forældede pakker”.

4.8.1. Transitional dummy packages

Some packages from stretch may have been replaced in buster by transitional dummy packages, which are empty placeholders designed to simplify upgrades. If for instance an application that was formerly a single package has been split into several, a transitional package may be provided with the same name as the old package and with appropriate dependencies to cause the new ones to be installed. After this has happened the redundant dummy package can be safely removed.

The package descriptions for transitional dummy packages usually indicate their purpose. However, they are not uniform; in particular, some dummy packages are designed to be kept installed, in order to pull in a full software suite, or track the current latest version of some program. You might also find deborphan with the --guess-* options (e.g. --guess-dummy) useful to detect transitional dummy packages on your system.



[1] Hvis debconf-prioriteten er sat til et meget højt niveau kan du måske forhindre konfigurationsprompter, men tjenester som afhænger af standardsvar som ikke er gældende for dit system vil ikke starte.

[2] Eksempelvis: DNS- eller DHCP-tjenester, specielt hvis der ikke er nogen redundans eller reserve. I tilfældet med DHCP kan slutbrugere blive frakoblet fra netværket, hvis låneperioden er kortere end tiden, det tager for opgraderingsprocessen at blive færdig.

[3] Denne funktion kan deaktiveres ved at tilføje parameteren panic=0 til dine opstartsparametre.

[4] Debians pakkehåndteringssystem tillader normalt ikke at en pakke fjerner en fil ejet af en anden pakke medmindre, at den er blevet defineret til at erstatte denne pakke.

[5] Eller i den periode hvor der endnu ikke er en ny udgivelse. Typisk er kun to stabile udgivelser understøttet på samme tidspunkt.