Obsah
Odporúčame, aby ste si pred aktualizáciou prečítali aj informácie v časti Kapitola 4, Problémy vyskytujúce sa v jessie, ktorá pokrýva možné problémy nie priamo sa týkajúce procesu aktualizácie, ale o ktorých je dôležité vedieť predtým, než začnete.
Dôrazne odporúčame, aby ste pred aktualizáciou systému vykonali úplnú zálohu alebo aspoň zálohovali všetky dáta a konfiguračné údaje, ktoré si nemôžete dovoliť stratiť. Aktualizačné nástroje a proces aktualizácie sú dosť spoľahlivé, ale chyba hardvéru uprostred aktualizácie môže spôsobiť ťažké poškodenie systému.
Hlavné veci, ktoré budete chcieť zálohovať sú obsah
/etc
, /var/lib/dpkg
,
/var/lib/aptitude/pkgstates
a výstup dpkg
--get-selections "*"
(úvodzovky sú dôležité). Ak používate na
správu balíkov vášho systému aptitude, budete si tiež
chcieť zálohovať /var/lib/aptitude/pkgstates
.
Samotný proces aktualizácie nemení nič v adresári
/home
. Ale niektoré aplikácie (napr. časti balíka
Mozilla a pracovné prostredia GNOME a KDE) prepisujú existujúce nastavenia
používateľa novými štandardnými hodnotami, keď používateľ prvýkrát spustí
novú verziu aplikácie. Preventívne si môžete urobiť zálohu skrytých súborov
a adresárov (súbory začínajúce bodkou) v domovských adresároch
používateľov. Táto záloha môže pomôcť v obnovení alebo opätovnom vytvorení
pôvodných nastavení. Tiež o tom možno budete chcieť informovať používateľov.
Všetky operácie inštalácie balíkov musíte spúšťať s oprávnením
superpoužívateľa, takže sa buď prihláste ako root
alebo
použite príkaz su alebo sudo na
získanie potrebných oprávnení.
Aktualizácia má niekoľko predpokladov. Pred jej vykonaním by ste mali skontrolovať, či sú splnené.
Je rozumné informovať všetkých používateľov o plánovaných aktualizáciách, hoci používatelia pristupujúci k systému pomocou ssh pripojenia by si toho počas aktualizácie nemuseli mnoho všimnúť a mali by byť schopní pokračovať v práci.
Ak si želáte vykonať ďalšie opatrenia, pred aktualizáciou zálohujte alebo
odpojte /home
.
Pri aktualizácii na jessie budete musieť vykonať aktualizáciu jadra, takže bude potrebné reštartovať systém. Spravidla sa to robí po dokončení aktualizácie.
Výš systém môže ponúkať služby poskytované balíkmi, ktoré sa budú aktualizovať. V tom prípade, prosím, pamätajte, že počas aktualizácie budú služby zastavené, pokým sa príslušné balíky nenahradia a nenakonfigurujú. V tejto dobe tieto službu nebudú dostupné.
Presná odstávka týchto služieb bude závisieť na počte balíkov systému, ktoré sa aktualizujú a predĺži sa tiež o čas, ktorý bude správca potrebovať na to, aby odpovedal na konfiguračné otázky od rôznych aktualizovaných balíkov (ak sa vyskytnú). Pamätajte, že ak necháte bežať proces aktualizácie bez dozoru a systém bude počas aktualizácie požadovať vstup, je veľká pravdepodobnosť nedostupnosti služieb[1] po nezanedbateľnú dobu.
Ak systém, ktorý aktualizujete, poskytuje nevyhnutné služby pre vašich používateľov alebo sieť[2], môžete čas odstávky znížiť vykonaním minimálnej aktualizácie systému ako popisuje Oddiel 3.4.4, “Minimálna aktualizácia systému”, následne aktualizáciou jadra a reštartom, a potom aktualizovať balíky súvisiace s vašimi nevyhnutnými službami. Aktualizáciu týchto balíkov pred vykonaním úplnej aktualizácie popisuje Oddiel 3.4.5, “Aktualizácia systému”. Takto môžete zabezpečiť, že tieto nevyhnutné služby pobežia a budú dostupné počas úplnej aktualizácie a tak sa zníži doba ich nedostupnosti.
Hoci Debian sa snaží zabezpečiť, aby váš systém zostal po celú dobu v spustiteľnom stave, vždy existuje riziko, že po reštartovaní systému po aktualizácii môžete naraziť na problémy. Známe potenciálne problémy sú zdokumentované v tejto a ďalšej kapitole týchto Poznámok k vydaniu.
Z toho dôvodu sa uistite, že budete schopní obnoviť systém v prípade, že sa mu nepodarí znova naštartovať alebo, v prípade systémov spravovaných na diaľku, ak sa nepodarí aktivovať sieťové pripojenie.
Ak vykonávate vzdialenú aktualizáciu prostredníctvom spojenia ssh, odporúčame, aby ste vykonali nutné opatrenia, aby ste mali prístup k serveru prostredníctvom vzdialeného sériového terminálu. Existuje totiž možnosť, že po aktualizácii jadra a reštartovaní budete musieť opraviť konfiguráciu systému z lokálnej konzoly. Tiež v prípade, že sa systém náhodou uprostred aktualizácie reštartuje, existuje možnosť, že budete musieť opraviť konfiguráciu systému z lokálnej konzoly.
Vo všeobecnosti odporúčame použitie záchranného režimu inštalátora Debianu jessie. Výhodou použitia inštalátora je, že si môžete vybrať medzi jeho mnohými spôsobmi inštalácie taký, ktorý sa najviac hodí vašej situácii. Viac informácií nájdete v kapitole 8 Inštalačnej príručky „Obnova pokazeného systému“ a v Debian Installer FAQ.
Ak sa to nepodarí, budete potrebovať iný spôsob ako naštartovať váš systém,
aby ste k nemu získali prístup a mohli ho opraviť. Jednou z volieb je použiť
špeciálny záchranný obraz alebo linuxové live CD. Po naštartovaní systému z
neho by ste mali byť schopní pripojiť svoj koreňový súborový systém, vykonať
doňho chroot
a opraviť problém.
Balík initramfs-tools
obsahuje
ladiaci shell[3] v obrazoch initrd, ktoré
generuje. Ak napríklad initrd nie je schopný pripojiť váš koreňový súborový
systém, dostanete sa do tohto ladiaceho shellu, ktorý má základné príkazy na
to, aby vám pomohol vystopovať problém a prípadne ho opraviť.
Základné veci, ktoré by ste mali skontrolovať: prítomnosť správnych súborov
zariadení v /dev
; aké moduly sú načítané (cat
/proc/modules
); chyby pri načítaní ovládačov vo výstupe
dmesg. Výstup príkazu dmesg vám tiež
ukáže ktoré súbory zariadení boli pridelené ktorým diskom; mali by ste si to
overiť porovnaním s výstupom echo $ROOT
, aby ste sa
uistili, že koreňový systém je na zariadení, na ktorom ho očakávate.
Ak sa vám podarí opraviť problém, napísaním exit
opustíte
ladiaci shell a proces zavádzania bude pokračovať od bodu, kde bol
prerušený. Samozrejme budete tiež musieť opraviť podstatu problému a znova
vytvoriť initrd, aby nasledujúci štart už nezlyhal.
Ak zavedenie systému pod systemd zlyhá, je root shell na ladenie získate
zmenou príkazového riadka jadra. Ak zavedenie systému ako také uspeje, ale
nepodarí sa spustiť niektoré služby, môže byť užitočné pridať k parametrom
jadra systemd.unit=rescue.target
.
V opačnom vám prípade parameter jadra
systemd.unit=emergency.target
poskytne root shell v
najbližšom možnom momente. Toto sa však deje pred pripojením koreňového
súborového systému s povoleniami na čítanie aj zápis. To budete musieť
urobiť ručne pomocou:
mount -o remount,rw /
Ďalšie informácie o ladení pokazeného zavádzania systému používajúceho systemd nájdete v článku Diagnostikovanie problémov pri štarte .
Ak všetko ostatné zlyhá, je možné, že sa vám podarí zaviesť systém pomocou
starého init systému sysvinit. To vyžaduje, aby bol ešte nainštalovaný balík
sysvinit
a aby bol binárny súbor
/lib/sysvinit/init
súčasťou vášho initramfs. Ak sú
splnené tieto požiadavky, pridajte
init=/lib/sysvinit/init
medzi parametre príkazového
riadka jadra a zavedenie systému prebehne pomocou binárneho súboru sysvinit.
Aktualizáciu distribúcie by ste mali vykonávať buď lokálne z textovej virtuálnej konzoly (alebo z priamo pripojeného sériového terminálu) alebo vzdialene pomocou ssh spojenia.
![]() | Dôležité |
---|---|
Ak používate nejaké služby VPN (ako |
Ako ďalšiu bezpečnostnú poistku pri vzdialenej aktualizácii odporúčame, aby ste spúšťali proces aktualizácie vo virtuálnej konzole programu screen, ktorý vám umožní bezpečné znovupripojenie a zabezpečí, že sa proces aktualizácie nepreruší ani v prípade zlyhania vzdialeného spojenia.
![]() | Dôležité |
---|---|
Nemali by ste vykonávať aktualizáciu pomocou príkazov telnet, rlogin, rsh ani z relácie X, ktorú spravuje xdm, gdm či kdm atď na stroji, ktorý aktualizujete. To je z dôvodu, že každá z týchto služieb môže byť počas aktualizácie prerušená, čo môže mať za následok neprístupný systém, ktorý je iba spolovice aktualizovaný. Dôrazne sa neodporúča použitie aplikácie update-manager na aktualizáciu na nové vydania, pretože tento nástroj závisí na tom, že pracovné prostredie zostane bežať. |
Proces aktualizácie popísaný v tejto kapitole bol navrhnutý na aktualizácie z „čistého“ systému wheezy bez balíkov tretích strán. Ak chcete dosiahnuť čo najväčšiu spoľahlivosť procesu aktualizácie, budete zrejme chcieť odstrániť zo svojho systému pred začatím aktualizácie balíky tretích strán.
Priame aktualizácie z vydaní Debianu starších ako 7 (wheezy) nie sú podporované. Prosím, najskôr vykonajte aktualizáciu na 7 a riaďte sa pri tom inštrukciami v Poznámkach k vydaniu Debian 7.
Tento postup tiež predpokladá, že váš systém bol aktualizovaný na najnovšie vydanie stabilnej vetvy (point release) wheezy. Ak ste tak nespravili alebo si nie ste istý, riaďte sa inštrukciami v časti Oddiel A.1, “Ako aktualizovať váš systém wheezy”.
V niektorých prípadoch môže použitie apt-get na inštaláciu balíkov namiesto aptitude spôsobiť, že aptitude bude považovať balík za „nepoužitý“ a naplánuje jeho odstránenie. Vo všeobecnosti by ste sa mali uistiť, že systém je celkom aktualizovaný a „čistý“ predtým, než budete pokračovať v aktualizácii.
Z tohto dôvodu by ste mali skontrolovať, či sa nečaká na nejaké operácie v
správcovi balíkov aptitude. Ak je naplánované odstránenie
alebo aktualizácia balíka v správcovi balíkov, môže to mať negatívny vplyv
na aktualizáciu. Náprava tohto problému je možná iba v prípade, že váš
sources.list
ešte stále obsahuje
wheezy; a nie stable či
jessie; pozri Oddiel A.2, “Ako skontrolovať váš zoznam zdrojov”.
Aby ste mohli vykonať túto kontrolu, budete musieť spustiť aptitude vo „vizuálnom režime“ a stlačiť tlačidlo g („Go“). Ak sa zobrazia nejaké operácie, mali by ste ich skontrolovať a napraviť ich alebo vykonať navrhované operácie. Ak nie sú navrhované žiadne operácie, zobrazí sa vám správa „Žiadne balíky nie sú označené na inštaláciu, aktualizáciu alebo odstránenie“.
Ak ste nastavili APT, aby pripevňoval určité balíky z distribúcie inej ako
stable (napr. z testing), je možné, že budete musieť zmeniť svoje nastavenie
pripevňovania APT (ukladá sa v /etc/apt/preferences
),
aby umožnilo aktualizáciu balíkov na verzie z nového stabilného
vydania. Ďalšie informácie o pripevňovaní APT nájdete v apt_preferences(5).
Bez ohľadu na použitú metódu aktualizácie sa odporúča, aby ste najskôr skontrolovali stav všetkých balíkov a overili, že sú v stave, aby sa dali aktualizovať. Nasledovný príkaz zobrazí všetky balíky, ktoré sú v stave „napoly inštalovaný“ alebo „konfigurácia zlyhala“ a všetky ostatné s chybovým stavom.
# dpkg --audit
Môžete tiež skontrolovať stav všetkých balíkov na vašom systéme pomocou aptitude alebo pomocou príkazov ako
# dpkg -l | pager
alebo
# dpkg --get-selections "*" > ~/curr-pkgs.txt
Je žiaduce odstrániť pred aktualizáciou podržania. Ak je podržaný niektorý z dôležitých balíkov, ktoré sa majú aktualizovať, aktualizácia zlyhá.
Pamätajte, že aptitude používa odlišný spôsob registrácie balíkov, ktoré sú podržané ako apt-get a dselect. Podržané balíky aptitude zistíte pomocou
# aptitude search "~ahold"
Ak chcete skontrolovať, ktoré balíky ste mali podržané pomocou apt-get, mali by ste použiť
# dpkg --get-selections | grep 'hold$'
Ak ste zmenili alebo prekompilovali balík lokálne a nepremenovali ste ho alebo ste dali do verzie epochu, musíte ho podržať, aby sa neaktualizoval.
Stav balíka „podržať“ v apt-get je možné zmeniť pomocou:
# echo package_name
hold | dpkg --set-selections
Stav balíka „podržať“ zrušíte nahradením príkazu hold
príkazom install
.
Ak je niečo, čo potrebujete opraviť, je najlepšie sa ubezpečiť, že váš
sources.list
stále odkazuje na wheezy ako
vysvetľuje Oddiel A.2, “Ako skontrolovať váš zoznam zdrojov”.
Ak ste vo svojom súbore /etc/apt/sources.list
uviedli
sekciu proposed-updates
, mali by ste ju z neho odstrániť
predtým, než sa pokúsite o aktualizáciu, aby ste predišli možným konfliktom.
Ak váš systém obsahuje nejaké balíky, ktoré nie sú súčasťou Debianu, mali by
ste si byť vedomí, že môžu byť počas aktualizácie odstránené z dôvodu
konfliktných závislostí. Ak boli takéto balíky nainštalované z ďalšieho
archívu balíkov pridaného do vášho
/etc/apt/sources.list
, mali by ste tiež skontrolovať,
či daný archív neobsahuje aj balíky skompilované pre jessie a zmeniť
podľa toho príslušný riadok vtedy, keď budete meniť riadky archívov Debianu.
Niektorí používatelia môžu používať neoficiálne spätne portované „novšie“ verzie balíkov, ktoré sú v Debiane nainštalované na ich systéme wheezy. Také balíky pravdepodobne spôsobia problémy počas aktualizácie, pretože môžu mať konfliktné súbory[4]. Oddiel 3.5, “Možné problémy počas aktualizácie” obsahuje informácie o tom, ako sa vyrovnať s konfliktami ak nastanú.
Pred začatím aktualizácie musíte nastaviť konfiguračný súbor apt
so zoznamom zdrojov softvéru,
/etc/apt/sources.list
.
apt
vezme do úvahy všetky balíky,
ktoré nájde prostredníctvom riadka „deb
“ a nainštaluje
balík s najvyšším číslom verzie, pričom uprednostní prvé z uvedených riadkov
(preto v prípade viacerých zrkadiel zvyčajne najprv uvediete lokálny pevný
disk, potom CD-ROM a potom HTTP/FTP zrkadlá).
Na vydanie je často možné odkazovať jednak prostredníctvom jeho kódového
označenia (napr. wheezy
,
jessie
) a jednak jeho stavom
(i.e. oldstable
, stable
,
testing
, unstable
). Ak odkazujete na
vydanie jeho kódovým označením má to tú výhodu, že vás nikdy neprekvapí nové
vydanie a preto je to tu popísaný postup. To samozrejme tiež znamená, že
budete musieť sledovať oznámenia o novom vydaní sami. Ak použijete namiesto
kódového označenia stav, po vydaní uvidíte iba veľké množstvo aktualizácií
balíkov.
Štandardné nastavenie je inštalovať z hlavných internetových serverov
Debianu, ale možno to budete chcieť zmeniť v súbore
/etc/apt/sources.list
, aby sa použili iné zrkadlá,
prednostne tie, ktoré sú k vám najbližšie (z hľadiska siete).
Adresy HTTP a FTP zrkadiel Debianu nájdete na https://www.debian.org/distrib/ftplist (pozri časť „Zoznam zrkadiel Debianu“). HTTP zrkadlá sú vo všeobecnosti rýchlejšie ako FTP zrkadlá.
Napríkad predpokladajme, že vaše najbližšie zrkadlo Debianu je
http://mirrors.kernel.org
. Keď sa na toto zrkadlo pozriete
svojim webovým prehliadačom, všimnete si, že adresáre sú organizované
nasledovne:
http://mirrors.kernel.org/debian/dists/jessie/main/binary-amd64/... http://mirrors.kernel.org/debian/dists/jessie/contrib/binary-amd64/...
Ak chcete toto zrkadlo použiť v systéme apt
, pridáte do
sources.list
nasledovný riadok:
deb http://mirrors.kernel.org/debian jessie main contrib
Všimnite si, že „dists
“ sa pridáva implicitne a argumenty
za názvom vydania sa použijú na doplnenie cesty o viaceré adresáre.
Po pridaní vašich nových zdrojov zrušte pôvodné riadky
„deb
“ v sources.list
tým, že pred ne
pridáte znak mriežky (#
).
Namiesto použitia HTTP či FTP zrkadiel balíkov môžete nastaviť v
/etc/apt/sources.list
, aby sa používalo zrkadlo na
lokálnom pevnom disku (prípadne pripojené prostredníctvom
NFS).
Napríklad, ak máte zrkadlo balíkov vo /var/ftp/debian/
a adresárová štruktúra je nasledovná:
/var/ftp/debian/dists/jessie/main/binary-amd64/... /var/ftp/debian/dists/jessie/contrib/binary-amd64/...
Pridaním nasledovného riadka do súboru sources.list
ho
môžete použiť v systéme apt
:
deb file:/var/ftp/debian jessie main contrib
Všimnite si, že „dists
“ sa pridáva implicitne a argumenty
za názvom vydania sa použijú na doplnenie cesty o viaceré adresáre.
Po pridaní vašich nových zdrojov zrušte pôvodné riadky
„deb
“ v sources.list
tým, že pred ne
pridáte znak mriežky (#
).
Ak chcete použiť výlučne CD (alebo DVD alebo Blu-ray),
zakomentujte existujúce „deb
“ riadky v súbore
/etc/apt/sources.list
tak, že pred ne napíšete znak
mriežky (#
).
Uistite sa, že sa v súbore /etc/fstab
nachádza riadok,
ktorý umožňuje pripojiť vašu mechaniku CD-ROM na prípojný bod
/media/cdrom
. Napríklad, ak je vaša mechanika CD-ROM
/dev/sr0
, /etc/fstab
by mal
obsahovať takýto riadok:
/dev/sr0 /media/cdrom auto noauto,ro 0 0
Pamätajte, že medzi slovami noauto,ro
v štvrtom poli
nesmú byť žiadne medzery.
Overte, že to funguje tak, že vložíte CD a skúsite spustiť
# mount /media/cdrom # pripojiť CD na prípojný bod # ls -alF /media/cdrom # toto by malo zobraziť obsah koreňového adresára CD # umount /media/cdrom # odpojiť CD
Potom spustite:
# apt-cdrom add
pre každé binárne CD Debianu, ktoré máte, čím sa pridajú údaje o každom CD do databázy APT.
Odporúčaný spôsob aktualizácie z predošlých vydaní Debianu je použiť nástroj na správu balíkov apt-get. V predošlých vydaniach bol na tento účel odporúčaný aptitude, ale posledné verzie apt-get podkytujú ekvivalentnú funkcionalitu a tiež konzistentnejšie dosahujú požadované výsledky počas aktualizácie.
Nezabudnite pripojiť všetky potrebné diskové oblasti (predovšetkým koreňovú
oblasť a oblasť obsahujúcu /usr
) na zápis pomocou
príkazu ako:
# mount -o remount,rw /bod_pripojenia
Potom by ste mali dvakrát skontrolovať, že všetky riadky APT (v súbore
/etc/apt/sources.list
) odkazujú buď na
„jessie
“ alebo na
„stable
“. Nemali by zostať žiadne riadky odkazujúce na
wheezy.
![]() | Poznámka |
---|---|
Riadky zdrojov softvéru týkajúce sa CD-ROM môžu niekedy odkazovať na
„ |
Dôrazne sa odporúča použiť program /usr/bin/script na zaznamenanie priebehu relácie aktualizácie. Ak sa potom vyskytne problém, budete mať záznam toho, čo sa stalo a ak to bude potrebné, budete schopní poskytnúť presné informácie pri hlásení chyby. Zaznamenávanie spustíte príkazom:
# script -t 2>~/aktualizácia-jessiekrok
.čas -a ~/aktualizácia-jessiekrok
.script
alebo podobným. Ak budete musieť znova spustiť záznam (napr. ak musíte
reštartovať systém), použite inú hodnotu krok
na
rozlíšenie, ktorý krok aktualizácie zaznamenávate. Neukladajte súbor so
záznamom do odkladacieho adresára ako /tmp
či
/var/tmp
(súbory v týchto adresároch môžu byť počas
aktualizácie alebo akéhokoľvek reštartu zmazané).
Záznam vám tiež umožní skontrolovať informácie, ktoré sa posunuli mimo
obrazovky. Ak ste na konzole systému, stačí prepnúť na druhý virtuálny
terminál (pomocou Alt+F2) a po
prihlásení použiť na zobrazenie súboru less -R
~root/upgrade-jessie.script
.
Po dokončení aktualizácie môžete zastaviť script
napísaním exit
na príkazovom riadku.
Ak ste použili voľbu -t príkazu script, môžete použiť program scriptreplay na opätovné prehranie celej relácie:
# scriptreplay ~/upgrade-jessie.time ~/upgrade-jessie.script
Najprv je potrebné stiahnuť zoznam dostupných balíkov nového vydania. To spravíte príkazom:
# apt-get update
Pred aktualizáciou systému sa musíte uistiť, že máte dostatok miesta na
disku než začnete úplnú aktualizáciu systému ako ju popisuje Oddiel 3.4.5, “Aktualizácia systému”. Všetky balíky potrebné na inštaláciu sa najprv
stiahnu zo siete a uložia do adresára
/var/cache/apt/archives
(a počas sťahovania do
podadresára partial/
), takže sa musíte uistiť, že máte
na oblasti, ktorá obsahuje /var/
dostatok miesta na
stiahnutie balíkov, ktoré sa budú inštalovať. Po stiahnutí pravdepodobne
bude potrebné ďalšie miesto na disku v iných oblastiach na inštaláciu
aktualizovaných balíkov (ktoré môžu obsahovať väčšie binárne súbory alebo
viac dát) ako aj nových balíkov, ktoré sa stiahnu počas aktualizácie. Ak váš
systém nebude mať dostatočné miesto na disku, môžete skončiť s neúplnou
aktualizáciou, z čoho je ťažké systém zotaviť.
apt-get vám dokáže zobraziť podrobné informácie o mieste na disku potrebnom na inštaláciu. Pred vykonaním aktualizácie môžete tento odhad zobraziť príkazom:
# apt-get -o APT::Get::Trivial-Only=true dist-upgrade [ ... ] XXX aktualizovaných, XXX nových nainštalovaných, XXX na odstránenie a XXX neaktualizovaných. Je potrebné stiahnuť xx.xMB/yyyMB archívov. Po tejto operácii sa na disku použije ďalších AAAMB.
![]() | Poznámka |
---|---|
Spustenie tohto príkazu na začiatku aktualizácie môže zobraziť chybovú správu z dôvodov popísaných v ďalších častiach. V takom prípade budete musieť počkať, kým sa vykoná minimálna aktualizácia systému podľa Oddiel 3.4.4, “Minimálna aktualizácia systému” a aktualizovať jadro pred spustením tohto príkazu na odhad miesta na disku. |
Ak nemáte na aktualizáciu dostatok miesta na disku, apt-get vás upozorní takouto správou:
E: Na /var/cache/apt/archives/ nemáte dostatok voľného miesta.
V takejto situácii vopred uvoľnite miesto na disku. Môžete:
Odstrániť balíky, ktoré boli doteraz stiahnuté na inštaláciu (v adresári
/var/cache/apt/archives
). Vyčistenie vyrovnávacej
pamäte balíkov príkazom apt-get clean odstráni doteraz
stiahnuté súbory balíkov.
Odstráňte zabudnuté balíky. Ak ste použili aptitude na ručnú inštaláciu balíkov v wheezy, bude si pamätať tieto ručne nainštalované balíky a dokáže ich označiť ako nadbytočné balíky nainštalovné iba ako závislosti, ktoré už nie sú potrebné, ak bol balík odstránený. Neoznačia na odstránenie balíky, ktoré ste nainštalovali ručne. Ak chcete odstrániť automaticky nainštalované balíky, ktoré sa už nepoužívajú, spustite:
# apt-get autoremove
Na nájdenie zastaralých balíkov môžete tiež použiť debfoster alebo cruft. Nemali by ste balíky, ktoré vám tieto nástroje nájdu iba slepo odstraňovať, obzvlášť ak používate agresívne neštandardné voľby, ktoré často označia aj používané balíky. Dôrazne sa odporúča, aby ste manuálne skontrolovali balíky navrhnuté na odstránenie (t.j. ich obsah, veľkosť a popis) než ich necháte odstrániť.
Odstránte balíky, ktoré zaberajú príliš mnoho miesta a momentálne nie sú
potrebné (po aktualizácii ich môžete vždy nainštalovať). Ak máte
nainštalovaný popularity-contest
,
môžete použiť príkaz popcon-largest-unused na vypísanie
zoznamu balíkov, ktoré nepoužívate a ktoré zaberajú najviac miesta. Balíky,
ktoré len zaberajú najviac miesta na disku nájdete pomocou
dpigs (dostupné v balíku debian-goodies
) alebo wajig
(príkazom wajig size
). Tiež sa dajú nájsť pomocou
aptitude
. Spustite
aptitude vo „vizuálnom režime“, vyberte
→ , stlačte l a zadajte
~i
, potom stlačte S a zadajte
~installsize
. To vám dá šikovný zoznam, s ktorým môžete
ďalej pracovať.
Odstrániť preklady a lokalizačné súbory zo systému, ak nie sú
potrebné. Možete nainštalovať balík localepurge
a nastaviť ho, aby ponechal na
systéme iba niekoľko vybraných locales. Tým sa zníži využité miesto na
disku, ktoré zaberá /usr/share/locale
.
Dočasne presunúť na iný systém alebo natrvalo odstrániť systémové záznamy
nachádzajúce sa vo /var/log/
.
Použiť dočasný adresár /var/cache/apt/archives
: Môžete
použiť dočasný adresár pre vyrovnávaciu pamäť na inom súborovom systéme
(USB pamäť, dočasný pevný disk, už používaný súborový
systém, ...)
![]() | Poznámka |
---|---|
Nepoužívajte prípojný bod NFS, pretože sieťové pripojenie sa môže počas aktualizácie prerušiť. |
Napríklad, ak máte USB pamäť pripojenú na
/media/usbkey
:
odstráňte balíky, ktoré boli doteraz stiahnuté na inštaláciu:
# apt-get clean
skopírujte adresár /var/cache/apt/archives
na
USB pamäť:
# cp -ax /var/cache/apt/archives /media/usbkey/
pripojte dočasný adresár vyrovnávacej pamäte balíkov na aktuálny:
# mount --bind /media/usbkey/archives /var/cache/apt/archives
po aktualizácii obnovte pôvodný adresár
/var/cache/apt/archives
:
# umount /media/usbkey/archives
odstráňte zostávajúce /media/usbkey/archives
.
Dočasný adresár vyrovnávacej pamäte balíkov môžete vytvoriť na ľubovoľnom pripojenom súborovom systéme.
Vykonať minimálnu aktualizáciu systému (pozri Oddiel 3.4.4, “Minimálna aktualizácia systému”) alebo čiastočné aktualizácie systému nasledované úplnou aktualizáciou. To umožní aktualizovať systém po častiach a umožní vám vyčistiť vyrovnávaciu pamäť balíkov pred úplnou aktualizáciou.
Pamätajte, že aby ste mohli bezpečne odstrániť balíky, mali by ste svoj
sources.list
upraviť späť na wheezy ako
popisuje Oddiel A.2, “Ako skontrolovať váš zoznam zdrojov”.
V niektorých prípadoch môže priame spustenie úplnej aktualizácie odstrániť veľké množstvo balíkov, ktoré si chcete ponechať. Preto odporúčame dvojfázový proces aktualizácie. V prvej fáze minimálnu aktualizáciu, aby sa vyriešili tieto konflikty a následne úplnú aktualizáciu ako popisuje Oddiel 3.4.5, “Aktualizácia systému”.
Najprv spustite:
# apt-get upgrade
![]() | Poznámka |
---|---|
Proces aktualizácie niektorých starších vydaní odporúčal použiť na aktualizáciu aptitude. Tento nástroj neodporúčame na aktualizáciu z vydania wheezy na jessie. |
Toto aktualizuje tie balíky, ktoré je možné aktualizovať bez nutnosti odstránenia alebo inštalácie iných balíkov.
Minimálna aktualizácia systému tiež môže byť užitočná v prípade, keď má systém málo miesta a úplnú aktualizáciu nemožno spustiť z dôvodu obmedzeného miesta.
Ak je nainštalovaný balík apt-listchanges
, (vo svojej predvolenej
konfigurácii) ukáže dôležité informácie o aktualizovaných balíkov v
stránkovači. Stlačením tlačidla q po prečítaní stránkovač
ukončíte a budete môcť pokračovať v aktualizácii.
Po dokončení týchto krokov budete pripravený pokračovať v hlavnej časti aktualizácie. Spustite:
# apt-get dist-upgrade
![]() | Poznámka |
---|---|
Proces aktualizácie niektorých starších vydaní odporúčal použiť na aktualizáciu aptitude. Tento nástroj neodporúčame na aktualizáciu z vydania wheezy na jessie. |
Tým sa vykoná kompletná aktualizácia systému, nainštalujú sa najnovšie dostupné verzie všetkých balíkov a vyriešia sa všetky možné zmeny závislostí medzi balíkmi v rôznych vydaniach. Ak je to potrebné, nainštalujú sa niektoré nové balíky (zvyčajne nové verzie knižníc a premenované balíky) a odstránia sa všetky konfliktné zastaralé balíky.
Pri aktualizácii z diskov CD-ROM (alebo DVD) vás sytém požiada o vloženie niektorých konkrétnych CD niekoľkokrát počas aktualizácie. Je možné, že budete musieť vložiť rovnaké CD viac než raz; to je z dôvodu navzájom závisiacich balíkov, ktoré sa nachádzajú na rôznych CD.
Nové verzie momentálne nainštalovaných balíkov, ktoré nie je možné
aktualizovať bez zmeny stavu inštalácie iného balíka budú ponechané v
aktuálnej verzii (zobrazia sa ako „podržané“). To je možné vyriešiť buď
pomocou aptitude tak, že zvolíte tieto balíky na
inštaláciu alebo tak, že skúsite spustiť apt-get install
.
balík
Nasledovné oddiely popisujú známe problémy, ktoré sa môžu vyskytnúť pri aktualizácii na jessie.
V niektorých prípadoch môže krok apt-get dist-upgrade zlyhať po stiahnutí balíčkov s chybou:
E: Nebolo možné vykonať okamžitú konfiguráciu už rozbaleného „%s“. Pozri prosím podrobnosti v man 5 apt.conf pod APT::Immediate-Configure.
Ak sa tak stane, spustenie apt-get dist-upgrade -o APT::Immediate-Configure=0 namiesto tohto kroku by malo umožniť aktualizácii pokračovať.
Iné možné obídenie tohto problému je dočasne pridať oba zdroje -
wheezy aj jessie - do vášho
sources.list
a spustiť apt-get
update.
Proces aktualizácie na jessie môže požadovať odstránenie balíkov zo systému. Presný zoznam balíkov bude závisieť na množine balíkov, ktorú máte nainštalovanú. Tieto poznámky k vydaniu poskytujú všeobecné rady o metóde, ktorú by ste mali zvoliť, ale ak máte pochybnosti, odporúčame aby ste preskúmali odstránenie ktorých balíkov je navrhnuté v každej z metód. Ďalšie informácie o balíkoch, ktoré boli v jessie označené ako zastarané nájdete v časti Oddiel 3.10, “Zastaralé balíky”.
Niekedy je potrebné zapnúť voľbu APT::Force-LoopBreak
,
aby ste mohli dočasne odstrániť nevyhnutný (essential) balík z dôvodu cyklu
konfliktov alebo predzávislostí. apt-get vás na to
upozorní a zruší aktualizáciu. Môžete to obísť zadaním voľby -o
APT::Force-LoopBreak=1
na príkazovom riadku
apt-get.
Je možné, že štruktúra závislostí systému bude taká poškodená, že jej oprava bude vyžadovať manuálny zásah. To zvyčajne znamená použiť apt-get alebo
# dpkg --remove názov_balíka
na odstránenie niektorých z konfliktných balíkov alebo
# apt-get -f install # dpkg --configure --pending
V extrémnych prípadoch budete musieť vynútiť reinštaláciu príkazom typu
# dpkg --install /cesta/k/názov_balíka
Konflikty súborov by sa nemali vyskytnúť ak aktualizujete z „čistého“ systému wheezy, ale môžu sa vyskytnúť ak máte nainštalované neoficiálne spätné porty (backports). Konflikt súborov sa prejaví nasledovnou chybou:
Rozbaľuje sa<package-foo>
(z<package-foo-file>
) ... dpkg: chyba pri spracovávaní<package-foo>
(--install): pokus o prepísanie „<some-file-name>
“, ktorý je tiež v balíku<package-bar>
dpkg-deb: podproces paste ukončený signálom (Prerušená rúra) Počas spracovania sa vyskytli chyby::<package-foo>
Môžete sa pokúsiť vyriešiť konflikt súborov tým, že nasilu odstránite balík uvedený na poslednom riadku chybovej správy:
# dpkg -r --force-depends názov_balíka
Po tejto náprave by ste mali byť schopní pokračovať v aktualizácii zopakovaním doteraz popísaných príkazov apt-get.
Počas aktualizácie dostanete otázky týkajúce sa konfigurácie alebo
rekonfigurácie niekoľkých balíkov. Po otázke, či nejaký súbor z adresára
/etc/init.d
alebo
/etc/manpath.config
má byť nahradený verziou od správcu
balíka je zvyčajne potrebné odpovedať „áno“, aby ste zaistili konzistenciu
systému. Kedykoľvek môžete vrátiť staršie verzie, pretože sa uložia s
príponou .dpkg-old
.
Ak si nie ste istý, čo máte robiť, zapíšte si meno balíka alebo súboru a veci vyriešte neskôr. Ak chcete skontrolovať informácie, ktoré boli na obrazovke počas aktualizácie, môžete hľadať v súbore záznamu relácie.
Ak spúšťate aktualizáciu pomocou lokálnej konzoly systému, v niektorom bode aktualizácie môžete zistiť, že sa konzola zmenila na iný terminál a stratili ste aktualizáciu z dohľadu. Môže sa to stať napríklad na systémoch s pracovným prostredím počas reštartu správcu displeja.
Na návrat na konzolu s bežiacou aktualizáciou budete musieť použiť Ctrl+Alt+F1 (ak ste na grafickej štartovacej obrazovke) alebo Alt+F1 (ak ste na lokálnej obrazovke v textovom režme), čo vás prepne späť na virtuálny terminál 1. Nahraďte F1 funkčným klávesom s číslom zodpovedajúcim virtuálnemu terminálu, na ktorom bežala aktualizácia. Tiež môžete použiť Alt+šípka vľavo alebo Alt+šípka vpravo na prepínanie medzi susednými terminálmi v textovom režime.
Vo väčšine prípadov by mala prebehnúť aktualizácia balíkov medzi wheezy a jessie hladko. Je však malý počet prípadov, ktoré môžu vyžadovať zásahy buď pred alebo počas aktualizácie. Ich podrobnosti sú uvedené dolu pre každý balík zvlášť.
Aktualizácia Debianu z wheezy na jessie štandardne zmení váš init systém zo SysV na systemd. V závislosti na vašom systéme a nastavení budete možno musieť vykonať niektoré zmeny manuálne. Známe problémy sme popísali v Oddiel 4.6, “Aktualizácia na Jessie nainštaluje nový predvolený init systém”.
Ak máte nainštalované LXC, je možné, že budete musieť byť opatrní pri aktualizácii vášho systému system a vašich kontajnerov. Prosím, pozrite sa na známe problémy a ich riešenia v časti Oddiel 4.8, “Aktualizácia hostiteľov a kontajnerov LXC”.
Táto časť vysvetľuje ako aktualizovať vaše jadro a identifikuje možné
problémy týkajúce sa tejto aktualizácie. Môžete buď nainštalovať jeden z
balíkov linux-image-*
, ktoré
poskytuje Debian alebo skompilovať prispôsobené jadro zo zdrojových súborov.
Pamätajte, že veľa informácií v tejto časti je založených na predpoklade, že
budete používať jedno z modulárnych jadier v Debiane spolu s initramfs-tools
a udev
. Ak sa rozhodnete použiť prispôsobené
jadro, ktoré nevyžaduje initrd alebo použijete iný nástroj na tvorbu initrd,
niektoré z týchto informácií sa vás nemusia týkať.
Keď vykonáte dist-upgrade z wheezy na jessie, dôrazne sa odporúča, aby ste nainštalovali nový metabalík linux-image-2.6-* ak ste tak už neurobili. Tieto metabalíky počas aktualizácie automaticky prostredníctvom závislostí nainštalujú novšiu verziu jadra. Či je nainštalované môžete overiť príkazom:
# dpkg -l "linux-image*" | grep ^ii | grep -i meta
Ak nevidíte žiadny výstup, budete musieť nainštalovať nový balík linux-image ručne alebo nainštalovať niektorý z metabalíkov linux-image. Zoznam dostupných metabalíkov linux-image uvidíte po spustení:
# apt-cache search linux-image- | grep -i meta | grep -v transition
Ak si nie ste istý, ktorý z balíkov vybrať, spustite uname
-r
a hľadajte balík s podobným názvom. Napríklad ak vidíte
2.6.32-5-amd64
, odporúča sa nainštalovať linux-image-amd64
. Tiež si môžete pozrieť dlhý
popis každého z balíkov príkazom apt-cache a zvoliť si
ten najvyhovujúcejší. Napríklad:
# apt-cache show linux-image-amd64
Potom by ste ho mali nainštalovať pomocou apt-get
install
. Po nainštalovaní tohto nového jadra by ste mali pri
najbližšej príležitosti reštartovať systém, čím získate výhody novej verzie
jadra. Ale pred prvým reštartovaním po aktualizácii si prosím prečítajte
Oddiel 3.7, “Čo urobiť pred reštartom sytému”.
Pre dobrodružnejších existuje jednoduchý spôsob ako si skompilovať svoje
vlastné prispôsobené jadro Debianu. Nainštalujte si zdrojové kódy jadra,
ktoré sú poskytované v balíku linux-source
. Môžete využiť cieľ
deb-pkg
dostupný v súbore makefile zdrojových kódov na
zostavenie binárneho balíka. Ďalšie informácie nájdete v Debian Linux Kernel
Handbook, ktorú tiež nájdete v balíku debian-kernel-handbook
.
Ak je to možné, je pre vás výhodné aktualizovať balík jadra oddelene od
samotného hlavného dist-upgrade
, pretože to znižuje
pravdepodobnosť stavu systému, ktorý dočasne nemožno spustiť. Pamätajte, že
toto by ste mali robiť iba po vykonaní minimálnej aktualizácie, ako ju
popisuje Oddiel 3.4.4, “Minimálna aktualizácia systému”.
initramfs-tools
teraz spúšťa aj
fsck
na koreňovom systéme pred jeho pripojením. Ak ako
init systém používate systemd
a existuje samostatný
súborový systém /usr
, spustí fsck aj na
/usr
a pripojí ho.
Ak je /usr
samostatný súborový systém na zariadení RAID
a nastavenie INITRDSTART
v
/etc/default/mdadm
nie je „all
“,
budete ho musieť upraviť tak, aby obsahoval aj toto zariadenie.
Ak je /usr
samostatný súborový systém na logickom
zväzku LVM a riadok /usr
v
/etc/fstab
špecifikuje zariadenie podľa
UUID
alebo menovky (LABEL
), musíte
tento riadok tak, aby zariadenie špecifikoval podľa zariadenia pomocou
formátu
/dev/mapper/
alebo
VG
-LV
/dev/
.
VG
/LV
Už viac nie je možné pripojiť súborový systém /usr
pomocou bind.
Ak je sú hodiny reálneho času (RTC) nastavené na miestny a miestny čas je
popredu pred UTC, e2fsck
vypíše upozornenie pri štarte
posunutí času smerom dozadu (bug
#767040). Môžete to vypnúť vložením nasledovných riadkov do
/etc/e2fsck.conf
:
[options] broken_system_clock=1
Po skončení apt-get dist-upgrade
je aktualizácia
„formálne“ dokončená, ale je niekoľko vecí, o ktoré by ste sa mali postarať
pred ďalším reštartom.
Pri aktualizácii z Wheezy na Jessie, môže byť dobrý nápad na odstrániť (purge) staré balíky pred prvým reštartom. Najmä zastarané init skripty môžu spôsobiť problémy. Prečítajte si prosím podrobnosti o hľadaní a odstraňovaní balíkov v časti Oddiel 3.8.1, “Vyčistenie (purge) odstránených balíkov”.
Po aktualizácii môžete urobiť niekoľko vecí, ktorými sa pripravíte na ďalšie vydanie.
Odstráňte nadbytočné alebo zastaralé balíky ako popisuje Oddiel 3.4.3, “Uistite sa, že na aktualizáciu máte dosť miesta na disku” a Oddiel 3.10, “Zastaralé balíky”. Mali by ste skontrolovať, ktoré konfiguračné súbory používajú a zvážiť vyčistenie konfigurácie balíkov (purge), aby sa odstránili ich konfiguračné súbory. Pozri aj Oddiel 3.8.1, “Vyčistenie (purge) odstránených balíkov”.
Vo všeobecnosti sa odporúča na vyčistenie odstránených balíkov. To platí najmä, ak boli balíky odstránené v predchádzajúcich aktualizáciách vydania (napr. počas aktualizácie na wheezy) alebo pochádzajú od tretích strán. Najmä o starých skriptoch init.d je známe, že spôsobujú problémy.
![]() | Výstraha |
---|---|
Vyčistenie balíček vo všeobecnosti vymaže jeho súbory protokolu, preto si ich najskôr zálohujte. |
Nasledovný príkaz zobrazí zoznam všetkých odstránených balíkov, ktoré mohli zanechať v systéme konfiguračné súbory (ak ich používajú):
# dpkg -l | awk '/^rc/ { print $2 }'
Balíky môžu je možné odstrániť príkazom apt-get purge. Za predpokladu, že chcete vyčistiť všetky balíky naraz, môžete použiť nasledujúci príkaz:
# apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')
Ak používate aptitude
, môžete použiť
aj nasledovnú alternatívu k vyššie uvedeným príkazom:
$ aptitude search '~c' $ aptitude purge '~c'
S ďalším vydaním Debianu 9 (s kódovým označením stretch) budú niektoré možnosti označené ako zavrhované. Používatelia budú musieť prejsť na iné alternatívy, aby si ušetrili problémy pri aktualizácii na 9.
Sem patria nasledovné možnosti:
Okrem toho, že jessie prináša mnoho nových balíkov, tiež odstraňuje dosť veľa starých balíkov, ktoré obsahovalo vydanie wheezy. Neposkytuje pre tieto zastaralé balíky žiadnu aktualizačnú cestu. Hoci vám nič nebráni naďalej používať zastarané balíky, projekt Debian zvyčajne prestane poskytovať podporu bezpečnostných aktualizácií jeden rok po vydaní jessie[5] a medzitým zvyčajne neposkytuje inú podporu. Preto sa odporúča nahradiť ich alternatívami ak sú nejaké dostupné.
Existuje mnoho dôvodov, prečo môžu byť balíky z distribúcie odstránené: ich pôvodný autor ich už nespravuje; ich správa už nezaujíma vývojára Debianu; funkcionalitu, ktorú poskytujú nahradil iný softvér (alebo novšia verzia); alebo už sa nepovažujú za vhodné vo vydaní jessie z dôvodu chýb. V poslednom prípade môže distribúcia „unstable“ naďalej obsahovať tieto balíky.
Je jednoduché zistiť v aktualizovanom systéme, ktoré balíky sú „zastaralé“, pretože ich tak označia používateľské rozhrania systémov na správu balíkov. Ak používate aptitude, uvidíte zoznam týchto balíkov v časti „Zastarané a lokálne vytvorené balíky“.
Systém sledovania chýb Debianu často poskytne ďalšie informácie o tom, prečo bol balík odstránený. Mali by ste si prečítať archivované hlásenia chýb samotného balíka aj archivované hlásenia chýb pseudobalíka ftp.debian.org.
Medzi zastaralé balíky patria:
postgresql-9.1
, nástupcom je
postgresql-9.4
. Po dokončení
aktualizácie operačného systému, by ste si mali naplánovať aj aktualizáciu
vašich klastrov databázy PostgreSQL 9.1 na novú verziu PostgreSQL 9.4
pomocou nástroja pg_upgradecluster. Pre užívateľov
procedurálneho jazyka PL/perl jessie poskytuje aktualizovaný balík
postgresql-plperl-9.1
zostavený voči
novej verzii libperl v jessie s cieľom umožniť prechod na novú verziu perl v
jessie, pričom staré databázové funkcie PL/perl zostanú zachované a
použiteľné až do aktualizácie samotných databáz.
python3.2
, nástupcom je python3.4
. (Verzia 2.7 je podporovaná v
wheezy aj v jessie.)
ruby1.8
a ruby1.9.1
;, nástupcom je ruby2.1
. Prosím, nainštalujte si balík
ruby
a vždy automaticky dostanete
aktuálnu verziu ruby.
mplayer
; alternatívy sú mplayer2
a mpv
(nové v jessie). Zatiaľ čo mplayer2
je prevažne kompatibilný s mplayer čo sa týka argumentov príkazového riadka
a konfigurácie (a pridáva aj niekoľko nových funkcií), mpv pridáva mnoho
nových funkcií a vylepšení a aktívne ho spravuje upstream.
Niektoré balíky z vydania wheezy boli v jessie rozdelené do niekoľkých balíkov, často preto, aby sa zlepšila spravovateľnosť systému. Aby sa zjednodušila aktualizačná cesta, jessie často poskytuje „fiktívne“ balíky: prázdne balíky s rovnakým názvom ako starý balík v wheezy so závislosťami, ktoré spôsobia nainštalovanie nového balíka. Tieto „fiktívne“ balíky sa po aktualizácii považujú za nadbytočné a je možné ich bezpečne odstrániť.
Väčšina (ale nie všetky) popisy fiktívnych balíkov označujú ich účel. Popisy
fiktívnych balíkov však nie sú jednotné, takže môžete na ich nájdenie použiť
aj deborphan s voľbami
--guess-
(napr.
*
--guess-dummy
), aby ste ich na svojom systéme
našli. Niektoré fiktívne balíky sa nemajú po aktualizácii odstraňovať, ale
používajú sa na sledovanie aktuálne dostupnej verzie programu v čase.
[1] Ak je priorita debconf nastavená na veľmi vysokú úroveň, môžete predísť konfiguračným výzvam, ale služby, ktoré na vašom systéme vyžadujú iné ako predvolené odpovede, sa nespustia.
[2] Napríklad: služby DNS alebo DHCP, obzvlášť ak bežia bez redundantného alebo záložného servera. V prípade DHCP sa môže stať, že budú používatelia odpojení od siete ak čas prenájmu ich IP adresy vyprší pred dokončením procesu aktualizácie.
[3] Túto vlastnosť možno vypnúť pridaním panic=0
medzi
parametre pri zavádzaní systému.
[4] Systém správy balíkov Debianu za bežných okolností neumožňuje balíku nahradiť súbor, ktorý vlastní iný balík, iba ak daný balík nahrádza tento vlastniaci balík.
[5] Alebo ak dovtedy nenastane ďalšie vydanie. Zvyčajne sú zakaždým podporované súčasne iba dve stabilné vydania.