Kapitola 4. Aktualizácie z Debian 9 (stretch)

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.1.6. Verify network interface name support
4.2. Checking APT configuration status
4.2.1. Sekcia proposed-updates
4.2.2. Neoficiálne zdroje
4.2.3. Vypnite pripevňovanie balíkov APT (APT pinning)
4.2.4. Skontrolujte stav balíkov
4.3. Preparing APT source-list files
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.6. Aktualizácia jadra a súvisiacich balíkov
4.6.1. Inštalácia metabalíka jadra
4.7. Príprava na ďalšie vydanie
4.7.1. Vyčistenie (purge) odstránených balíkov
4.8. Zastaralé balíky
4.8.1. Transitional dummy packages

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

Na zotavenie v prípade núdze odporúčame vo všeobecnosti, aby ste použili záchranný režim inštalátora Debianu. 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. Ďalšie informácie nájdete v časti Obnova poškodeného systému v kapitole 8 Inštalačnej príručky a v Často kladených otázkach k Inštalátoru Debianu.

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. Ladiaci shell počas štartu pomocou systemd

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 /
      

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

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

[Dôležité]Dôležité

If you are using some VPN services (such as tinc) consider that they might not be available throughout the upgrade process. Please see Oddiel 4.1.3, “Pripravte sa na odstávku služieb”.

In order to gain extra safety margin when upgrading remotely, we suggest that you run upgrade processes in the virtual console provided by the screen program, which enables safe reconnection and ensures the upgrade process is not interrupted even if the remote connection process temporarily fails.

4.1.6. Verify network interface name support

Systems upgraded from older releases that still use network interfaces with names like eth0 or wlan0 are at risk of losing networking once they switch to buster; see Oddiel 5.1.5, “Migrating from legacy network interface names” for migration instructions.

4.2. Checking APT configuration status

The upgrade process described in this chapter has been designed for pure Debian stable systems. If your APT configuration mentions additional sources besides stretch, or if you have installed packages from other releases or from third parties, then to ensure a reliable upgrade process you may wish to begin by removing these complicating factors.

The main configuration file that APT uses to decide what sources it should download packages from is /etc/apt/sources.list, but it can also use files in the /etc/apt/sources.list.d/ directory - for details see sources.list(5). If your system is using multiple source-list files then you will need to ensure they stay consistent.

Below there are two methods for finding installed packages that did not come from Debian, using either aptitude or apt-forktracer. Please note that neither of them are 100% accurate (e.g. the aptitude example will list packages that were once provided by Debian but no longer are, such as old kernel packages).

$ aptitude search '~i(!~ODebian)'
$ apt-forktracer | sort
  

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

Tento postup tiež predpokladá, že váš systém bol aktualizovaný na najnovšie vydanie stabilnej vetvy (point release) stretch. Ak ste tak nespravili alebo si nie ste istý, riaďte sa inštrukciami v časti Oddiel A.1, “Ako aktualizovať váš systém stretch”.

You should also make sure the package database is ready before proceeding with the upgrade. If you are a user of another package manager like aptitude or synaptic, review any pending actions. A package scheduled for installation or removal might interfere with the upgrade procedure. Note that correcting this is only possible if your APT source-list files still point to stretch and not to stable or buster; see Oddiel A.2, “Checking your APT source-list files”.

It is a good idea to remove obsolete packages from your system before upgrading.

4.2.1. Sekcia proposed-updates

If you have listed the proposed-updates section in your APT source-list files, you should remove it before attempting to upgrade your system. This is a precaution to reduce the likelihood of conflicts.

4.2.2. Neoficiálne zdroje

If you have any non-Debian packages on your system, you should be aware that these may be removed during the upgrade because of conflicting dependencies. If these packages were installed by adding an extra package archive in your APT source-list files, you should check if that archive also offers packages compiled for buster and change the source item accordingly at the same time as your source items for Debian packages.

Niektorí používatelia môžu používať neoficiálne spätne portované „novšie“ verzie balíkov, ktoré v Debiane nainštalované na ich systéme stretch. Také balíky pravdepodobne spôsobia problémy počas aktualizácie, pretože môžu mať konfliktné súbory[4]. Oddiel 4.5, “Možné problémy počas aktualizácie” obsahuje informácie o tom, ako sa vyrovnať s konfliktami ak nastanú.

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

Note that aptitude uses a different method for registering packages that are on hold than apt and dselect. You can identify packages on hold for aptitude with

# aptitude search "~ahold" 
    

If you want to check which packages you had on hold for apt, you should use

# dpkg --get-selections | grep 'hold$'
    

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.

The hold package state for apt can be changed using:

# echo package_name hold | dpkg --set-selections
    

Stav balíka „podržať“ zrušíte nahradením príkazu hold príkazom install.

If there is anything you need to fix, it is best to make sure your APT source-list files still refer to stretch as explained in Oddiel A.2, “Checking your APT source-list files”.

4.3. Preparing APT source-list files

Before starting the upgrade you must reconfigure APT's source-list files (/etc/apt/sources.list and files under /etc/apt/sources.list.d/).

APT will consider all packages that can be found via any configured archive, and install the package with the highest version number, giving priority to the first entry in the files. Thus, if you have multiple mirror locations, list first the ones on local hard disks, then CD-ROMs, and then remote mirrors.

Na vydanie je často možné odkazovať jednak prostredníctvom jeho kódového označenia (napr. stretch, buster) 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.

Debian poskytuje dve poštové konferencie s oznámeniami, ktoré vás informujú o relevantných informáciách týkajúcich sa vydaní Debianu.

4.3.1. Pridávanie internetových zdrojov APT

On new installations the default is for APT to be set up to use the Debian APT CDN service, which should ensure that packages are automatically downloaded from a server near you in network terms. As this is a relatively new service, older installations may have configuration that still points to one of the main Debian Internet servers or one of the mirrors. If you haven't done so yet, it is recommended to switch over to the use of the CDN service in your APT configuration.

To make use of the CDN service, add a line like this to your APT source configuration (assuming you are using main and contrib):

deb http://deb.debian.org/debian buster main contrib

After adding your new sources, disable the previously existing deb lines by placing a hash sign (#) in front of them.

However, if you get better results using a specific mirror that is close to you in network terms, this option is still available.

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

Napríklad 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/buster/main/binary-mips64el/...
      http://mirrors.kernel.org/debian/dists/buster/contrib/binary-mips64el/...
    

To configure APT to use a given mirror, add a line like this (again, assuming you are using main and contrib):

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

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.

Again, after adding your new sources, disable the previously existing archive entries.

4.3.2. Pridanie zdrojov APT lokálneho zrkadla

Instead of using remote package mirrors, you may wish to modify the APT source-list files to use a mirror on a local disk (possibly mounted over NFS).

Napríklad, ak máte zrkadlo balíkov vo /var/local/debian/ a adresárová štruktúra je nasledovná:

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

Pridaním nasledovného riadka do súboru sources.list ho môžete použiť v systéme apt:

deb file:/var/local/debian buster 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.

After adding your new sources, disable the previously existing archive entries in the APT source-list files by placing a hash sign (#) in front of them.

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

If you want to use only DVDs (or CDs or Blu-ray Discs), comment out the existing entries in all the APT source-list files by placing a hash sign (#) in front of them.

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    # 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

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

[Poznámka]Poznámka

apt is meant for interactive use, and should not be used in scripts. In scripts one should use apt-get, which has a stable output better suitable for parsing.

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 /mountpoint
  

Next you should double-check that the APT source entries (in /etc/apt/sources.list and files under /etc/apt/sources.list.d/) refer either to buster or to stable. There should not be any sources entries pointing to stretch.

[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>~/upgrade-busterstep.time -a ~/upgrade-busterstep.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-buster.script.

Po dokončení aktualizácie môžete zastaviť script napísaním exit na príkazovom riadku.

apt will also log the changed package states in /var/log/apt/history.log and the terminal output in /var/log/apt/term.log. dpkg will, in addition, log all package state changes in /var/log/dpkg.log. If you use aptitude, it will also log state changes in /var/log/aptitude.

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-buster.time ~/upgrade-buster.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 update
    
[Poznámka]Poznámka

Users of apt-secure may find issues when using aptitude or apt-get. For apt-get, you can use apt-get update --allow-releaseinfo-change.

4.4.3. 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 can show you detailed information about the disk space needed for the installation. Before executing the upgrade, you can see this estimate by running:

# apt -o APT::Get::Trivial-Only=true full-upgrade
[ ... ]
XXX upgraded, XXX newly installed, XXX to remove and XXX not upgraded.
Need to get xx.xMB of archives. 
After this operation, AAAMB of additional disk space will be used.
    
[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.

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

E: You don't have enough free space in /var/cache/apt/archives/.
    

V takejto situácii vopred uvoľnite miesto na disku. Môžete:

  • Remove packages that have been previously downloaded for installation (at /var/cache/apt/archives). Cleaning up the package cache by running apt clean will remove all previously downloaded package files.

  • Remove forgotten packages. If you have used aptitude or apt to manually install packages in stretch it will have kept track of those packages you manually installed, and will be able to mark as redundant those packages pulled in by dependencies alone which are no longer needed due to a package being removed. They will not mark for removal packages that you manually installed. To remove automatically installed packages that are no longer used, run:

    # apt autoremove
            

    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áňte 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 v celoobrazovkovom 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 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.

Note that in order to safely remove packages, it is advisable to switch your APT source-list files back to stretch as described in Oddiel A.2, “Checking your APT source-list files”.

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
    

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.

If the apt-listchanges package is installed, it will (in its default configuration) show important information about upgraded packages in a pager after downloading the packages. Press q after reading to exit the pager and continue the upgrade.

4.4.5. Aktualizácia systému

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

# apt full-upgrade
    

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/DVD/BD vás systém požiada o vloženie niektorých konkrétnych diskov niekoľkokrát počas aktualizácie. Je možné, že budete musieť vložiť rovnaký disk viac než raz; to je z dôvodu navzájom závisiacich balíkov, ktoré sa nachádzajú na rôznych diskoch.

New versions of currently installed packages that cannot be upgraded without changing the install status of another package will be left at their current version (displayed as held back). This can be resolved by either using aptitude to choose these packages for installation or by trying apt install package.

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

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

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

In some cases the apt full-upgrade step can fail after downloading packages with:

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

If that happens, running apt full-upgrade -o APT::Immediate-Configure=0 instead should allow the upgrade to proceed.

Another possible workaround for this problem is to temporarily add both stretch and buster sources to your APT source-list files and run apt update.

4.5.2. Očakávané odstránenia

Proces aktualizácie na buster 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 buster označené ako zastarané nájdete v časti Oddiel 4.8, “Zastaralé balíky”.

4.5.3. Cykly Konfliktov alebo Predzávislostí

Sometimes it's necessary to enable the APT::Force-LoopBreak option in APT to be able to temporarily remove an essential package due to a Conflicts/Pre-Depends loop. apt will alert you of this and abort the upgrade. You can work around this by specifying the option -o APT::Force-LoopBreak=1 on the apt command line.

It is possible that a system's dependency structure can be so corrupt as to require manual intervention. Usually this means using apt or

# dpkg --remove package_name
    

na odstránenie niektorých z konfliktných balíkov alebo

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

V extrémnych prípadoch budete musieť vynútiť reinštaláciu príkazom typu

# dpkg --install /path/to/package_name.deb
    

4.5.4. Konflikty súborov

Konflikty súborov by sa nemali vyskytnúť ak aktualizujete z „čistého“ systému stretch, ale môžu sa vyskytnúť ak máte nainštalované neoficiálne spätné porty (backports). Konflikt súborov sa prejaví nasledovnou chybou:

Unpacking <package-foo> (from <package-foo-file>) ...
dpkg: error processing <package-foo> (--install):
trying to overwrite `<some-file-name>',
which is also in package <package-bar>
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
<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 package_name
    

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

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

If you are running the upgrade using the system's local console you might find that at some points during the upgrade the console is shifted over to a different view and you lose visibility of the upgrade process. For example, this may happen in systems with a graphical interface when the display manager is restarted.

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.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. Inštalácia metabalíka jadra

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

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

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
    

If you are unsure about which package to select, run uname -r and look for a package with a similar name. For example, if you see 4.9.0-8-amd64, it is recommended that you install linux-image-amd64. You may also use apt to see a long description of each package in order to help choose the best one available. For example:

# apt show linux-image-amd64
    

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

For the more adventurous there is an easy way to compile your own custom kernel on Debian. Install the kernel sources, provided in the linux-source package. You can make use of the deb-pkg target available in the sources' makefile for building a binary package. More information can be found in the Debian Linux Kernel Handbook, which can also be found as the debian-kernel-handbook package.

If possible, it is to your advantage to upgrade the kernel package separately from the main full-upgrade to reduce the chances of a temporarily non-bootable system. Note that this should only be done after the minimal upgrade process described in Oddiel 4.4.4, “Minimálna aktualizácia systému”.

4.7. 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.7.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 stretch) 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]Výstraha

Vyčistenie balíka zvyčajne 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 }'
    

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

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

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'
    

4.8. Zastaralé balíky

Okrem toho, že buster prináša mnoho nových balíkov, tiež odstraňuje dosť veľa starých balíkov, ktoré obsahovalo vydanie stretch. 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í buster[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í buster z dôvodu chýb. V poslednom prípade môže distribúcia „unstable“ naďalej obsahovať tieto balíky.

Some package management front-ends provide easy ways of finding installed packages that are no longer available from any known repository. The aptitude textual user interface lists them in the category Obsolete and Locally Created Packages, and they can be listed and purged from the commandline with:

# aptitude search '~o'
# aptitude purge '~o'
  

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.

Zoznam zastaralých balíkov v Buster nájdete v Oddiel 5.1.9, “Významné zastaralé balíky”.

4.8.1. Transitional dummy packages

Some packages from stretch may have been replaced in buster by transitional dummy packages, which are empty placeholders designed to simplify upgrades. If for instance an application that was formerly a single package has been split into several, a transitional package may be provided with the same name as the old package and with appropriate dependencies to cause the new ones to be installed. After this has happened the redundant dummy package can be safely removed.

The package descriptions for transitional dummy packages usually indicate their purpose. However, they are not uniform; in particular, some dummy packages are designed to be kept installed, in order to pull in a full software suite, or track the current latest version of some program. You might also find deborphan with the --guess-* options (e.g. --guess-dummy) useful to detect transitional dummy packages on your system.



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