Při práci na serverech RHEL a CentOS existují některé scénáře, kdy chceme stáhnout konkrétní nebo sadu RPM balíčků z příkazového řádku bez instalace. Můžeme sice použít příkaz wget ke stažení balíčků, ale wget nestáhne balíček spolu s jeho závislostmi.
Na RHEL 8 nebo CentOS 8 je DNF (nebo yum) nástroj pro správu balíčků příkazového řádku. Pomocí DNF nebo yum můžeme instalovat, aktualizovat a odstraňovat rpm balíčky. Kromě toho může být také použit ke stažení balíčků spolu se závislostmi bez jejich instalace.
V této příručce se budeme zabývat tím, jak stahovat balíčky rpm bez instalace na systém RHEL 8 nebo CentOS 8.
Stáhněte si konkrétní balíček RPM
Příkaz dnf nebo yum na RHEL 8 nebo CentOS 8 má příznak stahování, který umožňuje stáhnout balíček rpm.
Syntaxe:
$ sudo dnf ke stažení
Předpokládejme, že si chceme stáhnout balíček ‚nfs-utils‘. Spustit
$ sudo dnf download nfs-utils
Výše uvedený příkaz stáhne balíček nfs-utils v aktuálním pracovním adresáři. Nebude stahovat závislosti. Ověřte stažený balíček, spusťte
$ ls nfs-utils-2.3.3-26.el8.x86_64.rpm $
Stáhnout RPM spolu se závislostmi
Pomocí příznaku „–downloadonly“ v příkazu dnf nebo yum lze stáhnout balíček rpm spolu s jeho závislostmi. Můžeme také instruovat příkaz dnf ke stažení rpm v konkrétní složce pomocí příznaku „–downloaddir“.
Syntaxe:
$ sudo dnf install
Předpokládejme, že chceme stáhnout ansible rpm spolu s jeho závislostmi v adresáři balíčku.
$ mkdir packages $ sudo dnf install ansible --downloadonly --downloaddir ~/packages/
Po úspěšném provedení výše uvedeného příkazu ověřte, zda je nebo není stažen balíček ansible rpm. Proveďte příkaz ls,
$ ls -l packages/
Nyní můžeme vytvořit soubor tar z těchto balíčků a přenést je do vzdáleného systému, kde chceme nainstalovat ansible a nemáme v tomto systému připojení k internetu a úložišti.
Stáhnout skupinový balíček
Předpokládejme, že chceme stáhnout všechny balíčky, které spadají pod skupinu „Vývojové nástroje“, spusťte pod příkazem.
$ sudo dnf group install "Development Tools" --downloadonly --downloaddir ~/dev-tools/ -y
Ověřte, zda byly balíčky staženy nebo ne, spusťte příkaz ls
$ ls -l ~/dev-tools/
Skvělé, výše uvedený výstup potvrzuje, že všechny vývojové balíčky byly staženy do složky ~/dev-tools.
Poznámka:Kdykoli stahujeme balíčky pomocí příkazu dnf nebo yum a pokud nevyhovíme příznaku –downloadidr, balíčky se stáhnou do '/var/cache/dnf/baseos-xxxx/packages/', '/var/cache/ dnf/appstream-xxxx/packages' a '/var/cache/dnf/epel-xxxx/packages/'.
To je vše z tohoto průvodce, zjistil jsem, že je informativní. Své dotazy a zpětnou vazbu pište do sekce komentářů níže.