Kapitel 4. Uppgraderingar från Debian 9 (stretch)

Innehållsförteckning

4.1. Förberedelse inför uppgraderingen
4.1.1. Säkerhetskopiera all data och konfigurationsinformation
4.1.2. Informera användarna i förväg
4.1.3. Förbered för att tjänster blir oåtkomliga
4.1.4. Förbered för återställning
4.1.5. Förbered en säker miljö för uppgraderingen
4.1.6. Kontrollera stöder för namngivning av nätverksgränssnitt
4.2. Kontrollera inställningar för APT
4.2.1. Avsnittet proposed-updates
4.2.2. Inofficiella källor
4.2.3. Inaktivera APT-nålning
4.2.4. Kontrollera paketstatus
4.3. Förbered källor för APT
4.3.1. Lägg till APT-källor från Internet
4.3.2. Lägg till APT-källor för en lokal spegelserver
4.3.3. Lägg till APT-källor från optisk media
4.4. Uppgradering av paket
4.4.1. Spela in sessionen
4.4.2. Uppdatering av paketlistan
4.4.3. Se till att du har tillräckligt med utrymme för uppgraderingen
4.4.4. Minimal systemuppgradering
4.4.5. Uppgradering av systemet
4.5. Möjliga problem under uppgraderingen
4.5.1. Dist-upgrade misslyckas med meddelandet Could not perform immediate configuration
4.5.2. Förväntade raderingar
4.5.3. Konflikter vid förberoende-loop
4.5.4. Filkonflikter
4.5.5. Inställningsförändringar
4.5.6. Flytt av sessionen till konsoll
4.6. Uppgradering av kärna och relaterade paket
4.6.1. Installera metapaketet för kärnan
4.7. Förberedelse inför nästa utgåva
4.7.1. Utrensning av borttagna paket
4.8. Föråldrade paket
4.8.1. Tomma övergångspaket

4.1. Förberedelse inför uppgraderingen

Du bör läsa informationen i Kapitel 5, Problemområden att känna till för buster innan du uppgraderar. Det kapitlet täcker in möjliga problem som inte direkt relaterar till uppgraderingsprocessen men som fortfarande kan vara viktiga att känna till innan du påbörjar arbetet.

4.1.1. Säkerhetskopiera all data och konfigurationsinformation

Innan uppgradering av ditt system rekommenderas det starkt att du gör en fullständig säkerhetskopia, eller åtminstone en säkerhetskopia av data eller konfigurationsinformation som du inte vill riskera att förlora. Uppgraderingsverktygen och -processen är tillförlitlig men ett hårdvarufel mitt i en uppgradering kan resultera i ett allvarligt skadat system.

De huvudsakliga delar du vill säkerhetskopiera är innehållet i /etc, /var/lib/dpkg, /var/lib/apt/extended_states och utdata från dpkg --get-selections "*" (citationstecknen är viktiga). Om du använder aptitude för att hantera paket på ditt system vill du också göra en säkerhetskopia på /var/lib/aptitude/pkgstates.

Själva uppgraderingsprocessen ändrar ingenting i katalogen /home. Dock är det känt att vissa program (exempelvis delar av Mozilla-sviten och skrivbordsmiljöerna GNOME och KDE) skriver över befintliga användarinställningar med nya standardvärden när en ny version av programmet startas för första gången av en användare. Som en försiktighetsåtgård bör du göra en säkerhetskopia av de dolda filerna och katalogerna (så kallade punktfiler) i användarnas hemkataloger. Denna säkerhetskopia kan hjälpa till att återställa eller återskapa de gamla inställningarna. Du kanske även vill informera dina användare om det här.

Alla paketinstallationsåtgärder måste köras med superanvändarens rättigheter, så logga in som root eller använd su eller sudo för att få de nödvändiga åtkomsträttigheterna.

Uppgraderingen innebär att vissa förutsättningar måste mötas; du bör kontrollera dem innan den faktiska uppgraderingen påbörjas.

4.1.2. Informera användarna i förväg

Det är klokt att informera alla användare i förväg angående de uppgraderingar som du planerar att göra, även om användarna som kommer åt ditt system via en ssh-anslutning knappt kommer att märka det under uppgraderingen, och bör kunna fortsätta att arbeta som vanligt.

Om du vill vidta extra försiktighetsåtgärder bör du säkerhetskopiera eller avmontera /home före uppgradering.

Du kommer behöva göra en kärnuppgradering vid uppgradering till buster, en omstart kommer alltså att vara nödvändig. Vanligen sker detta efter uppgraderingen är klar.

4.1.3. Förbered för att tjänster blir oåtkomliga

Under uppgraderingsprocessen kan det finnas tjänster knutna till paket som ingår i uppgraderingen. Om detta är fallet kommer dessa tjänster stoppas under tiden som paketen byts ut och får nya inställningar. Under tiden kommer dessa tjänster inte vara tillgängliga.

Exakt hur lång tid tjänsterna är bortkopplade varierar med antalet paket som uppgraderas i systemet. Dessutom ingår tiden som det tar för systemadministratören att besvara frågor om inställningar från olika paket som uppgraderas. Kom ihåg att om uppgraderingsprocessen lämnas oövervakad och systemet frågar efter information är det mycket troligt att tjänsterna är otillgängliga[1] under mycket lång tid.

Om systemet som uppgraderas tillhandahåller viktiga tjänster för användarna på nätverket[2] kan du minska nedtiden genom att göra en minimal systemuppgradering vilket beskrivs i Avsnitt 4.4.4, ”Minimal systemuppgradering”. Gör sedan en kärnuppgradering och en omstart, uppdatera sedan paketen som rör de kritiska tjänsterna. Uppgradera dessa paket innan en full uppgradering utförs enligt Avsnitt 4.4.5, ”Uppgradering av systemet”. På detta sätt kan du säkerställa att dessa viktiga tjänster körs och är tillgängliga genom hela den kompletta uppgraderingsprocessen och att nedtiden reduceras.

4.1.4. Förbered för återställning

Även om Debian försöker säkerställa att ditt system kan starta vid varje givet tillfälle finns det alltid en möjlighet att du kan uppleva problem med att start om ditt system efter en uppgradering. Kända potentiella problem är dokumenterade i detta och följande kapitel av Kommentarer till utgåvan.

Av den anledningen är det klokt att försäkra sig om att du kan återställa ifall ditt system skulle misslyckas att starta om eller, för fjärrhanterade system, misslyckas att komma åt nätverket.

Om du fjärruppgraderar via en ssh-länk är det starkt rekommenderat att du vidtar nödvändiga åtgärder för att kunna komma åt servern genom en fjärrserieterminal. Det finns en chans att, efter uppgradering av kärnan och omstart, du kommer att behöva rätta till systemkonfigurationen genom en lokal konsoll. Om systemet av misstag startas om mitt i en uppgradering finns det en chans att du behöver återställa systemet med hjälp av en lokal konsoll.

För räddnigsinsatser rekommenderar vi att räddningsläget i Debian-installeraren för buster används. Fördelen med att använda installeraren är att du kan välja bland dess många installationsmetoder för att hitta en som bäst passar din situation. För mer information, läs avsnittet Återställning av ett trasigt system i kapitel 8 av Installationsguiden och Debian Installer FAQ (båda på engelska).

Om det misslyckas behöver du ett alternativt sätt att starta upp ditt system på så att du kan komma åt och reparera det. Ett alternativ är att använda en speciell räddningsavbild eller en avbildning med ett körbart Linuxsystem på. Efter att du har startat upp från en sådan skiva bör du kunna montera ditt rotfilsystem och använda chroot in i det för att undersöka och rätta till problemet.

4.1.4.1. Felsökningsskal under uppstart med hjälp av initrd

Paketet initramfs-tools lägger till ett felsökningsskal[3] i de initrd som det skapar. Om initrd exempelvis inte kan montera ditt rot-filsystem kommer du att hamna i detta felsökningsskal som har vissa grundläggande kommandon tillgängliga för att spåra och möjligen laga felet.

Grundläggande saker att kontrollera är: närvaron av korrekta enhetsfiler i /dev; vilka moduler som läses in (cat /proc/modules); utdata för dmesg efter fel vid inläsning av drivrutiner. Utdata för dmesg kommer även att visa vilka enhetsfiler som har tilldelats till vilka diskar; du bör kontrollera det här mot utdata för echo $ROOT för att försäkra dig om att rotfilsystemet finns på den förväntade enheten.

Om du lyckas rätta till problemet, skriv exit för att avsluta felsökningsskalet och fortsätta uppstartsprocessen där felet inträffade. Självfallet behöver du även rätta till det underliggande problemet och generera om initrd-filen så att nästa uppstart inte misslyckas.

4.1.4.2. Felsökningsskal då systemet startas med systemd

Om uppstarten misslyckas under system är det möjligt att starta ett felsökningsskal genom att ändra kärnans kommandorad. Om grundläggande uppstart fungerar men några tjänster misslyckas med att starta kan det vara bra att utöka kärnans parametrar med systemd.unit=rescue.target.

Kärnans parameter systemd.unit=emergency.target tillhandahåller ett rotskal så tidigt som möjligt. Detta görs dock före rotfilsystemet har monterats med rättigheter för läsning och skrivning. Du behöver lösa det manuellt genom:

# 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. Förbered en säker miljö för uppgraderingen

[Viktigt]Viktigt

If you are using some VPN services (such as tinc) consider that they might not be available throughout the upgrade process. Please see Avsnitt 4.1.3, ”Förbered för att tjänster blir oåtkomliga”.

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. Kontrollera stöder för namngivning av nätverksgränssnitt

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 Avsnitt 5.1.5, ”Migrating from legacy network interface names” for migration instructions.

4.2. Kontrollera inställningar för APT

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.

Processen förutsätter även att ditt system har uppdaterats till den senaste punkutgåven av 9. Om du inte har gjort detta eller är osäker, följ instruktionerna i Avsnitt A.1, ”Uppgradering av ditt 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 Avsnitt A.2, ”Kontrollera dina APT sources.list-filer”.

Det är en bra idé att ta bort föråldrade paket från ditt system före uppgradering.

4.2.1. Avsnittet 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. Inofficiella källor

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.

Vissa användare kan ha inofficiella bakåtporterade nyare versioner av paket än de som finns i Debian installerade på sina stretch-system. Sådana paket kommer med stor sannolikhet att orsaka problem under en uppgradering eftersom de kan resultera i filkonflikter[4]. Avsnitt 4.5, ”Möjliga problem under uppgraderingen” har en del information om att hantera filkonflikter om de uppstår.

4.2.3. Inaktivera APT-nålning

Om du har konfigurerat APT att installera vissa paket från en annan distribution än den stabila (exempelvis från testing), kan du ändra din konfiguration för paketnålning i APT (lagrad i /etc/apt/preferences och /etc/apt/preferences.d/) för att tillåta uppgraderingen av paket till versionerna i den nya stabila utgåvan. Ytterligare information om APT-nålning kan hittas i apt_preferences(5).

4.2.4. Kontrollera paketstatus

Oavsett vilken metod som används för uppgradering, rekommenderas det att du kontrollerar statusen på paketen först och verifierar att alla paket är möjliga att uppgradera. Följande kommando kommer att visa de paket som har statusen Half-Installed eller Failed-Config, och de som har någon form av felstatus.

# dpkg --audit
    

Du kan även inspektera tillståndet för alla paket på ditt system med aptitude, eller med kommandon som

# dpkg -l | pager
    

eller

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

Det är önskvärt att ta bort eventuella tillbakahållna paket innan uppgradering. Om något paket är systemkritiskt och hålls tillbaka för uppgraderingen, kommer uppgraderingen att misslyckas.

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$'
    

Om du ändrat och byggt om ett paket lokalt, och inte bytte namn på det eller la in ett datum i versionen, måste du hålla tillbaka det för att förhindra att det uppgraderas.

Pakettillståndet hold(håll) för apt kan ändras med:

# echo paketnamn hold | dpkg --set-selections
    

Ersätt hold med unhold för att ändra hold-tillståndet.

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 Avsnitt A.2, ”Kontrollera dina APT sources.list-filer”.

4.3. Förbered källor för APT

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 utgåva kan ofta refereras till både dess kodnamn (t.ex. stretch, buster) och efter dess statusnamn (alltså oldstable, stable, testing, unstable). Att referera till en utgåva efter dess kodnamn har fördelen att du aldrig blir överraskad av en ny utgåva och av den anledningen används den här metoden här. Det kan naturligtvis betyda att du själv måste hålla utkik efter nya utgåvor. Om du istället använder statusnamnet kommer systemet automatiskt att uppgraderas utan förvarning genom att uppdatera en mängd paket så snart en utgivning har skett.

Debian tillhandahåller två sändlistor med kungörelser (på engelska) som kan hjälpa dig att hålla dig uppdaterad med vad som sker med Debians utgåvor:

4.3.1. Lägg till APT-källor från Internet

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.

Om din upplevelse blir bättre genom att använda en särskild spegel belägen närmare dig vad gäller nätverksavstånd så finns detta alternativ alltjämt kvar.

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

Anta till exempel att din närmaste Debian-spegel är http://mirrors.kernel.org. När den spegeln inspekteras med en webbläsare, kommer du att märka att huvudkatalogerna är organiserade så här:

      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

Observera att dists läggs till automatiskt och att argumenten efter utgåvans namn används för att utöka sökvägen till flera kataloger.

Återigen; efter att du lagt till källor behöver de tidigare arkiven avaktiveras.

4.3.2. Lägg till APT-källor för en lokal spegelserver

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

Din paketspegel kan exempelvis finnas under /var/local/debian/ och innehålla huvudkataloger som dessa:

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

Lägg till den här raden till din sources.list för att använda den här med apt:

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

Observera att dists läggs till automatiskt och att argumenten efter utgåvans namn används för att utöka sökvägen till flera kataloger.

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. Lägg till APT-källor från optisk media

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.

Se till att det finns en rad i /etc/fstab som aktiverar montering av din cd-rom-enhet på monteringspunkten /media/cdrom. Till exempel, om /dev/sr0 är din cd-rom-enhet, ska /etc/fstab innehålla en rad som denna:

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

Observera att det inte får finnas några blanksteg mellan orden noauto,ro i det fjärde fältet.

För att verifiera att det fungerar, mata in en cd och försök köra

# mount /media/cdrom    # det här monterar CD:n på monteringspunkten
# ls -alF /media/cdrom  # det här ska visa rotkatalog för CD:n
# umount /media/cdrom   # detta kommer att avmonterna CD:n
    

Kör sedan:

# apt-cdrom add
    

för varje Debian cd-rom med binärer som du har tillgång till för att lägga till data om varje cd till APT:s databas.

4.4. Uppgradering av paket

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

[Notera]Notera

apt är tänkt för interaktivanvändning och ska inte användas i skript. I skript bör apt-get som har fast hantering av utdata som passar sig för maskinell avläsning.

Glöm inte att montera alla nödvändiga partitioner (speciellt rot- och /usr-partitionerna) läs- och skrivbara, med ett kommando som det här:

# mount -o remount,rw /monteringsplats
  

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.

[Notera]Notera

Källrader för en cd-skiva kommer ofta att referera till unstable, även om det här är konstigt ska du inte ändra dem.

4.4.1. Spela in sessionen

Det rekommenderas starkt att du använder programmet /usr/bin/script för att spela in en utskrift av uppgraderingssessionen. Om problem uppstår har du en logg på vad som hände och, om det behövs, kan tillhandahålla exakt information i en felrapport. För att påbörja inspelningen, kör:

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

eller liknande. Om du behöver köra typescript-filen igen (exempelvis om du behövde starta om systemet) ska du använda olika step-värden för att peka ut vilket steg av uppgraderingen du loggar. Lägg inte typescript-filen i en temporär katalog såsom/tmp eller /var/tmp (filer i dessa kataloger kan tas bort under uppgraderingen eller under en omstart).

Typescript kommer även att låta dig granska informationen som har rullat ut från skärmen. Om du använder systemets konsoll kan du helt enkelt växla till VT2 (med Alt+F2) och, efter inloggning, använd less -R ~root/upgrade-buster.script för att visa filen.

Efter att du har färdigställt uppgraderingen, kan du stoppa script genom att ange exit vid prompten.

apt kommer också att logga förändrad status för paket i /var/log/apt/history.log och utdatat i terminalen i /var/log/apt/term.log. dpkg kommer dessutom att logga statusförändringar för alla paket i /var/log/dpkg.log. Om du använder aptitude så kommer status även att loggas i /var/log/aptitude.

Om du har använt flaggan -t för script kan du använda programmet scriptreplay för att spela upp hela sessionen:

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

4.4.2. Uppdatering av paketlistan

Först behöver listan över tillgängliga paket för den nya utgåvan hämtas. Det görs genom att köra:

# apt update
    
[Notera]Notera

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. Se till att du har tillräckligt med utrymme för uppgraderingen

Du måste kontrollera att ditt system har tillräckligt mycket ledigt hårddiskutrymme innan du påbörjar en fullständig systemuppgradering, som beskrivs i Avsnitt 4.4.5, ”Uppgradering av systemet”. Alla paket som behöver hämtas för installation kommer att hämtas från nätverket och lagras i /var/cache/apt/archives (och underkatalogen partial/ under hämtningen) så du måste se till att du har tillräckligt utrymme på filsystemspartitionen som innehåller /var/ för temporär hämtning av paketen som ska installeras på ditt system. Efter hämtningen kommer du antagligen behöva mer utrymme på de andra filsystemspartitionerna för att både installera de uppgraderade paketen (som kan innehålla större binärfiler eller mer data) och de nya paketen som kommer att inkluderas i uppgraderingen. Om ditt system inte har tillräckligt med utrymme kan det resultera i en ofullständig uppgradering som kan vara svår att rätta till.

apt kan visa detaljerad information om det diskutrymme som behövs för installationen. Du kan se denna uppskattning innan den faktiska uppgraderingen påbörjas genom att köra:

# apt -o APT::Get::Trivial-Only=true dist-upgrade
[ ... ]
XXX uppgraderade, XXX nyinstallerade, XXX att ta bort och XXX inte uppgraderade.
Behöver hämta xx.xMB arkiv.
Efter uppackning kommer AAAMB diskplats att användas.
    
[Notera]Notera

Körning av det här kommandot i början av uppgraderingsprocessen kan ge felaktigheter, anledningarna beskrivs i nästkommande avsnitt. I det fallet behöver du vänta tills du har gjort en minimal systemuppgradering enligt Avsnitt 4.4.4, ”Minimal systemuppgradering” innan du kör det här kommandot för att uppskatta diskutrymmet.

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

F: Du har inte tillräckligt mycket ledigt utrymme i /var/cache/apt/archives/.
    

Försök i så fallk frigöra utrymme innan uppgraderingen. 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 också använda deborphan, debfoster eller cruft för att hitta redundanta paket. Lita inte blint på vad dessa verktyg presenterar, speciellt inte om du använder ickestandardmässiga och aggresiva inställningar - då dessa är källor till falska resultat. Att manuellt gå igenom listorna är starkt rekomenderat innan du använder deras förslag för en upprensningaktion.

  • Ta bort paket som använder för mycket utrymme och inte behövs just nu (du kan alltid installera dem efter uppgraderingen). Om du har popularity-contest installerat kan du använda popcon-largest-unused för att ta fram en lista med paket som du inte använder men tar upp mycket plats. Du kan hitta vilka paket som tar upp mycket plats genom dpigs (tillhandahålls via debian-goodies-paketet) eller med wajig (kör wajig size). De kan också visas med aptitude i visuellt läge, välj VyerNy platt paketlista, tryck l och ange ~i, tryck S och ange ~installsize, så visas en praktisk lista att arbeta med.

  • Ta bort översättningar och lokalanpassade filer för systemet om de inte behövs. Du kan installera paketet localepurge och ställa in det så att endast de lokalanpassaningar som du vill ha sparas på systemet. Detta kommer att minska mängden hårddiskutrymme som används i /usr/share/locale.

  • Flytta systemloggar från /var/log/ till ett annat system, eller ta bort permanent.

  • Använd en temporär /var/cache/apt/archives: Du kan använda en temporär cachekatalog på ett annat filsystem (USB-diskenhet, temporär hårddisk, filsystem som redan används, ...).

    [Notera]Notera

    Använd inte en NFS-montering eftersom nätverksanslutningen kan avbrytas under uppgraderingen.

    Till exempel, om du har en USB-diskenhet monterad på /media/usbkey:

    1. ta bort paket som tidigare hämtats för installation:

      # apt clean
                      

    2. kopiera katalogen /var/cache/apt/archives till USB-diskenheten:

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

    3. montera den temporära cachekatalogen ovanpå den nuvarande:

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

    4. efter uppgraderingen återställer du originalkatalogen /var/cache/apt/archives:

      # umount /media/usbkey/archives
                      

    5. radera det som lämnats kvar i /media/usbkey/archives.

    Du kan skapa den temporära cachekatalogen på vilket filsystem som helst som finns monterat på ditt system.

  • Gör en minimal uppgradering av systemet (läs Avsnitt 4.4.4, ”Minimal systemuppgradering”) eller partiell uppgradering av systemet följt av en komplett uppgradering. Detta kommer att göra det möjligt att uppgradera systemet partiellt och ger dig möjlighet att tömma paket-cache före den kompletta uppgraderingen.

Note that in order to safely remove packages, it is advisable to switch your APT source-list files back to stretch as described in Avsnitt A.2, ”Kontrollera dina APT sources.list-filer”.

4.4.4. Minimal systemuppgradering

I vissa fall kan en komplett uppgradering (som beskrivs nedan) innebära att många paket som du vill behålla raderas. Vi rekommenderar därför en två-stegs-uppgradering. Först en minimal uppgradering för att bli av med konflikter och sedan en komplett uppgradering som beskrivs i Avsnitt 4.4.5, ”Uppgradering av systemet”.

För att göra detta, kör först:

# apt-get upgrade
    

Det här innebär att endast de paket som kan uppgraderas utan att kräva att några andra paket tas bort eller installeras uppgraderas.

Den minimala uppgraderingen kan också vara användbar när systemet har ont om utrymme och en komplett uppgradering inte kan utföras på grund av utrymmesskäl.

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. Uppgradering av systemet

När du genomfört föregående steg är du redo att fortsätta med huvuddelen av uppgraderingen. Kör:

# apt full-upgrade
    

Det här kommer att genomföra en fullständig uppgradering av systemet, alltså installera de senaste tillgängliga versionerna av samtliga paket och lösa alla tänkbara beroendeändringar mellan paketen i olika utgåvor. Om det är nödvändigt kommer det även att installera några nya paket (vanligtvis nya versioner av bibliotek eller paket som fått nya namn) samt ta bort eventuella föråldrade paket som står i konflikt med varandra.

Vid uppgradering från en uppsättning CD/DVD/BD-avbildningar, kommer du bli uppmanad att mata in specifika avbildningar vid olika tillfällen under uppgraderingen. Du kanske måste använda samma avbildning flera gånger; detta beror på att sammankopplade paket har blivit utspridda över avbildningarna.

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. Möjliga problem under uppgraderingen

Följande kapitel beskriver kända problem som kan uppstå under uppgradering till buster.

4.5.1. Dist-upgrade misslyckas med meddelandet Could not perform immediate configuration

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. Förväntade raderingar

Uppgraderingsprocessen till buster kan begära att paket tas bort från systemet. Exakt vilka paket som påverkas kommer att variera beroende på vilken uppsättning av paket som är installerade. Dessa Kommentarer till utgåvan ger allmänna råd om paketradering, men om du är osäker är det rekommenderat att du undersöker de paketborttagningar som föreslås av varje metod innan du fortsätter. Läs mer om vilka paket som klassificeras som föråldrade i buster i Avsnitt 4.8, ”Föråldrade paket”.

4.5.3. Konflikter vid förberoende-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 paketnamn
    

för att plocka bort några av de störande paketen, eller

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

I extrema fall kan du behöva tvinga fram en ominstallation med ett kommando som detta

# dpkg --install /sökväg/till/paketnamn.deb
    

4.5.4. Filkonflikter

Filkonflikter bör inte inträffa om du uppgraderar från ett rent stretch-system, men kan inträffa om du har inofficiella bakåtporteringar installerade. En filkonflikt resulterar i ett fel som:

Packar upp <paket-foo> (från <paket-foo-fil>) ...
dpkg: fel vid hantering av <paket-foo> (--install):
 försöker skriva över "<något-fil-namn>",
 som också finns i paketet <paket-bar>
dpkg-deb: underprocessen paste dödad av signal (Brutet rör)
 Fel uppstod vid hantering:
<paket-foo>
    

Du kan försöka lösa en filkonflikt genom att tvinga igenom borttagning av paketet som nämns på sista raden i felmeddelandet:

# dpkg -r --force-depends paketnamn
    

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

4.5.5. Inställningsförändringar

Under uppgraderingen kommer det att ställas frågor om konfiguration eller omkonfiguration av flera paket. När du blir tillfrågad om någon fil i katalogen /etc/init.d eller filen /etc/manpath.config ska ersättas av paketansvariges version, är det oftast nödvändigt att svara ja för att upprätthålla systemets tillstånd. Du kan alltid återgå till de gamla versionerna, eftersom de kommer att sparas med en .dpkg-old-ändelse.

Om du inte är säker på vad som behöver göras, skriv ner namnet på paketet eller filen och red ut saker och ting senare. Du kan söka i typescript-filen för att granska informationen som visades på skärmen under uppgraderingen.

4.5.6. Flytt av sessionen till konsoll

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.

För att återta konsollen där uppgraderingen körs behöver du använda Ctrl+Alt+F1 för att byta till den virtuella terminalen 1 om du är vid den grafiska startbilden eller använd Alt+F1 i lokala textlägeskonsollen. Ersätt F1 med den funktionstangent som har motsvarande nummer för den virtuella terminal som uppgraderingen körs i. Du kan också använda Alt+Vänsterpil eller Alt+Högerpil för att byta mellan de olika textlägeskonsollerna.

4.6. Uppgradering av kärna och relaterade paket

Det här avsnittet förklarar hur man uppgraderar sin kärna och identifierar tänkbara problem relaterade till den här uppgraderingen. Du kan antingen installera ett av paketen linux-image-* som tillhandahålls av Debian, eller bygga en anpassad kärna från källkod.

Observera att en hel del information i det här avsnittet är baserad på antagelsen att du kommer att använda en av de modulära Debiankärnorna tillsammans med i initramfs-tools och udev. Om du har valt att använda en anpassad kärna som inte kräver en initrd eller om du använder en annan initrd-generator kan delar av den här informationen vara irrelevant för dig.

4.6.1. Installera metapaketet för kärnan

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
    

Om du inte ser något utdata, behöver du installera ett nytt linux-image-paket för hand eller installera ett linux-image-metapaket. Kör följande kommando för att se en lista över tillgängliga linux-image-metapaket:

# 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 Avsnitt 5.1.11, ”Att göra efter uppgradering före omstart” 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 Avsnitt 4.4.4, ”Minimal systemuppgradering”.

4.7. Förberedelse inför nästa utgåva

Efter uppgraderingen finns det flera saker som du kan göra för att förbereda inför nästa utgåva.

4.7.1. Utrensning av borttagna paket

I allmänhet är det en bra idé att rensa bort paket markerade som borttagna helt. Detta är extra sant om paketet togs bort i en tidigare uppgradering (exempelvis vid uppgradering till stretch) eller om de tillhandahölls av tredjepartstillverkare. Särskilt äldre init.d-skript är visat sig problematiska.

[Observera]Observera

Bortrensning av paket tar vanligtvis öven bort dess loggfiler, dessa kan vara en bra idé att göra en säkerhetskopia av först.

Följande kommando visar en lista med alla borttagna paket som kan ha inställningsfiler kvar på systemet:

# 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 }')
    

Om du använder aptitude kan du också använda följande alternativ till kommandona ovan:

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

4.8. Föråldrade paket

buster introducerar många nya paket men pensionerar och utelämnar gamla paket som fanns i stretch. Det tillhandahålls inget uppgraderingssätt för dessa föråldrade paket. Ingenting hindrar dig från att fortsätta att använda ett föråldrat paket om så önskas men Debianprojektet kommer vanligtvis att sluta ge säkerhetsstöd för dessa ett år efter utgivningen av buster[5], och ger normalt inget annat stöd under tiden. Rekomendationen är att ersätta de med andra tillgängliga alternativ , om detta finns.

Det finns många anledningar till varför paket kan ha tagits bort från distributionen: de underhålls inte längre av upphovsmännen; det finns inte längre någon Debianutvecklare som är intresserad av att underhålla paketen; funktionaliteten de tillhandahåller har ersatts av en annan programvara (eller en ny version); eller så anses de inte längre vara lämpliga för buster på grund av fel i dem. I det senare fallet kan paket fortfarande finnas i unstable-distributionen.

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'
  

Debian Bug Tracking System tillhandahåller ofta ytterligare information om varför paketet blev borttaget. Du bör granska både de arkiverade felrapporterna för själva paketet och de arkiverade felrapporterna för pseudopaketet på ftp.debian.org.

Listan med föråldrade paket i Buster kan studeras i Avsnitt 5.1.9, ”Föråldrade paket”.

4.8.1. Tomma övergångspaket

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] Om debconf-prioriteringen är satt till en väldigt hög nivå kan du kanske undvika instälningsfrågor men tjänster som är beroende av standardsvar som inte fungerar för ditt system kommer inte att kunna starta.

[2] Exempelvis: DNS- eller DHCP-tjänster, speciellt om det inte finns någon redundans eller automatiskt byte av huvudtjänst. I fallet med DHCP kan slutanvändare bli nedkopplade från nätverket om lånperioden är kortare än tiden det tar för uppgraderingsprocessen att slutföra.

[3] Den här funktionen kan inaktiveras genom att lägga till parametern panic=0 till dina uppstartparametrar.

[4] Debians pakethanteringssystem tillåter vanligtvis inte att ett paket tar bort eller ersätta en fil som ägs av ett annat paket såvida det inte har definierats att ersätta det paketet.

[5] Eller så länge som ingen annan utgivning sker i den tidsperioden. Normalt sett stöds endast två stabila utgåvor åt gången.