Pomocí curl
si můžeme stáhnout jakýkoli balíček nebo wget
příkazy, že? Tyto příkazy však nestahují požadované závislosti. Možná budete muset strávit nějaký čas ručním vyhledáváním a stahováním závislostí, které balíček vyžaduje k instalaci. Tak už ne! V tomto krátkém tutoriálu se podíváme, jak stáhnout balíček RPM se všemi závislostmi v CentOS. Testoval jsem tuto příručku na CentOS 7, i když stejné kroky mohou fungovat na jiných systémech založených na RPM, jako jsou RHEL, Fedora, AlmaLinux a Rocky Linux.
Stáhněte si balíček RPM se všemi závislostmi v CentOS
Můžeme to udělat dvěma způsoby. Budeme používat Pouze ke stažení plugin v první metodě.
1. Stáhněte si balíčky RPM se všemi závislostmi pomocí pluginu „Downloadonly“
Můžeme snadno stáhnout jakýkoli balíček RPM se všemi závislostmi pomocí „Pouze ke stažení“ plugin pro příkaz yum.
Chcete-li nainstalovat plugin Downloadonly, spusťte následující příkaz jako root
uživatel.
# yum install yum-plugin-downloadonly
Nyní spusťte následující příkaz ke stažení balíčku RPM.
# yum install --downloadonly <package-name>
Ve výchozím nastavení tento příkaz stáhne a uloží balíčky do /var/cache/yum/
umístění. Balíčky si však můžete stáhnout a uložit na libovolné místo podle svého výběru pomocí "--downloaddir
".
# yum install --downloadonly --downloaddir=<directory> <package-name>
Příklad:
# yum install --downloadonly --downloaddir=/root/mypackages/ httpd
Ukázkový výstup:
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.excellmedia.net * epel: epel.mirror.angkasa.id * extras: centos.excellmedia.net * updates: centos.excellmedia.net Resolving Dependencies --> Running transaction check ---> Package httpd.x86_64 0:2.4.6-40.el7.centos.4 will be installed --> Processing Dependency: httpd-tools = 2.4.6-40.el7.centos.4 for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Running transaction check ---> Package apr.x86_64 0:1.4.8-3.el7 will be installed ---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed ---> Package httpd-tools.x86_64 0:2.4.6-40.el7.centos.4 will be installed ---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================= Package Arch Version Repository Size ======================================================================================================================================= Installing: httpd x86_64 2.4.6-40.el7.centos.4 updates 2.7 M Installing for dependencies: apr x86_64 1.4.8-3.el7 base 103 k apr-util x86_64 1.5.2-6.el7 base 92 k httpd-tools x86_64 2.4.6-40.el7.centos.4 updates 83 k mailcap noarch 2.1.41-2.el7 base 31 k Transaction Summary ======================================================================================================================================= Install 1 Package (+4 Dependent packages) Total download size: 3.0 M Installed size: 10 M Background downloading packages, then exiting: (1/5): apr-1.4.8-3.el7.x86_64.rpm | 103 kB 00:00:01 (2/5): apr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:00:01 (3/5): mailcap-2.1.41-2.el7.noarch.rpm | 31 kB 00:00:01 (4/5): httpd-tools-2.4.6-40.el7.centos.4.x86_64.rpm | 83 kB 00:00:01 (5/5): httpd-2.4.6-40.el7.centos.4.x86_64.rpm | 2.7 MB 00:00:09 --------------------------------------------------------------------------------------------------------------------------------------- Total 331 kB/s | 3.0 MB 00:00:09 exiting because "Download Only" specified

Nyní přejděte na místo, které jste zadali ve výše uvedeném příkazu. Uvidíte tam stažený balíček se všemi závislostmi. V mém případě jsem si stáhl balíčky v /root/mypackages/
adresář.
Nechte nás ověřit obsah.
# ls /root/mypackages/
Ukázkový výstup:
apr-1.4.8-3.el7.x86_64.rpm apr-util-1.5.2-6.el7.x86_64.rpm httpd-2.4.6-40.el7.centos.4.x86_64.rpm httpd-tools-2.4.6-40.el7.centos.4.x86_64.rpm mailcap-2.1.41-2.el7.noarch.rpm

Jak vidíte ve výše uvedeném výstupu, balíček httpd
byl stažen se všemi závislostmi.
Vezměte prosím na vědomí, že tento plugin je použitelný pro "yum install/yum update" a ne pro "yum groupinstall". Ve výchozím nastavení tento plugin stáhne nejnovější dostupné balíčky v úložišti. Můžete si však stáhnout konkrétní verzi zadáním verze.
Příklad:
# yum install --downloadonly --downloaddir=/root/mypackages/ httpd-2.2.6-40.el7
Také si můžete stáhnout více balíčků najednou, jak je uvedeno níže.
# yum install --downloadonly --downloaddir=/root/mypackages/ httpd vsftpd
Stáhnout – Příručka zdarma:„10 snadných způsobů obnovení systému Linux“
2. Stáhněte si balíčky RPM se všemi závislostmi pomocí nástroje "Yumdownloader"
Yumdownloader je jednoduchý, ale užitečný nástroj příkazového řádku, který stáhne jakýkoli balíček RPM spolu se všemi požadovanými závislostmi najednou.
Nainstalujte Yumdownloader pomocí následujícího příkazu jako root
uživatel.
# yum install yum-utils
Po instalaci spusťte následující příkaz ke stažení balíčku, například httpd
.
# yumdownloader httpd
Chcete-li stáhnout balíčky se všemi závislostmi, použijte --resolve
možnost:
# yumdownloader --resolve httpd
Ve výchozím nastavení Yumdownloader stáhne balíčky v aktuálním pracovním adresáři.
Chcete-li stáhnout balíčky spolu se všemi závislostmi do konkrétního umístění, použijte --destdir
možnost:
# yumdownloader --resolve --destdir=/root/mypackages/ httpd
Nebo
# yumdownloader --resolve --destdir /root/mypackages/ httpd
Ukázkový výstup:
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.excellmedia.net * epel: epel.mirror.angkasa.id * extras: centos.excellmedia.net * updates: centos.excellmedia.net --> Running transaction check ---> Package httpd.x86_64 0:2.4.6-40.el7.centos.4 will be installed --> Processing Dependency: httpd-tools = 2.4.6-40.el7.centos.4 for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Running transaction check ---> Package apr.x86_64 0:1.4.8-3.el7 will be installed ---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed ---> Package httpd-tools.x86_64 0:2.4.6-40.el7.centos.4 will be installed ---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed --> Finished Dependency Resolution (1/5): apr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:00:01 (2/5): mailcap-2.1.41-2.el7.noarch.rpm | 31 kB 00:00:02 (3/5): apr-1.4.8-3.el7.x86_64.rpm | 103 kB 00:00:02 (4/5): httpd-tools-2.4.6-40.el7.centos.4.x86_64.rpm | 83 kB 00:00:03 (5/5): httpd-2.4.6-40.el7.centos.4.x86_64.rpm | 2.7 MB 00:00:19

Dovolte nám ověřit, zda byly balíčky staženy do zadaného umístění.
# ls /root/mypackages/
Ukázkový výstup:
apr-1.4.8-3.el7.x86_64.rpm apr-util-1.5.2-6.el7.x86_64.rpm httpd-2.4.6-40.el7.centos.4.x86_64.rpm httpd-tools-2.4.6-40.el7.centos.4.x86_64.rpm mailcap-2.1.41-2.el7.noarch.rpm

Na rozdíl od pluginu Downloadonly může Yumdownload stahovat balíčky související s konkrétní skupinou.
# yumdownloader "@Development Tools" --resolve --destdir /root/mypackages/
Osobně preferuji Yumdownloader před Downloadonly pluginem pro yum. Obojí je ale snadné a dělá stejnou práci. Můžete si vybrat ten, který vám vyhovuje.
Související čtení:
- Stáhněte si balíčky se závislostmi lokálně v Ubuntu