Kapitel 4. Uppgraderingar från Debian 7 (wheezy)

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.2. Kontrollera systemets status
4.2.1. Kontrollera kommande åtgärder i pakethanteraren
4.2.2. Inaktivera APT-nålning
4.2.3. Kontrollera paketstatus
4.2.4. Avsnittet proposed-updates
4.2.5. Inofficiella källor och bakåtporteringar
4.3. Förbered källor för APT
4.3.1. Lägg till APT-källor på 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.5.7. Speciell hantering av specifika paket
4.6. Uppgradering av kärna och relaterade paket
4.6.1. Installera metapaketet för kärnan
4.6.2. Boot timing issues (waiting for root device)
4.7. Saker att göra före omstart
4.7.1. Purging removed packages
4.8. Förberedelse inför nästa utgåva
4.9. Utfasade komponenter
4.10. Föråldrade paket
4.10.1. Dummy-paket

4.1. Förberedelse inför uppgraderingen

We suggest that before upgrading you also read the information in Kapitel 5, Problemområden att känna till för utgåvan jessie. That chapter covers potential issues which are not directly related to the upgrade process but could still be important to know about before you begin.

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

The precise downtime for these services will vary depending on the number of packages being upgraded in the system, and it also includes the time the system administrator spends answering any configuration questions from package upgrades. Notice that if the upgrade process is left unattended and the system requests input during the upgrade there is a high possibility of services being unavailable[1] for a significant period of time.

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.

For this reason it makes sense to ensure that you will be able to recover if your system should fail to reboot or, for remotely managed systems, fail to bring up networking.

If you are upgrading remotely via an ssh link it is recommended that you take the necessary precautions to be able to access the server through a remote serial terminal. There is a chance that, after upgrading the kernel and rebooting, you will have to fix the system configuration through a local console. Also, if the system is rebooted accidentally in the middle of an upgrade there is a chance you will need to recover using a local console.

Det självklara är att först försöka starta om med din gamla kärna. Av olika anledningar är det inte garanterat att det fungerar.

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

Another option we'd like to recommend is to use the rescue mode of the jessie Debian Installer. The advantage of using the installer is that you can choose between its many installation 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.

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

The initramfs-tools package includes a debug shell[3] in the initrds it generates. If for example the initrd is unable to mount your root file system, you will be dropped into this debug shell which has basic commands available to help trace the problem and possibly fix it.

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

Uppgradering av distributionen bör göras antingen lokalt från en virtuell textkonsoll (eller en direktansluten serieterminal), eller från ett fjärrsystem via en ssh-anslutning.

[Viktigt]Viktigt

Om du använder någon form av VPN-tjänst (exempelvis tinc) är det möjligt att de inte är tillgängliga under uppgraderingsprocessen. Läs mer i Avsnitt 4.1.3, ”Förbered för att tjänster blir oåtkomliga”.

För att öka säkerhetsmarginalen vid en fjärruppgradering föreslår vi att du kör uppgraderingsprocesser i den virtuella konsollen som tillhandahålls av programmet screen, vilket gör att man säkert kan återansluta till sessionen och försäkra sig om att uppgraderingsprocessen inte avbryts även om fjärranslutningen avbryts.

[Viktigt]Viktigt

You should not upgrade using telnet, rlogin, rsh, or from an X session managed by xdm, gdm or kdm etc. on the machine you are upgrading. That is because each of those services may well be terminated during the upgrade, which can result in an inaccessible system that is only half-upgraded. Use of the GNOME application update-manager is strongly discouraged for upgrades to new releases, as this tool relies on the desktop session remaining active.

TODO: är verkligen gdm/kdm vettiga?
(vorlon) haha, nej, gdm är det inte; jag provade genom att starta om gdm
         på min live-session ;)

4.2. Kontrollera systemets status

Uppgraderingsprocessen som beskrivs i detta kapitel har tagits fram med uppgradering från ett rent 7-system, utan några tredjepartspaket, i åtanke. För störst tillförlitlighet i uppgraderingsprocessen bör du ta bort eventuella tredjepartsprogram från ditt system innan uppgraderingen påbörjas.

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

Processen förutsätter även att ditt system har uppdaterats till den senaste punkutgåven av 7. Om du inte har gjort detta eller är osäker, följ instruktionerna i Avsnitt A.1, ”Uppgradering av ditt wheezy-system”.

4.2.1. Kontrollera kommande åtgärder i pakethanteraren

I vissa fall kan användandet av apt-get för installation av paket istället för aptitude orsaka att aptitude anser att ett paket är oanvänt och markera det för radering. Tillse att ditt system är helt uppdaterat och rent innan du fortsätter med uppgraderingen.

På grund av detta bör du kontrollera om det finns några kommande åtgärder i pakethanteraren aptitude. Om ett paket är markerat för radering eller uppdatering i pakethanteraren kan det innebära att uppgraderingen drabbas negativt. Kom ihåg att detta endast kan åtgärdas om din sources.list fortfarande pekar på wheezy och inte på stable eller jessie, läs mer i Avsnitt A.2, ”Kontrollera dina källistor”.

För att genomföra denna granskning ska du köra aptitude i visuellt läge och trycka g (). Om det indikerar att det finns åtgärder att utföra kontrollera vad det är och lös dem eller kör föreslagen åtgärd. Om inga åtgärder föreslås visas ett meddelande, Inga paket är schemalagda för installation, borttagning eller uppgradering.

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

Observera att aptitude använder en annan metod för att registrera paket som hålls tillbaka än apt-get och dselect. Du kan identifiera paket som hålls tillbaka med aptitude med

# aptitude search "~ahold" 

Om du vill kontrollera vilka paket som hålls tillbaka vid användning av apt-get, ska du använda

# 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-get kan ändras med:

# echo paketnamn hold | dpkg --set-selections

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

Om det är någonting du behöver rätta till är det bäst att se till att din sources.list fortfarande refererar till wheezy vilket förklaras i Avsnitt A.2, ”Kontrollera dina källistor”.

4.2.4. Avsnittet proposed-updates

Om du har proposed-updates i din /etc/apt/sources.list ska du ta bort det innan du försöker uppdatera ditt system. Detta är en försiktighetsåtgärd för att minska risken att konflikter uppstår.

4.2.5. Inofficiella källor och bakåtporteringar

Om du har några icke-Debianpaket på ditt system, bör du tänka på att dessa kan tas bort under uppgraderingen på grund av beroendekonflikter. Om dessa paket blev installerade genom att lägga till extra paketarkiv i din /etc/apt/sources.list, bör du kontrollera om det arkivet även erbjuder paket som är byggda för jessie och ändra källraden på lämpligt sätt samtidigt som dina källrader för Debian-paket.

Vissa användare kan ha inofficiella bakåtporterade nyare versioner av paket än de som finns i Debian installerade på sina wheezy-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.3. Förbered källor för APT

Innan du påbörjar uppgraderingen måste du redigera konfigurationsfilen för paketlistor i apt, /etc/apt/sources.list.

Apt kommer att överväga alla paket som kan hittas via någon deb-rad, och installera paketet med högsta versionsnumret, där prioritet ges till de förstnämnda raderna (om du nyttjar flera redundanta speglar, skulle du vanligtvis först namnge en lokal hårddisk, sedan cd-skivor, och sedan HTTP/FTP-speglar).

En utgåva kan ofta refereras till både dess kodnamn (t.ex. wheezy, jessie) 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.

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

The default configuration is set up for installation from the main Debian Internet servers, but you may wish to modify /etc/apt/sources.list to use other mirrors, preferably a mirror that is closest to you in network terms.

Adresserna till Debians HTTP- eller FTP-speglar kan hittas på https://www.debian.org/distrib/ftplist (se avsnittet Listan över Debianspeglingar). HTTP-speglar är vanligtvis snabbare än FTP-speglar.

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

http://mirrors.kernel.org/debian/dists/jessie/main/binary-s390/...
http://mirrors.kernel.org/debian/dists/jessie/contrib/binary-s390/...

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

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

Note that the dists is added implicitly, and the arguments after the release name are used to expand the path into multiple directories.

Efter att du har lagt till dina nya källor ska du inaktivera de tidigare befintliga deb-raderna i sources.list genom att placera ett hash-tecken (#) framför dem.

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

Istället för att använda HTTP- eller FTP-paketspeglar, kanske du önskar ändra /etc/apt/sources.list till att använda en spegel på en lokal hårddisk (möjligen monterad över NFS).

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

/var/ftp/debian/dists/jessie/main/binary-s390/...
/var/ftp/debian/dists/jessie/contrib/binary-s390/...

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

deb file:/var/ftp/debian jessie main contrib

Note that the dists is added implicitly, and the arguments after the release name are used to expand the path into multiple directories.

Efter att du har lagt till dina nya källor ska du inaktivera de tidigare befintliga deb-raderna i sources.list genom att placera ett hash-tecken (#) framför dem.

4.3.3. Lägg till APT-källor från optisk media

Om du endast vill använda cd-skivor (eller DVD- eller Blu-ray-skivor), kommentera ut de befintliga deb-raderna i /etc/apt/sources.list genom att placera ett hash-tecken (#) framför dem.

Se till att det finns en rad i /etc/fstab som aktiverar montering av din cd-rom-enhet på monteringspunkten /cdrom (den exakta monteringspunkten /cdrom krävs för apt-cdrom). Till exempel, om /dev/scd0 är din cd-rom-enhet, ska /etc/fstab innehålla en rad som denna:

/dev/scd0 /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 /cdrom    # det här monterar cd-skivan på monteringspunkten
# ls -alF /cdrom     # det här ska visa cd-skivans rotkatalog
# umount /cdrom  # det här kommer att avmontera cd-skivan

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

Det rekommenderade sättet att uppgradera från tidigare Debian utgåvor är att använda pakethanteringsverktyget apt-get. I tidigare utgåvor har aptitude varit det rekommenderade verktyget men nya versioner av apt-get ger likvärdig funktionalitet och har visat sig mer konsekvent i beräkning av uppgraderingsvägen och dess resultat.

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

Efter det ska du kontrollera att källraderna för APT (i /etc/apt/sources.list) refererar antingen till jessie eller till stable. Det ska inte finnas några källrader som pekar till wheezy.

[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-jessiestep.time -a ~/upgrade-jessiestep.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-jessie.script för att visa filen.

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

TODO: (jfs) Could mention the script I provided in #400725 which is useful if
you have not dumped the timing file

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-jessie.time ~/upgrade-jessie.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-get update

4.4.3. Se till att du har tillräckligt med utrymme för uppgraderingen

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

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

Om du inte har tillräckligt med utrymme för uppgraderingen så kommer apt-get att varna dig på följande sätt:

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:

  • Ta bort paket som tidigare har hämtats ner för installation (i /var/cache/apt/archive). Rensa upp paketcachen genom att köra apt-get clean vilket kommer att ta bort alla tidigare hämtade paketfiler.

  • Ta bort bortglömda paket. Om du har använt aptitude eller apt-get för att manuellt installera paket i wheezy kommer dessa paket att vara markerade som manuellt installerade och kommer att kunna markera automatiskt installerade paket som redundanta när de inte längre behövs och därmed kan tas bort. Manuellt installerade paket undantas alltså från detta. För att ta bort automatiskt installerade paket som inte längre används kör följande kommando:

    # apt-get 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 flat 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-get 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.

Observera att du för att ta bort paket på ett säkert sätt, rekommenderas växla tillbaka din sources.list till wheezy vilket förklaras i Avsnitt A.2, ”Kontrollera dina källistor”.

4.4.4. Minimal systemuppgradering

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

To do this, first run:

# 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. 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-get dist-upgrade
[Notera]Notera

The upgrade process for some previous releases recommended the use of aptitude for the upgrade. This tool is not recommended for upgrades from wheezy to jessie.

This will perform a complete upgrade of the system, installing the newest available versions of all packages, and resolving all possible dependency changes between packages in different releases. If necessary, it will install some new packages (usually new library versions, or renamed packages), and remove any conflicting obsoleted packages.

Vid uppgradering från en uppsättning cd-skivor (eller dvd-skivor), kommer du bli uppmanad att mata in specifika cd-skivor vid olika tillfällen under uppgraderingen. Du kanske måste mata in samma cd-skiva flera gånger; detta beror på att sammankopplade paket har blivit utspridda över cd-skivorna.

Nya versioner av installerade paket, som inte kan uppgraderas utan att ändra installationsstatus för ett annat paket, kommer att lämnas kvar vid deras nuvarande version (visas som återhållna). Det kan lösas genom att antingen använda aptitude för att välja dessa paket för installation eller genom att prova apt-get -f install paket.

4.5. Möjliga problem under uppgraderingen

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

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

I några fall kan steget apt-get dist-upgrade misslyckas efter nedladdningen av paket med meddelandet:

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

Om detta händer bör exekvering av apt-get dist-upgrade -o APT::Immediate-Configure=0 tillåta uppgraderingen att fortsätta.

Another possible workaround for this problem is to temporarily add both wheezy and jessie sources to your sources.list and run apt-get update.

4.5.2. Förväntade raderingar

The upgrade process to jessie might ask for the removal of packages on the system. The precise list of packages will vary depending on the set of packages that you have installed. These release notes give general advice on these removals, but if in doubt, it is recommended that you examine the package removals proposed by each method before proceeding. For more information about packages obsoleted in jessie, see Avsnitt 4.10, ”Föråldrade paket”.

4.5.3. Konflikter vid förberoende-loop

Ibland är det nödvändigt att aktivera alternativet APT::Force-LoopBreak i APT för att temporärt ta bort ett systemkritiskt paket på grund av en Konflikt/Förberoende-slinga. Apt-get kommer att varna dig om det här och avbryta uppgraderingen. Du kan lösa det genom att ange alternativet -o APT::Force-LoopBreak=1 på kommandoraden för apt-get.

Det är möjligt att beroendestrukturen för ett system kan vara så skadat att det kräver handpåläggning. Vanligtvis innebär det att använda apt-get eller

# dpkg --remove paketnamn

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

# apt-get -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 wheezy-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

Efter att problemen har lösts, bör du kunna återuppta uppgraderingen genom att upprepa tidigare beskrivna apt-get-kommandon.

4.5.5. Inställningsförändringar

During the upgrade, you will be asked questions regarding the configuration or re-configuration of several packages. When you are asked if any file in the /etc/init.d directory, or the /etc/manpath.config file should be replaced by the package maintainer's version, it's usually necessary to answer yes to ensure system consistency. You can always revert to the old versions, since they will be saved with a .dpkg-old extension.

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 desktop systems when the display manager is restarted.

To recover the console where the upgrade was running you will have to use Ctrl+Alt+F1 (if in the graphical startup screen) or Alt+F1 (if in the local text-mode console) to switch back to the virtual terminal 1. Replace F1 with the function key with the same number as the virtual terminal the upgrade was running in. You can also use Alt+Left Arrow or Alt+Right Arrow to switch between the different text-mode terminals.

4.5.7. Speciell hantering av specifika paket

I de flesta fall kommer paket att uppgraderas utan besvär mellan wheezy och jessie. Det finns ett litet antal situationer där manuella ingrepp kan behövas, antingen före eller under uppgraderingen. Dessa beskrivs nedan paket-för-paket.

4.5.7.1. Sudo

TODO: Is this relevant for Jessie (or was it is a thing for Wheezy)?

Om du har justerat /etc/sudoers så ska du vara medveten om att det har införts ändringar i hur inställningarna för sudo hanteras. Standardinställningen /etc/sudoers inkluderar nu två direktiv:

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
#includedir /etc/sudoers.d

Inget av dessa direktiv läggs till i din /etc/sudoers automatiskt under uppgraderingen. (Du kommer fortfarande kunna köra sudo-kommandon genom att ange deras kompletta sökväg.) Förmodligen vill du flytta dina ändringar till katalogen /etc/sudoers.d och använda standardfilen /etc/sudoers som den distribueras. Exempelvis:

# mv /etc/sudoers /etc/sudoers.d/mychanges
# mv /etc/sudoers.dpkg-new /etc/sudoers

Du kan också manuellt justera /etc/sudoers.d/mychanges för att ta bort oönskade Defaults- och #includedir-direktiv. Använd visudo för detta:

# visudo -f /etc/sudoers.d/mychanges

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

När du kör dist-upgrade från wheezy till jessie, rekommenderas det starkt att du installerar ett linux-image-*-metapaket, om du inte gjort det förut. Det här paketet kan installeras automatiskt av dist-upgrade-processen. Du kan verifiera det genom att köra:

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

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

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

Om du är osäker på vilket paket du ska välja, kör uname -r och leta efter ett paket med liknande namn. Om du till exempel ser 2.6.32-5-amd64 rekommenderas det att du installerar linux-image-amd64. Du kan också använda apt-cache för att se den längre beskrivningen av varje paket som stöd i att välja bästa möjliga för ditt system. Exempelvis:

# apt-cache show linux-image-amd64

Du bör sedan använda apt-get install för att installera den. När den här nya kärnan har installerats bör du starta om vid nästa möjliga tillfälle för att dra nytta av den nya kärnversionen.

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.

Om möjligt är det till din fördel att uppgradera kärnpaketet separat från själva dist-upgrade för att minska chanserna för ett temporärt icke-startbart system. Observera att det här endast bör göras efter den minimala uppgraderingsprocessen, beskriven i Avsnitt 4.4.4, ”Minimal systemuppgradering”.

4.6.2. Boot timing issues (waiting for root device)

Om en initrd som skapats med initramfs-tools används för att starta upp systemet, kan i vissa fall skapandet av enhetsfiler av udev ske för sent för uppstartsskripten att agera på.

The usual symptoms are that the boot will fail because the root file system cannot be mounted and you are dropped into a debug shell:

Gave up waiting for root device.  Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
   - Check root= (did the system wait for the right device?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT!  /dev/something does not exist.  Dropping to a shell!
(initramfs) 

But if you check afterwards, all devices that are needed are present in /dev. This has been observed in cases where the root file system is on a USB disk or on RAID, especially if LILO is used.

Ett sätt att komma runt det här problemet på är att använda uppstartsparametern rootdelay=9. Värdet för tidsgränsen (i sekunder) kan behöva justeras.

4.7. Saker att göra före omstart

När apt-get dist-upgrade har kört färdigt är den formella uppgraderingen färdig, men det finns vissa andra saker som bör tas om hand före nästa omstart.

4.7.1. Purging removed packages

It is generally advisable to purge removed packages. This is especially true, if these have been removed in an earlier release upgrade (e.g. from the upgrade to wheezy) or from third-party vendors. In particular, old init.d scripts have been known to cause issues.

[Observera]Observera

Purging a package will generally also purge its log files, so you might want to back them up first.

The following command displays a list of all removed packages that may have configuration files left on the system (if any):

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

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

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

If you use aptitude, you can also use the following alternative to the commands above:

    $ aptitude search '~c'
    $ aptitude purge '~c'
  

4.8. 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.9. Utfasade komponenter

I och med nästa utgåva av Debian 9 (kodnamn stretch) kommer ett större antal funktioner att föråldras. Användare kommer att behöva byta till alternativ för att förhindra problem vid uppgradering till 9.

Det inkluderar följande funktioner:

4.10. Föråldrade paket

Introducing lot of new packages, jessie also retires and omits quite some old packages that were in wheezy. 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 jessie's release[5], and will not normally provide other support in the meantime. Replacing them with available alternatives, if any, is recommended.

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 jessie på grund av fel i dem. I det senare fallet kan paket fortfarande finnas i unstable-distributionen.

Att identifiera vilka paket på ett uppdaterat system som är föråldrade är enkelt eftersom pakethanteringsvertygen markerar dem så. Om du använder aptitude, kommer du att se en lista över dessa paket under Föråldrade och lokalt skapade paket.

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.

Lista med föråldrade paket inkluderar:

  • postgresql-9.1, successor is postgresql-9.4. Once the operating system upgrade is finished, you should plan to also upgrade your PostgreSQL 9.1 database clusters to the new PostgreSQL version 9.4 using the pg_upgradecluster tool.

  • python3.2, successor is python3.4. (Version 2.7 is supported in both wheezy and jessie.)

  • ruby1.8 and ruby1.9.1; successor is ruby2.1. Please install the package ruby to automatically track the current ruby version.

  • mplayer; alternatives are mplayer2, and mpv (new in jessie). Whilst the former is mostly compatible with mplayer in terms of command-line arguments and configuration (and adds a few new features too), the latter adds a lot of new features and improvements, and it is actively maintained upstream.

  • openoffice.org; please use libreoffice.

  • squid, successor is squid3.

4.10.1. Dummy-paket

Vissa paket från wheezy har delats upp i flera paket i jessie, ofta för att förbättra systemunderhållet. För att göra uppgraderingssättet enklare i sådana fall, tillhandahåller jessie ofta så kallade dummy-paket: tomma paket som har samma namn som det gamla paketet i wheezy med beroenden som gör att de nya paketen blir installerade. Dessa dummy-paket anses som redundanta paket efter uppgraderingen och kan med säkerhet tas bort.

De flesta (men inte alla) dummy-paket har beskrivningar som indikerar deras syfte. Paketbeskrivningar för dummy-paket är inte enhetliga, dock kan deborphan med flaggan --guess-* (ex. --guess-dummy) vara användbara för att identifiera dem på ditt system. Observera att vissa dummy-paket inte är tänkta att tas bort efter en uppgradering utan används istället för att hålla kontroll på den för närvarande tillgängliga versionen av ett program över tid.



[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] For example: DNS or DHCP services, especially when there is no redundancy or failover. In the DHCP case end-users might be disconnected from the network if the lease time is lower than the time it takes for the upgrade process to complete.

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