Jedním z důvodů, proč můžete zvážit nastavení místního serveru úložiště apt, je minimalizace požadované šířky pásma, pokud máte k aktualizaci více instancí Ubuntu. Vezměte si například situaci, kdy máte asi 20 serverů, které je třeba aktualizovat dvakrát týdně. Mohli byste ušetřit velké množství šířky pásma, protože vše, co musíte udělat, je aktualizovat všechny vaše systémy přes LAN z vašeho místního serveru úložiště.
V této příručce se dozvíte, jak nastavit místní server úložiště apt na Ubuntu 20.04 LTS.
Předpoklady
- Systém Ubuntu 20.04 LTS
- Webový server Apache
- Minimálně 170 GB volného místa na disku v systému souborů /var/www/html
- Stabilní připojení k internetu
Krok 1) Vytvořte místní webový server Apache
Nejprve se přihlaste do svého Ubuntu 20.04 a nastavte webový server Apache podle obrázku.
$ sudo apt install -y apache2
Povolte službu Apache2, aby byla trvalá po restartování. Spusťte následující příkaz
$ sudo systemctl povolí apache2
Výchozí kořenový adresář dokumentů Apache se nachází v cestě /var/www/html. Později v této cestě vytvoříme adresář úložiště, který bude obsahovat potřebné potřebné balíčky.
Krok 2) Vytvořte adresář úložiště balíčků
Dále vytvoříme adresář místního úložiště s názvem ubuntu v cestě /var/www/html.
$ sudo mkdir -p /var/www/html/ubuntu
Nastavte požadovaná oprávnění ve výše vytvořeném adresáři.
$ sudo chown www-data:www-data /var/www/html/ubuntu
Krok 3) Nainstalujte apt-mirror
Dalším krokem je instalace balíčku apt-mirror, po instalaci tohoto balíčku získáme příkaz nebo nástroj apt-mirror, který stáhne a synchronizuje vzdálené balíčky debianu do místního úložiště na našem serveru. Chcete-li jej nainstalovat, spusťte následující
$ sudo apt update$ sudo apt install -y apt-mirror
Krok 4) Nakonfigurujte úložiště pro zrcadlení nebo synchronizaci
Po instalaci apt-mirror se automaticky vytvoří jeho konfigurace „/etc/apt/mirror.list“. Tento soubor obsahuje seznam úložišť, která budou stažena nebo synchronizována v místní složce našeho serveru Ubuntu. V našem případě je místní složka „/var/www/html/ubuntu/“. Než provedete změny v tomto souboru, proveďte zálohu.
$ sudo cp /etc/apt/mirror.list /etc/apt/mirror.list-bak
Nyní upravte soubor pomocí editoru vi a aktualizujte základní_cestu a úložiště, jak je uvedeno níže.
$ sudo vi /etc/apt/mirror.list############# konfigurace ###################set base_path / var/www/html/ubuntuset nthreads 20set _tilde 0############# end config ##############deb http://archive.ubuntu.com /ubuntu focal hlavní omezený vesmír \ multiversedeb http://archive.ubuntu.com/ubuntu focal-security hlavní omezený \universe multiversedeb http://archive.ubuntu.com/ubuntu focal-updates hlavní omezený \universe multiverseclean http:// archive.ubuntu.com/ubuntu
Uložte a ukončete soubor.
V případě, že jste si všimli, že jsem použil úložiště balíčků Ubuntu 20.04 LTS a komentoval jsem úložiště balíčků src, protože v mém systému nemám dostatek místa. Pokud si přejete stáhnout nebo synchronizovat i balíčky src, odkomentujte řádky, které začínají „deb-src“.
Krok 5) Spusťte zrcadlení vzdálených úložišť do místní složky
Před zahájením zrcadlení nebo synchronizace nejprve zkopírujte skript postmirror.sh do složky /var/www/html/ubuntu/var pomocí níže uvedeného příkazu cp.
$ sudo mkdir -p /var/www/html/ubuntu/var$ sudo cp /var/spool/apt-mirror/var/postmirror.sh /var/www/html/ubuntu/var
Nyní je čas začít zrcadlit balíčky ze vzdálených úložišť do místní složky našeho systému. Proveďte níže:
$ sudo apt-mirror
Příkaz výše lze také spustit na pozadí pomocí příkazu níže nohup,
$ nohup sudo apt-mirror &
Chcete-li sledovat průběh zrcadlení, použijte níže,
$ tail nohup.out
V Ubuntu 20.04 LTS apt-mirror synchronizuje adresář CNF a jeho soubory, takže musíme ručně stáhnout a zkopírovat složku a její soubory. Abyste se vyhnuli ručnímu stahování adresáře CNF, vytvořte skript shellu s obsahem níže,
$ vi cnf.sh#!/bin/bashfor p v "${1:-focal}"{,-{security,updates}}\/{main,restricted,universe,multiverse};do>&2 echo "${p}"wget -q -c -r -np -R "index.html*"\ "http://archive.ubuntu.com/ubuntu/dists/${p}/cnf/Commands-amd64. xz"wget -q -c -r -np -R "index.html*"\ "http://archive.ubuntu.com/ubuntu/dists/${p}/cnf/Commands-i386.xz"doneuložte a zavřete skript.
Spusťte skript pro stažení adresáře CNF a jeho souborů.
$ chmod +x cnf.sh$ bash cnf.shTento skript vytvoří složku s názvem ‚archive.ubuntu.com‘ v aktuálním pracovním adresáři. Zkopírujte tuto složku do zrcadlené složky,
$ sudo cp -av archive.ubuntu.com /var/www/html/ubuntu/mirror/Poznámka: Pokud nesynchronizujeme adresář cnf, pak na klientských počítačích dostaneme následující chyby, takže k vyřešení těchto chyb musíme vytvořit a spustit výše uvedený skript.
E:Nepodařilo se načíst http://x.x.x.x/ubuntu/mirror/archive.ubuntu.com/ubuntu/dists/\focal/restricted/cnf/Commands-amd64 404 Nenalezeno [IP:169.144.104.219 80 :Nepodařilo se načíst http://x.x.x.x/ubuntu/mirror/archive.ubuntu.com/ubuntu/dists/\focal-updates/main/cnf/Commands-amd64 404 Nenalezeno [IP:169.144.104.219 Failed 80] k načtení http://x.x.x.x/ubuntu/mirror/archive.ubuntu.com/ubuntu/dists/\focal-security/main/cnf/Commands-amd64 404 Nenalezeno [IP:169.144.104.219 80]Plánování automatické synchronizace úložišť
Nakonfigurujte úlohu cron pro automatickou aktualizaci našich místních repozitářů apt. Doporučuje se nastavit tuto úlohu cron denně v noci.
Spusťte „crontab -e“ a přidejte následující příkaz, který se má provádět denně v 1:00 v noci.
$ sudo crontab -e00 01 * * * /usr/bin/apt-mirrorUložit a zavřít.
Poznámka:V případě, že Firewall běží na Ubuntu Server, povolte port 80 pomocí následujícího příkazu
$ sudo ufw allow 80Krok 6) Přístup k místnímu úložišti APT prostřednictvím webového prohlížeče
Pro přístup k místně konfigurovanému úložišti apt prostřednictvím webového prohlížeče zadejte následující adresu URL:
http://
/ubuntu/mirror/archive.ubuntu.com/ubuntu/dists/
Krok 7) Nakonfigurujte klienta Ubuntu 20.04 pro použití místního serveru úložiště apt
Abych otestoval a ověřil, zda náš server úložiště apt funguje dobře nebo ne, mám jiný systém Ubuntu 20.04 lts, kde aktualizuji soubor /etc/apt/sources.list tak, aby příkaz apt ukazoval na místní úložiště místo na vzdálená úložiště.
Přihlaste se tedy do systému, změňte následující v seznamu sources.list
http://archive.ubuntu.com/ubuntutohttp://169.144.104.219/ubuntu/mirror/archive.ubuntu.com/ubuntuZde je „169.144.104.219“ IP adresa mého serveru úložiště apt, nahraďte tuto IP adresu, která vyhovuje vašemu prostředí.
Ujistěte se také, že okomentujete všechna ostatní úložiště, která nejsou zrcadlena na našem serveru úložiště apt. Takže po provedení změn v souboru sources.list by to vypadalo takto:
Nyní spusťte příkaz „apt update“, abyste ověřili, že klientský počítač získává aktualizaci z našeho místního serveru úložiště apt,
Aktualizace $ sudo apt
Perfektní, výše uvedený výstup potvrzuje, že klientský počítač je úspěšně schopen připojit se k našemu úložišti pro načtení balíčků a aktualizací. To je vše z tohoto článku, doufám, že vám tento průvodce pomůže nastavit místní server úložiště apt v systému Ubuntu 20.04.
Přečtěte si také :14 užitečných příkladů příkazů „ls“ v systému Linux
Jak vynutit zásady hesel v Linuxu (Ubuntu / CentOS) Jak nainstalovat server NFS na Ubuntu 20.04 (Focal Fossa)Ubuntu