Kapitola 4. Aktualizácie z Debian 7 (wheezy)

Obsah

4.1. Príprava na aktualizáciu
4.1.1. Zálohujte všetky dáta a konfiguračné údaje
4.1.2. Vopred informujte používateľov
4.1.3. Pripravte sa na odstávku služieb
4.1.4. Pripravte sa na obnovu
4.1.5. Pripravte bezpečné prostredie na aktualizáciu
4.2. Kontrola stavu systému
4.2.1. Skontrolujte operácie čakajúce na vykonanie v správcovi balíkov
4.2.2. Vypnite pripevňovanie balíkov APT (APT pinning)
4.2.3. Skontrolujte stav balíkov
4.2.4. Sekcia proposed-updates
4.2.5. Unofficial sources
4.3. Príprava zdrojov APT
4.3.1. Pridávanie internetových zdrojov APT
4.3.2. Pridanie zdrojov APT lokálneho zrkadla
4.3.3. Pridanie zdrojov APT z optických médií
4.4. Aktualizácia balíkov
4.4.1. Nahranie relácie príkazového riadka
4.4.2. Aktualizácia zoznamu balíkov
4.4.3. Uistite sa, že na aktualizáciu máte dosť miesta na disku
4.4.4. Minimálna aktualizácia systému
4.4.5. Aktualizácia systému
4.5. Možné problémy počas aktualizácie
4.5.1. Dist-upgrade zlyhá s chybou „Nebolo možné vykonať okamžitú konfiguráciu“
4.5.2. Očakávané odstránenia
4.5.3. Cykly Konfliktov alebo Predzávislostí
4.5.4. Konflikty súborov
4.5.5. Zmeny v konfigurácii
4.5.6. Zmena relácie na konzolu
4.5.7. Špeciálna starostlivosť o niektoré balíky
4.6. Aktualizácia jadra a súvisiacich balíkov
4.6.1. Installing a kernel metapackage
4.6.2. Changes to root and /usr filesystem mounting and checking
4.7. Čo urobiť pred reštartom sytému
4.8. Príprava na ďalšie vydanie
4.8.1. Purging removed packages
4.9. Zavrhované komponenty
4.10. Zastaralé balíky
4.10.1. Fiktívne balíky

4.1. Príprava na aktualizáciu

Odporúčame, aby ste si pred aktualizáciou prečítali aj informácie v časti Kapitola 5, 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.

4.1.1. Zálohujte všetky dáta a konfiguračné údaje

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

4.1.2. Vopred informujte používateľov

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.

4.1.3. Pripravte sa na odstávku služieb

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

4.1.4. Pripravte sa na obnovu

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.

Generally we recommend using the rescue mode of the jessie 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.

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.

4.1.4.1. Ladiaci shell počas štartu pomocou initrd

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.

4.1.4.2. Debug shell during boot using systemd

If the boot fails under systemd, it is possible to obtain a debug root shell by changing the kernel command line. If the basic boot succeeds, but some services fail to start, it may be useful to add systemd.unit=rescue.target to the kernel parameters.

Otherwise, the kernel parameter systemd.unit=emergency.target will provide you with a root shell at the earliest possible point. However, this is done before mounting the root file system with read-write permissions. You will have to do that manually with:

mount -o remount,rw /

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

If everything else fails, you might be able to boot via the old sysvinit system. This requires that sysvinit is still installed and the binary /lib/sysvinit/init is included in your initramfs. If these requirements are met, add init=/lib/sysvinit/init on the kernel command-line and it will boot with the sysvinit binary.

4.1.5. Pripravte bezpečné prostredie na aktualizáciu

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é]Dôležité

Ak používate nejaké služby VPN (ako tinc), nemusia byť počas aktualizácie dostupné. Prosím, pozri Oddiel 4.1.3, “Pripravte sa na odstávku služieb”.

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é]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ť.

4.2. Kontrola stavu systému

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.

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.

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

4.2.1. Skontrolujte operácie čakajúce na vykonanie v správcovi balíkov

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

4.2.2. Vypnite pripevňovanie balíkov APT (APT pinning)

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

4.2.3. Skontrolujte stav balíkov

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

4.2.4. Sekcia proposed-updates

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.

4.2.5. Unofficial sources

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.

Some users may have unofficial backported newer versions of packages that are in Debian installed on their wheezy system. Such packages are most likely to cause problems during an upgrade as they may result in file conflicts[4]. Oddiel 4.5, “Možné problémy počas aktualizácie” has some information on how to deal with file conflicts if they should occur.

4.3. Príprava zdrojov APT

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.

4.3.1. Pridávanie internetových zdrojov APT

Š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-armhf/...
http://mirrors.kernel.org/debian/dists/jessie/contrib/binary-armhf/...

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

4.3.2. Pridanie zdrojov APT lokálneho zrkadla

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-armhf/...
/var/ftp/debian/dists/jessie/contrib/binary-armhf/...

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

4.3.3. Pridanie zdrojov APT z optických médií

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

Make sure there is a line in /etc/fstab that enables mounting your CD-ROM drive at the /media/cdrom mount point. For example, if /dev/sr0 is your CD-ROM drive, /etc/fstab should contain a line like:

/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    # this will mount the CD to the mount point
# ls -alF /media/cdrom  # this should show the CD's root directory
# umount /media/cdrom   # this will unmount the CD

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.

4.4. Aktualizácia balíkov

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]Poznámka

Riadky zdrojov softvéru týkajúce sa CD-ROM môžu niekedy odkazovať na „unstable“; a hoci to môže byť mätúce, nemali by ste to meniť.

4.4.1. Nahranie relácie príkazového riadka

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

4.4.2. Aktualizácia zoznamu balíkov

Najprv je potrebné stiahnuť zoznam dostupných balíkov nového vydania. To spravíte príkazom:

# apt-get update

4.4.3. Uistite sa, že na aktualizáciu máte dosť miesta na disku

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 4.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]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 4.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 PohľadyNový Plochý Zoznam Balíkov, 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]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:

    1. odstráňte balíky, ktoré boli doteraz stiahnuté na inštaláciu:

      # apt-get clean

    2. skopírujte adresár /var/cache/apt/archives na USB pamäť:

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

    3. pripojte dočasný adresár vyrovnávacej pamäte balíkov na aktuálny:

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

    4. po aktualizácii obnovte pôvodný adresár /var/cache/apt/archives:

      # umount /media/usbkey/archives

    5. 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 4.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”.

4.4.4. Minimálna aktualizácia systému

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 4.4.5, “Aktualizácia systému”.

Najprv spustite:

# apt-get upgrade
[Poznámka]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.

4.4.5. Aktualizácia systému

Po dokončení týchto krokov budete pripravený pokračovať v hlavnej časti aktualizácie. Spustite:

# apt-get dist-upgrade
[Poznámka]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.

4.5. Možné problémy počas aktualizácie

Nasledovné oddiely popisujú známe problémy, ktoré sa môžu vyskytnúť pri aktualizácii na jessie.

4.5.1. Dist-upgrade zlyhá s chybou „Nebolo možné vykonať okamžitú konfiguráciu“

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.

4.5.2. Očakávané odstránenia

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 Oddiel 4.10, “Zastaralé balíky”.

4.5.3. Cykly Konfliktov alebo Predzávislostí

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

4.5.4. Konflikty súborov

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.

4.5.5. Zmeny v konfigurácii

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.

4.5.6. Zmena relácie na konzolu

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.

4.5.7. Špeciálna starostlivosť o niektoré balíky

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ášť.

4.5.7.1. systemd

The Debian upgrade from wheezy to jessie will by default migrate your init system from the SysV to systemd. Depending on your system and setup, you may need to do some manual changes. We have detailed known issues in Oddiel 5.6, “Upgrading installs the new default init system for Jessie”.

4.5.7.2. LXC

If you have LXC installed, you may need special care when upgrading your system and your containers. Please have a look at Oddiel 5.8, “Upgrade considerations for LXC hosts and containers” for known issues and solutions.

4.6. Aktualizácia jadra a súvisiacich balíkov

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

4.6.1. Installing a kernel metapackage

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

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

If you do not see any output, then you will either need to install a new linux-image package by hand or install a linux-image metapackage. To see a list of available linux-image metapackages, run:

# 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

You should then use apt-get install to install it. Once this new kernel is installed you should reboot at the next available opportunity to get the benefits provided by the new kernel version. However, please have a look at Oddiel 4.7, “Čo urobiť pred reštartom sytému” before performing the first reboot after the upgrade.

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 4.4.4, “Minimálna aktualizácia systému”.

4.6.2. Changes to root and /usr filesystem mounting and checking

initramfs-tools will now also run fsck on the root filesystem before mounting it. If the chosen init program is systemd and there is a separate /usr filesystem, it will also fsck and mount /usr.

  • If /usr is a separate filesystem on a RAID device and the INITRDSTART setting in /etc/default/mdadm is not 'all', you will need to change it to include that device.

  • If /usr is a separate filesystem on an LVM logical volume, and the line for /usr in /etc/fstab specifies the device by UUID or LABEL, you must change this line to specify the device using the format /dev/mapper/VG-LV or /dev/VG/LV.

  • It is no longer possible to bind-mount the /usr filesystem.

  • If the RTC (real time clock) is set to local time and the local time is ahead of UTC, e2fsck will print a warning during boot about the time changing backward (bug #767040). You can disable this by putting the following lines in /etc/e2fsck.conf:

    [options]
    broken_system_clock=1
    

4.7. Čo urobiť pred reštartom sytému

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.

  • When upgrading from Wheezy to Jessie, it can be a good idea to purge old packages before the first reboot. In particular, obsolete init scripts may cause issues. Please see Oddiel 4.8.1, “Purging removed packages” for details on finding and purging removed packages.

4.8. Príprava na ďalšie vydanie

Po aktualizácii môžete urobiť niekoľko vecí, ktorými sa pripravíte na ďalšie vydanie.

4.8.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 they were provided by third-party vendors. In particular, old init.d scripts have been known to cause issues.

[Výstraha]Výstraha

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.9. Zavrhované komponenty

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:

  • The hardening-wrapper package is deprecated and is expected to be removed in Stretch.

4.10. Zastaralé balíky

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.

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, 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. For users of the PL/perl procedural language, jessie provides an updated postgresql-plperl-9.1 package linked against jessie's version of libperl in order to enable upgrading to the new perl version in jessie while keeping the old PL/perl database functions usable until the database is upgraded as well.

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

  • libjpeg-progs, successor is libjpeg-turbo-progs.

  • openjdk-6-*, successor is openjdk-7-*.

4.10.1. Fiktívne balíky

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.