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