Apt-offline: instalace balíčků bez připojení k internetu

19. 6. 2012
Doba čtení: 3 minuty

Sdílet

I když je už dnes připojení k internetu dostupné na každém rohu, stále ještě existují místa, kam nedoputovalo. Pořád se nám ale hodí mít tam možnost přinést nějaký nový software a nainstalovat ho, ale bez internetu je to trochu obtížný úkol. Naštěstí je tu utilita apt-offline, která vše vyřeší za vás.

Jeden známý mi před časem říkal, že má u rodičů počítač s Ubuntu a má velký problém tam cokoliv nainstalovat. Každý balík má hromadu závislostí a on to tam vždycky vozí natřikrát, než se mu podaří všechno stáhnout a opravdu nainstalovat. Bez internetu je to velmi nepříjemné a jakákoliv aktualizace je naprosto nemožná.

V Debianu (a jeho derivátech) je totiž politika taková, že se software do balíčků dělí po co nejmenších funkčních částech. Balíčků tedy vzniká mnoho a jsou na sobě různě závislé. V případě online použití klasického apt (nebo lépe aptitude) to funguje dobře, protože se sestaví strom závislostí a podle něj se vše potřebné stáhne. U offline počítače ale nastává velký problém, protože závislosti generují další závislosti a stáhnout pak ručně všechny potřebné soubory je někdy nadlidský úkol.

Přesně pro tyto případy existuje utilita apt-offline, která vám dovolí provádět podobné akce, jako byste byli připojeni k internetu. Software je určen pro Debian a je tím pádem i v Ubuntu a dalších derivátech obou systémů. Práce utility probíhá ve třech krocích:

  1. Na offline počítači určíte, co chcete udělat. Utilita si vše potřebné zapíše do souboru.
  2. Soubor přenesete k online počítači, na kterém nemusí být ani Ubuntu/Debian. Tam si utilita podle přineseného souboru natahá potřebná data.
  3. Stažená data přenesete opět na offline počítač, kde proběhne akce, kterou jste naplánovali.

Důležité a praktické je, že druhý krok není třeba provádět na počítači s původním systémem. Apt-offline je napsán v Pythonu, takže je možné jej provozovat všude, kde máte toto prostředí nainstalováno. Běžně je tak možné ke stahování použít počítač s MS Windows nebo Mac OS X.

Praktické použití

S pomocí apt-offline můžete provádět instalaci nových balíčků, ale i aktualizaci celého systému. Ukážeme si obojí, nejprve tedy aktualizaci celého systému. Budeme k tomu potřebovat samotnou utilitu apt-offline a dostatečně velký flash disk.

Aktualizace systému

Všechny akce je třeba provádět pod uživatelem root. Použijte tedy sudo nebo se přehlaste. Na offline počítači spustíme vytvoření signatury, tedy souboru s informacemi o našem systému:

# apt-offline set signatura.sig

Generating database of files that are needed for an update.
Generating database of files that are needed for an upgrade.

Výsledkem je soubor signatura.sig, který obsahuje vše potřebné. Jeho velikost je obvykle pár desítek kilobajtů. Soubor přeneseme na online počítač a na něm pak zavoláme:

# apt-offline get signatura.sig

Pokud chceme stahovat ve více vláknech z různých repositářů, můžeme použít parametr --threads 3. Každopádně nám vznikne soubor apt-offline.zip, ve kterém jsou všechny změny, které bude třeba udělat na druhé straně. Jeho velikost je závislá na tom, co všechno aktualizujeme, může mít desítky i stovky megabajtů. Soubor přeneseme zpět na offline počítač a na něm zadáme:

# apt-offline install apt-offline.zip

Tím se všechny stažené soubory přidají do apt databáze, stejně jako informace o nich. Pokud teď zavoláte apt-get upgrade, apt zjistí, že všechny balíčky jsou už stažené a jen je nainstaluje.

Instalace nového balíčku

Podobně je možné doinstalovat do offline počítače nějaký nový balíček včetně jeho závislostí. Řekněme, že jsme se rozhodli pro vektorový editor Inkscape. Na offline počítači tedy spustíme:

# apt-offline set signatura-pro-inkscape.sig --install-packages inkscape

Poté opět necháme na online počítači vše stáhnout a zabalit do jednoho souboru:

# apt-offline get signatura-pro-inkscape.sig --bundle inkscape-offline.zip

Soubor opět přeneseme zpět k offline počítači a na něm spustíme:

# apt-offline install inkscape-offline.zip

Soubor se rozbalí a balíčky se opět přesunou do databáze. Teď už stačí jen normálně Inkscape nainstalovat:

# apt-get install inkscape

Od programu se dozvíme, že je z internetu potřeba stáhnout 0 B archivů a můžeme vesele instalovat.

Grafické rozhraní

Počínaje verzí 1.0 z listopadu 2010 má apt-offline i svou grafickou variantu. Ta se nachází v samostatném balíčku apt-offline-gui a ke svému zobrazení používá knihovnu Qt4. Jedná se o velmi jednoduchou aplikaci, která zapadne do každého prostředí.

Umožňuje provádět všechny akce, které jsme si ukázali výše. Můžete v něm vytvořit signaturu, včetně požadavku na instalaci aplikace.

bitcoin_skoleni

Poté na jiném počítači ve stejné aplikaci stáhnete vše potřebné.

Nakonec vše krásně jedním kliknutím nainstalujete.

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.