Indholdsfortegnelse
Du bør læse informationen i Kapitel 5, Ting man skal være opmærksom på i forbindelse med stretch, 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.
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.
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 stretch, så en genstart er nødvendig. Typisk vil dette udføres efter opgraderingen er afsluttet.
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.
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 stretch 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.
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.
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 /
Yderligere information om fejlsøgning af en ødelagt opstart under systemd kan findes i artiklen Diagnose for opstartsproblemer.
Distributionsopgraderingen bør udføres enten lokalt fra en virtuel konsol i teksttilstand (eller en direkte forbundet seriel terminal), eller eksternt via en ssh-lænke.
![]() | Vigtigt |
---|---|
Hvis du bruger VPN-tjenester (såsom |
For at opnå en ekstra sikkerhedsmargen når der opgraderes eksternt, så foreslår vi, at du kører opgraderingsprocesser i den virtuelle konsol tilbudt af programmet screen, som aktiverer sikker gentilslutning og sikrer at opgraderingsprocessen ikke afbrydes selv hvis den eksterne tilslutningsproces mislykkes.
![]() | Vigtigt |
---|---|
Du bør ikke opgradere med telnet, rlogin, rsh eller fra en X-session håndteret af xdm, gdm eller kdm etc. på maskinen du opgraderer. Dette skyldes at hver af disse tjenester kan bliver termineret under opgraderingen, hvilket kan resultere i et utilgængeligt system som kun er halvt opgraderet. Brug af GNOME-programmet update-manager frarådes på det kraftigste for opgraderinger til nye versioner, da dette værktøj afhænger af at skrivebordet forbliver aktivt. |
Opgraderingsprocessen - beskrevet i dette kapitel - er blevet designet for opgraderinger fra “rene” jessie-systemer uden tredjepartspakker. For den største troværdighed i opgraderingsprocessen, kan du fjerne tredjepartspakker fra dit system, før du begynder opgraderingen.
Below there are two methods for finding such packages by 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
Direkte opgraderinger fra Debianudgivelser ældre end 8 (jessie) er ikke understøttet. Følg venligst instruktionerne i Udgivelsesnoter for Debian 8 for at opgradere til 8 først.
Denne procedure antager også, at dit sytem er blevet opdateret til den sidste punktversion af jessie. Hvis du ikke har udført dette eller er usikker, så følg instruktionerne i Afsnit A.1, “Opgradering af dit jessie-system”.
I nogle tilfælde kan brugen af apt-get til installation af pakker i stedet for aptitude få aptitude til at anse en pakke som “ubrugt” og planlægge den for fjernelse. Generelt, skal du sikre dig, at systemet er fuldt opdateret og “rent” før du fortsætter med opgraderingen.
På grund af dette bør du gennemse om der er nogle afventende handlinger i
pakkehåndteringen aptitude. Hvis en pakke er planlagt til
fjernelse eller opdatering i pakkehåndteringen, kan det negativt påvirke
opgraderingsproceduren. Bemærk at rettelse af dette kun er muligt hvis din
sources.list
stadig peger på
jessie og ikke på stable
eller stretch; se Afsnit A.2, “Kontroller din kildeliste”.
To perform this review, launch aptitude in full-terminal mode and press g (“Go”). If it shows any actions, you should review them and either fix them or implement the suggested actions. If no actions are suggested you will be presented with a message saying “No packages are scheduled to be installed, removed, or upgraded”.
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).
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.
Bemærk at aptitude bruger en anden metode for registrering af pakker, som er på hold end apt-get og dselect. Du kan identificere pakker på hold for aptitude med
# aptitude search "~ahold"
Hvis du ønsker at kontrollere hvilke pakker du havde på hold for apt-get, så skal du bruge
# 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.
Pakketilstanden “hold” for apt-get kan ændres med:
# echo pakkenavn
hold | dpkg --set-selections
Erstat hold
med install
for at fjerne
tilstanden “hold”.
Hvis der er noget som skal rettes, så er det bedst at sikre sig at din
sources.list
stadig refererer til jessie som
forklaret i Afsnit A.2, “Kontroller din kildeliste”.
Hvis du har afsnittet proposed-updates
i din
/etc/apt/sources.list
-fil, så skal du fjerne afsnittet
fra den fil før du forsøger en opgradering af dit system. Dette er en
forberedelse for at reducere sandsynligheden for konflikter.
Hvis du har pakker, som ikke stammer fra Debian, på dit system, så skal du
være opmærksom på at disse kan blive fjernet under opgraderingen på grund af
afhængigheder i konflikt. Hvis disse pakker blev installeret ved at tilføje
et ekstra pakkearkiv i din /etc/apt/sources.list
, så
skal du kontrollere om dette arkiv også tilbyder pakker kompileret for
stretch og ændre kildelinjen tilsvarende på samme tidspunkt som dine
kildelinjer for Debianpakker.
Nogle brugere kan have uofficielle tilbageporterede “nyere” versioner af pakker som i Debian er installeret på deres jessie-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.
Før du starter opgraderingen skal du opsætte apt
's konfigurationsfil for pakkelister,
/etc/apt/sources.list
.
apt
will consider all packages that
can be found via any “deb
” line, and install
the package with the highest version number, giving priority to the first
line in the file (thus where you have multiple mirror locations, you'd
typically first name a local hard disk, then CD-ROMs, and
then remote mirrors).
En udgivelse kan ofte refereres til både efter dets kodenavn
(f.eks. jessie
,
stretch
) 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:
By subscribing to
the Debian announcement mailing list, you will receive a
notification every time Debian makes a new release. Such as when
stretch
changes from e.g. stable
to oldstable
.
By subscribing to the Debian security announcement mailing list, you will receive a notification every time Debian publishes a security announcement.
Standardkonfigurationen er opsat til installation fra internettes
hovedservere for Debian, men du kan ændre
/etc/apt/sources.list
til at bruge andre spejle, helst
til et spejl som er tæt på dig netværksmæssigt.
Debian mirror addresses can be found at https://www.debian.org/distrib/ftplist (look at the “list of Debian mirrors” section). Note that FTP mirrors are being discontinued - see Afsnit A.2, “Kontroller din kildeliste”.
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/stretch/main/binary-mipsel/... http://mirrors.kernel.org/debian/dists/stretch/contrib/binary-mipsel/...
For at bruge dette spejl med apt
, så
kan du tilføje denne linje til din sources.list
-fil:
deb http://mirrors.kernel.org/debian stretch main contrib
Bemærk at “dists
” tilføjes implicit, og
parametrene efter udgivelsesnavnet bruges til at udvide stien til flere
mapper.
Efter tilføjelse af dine nye kilder, så deaktiver de tidligere
“deb
”-liner i
sources.list
ved at placere en havelåge
(#
) foran dem.
Instead of using HTTP package mirrors, you may wish to modify
/etc/apt/sources.list
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/stretch/main/binary-mipsel/... /var/local/debian/dists/stretch/contrib/binary-mipsel/...
For at bruge dette med apt
, så
tilføj denne linje til din sources.list
-fil:
deb file:/var/local/debian stretch main contrib
Bemærk at “dists
” tilføjes implicit, og
parametrene efter udgivelsesnavnet bruges til at udvide stien til flere
mapper.
Efter tilføjelse af dine nye kilder, så deaktiver de tidligere
“deb
”-liner i
sources.list
ved at placere en havelåge
(#
) foran dem.
Hvis du ønsker kun at bruge cd'er (eller dvd'er eller
Blu-ray-diske), så udkommenter de eksisterende
“deb
”-linjer i
/etc/apt/sources.list
ved at placere en havelåge
(#
) foran dem.
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 # dette vil montere cd'en på monteringspunktet # ls -alF /media/cdrom # dette bør vise cd'ens rodmappe # umount /media/cdrom # dette vil afmontere cd'en
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.
The recommended way to upgrade from previous Debian releases is to use the package management tool apt-get. In previous releases, aptitude was recommended for this purpose, but recent versions of apt-get provide equivalent functionality and also have proven to more consistently give the desired upgrade results.
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 /monteringspunkt
Efterfølgende skal du dobbeltkontrollere at APT-kildepunkterne (i
/etc/apt/sources.list
) refererer enten til
“stretch
” eller til
“stable
”. Der bør ikke være kildepunkter,
der peget på jessie.
![]() | Bemærk |
---|---|
Kildelinjer for en cd-rom kan undertiden referere til
“ |
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-stretchstep
.time -a ~/upgrade-stretchstep
.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-stretch.script
for at se filen.
Efter at du har færdiggjort opgraderingen, så kan du stoppe
script ved at taste exit
i prompten.
Hvis du har brugt tilvalget -t for script så kan du bruge programmet scriptreplay for at afspille hele sessionen:
# scriptreplay ~/upgrade-stretch.time ~/upgrade-stretch.script
Først skal listen over tilgængelige pakker for den nye udgivelse hentes. Dette gøres ved at køre:
# apt-get update
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-get kan vise dig detaljeret information om diskpladsen krævet for installationen. Før udførsel af opgraderingen, kan du se dette estimat ved at køre:
# apt-get -o APT::Get::Trivial-Only=true dist-upgrade [ ... ] XXX opgraderes, XXX nyinstalleres, XXX fjernes og XXX bliver ikke opgraderet. Skal hente xx.xMB fra arkiverne. Efter denne operation vil AAAMB yderligere diskplads være brugt.
![]() | 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. |
Hvis du ikke har nok plads for opgraderingen, så vil apt-get advare dig med en besked:
E: Du har ikke nok ledig plads i /var/cache/apt/archives/.
I denne situation, så skab først ledig plads. Du kan:
Fjerne pakker som tidligere er blevet hentet for installation (i
/var/cache/apt/archives
). Oprydning i
pakkemellemlageret med apt-get clean vil fjerne alle
tidligere hentede pakkefiler.
Fjern glemte pakker. Hvis du har brugt aptitude eller apt-get til manuelt at installere pakker i jessie vil programmet have styr på hvilke pakker du har installeret manuelt og vil kunne markere forældet på de pakker der er trukket ind af afhængigheder alene og som ikke længere er krævet hvis en pakke er blevet fjernet. De vil ikke markere pakker til fjernelse, hvis du har installeret dem manuelt. For at fjerne automatisk installerede pakker som ikke længere bruges, kør:
# apt-get 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
→ , 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 |
---|---|
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
:
fjern pakkerne som tidligere er blevet hentet for installation:
# apt-get clean
kopier mappen /var/cache/apt/archives
til
USB-drevet:
# cp -ax /var/cache/apt/archives /media/usbkey/
monter den midlertidige mappe for mellemlageret på den aktuelle:
# mount --bind /media/usbkey/archives /var/cache/apt/archives
efter opgraderingen, gendan den originale
/var/cache/apt/archives
-mappe:
# umount /media/usbkey/archives
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.
Bemærk at for sikkert at fjerne pakker, så er det tilrådeligt at skifte din
sources.list
tilbage til jessie som beskrevet
i Afsnit A.2, “Kontroller din kildeliste”.
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
![]() | Bemærk |
---|---|
Opgraderingsprocessen for tidligere udgivelser anbefalede brugen af aptitude til opgraderingen. Dette værktøj er ikke anbefalet for opgraderinger fra jessie til stretch. |
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.
Hvis pakken apt-listchanges
er
installeret, så vil den (i sin standardkonfiguration) vise vigtig
information om opgraderede pakker i en tekstviser. Tryk på
q efter du har læst informationen for at afslutte
tekstviseren og fortsæt opgraderingen.
Når du har udført de tidligere trin, er du nu klar til at fortsætte med hoveddelen af opgraderingen. Kør:
# apt-get dist-upgrade
![]() | Bemærk |
---|---|
Opgraderingsprocessen for tidligere udgivelser anbefalede brugen af aptitude til opgraderingen. Dette værktøj er ikke anbefalet for opgraderinger fra jessie til stretch. |
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.
Nye versioner af aktuelt installerede pakker, som ikke kan opgraderes uden
at ændre installationsstatus for andre pakker vil blive efterladt med deres
aktuelle version (vist som “held back”). Dette kan løses ved
enten at bruge aptitude til at vælge disse pakker for
installation elelr ved at prøve apt-get install
.
package
De følgende afsnit beskriver kendte problemstillinger, som kan opstå under en opgradering til stretch.
I nogle tilfælde kan trinet apt-get dist-upgrade fejl efter overførsel af pakker med:
E: Kunne ikke udføre øjeblikkelig konfiguration på »package
«. Se venligt man 5 apt.conf under APT::Immediate-Configure for detaljer.
Hvis det sker, så bør kørsel af apt-get dist-upgrade -o APT::Immediate-Configure=0 i stedet for tillade at opgraderingen fortsætter.
En anden mulig omgåelse af dette problem er midlertidig at tilføje både
jessie- og stretch-kilder til din
sources.list
og køre apt-get update.
Opgraderingsprocessen for stretch 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 stretch, se Afsnit 4.8, “Forældede pakker”.
Undertiden er det nødvendigt at aktivere tilvalget
APT::Force-LoopBreak
i ATP for midlertidigt at kunne
fjerne en essentiel pakke på grund af en konflikt/forhåndsafhængig
loop. apt-get vil påminde dig om dette og afbryde
opgraderingen. Du kan omgå dette ved at angive tilvalget -o
APT::Force-LoopBreak=1
på kommandolinjen for
apt-get.
Det kan ske, at et systems afhængighedsstruktur kan være så ødelagt, at det kræver manuel intervention. Normalt betyder dette brug af apt-get eller
# dpkg --remove pakkenavn
for at eliminere nogle af de stridende pakker, eller
# apt-get -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
Filkonflikter bør ikke opstå hvis du opgraderer fra et “rent” jessie-system, men kan opstå hvis du har uofficielle backports installeret. En filkonflikt vil resultere i en fejl såsom:
Udpakker<package-foo>
(fra<package-foo-file>
) ... dpkg: fejl under behandling af<package-foo>
(--install): forsøger at overskrive »<some-file-name>
«, som også er i pakke<package-bar>
dpkg-deb: indsætning af underproces dræbt af signal (ødelagt datakanal) Der opstod fejl under behandlingen:<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 pakkenavn
Efter rettelse, bør du være i stand til at genoptage opgraderingen ved at gentage de tidligere beskrevne kommandoer for apt-get.
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.
Hvis du kører opgraderingen med systemets lokale konsol, så vil du måske opleve, at under visse steder af opgraderingen så skifter konsollen over til en anden visning og du mister synlighed over opgraderingsprocessen. For eksempel vil dette ske på skrivebordssystemer når skærmhåndteringen genstartes.
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.
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.
Når du laver en dist-upgrade (distributionsopgradering) fra jessie til stretch, så anbefales det, at du installerer en linux-image-*-metapakke, hvis du ikke har gjort det tidligere. Disse metapakker vil automatisk placere en nyere version af kernen under opgraderinger. Du kan verificere om du har en installeret ved at køre:
# 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 “2.6.32-5-amd64
”, it is recommended
that you install linux-image-amd64
.
You may also use apt-cache to see a long description of
each package in order to help choose the best one available. For example:
# apt-cache show linux-image-amd64
Du skal så bruge apt-get install
til at installere
den. Når først denne nye kerne er installeret, så skal du genstarte ved
næste tilgængelige mulighed for at få fordelene tilbudt af den nye
kerneversion. Kig dog venligst på Afsnit 5.1.4, “Ting at gøre efter opgradering og før genstart” før
du udfører den første genstart efter opgraderingen.
For de mere eventyrllystne er der en nem måde at kompilere din egen
tilpasset kerne på Debian. Installer kernekilderne, tilbudt i pakken
linux-source
. Du kan også gøre brug
af målet deb-pkg
tilgængelig i kildernes makefile for
bygning af en binær pakke. Yderligere information kan findes i Håndbogen for Debians
Linux-kerne, som også kan findes i pakken debian-kernel-handbook
.
Hvis muligt så er det en fordel for dig at opgradere kernepakken adskilt fra
hoveddelen af dist-upgrade
for at reducere risikoen for
et midlertidigt system der ikke kan startes op. Bemærk at dette kun skal
gøres efter den minimale opgraderingsproces beskrevet i Afsnit 4.4.4, “Minimal systemopgradering”.
Efter opgraderingen er der nogle ting, du kan forberede for din næste udgivelse.
Fjern nye redundante og forældede pakker som beskrevet i Afsnit 4.4.3, “Sikr dig, at du har tilstrækkelig med plads til opgraderingen” og Afsnit 4.8, “Forældede pakker”. Du bør gennemgå hvilke konfigurationsfiler de bruger og overveje at fjerne pakkerne, så deres konfigurationsfiler forsvinder. Se også Afsnit 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 jessie) eller de kom fra en tredjeparts leverandør. Specielt gamle init.d-skripter vides at kunne medføre problemer.
![]() | 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 }'
Pakkerne kan fjernes ved at bruge apt-get purge. Hvis vi antager du vil fjerne dem alle på en gang, så kan du bruge den følgende kommando:
# apt-get 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'
Introducing lots of new packages, stretch also retires and omits quite a few old packages that were in jessie. 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 stretch'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 stretch på grund af fejl i dem. I det sidste tilfælde, kan pakker stadig være til stede i distributionen “unstable”.
Detektering af hvilke pakker på et opdateret system som er “obsolete” (forældet) er meget nemt da pakkehåndteringernes brugerflader vil markere dem som sådan. Hvis du bruger aptitude, så vil du se en liste over disse pakker under punktet “Forældede og lokalt oprettede pakker”.
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 Stretch, please refer to Afsnit 5.1.3, “Værd at bemærke forældede pakker”.
Nogle pakker fra jessie er blevet delt op i flere pakker i stretch, ofte for at forbedre vedligeholdelsen. For at gøre opgraderingsstien nemmere i sådanne tilfælde, tilbyder stretch ofte “overgangspakker”: Tomme pakker som har det samme navn som den gamle pakke i jessie med afhængigheder som medfører, at de nye pakker bliver installeret. Disse “overgangspakker” anses for at ævre redundante efter opgraderingen og kan fjernes igen.
De fleste (men ikke alle) tomme pakkers beskrivelser indikerer deres
formål. Pakkebeskrivelser for tomme pakker er dog ikke ensartet, så du kan
også finde deborphan med tilvalgene
--guess-
(f.eks. *
--guess-dummy
) nyttige til at detektere dem i dit
system. Bemærk at nogle tomme pakker ikke skal fjernes efter en opgradering,
men i stedet bruges til at holde styr på den aktuelle tilgængelig version af
et program over tid.
[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.