
Existuje několik důvodů, proč byste si chtěli vytvořit vlastní místní úložiště. Je to skvělý způsob, jak vytvořit místní zrcadlové úložiště pro ukládání často používaných balíčků používaných mnoha počítači do mezipaměti, aby se ušetřilo využití šířky pásma, nebo můžete mít několik upravených balíčků, které chcete interně zpřístupnit vývojářskému týmu.
V tomto tutoriálu vám ukážeme, jak snadno vytvořit místní úložiště balíčků Debian , kompatibilní s verzemi Debian a Ubuntu.
Krok 1:Instalace požadovaného balíčku
Na systémech založených na Debianu jsou všechna úložiště spravována nástroji APT (apt, apt-get, apt-cache atd.). Balíček dpkg-dev je nutný pro vytvoření lokálního úložiště kompatibilního s APT.
Nejprve aktualizujte systémové balíčky pomocí následujícího příkazu:
$ sudo apt update && sudo apt upgrade
Dále nainstalujte dpkg-dev balíček zadáním následujícího:
$ sudo apt-get install dpkg-dev
Po dokončení instalace balíčku pokračujte vytvořením adresáře pro soubory balíčku.
Krok 2:Vytvořte adresář pro místní úložiště
Vytvořte adresář pro uložení binárních balíčků. V tomto příkladu použijeme /opt/local/debs, ale můžete použít libovolný adresář.
$ sudo mkdir -p /opt/local/debs
Dále změňte adresář:
$ cd /opt/local/debs
Krok 3:Přidání balíčků do adresáře místního úložiště
Pro účely tohoto tutoriálu stáhneme balíček chrome-browser do našeho místního úložiště, protože se nenachází ve výchozím úložišti Ubuntu:
$ sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
V tomto kroku můžete zkopírovat nebo stáhnout libovolný počet balíčků.
Krok 4:Vytvořte požadovaný balíček metadat úložiště pro APT
K tomu musíme spustit několik příkazů dpkg-scanpackages. Přepnu na uživatelský účet root, protože k přeskočení pomocí sudo používám adresář /opt/local.
$ sudo su
Nejprve vytvoříme soubor Release spuštěním následujícího příkazu:
# dpkg-scanpackages . /dev/null > Release
Měli byste získat podobný výstup v závislosti na tom, kolik balíčků jste přidali do místního úložiště:
dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning: google-chrome-stable
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.
Dále prohledejte všechny deb soubory v adresáři a vytvořte příslušný soubor Packages.gz
# dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
Výstup:
dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning: google-chrome-stable
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.
Všimněte si, že tyto příkazy musíte spustit pokaždé, když přidáte nové deb balíčky do vašeho lokálního adresáře úložiště. Můžete také vytvořit jednoduchý bash skript a spustit jej, kdykoli přidáte nové balíčky.
Chcete-li zobrazit strukturu adresářů místního úložiště, spusťte příkaz ls:
$ ls -l
Výstup:
-rw-r--r-- 1 root root 83325072 May 8 02:29 google-chrome-stable_current_amd64.deb
-rw-r--r-- 1 root root 761 May 17 20:44 Packages.gz
-rw-r--r-- 1 root root 1321 May 17 20:39 Release
Krok 5:Přidání našeho místního úložiště do Sources.list
Posledním krokem je úprava souboru sources.list. Upravte soubor pomocí editoru dle vašeho výběru:
$ sudo nano /etc/apt/sources.list
Přidejte následující řádek do svého /etc/apt/sources.list:
deb [trusted=yes] file:/opt/local/debs ./
Nyní otestujeme naše místní úložiště v akci.
Krok 6:Ověření
Můžeme to ověřit instalací nebo odebráním balíčků z místního úložiště.
Nejprve musíme balíčky aktualizovat:
$ sudo apt-get update
Nyní nainstalujeme náš balíček jako obvykle pomocí apt-get:
$ sudo apt-get install google-chrome-stable
Nyní lze vaše místní balíčky instalovat, aktualizovat a odstraňovat pomocí Synaptic, aptitude a příkazů apt:apt-get, apt-cache atd. Když spustíte apt-get install, všechny závislosti budou vyřešeny a nainstalovány za vás, dokud jak je lze splnit.
Naše nainstalované balíčky můžeme snadno odstranit stejným způsobem jako jakýkoli jiný nainstalovaný balíček v našem systému:
$ sudo apt-get remove google-chrome-stable
Závěr
V tomto tutoriálu jsme se naučili, jak vytvořit vlastní místní úložiště Debianu a lokálně přidávat/odebírat balíčky. Tyto kroky platí pro většinu distribucí založených na Debianu.