Před chvílí jsme diskutovali o tom, jak nainstalovat software offline v Ubuntu . V této příručce jsme vysvětlili, jak si můžete stáhnout balíčky v systému s připojením k internetu a nainstalovat je do jiného systému, který má pomalé nebo žádné připojení k internetu. V tomto tutoriálu uvidíme, jak stáhnout balíčky se závislostmi lokálně v Ubuntu, Debianu, Pop OS a dalších systémech založených na DEB.
Pomocí této metody můžeme stáhnout .deb
balíček spolu se všemi požadovanými závislostmi bez jeho skutečné instalace. Tímto způsobem můžeme stáhnout balíčky z jednoho systému a nainstalovat je později do stejného systému samotného nebo jakéhokoli jiného systému, který nemá připojení k internetu. Můžeme si také stáhnout balíčky pro různé systémy architektury. Například je možné stáhnout 32bitové balíčky z 64bitového systému a naopak.
Stáhněte si balíčky se závislostmi lokálně v Ubuntu
Můžeme to udělat dvěma způsoby. Tuto příručku jsem testoval na edicích Ubuntu 16.04 a 18.04 LTS pro stolní počítače. Fungovalo to dobře, jak je popsáno níže.
Metoda 1:
Toto je nejjednodušší a přímočará metoda než jiné metody uvedené níže.
Chcete-li stáhnout balíček se všemi závislostmi bez jejich instalace, stačí spustit:
$ sudo apt-get install --download-only
Například si stáhněte Vim balíček se všemi požadovanými závislostmi bez jejich instalace pomocí příkazu:
$ sudo apt-get install --download-only vim
Ukázkový výstup:
Čtení seznamů balíčků... DoneBuilding strom závislostí Čtení informací o stavu... HotovoNavržené balíčky:ctags vim-doc vim-scripts Budou nainstalovány následující NOVÉ balíčky:vim0 upgradován, 1 nově nainstalován, 0 k odstranění a 82 neaktualizováno. Potřebujete získat 1 152 kB archivů. Po této operaci bude použito 2 852 kB dalšího místa na disku. Získejte:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 vim amd64 2:8.0.1453- 1ubuntu1.1 [1 152 kB]Získáno 1 152 kB za 3 s (372 kB/s)Stahování dokončeno a pouze v režimu stahování
Jak vidíte ve výše uvedeném výstupu, stáhli jsme balíček Vim se všemi závislostmi, ale ve skutečnosti jsme jej nenainstalovali.

Všechny stažené soubory budou uloženy do /var/cache/apt/archives
adresář.
Stačí zkopírovat celou složku mezipaměti na libovolné USB nebo je přenést přes síť do systému, do kterého chcete balíčky nainstalovat.
Chcete-li nainstalovat stažené balíčky, přejděte do složky mezipaměti a nainstalujte je, jak je uvedeno níže.
$ sudo dpkg -i *
Vidět? Je to tak jednoduché!
Tato metoda však funguje pouze v případě, že systém, který používáte ke stažení balíčků, nemá lokálně nainstalovaný hlavní balíček nebo jeho závislosti.
Pokud se pokusíte stáhnout balíček, který je již nainstalován ve stejném systému, uvidíte výstup jako níže.
$ sudo apt-get install --download-only vim Čtení seznamů balíčků... DoneBuilding strom závislostí Čtení informací o stavu... Donevim je již nejnovější verze (2:8.0.1453-1ubuntu1.3).0 upgradovaná, 0 nově nainstalováno, 0 k odstranění a 6 neaktualizováno.V takových případech použijte "
apt-rdepends
" ke stažení všech balíčků. Pokudapt-rdepends
ještě není nainstalován, nainstalujte jej pomocí příkazu:$ sudo apt install apt-rdependsA poté si stáhněte hlavní balíček (tj. v našem případě Vim) spolu se všemi závislostmi pomocí příkazu:
$ stažení apt $(apt-rdepends vim | grep -v "^ ")Tento příkaz rekurzivně stáhne všechny požadované balíčky.
Pro případ, že byste narazili na níže uvedenou chybu:
E:Nelze vybrat kandidátskou verzi z balíčku debconf-2.0, protože nemá žádného kandidátaZkuste místo toho tento příkaz:
$ apt-get stáhnout $(apt-rdepends vim | grep -v "^ " | sed 's/debconf-2.0/debconf/g')Tento příkaz stáhne Vim se všemi potřebnými balíčky a uloží je do aktuálního pracovního adresáře.
Chcete-li nainstalovat všechny stažené balíčky, spusťte:
$ sudo dpkg -i *Metoda 2:
Nejprve si stáhněte závislosti balíčku, který chcete stáhnout.
Chcete-li zobrazit seznam všech závislostí balíčku, například Python , spustit:
$ sudo apt-cache závisí na pythonuUkázkový výstup:
pythonPreDepends:python-minimalDepends:python2.7Depends:libpython-stdlibConflicts:Přerušení:update-manager-coreSuggests:python-docSuggests:python-tkon-dev:python> Pojďme si stáhnout balíček python s jeho závislostmi na náš lokální disk.
Chcete-li tak učinit, nejprve vytvořte adresář pro uložení balíčků.
$ mkdir pythonPřejděte do adresáře:
$ cd pythonA pak spusťte:
$ for i v $(apt-cache závisí na pythonu | grep -E 'Závisí|Doporučuje|Navrhuje' | cut -d ':' -f 2,3 | sed -e s/'<'/''/ - e s/'>'/''/); do sudo apt-get download $i 2>>errors.txt; hotovoVýše uvedený příkaz stáhne balíček Python spolu se všemi požadovanými závislostmi a uloží je do aktuálního pracovního adresáře. Tento příkaz také uloží všechny chyby do
errors.txt
soubor.Podívejme se na stažené soubory pomocí '
ls
' příkaz:$ lsUkázkový výstup:
errors.txtlibpython-stdlib_2.7.11-1_amd64.debpython2.7_2.7.11-7ubuntu1_amd64.debpython-doc_2.7.11-1_all.debpython-minimal_2.7.11-11_1_amdth2.![]()
Jak vidíte ve výše uvedeném výstupu, balíček python se všemi jeho závislostmi byl stažen.
Stačí je zkopírovat na USB disk a nainstalovat balíčky python na jakýkoli offline systém, jak je znázorněno níže.
Připojte jednotku USB, přejděte do umístění, kam jste jednotku připojili, a spusťte následující příkaz pro instalaci Pythonu.
$ sudo dpkg -i *Doporučená četba:
- Jak stáhnout balíček RPM se všemi závislostmi v CentOS
Stáhněte si balíčky se závislostmi lokálně pro konkrétní architekturu
Můžete si všimnout, že výše uvedený příkaz stáhl 64bitové balíčky. Je to proto, že je stahuji z 64bitového systému Ubuntu. Co když si chcete stáhnout balíčky pro 32bitové archové systémy? Je to také možné!
Nejprve povolte architekturu, kterou chcete ve svém systému Ubuntu, pomocí příkazu:
$ sudo dpkg --add-architecture i386Pokud architekturu nepřidáte, zobrazí se při pokusu o stažení balíčků následující chybová zpráva.
E:Nebyly nalezeny žádné balíčkyPo povolení architektury dle vašeho výběru spusťte následující příkaz ke stažení balíčků souvisejících s konkrétní architekturou.
$ for i v $(apt-cache závisí na pythonu:i386 | grep -E 'Závisí|Doporučuje|Navrhuje' | řez -d ':' -f 2,3 | sed -e s/'<'/''/ -e s/'>'/''/); do sudo apt-get download $i 2>>errors.txt; hotovoJak vidíte ve výše uvedeném výstupu, přidal jsem architekturu '
i386
' pomocí 'apt-cache
' příkaz.Ukázkový výstup:
Získejte:1 http://in.archive.ubuntu.com/ubuntu xenial/main i386 python-minimal i386 2.7.11-1 [28,2 kB]Staženo 28,2 kB za 1 s (25,8 kB/s) Získat:1 http://in.archive.ubuntu.com/ubuntu xenial/main i386 python2.7 i386 2.7.11-7ubuntu1 [220 kB]Staženo 220 kB za 1 s (116 kB/s) Získat:1 http://in.archive.ubuntu.com/ubuntu xenial/main i386 libpython-stdlib i386 2.7.11-1 [7 664 B] Načteno 7 664 B za 0 s (13,3 kB/s) Získat:1 http://in.archive.ubuntu.com/ubuntu xenial/main i386 python-tk i386 2.7.11-2 [28,0 kB]Staženo 28,0 kB za 1 s (24,8 kB/s)![]()
Pojďme zkontrolovat stažené balíčky.
$ lsUkázkový výstup:
errors.txtlibpython-stdlib_2.7.11-1_i386.debpython2.7_2.7.11-7ubuntu1_i386.debpython-minimal_2.7.11-1_i386.debpython-tk_2.7.186.de_iVidět? Výše uvedený příkaz stáhl pouze 32bitové balíčky.
Nyní víte, jak stahovat balíčky se závislostmi v systémech Ubuntu. Tyto metody jsou stejné pro všechny systémy založené na DEB.
Související čtení:
- Jak stáhnout rekurzivní závislosti balíčku v Ubuntu
- Jak simulovat příkazy Linuxu, aniž byste cokoli změnili v systému
Jak opravit chybu „E:Nelze získat zámek /var/lib/dpkg/lock“ na Ubuntu Jak zakázat bezobslužné upgrady na UbuntuUbuntu