GNU/Linux >> Znalost Linux >  >> Ubuntu

Zadržení nebo zabránění upgradu balíčku v Debianu, Ubuntu

Jak již víte, všechny nainstalované balíčky můžeme upgradovat pomocí apt upgrade příkaz v Debianu, Ubuntu a dalších systémech založených na Debianu. Během tohoto procesu aktualizace budou aktualizovány všechny nainstalované balíčky, budou nainstalovány některé další balíčky (tj. závislosti) a některé nepotřebné balíčky budou odstraněny. Správce balíčků Apt dělá všechny tyto věci automaticky, aby uživatelům pomohl udržovat čistý systém. Apt má také možnost zabránit automatické instalaci, aktualizaci nebo odstranění balíčku v Debianu, Ubuntu a jeho variantách. V této příručce probereme různé metody, jak zadržet nebo zabránit upgradu balíčku v Debianu, Ubuntu a jeho derivátech, jako je Linux Mint a Pop!_OS.

Proč by někdo chtěl bránit aktualizaci balíčku?

Možná se divíte, proč by někdo chtěl zadržovat balíček po aktualizaci apt. Nepomáhá nám aktualizace balíčků na nejnovější verzi k zabezpečení systému? Samozřejmě ano! Ale za určitých okolností to dělat nechcete. Zde je několik důvodů, proč zabránit aktualizaci balíčků:

  • Aktuální verze balíčku funguje dobře, takže si možná myslíte, že není nutné ji upgradovat.
  • Jiná aplikace vyžaduje určitou verzi, aby správně fungovala.
  • Balík, který se chystáte aktualizovat, může být problematický. Přestože vývojáři balíčky důkladně otestují, než je vloží do repozitářů, někdy mohou nevědomky poslat nestabilní balíčky, které naruší váš systém.
  • Úspora šířky pásma. Možná nebudete chtít aktualizovat balíček, který zabírá více než 500 MB.

Ať už je důvod jakýkoli, pokud jste někdy chtěli zabránit změnám balíčku v systémech Debian nebo Ubuntu, tento návod vám pomůže.

Zadržení nebo zabránění upgradu balíčku v Debianu, Ubuntu

Balíčky můžeme zabránit/podržet/ignorovat/vyloučit z upgradu apt buď z příkazového řádku, nebo pomocí grafického nástroje pro správu balíčků s názvem Synaptic správce balíčků.

Nejprve se podívejme na metody příkazového řádku!

1. Zabránit automatické instalaci, aktualizaci nebo odstranění balíčku pomocí příkazu apt-mark v Debianu, Ubuntu

Apt-mark se používá k zobrazení, nastavení a zrušení různých nastavení pro balíček, jako je označení balíčku jako automaticky/ručně nainstalovaného nebo změna dpkg výběry jako podržet, nainstalovat, odinstalovat a vyčistit, které jsou respektovány např. pomocí apt-get dselect-upgrade nebo aptitude .

Chcete-li zabránit změnám balíčku (instalaci, odinstalaci a aktualizaci), použijte apt-mark příkaz poskytuje následující tři dílčí příkazy:

  1. zadržet
  2. uvolnit
  3. showhold

hold příkaz se používá k označení balíčku jako pozdrženého, ​​což zabrání automatické instalaci, aktualizaci nebo odstranění balíčku.

unhold příkaz se používá ke zrušení dříve nastaveného pozastavení balíčku, aby byly všechny akce znovu povoleny.

A showhold příkaz se používá k zobrazení seznamu podržených balíčků.

Podívejme se na příklad. Chystám se zabránit balíčku (např. htop ) nelze automaticky nainstalovat, aktualizovat nebo odebrat pomocí příkazu:

$ sudo apt-mark hold htop

Ukázkový výstup:

htop set on hold.

Uzamčený htop balíček zůstane ve stejné verzi i po aktualizaci systému.

Chcete-li zobrazit pozastavené balíčky, spusťte:

$ sudo apt-mark showhold

Chcete-li balíček uvolnit, stačí spustit:

$ sudo apt-mark unhold htop

Ukázkový výstup:

Canceled hold on htop.

Upozorňujeme, že tento způsob nezabrání ručnímu odstranění balíčku . Stále můžete odstranit zamčené balíčky pomocí apt-get remove <packagename> příkaz.

Tato metoda pouze zabrání automatické instalaci, aktualizaci, upgradu nebo odebrání aplikace během aktualizace systému. Držení balíčku ve skutečnosti znamená, že říkáte správci balíčků, aby zachoval aktuální verzi bez ohledu na to, co se děje, i když je k dispozici nová verze . Tento trik může být velmi užitečný při zadržování grafických ovladačů. Je také užitečné, pokud se novější verze aktuálně fungujícího programu po aktualizaci rozbije.

Kdykoli se pokusíte aktualizovat systém pomocí příkazů sudo apt-get update nebo sudo apt-get upgrade , označené balíčky budou stále stejné verze v době, kdy balíček držíte.

Apt-mark není jediný nástroj CLI, který zabraňuje změnám balíčků v Debianu nebo Ubuntu. Existují dva další způsoby, jak pozastavit balíček a později jej pozdržet z příkazového řádku.

2. Zabránit aktualizaci balíčku pomocí dpkg v Debianu, Ubuntu

Dpkg je nástroj příkazového řádku pro instalaci, sestavování, odstraňování a správu balíčků Debianu.

Chcete-li vložit balíček, například htop , pozastaveno pomocí dpkg, spusťte:

$ echo "htop hold" | sudo dpkg --set-selections

Stav balíčku, který jste dříve pozastavili, můžete zobrazit, spusťte:

$ dpkg --get-selections | grep "htop"
htop						hold

Jak můžete vidět, htop je pozastaven.

Chcete-li zobrazit stav všech balíčků, spusťte:

$ dpkg --get-selections

Chcete-li balíček uvolnit, postupujte takto:

$ echo "htop install" | sudo dpkg --set-selections

3. Podržte balíček z upgradu pomocí aptitude v Debianu, Ubuntu

Aptitude je textové rozhraní k systému balíčků Debian GNU/Linux. Umožňuje uživateli provádět různé úlohy správy balíčků, jako je instalace, aktualizace, aktualizace, výpis a odstranění balíčků.

Chcete-li balíček pozastavit a zabránit jeho automatické aktualizaci, spusťte:

$ sudo aptitude hold htop

Chcete-li zobrazit stav balíčku, spusťte:

$ aptitude show htop

Ukázkový výstup:

Package: htop                            
Version: 2.2.0-2build1
State: installed [held]
Automatically installed: no
Priority: optional
Section: utils
Maintainer: Ubuntu Developers <[email protected]>
Architecture: amd64
Uncompressed Size: 225 k
Depends: libc6 (>= 2.15), libncursesw6 (>= 6), libtinfo6 (>= 6)
Suggests: lsof, strace
Description: interactive processes viewer
 Htop is an ncursed-based process viewer similar to top, but it allows
 one to scroll the list vertically and horizontally to see all processes
 and their full command lines. 
 
 Tasks related to processes (killing, renicing) can be done without
 entering their PIDs.
Homepage: https://hisham.hm/htop/

Jak vidíte ve výše uvedeném výstupu, balíček htop je pozastaven před aktualizací.

Chcete-li balíček uvolnit, jednoduše postupujte takto:

$ sudo aptitude unhold htop

4. Zabránit automatické instalaci, aktualizaci nebo odebrání balíčku pomocí správce balíčků Synaptic v Debianu, Ubuntu

Pokud máte Synaptic správce balíčků nainstalovaný ve vašem systému, můžete snadno uzamknout balíček před instalací, aktualizací, aktualizací nebo odstraněním.

Otevřete Správce Synaptic a vyhledejte balíček, který chcete držet. Poté klikněte na Balík z panelu nabídek a klikněte na přidržet .

A je to. Nyní se balíku během aktualizace systému nedotknete, pokud jej ponecháte pozastavený.

Chcete-li jej odložit, přejděte na Synaptic -> Balíček -> Odemknout verze.

Pokud správce balíčků Synaptic není ve vašem systému nainstalován, můžete jej nainstalovat pomocí příkazu:

$ sudo apt install synaptic

Závěr

V tomto tutoriálu jste se naučili, jak zabránit automatické instalaci, aktualizaci a odstranění balíčku v systémech založených na Debianu, jako je Ubuntu, Linux Mint a Pop!_OS atd. I když zadržování balíčků může být v určitých případech užitečné, ponechte ve svém systému Ubuntu bezpečnostní mezery. Člověk musí vědět, kdy podržet nebo vyjmout balíčky. Tuto funkci používejte opatrně. Hodně štěstí!

Související čtení:

  • Jak ignorovat balíček z upgradu v Arch Linuxu

Vybraný obrázek od studia erfouris z Pixabay.


Ubuntu
  1. Upgradujte z Ubuntu 13.10 na Ubuntu 14.04

  2. Upgradujte z Ubuntu 13.04 na Ubuntu 13.10

  3. Jak zabránit aktualizaci balíčku v Ubuntu, Debianu nebo Linux Mintu [APT]

  1. Jak odinstalovat nebo odebrat softwarové balíčky z Ubuntu

  2. Jak upgradovat z Ubuntu 16.04 na Ubuntu 18.04

  3. Jak upgradovat na Ubuntu 15.10 z Ubuntu 15.04

  1. Nainstalujte balíčky z Ubuntu PPA na Debian Linux

  2. Jak upgradovat na Ubuntu 18.10 z Ubuntu 18.04 LTS

  3. Jak upgradovat na Ubuntu 19.10 z 19.04 (průvodce)