APT znamená Advanced Packaging Tool je další správce balíčků, který se nachází v systémech založených na Linuxu. Původně navrženo jako front-end pro dpkg pracovat s .deb balíčků, apt uspěl prokázat svou viditelnost na Mac OS, Open Solaris atd.
Chcete se naučit a ovládat APT a DPKG příkazy ke správě správy balíčků Debianu, pak použijte naše podrobné články, které pokrývají více než 30+ příklady na obou nástrojích.
25 Užitečné příkazy APT pro správu balíčků Debian/Ubuntu15 Užitečné příkazy Dpkg pro správu balíčků v Debian/UbuntuV tomto článku uvidíme různé techniky, jak zakázat/uzamknout balíček z instalace, upgradu a odstranění v Debian Linuxu a jeho derivátech, jako je Ubuntu a Linux Mint.
1. Zakázat/uzamknout balíček pomocí „apt-mark“ s možností hold/unhold
Příkaz apt-mark označí nebo zruší označení softwarového balíčku jako automaticky nainstalovaného a používá se s možností podržet nebo odemknout .
- zadržet – tato možnost se používá k označení balíčku jako pozdrženého, což zablokuje instalaci, aktualizaci nebo odstranění balíčku.
- uvolnit – tato možnost se používá k odstranění dříve nastaveného pozastavení balíčku a umožňuje instalaci, aktualizaci a odstranění balíčku.
Například pro vytvoření balíčku řekněte apache2
nedostupné pro instalaci, upgrade nebo odinstalaci, můžete použít následující příkaz na terminálu s právy root:
# apt-mark hold apache2
Chcete-li tento balíček zpřístupnit pro aktualizaci, stačí nahradit „hold ‘ s ‘odemknout ‘.
# apt-mark unhold apache2
Blokování aktualizací balíčků pomocí souboru předvoleb APT
Dalším způsobem, jak zablokovat aktualizace konkrétního balíčku, je přidat jeho položku do /etc/apt/preferences
nebo /etc/apt/preferences.d/official-package-repositories.pref
soubor. Tento soubor nese odpovědnost za aktualizaci nebo blokování určitých aktualizací balíčku podle priority určené uživatelem.
Chcete-li balíček zablokovat, stačí zadat jeho název, další funkce a jakou prioritu jej chcete převzít. Zde priorita < 1
zablokuje balíček.
Chcete-li zablokovat jakýkoli balíček, zadejte jeho podrobnosti do souboru /etc/apt/preferences
takhle:
Package: <package-name> (Here, '*' means all packages) Pin: release * Pin-Priority: <less than 0>
Chcete-li například zablokovat aktualizace pro balíček apache2, přidejte záznam, jak je znázorněno:
Package: apache2 Pin: release o=Ubuntu Pin-Priority: 1
Pro další identifikaci balíčku, na který aplikujeme prioritu Pin, můžeme použít další možnosti s klíčovým slovem release. Tato klíčová slova jsou:
- a -> Archiv
- c -> Komponenta
- o -> Původ
- l -> Štítek
- n -> Architektura
jako:
Pin: release o=Debian,a=Experimental
Znamenalo by to stáhnout uvedený balíček z experimentálního archivu balíčků Debianu.
Zablokujte aktualizaci balíčku pomocí automatického odstranění souboru APT
Dalším způsobem, jak zakázat balíček z instalace, je aktualizovat jeho záznam v jednom ze souborů obsažených v /etc/apt/apt.conf.d/
adresář, který je 01autoremove .
Ukázkový soubor je uveden níže:
APT { NeverAutoRemove { "^firmware-linux.*"; "^linux-firmware$"; }; VersionedKernelPackages { # linux kernels "linux-image"; "linux-headers"; "linux-image-extra"; "linux-signed-image"; # kfreebsd kernels "kfreebsd-image"; "kfreebsd-headers"; # hurd kernels "gnumach-image"; # (out-of-tree) modules ".*-modules"; ".*-kernel"; "linux-backports-modules-.*"; # tools "linux-tools"; }; Never-MarkAuto-Sections { "metapackages"; "restricted/metapackages"; "universe/metapackages"; "multiverse/metapackages"; "oldlibs"; "restricted/oldlibs"; "universe/oldlibs"; "multiverse/oldlibs"; }; };
Chcete-li nyní jakýkoli balíček přidat na černou listinu, stačí zadat jeho název do Never-MarkAuto-Sections
. Stačí zadat název balíčku na konci v Never-MarkAuto-Section
a Uložit a zavřít soubor. To by zablokovalo apt pro vyhledávání dalších aktualizací tohoto balíčku.
Chcete-li například zablokovat balíček před aktualizací, přidejte záznam podle obrázku:
Never-MarkAuto-Sections { "metapackages"; "restricted/metapackages"; "universe/metapackages"; "multiverse/metapackages"; "oldlibs"; "restricted/oldlibs"; "universe/oldlibs"; "multiverse/oldlibs"; "apache2*"; }; };
Vlastní výběr balíčku pro aktualizaci
Další alternativou je vybrat si, co chcete aktualizovat. apt Tento nástroj vám dává svobodu vybrat si, co chcete aktualizovat, ale k tomu byste měli mít znalosti o tom, které všechny balíčky jsou k dispozici pro aktualizaci.
Pro takovou věc se může ukázat jako užitečná následující sada příkazů:
a. Chcete-li zobrazit seznam balíčků, jejichž aktualizace čekají na vyřízení.
# apt-get -u -V upgrade
b. Chcete-li nainstalovat pouze vybrané balíčky.
# apt-get --only-upgrade install <package-name>
Závěr
V tomto článku jsme vysvětlili několik způsobů, jak zakázat/blokovat nebo zakázat aktualizace balíčků pomocí APT. Pokud znáte nějaký jiný preferovaný způsob, dejte nám vědět prostřednictvím komentářů nebo pokud jste hledali příkaz yum pro zakázání/uzamčení aktualizace balíčku, přečtěte si tento článek níže.
Zakázat/uzamknout aktualizace balíčků pomocí Yum v CentOS/RHEL