Vyhledávání na webu

Jak vytvořit místní úložiště HTTP Yum/DNF na RHEL 8


Úložiště softwaru nebo „repo“ je centrální místo pro uchovávání a údržbu softwarových balíčků RPM pro distribuci Redhat Linux, ze kterého mohou uživatelé stahovat a instalovat balíčky na své linuxové servery.

Úložiště jsou obecně uložena ve veřejné síti, ke které může na internetu přistupovat více uživatelů. Můžete si však na svém serveru vytvořit vlastní lokální úložiště a přistupovat k němu jako jediný uživatel nebo povolit přístup k dalším strojům ve vaší místní síti LAN (Local Area Network) pomocí webového serveru HTTP.

Výhodou vytvoření místního úložiště je, že k instalaci softwarových balíčků nebo aktualizací nepotřebujete připojení k internetu.

YUM (Yellowdog Updater Modified) nebo DNF (Dandified YUM) je široce používaný nástroj pro správu softwarových balíčků pro linuxové systémy založené na RPM (RedHat Package Manager), který usnadňuje instalaci softwaru na Red Hat/CentOS Linux.

V tomto článku vysvětlíme, jak nastavit místní úložiště YUM/DNF na RHEL 8 pomocí instalačního DVD nebo souboru ISO. Také vám ukážeme, jak najít a nainstalovat softwarové balíčky na klientských počítačích RHEL 8 pomocí serveru Nginx HTTP.

Naše testovací prostředí

Local Repository Server: RHEL 8 [192.168.0.106]
Local Client Machine: RHEL 8 [192.168.0.200]

Krok 1: Nainstalujte webový server Nginx

1. Nejprve nainstalujte server Nginx HTTP pomocí správce balíčků DNF následujícím způsobem.

dnf install nginx

2. Po instalaci Nginx můžete spustit, povolit automatické spuštění služby při spouštění a ověřit stav pomocí následujících příkazů.

systemctl start nginx
systemctl enable nginx
systemctl status nginx

3. Dále je třeba otevřít Nginx porty 80 a 443 na vašem firewallu.

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload

4. Nyní můžete ověřit, že váš server Nginx je v provozu, když ve svém webovém prohlížeči přejdete na následující adresu URL, zobrazí se výchozí webová stránka Nginx.

http://SERVER_DOMAIN_NAME_OR_IP

Krok 2: Montáž instalačního DVD/ISO souboru RHEL 8

5. Vytvořte bod připojení místního úložiště v kořenovém adresáři dokumentu Nginx /var/www/html/ a připojte stažený RHEL 8 DVD ISO obraz v adresáři /mnt.

mkdir /var/www/html/local_repo
mount -o loop rhel-8.0-x86_64-dvd.iso /mnt  [Mount Download ISO File]
mount /dev/cdrom /mnt                       [Mount DVD ISO File from DVD ROM]

6. Dále zkopírujte soubory ISO lokálně do adresáře /var/www/html/local_repo a ověřte obsah pomocí příkazu ls.

cd /mnt
tar cvf - . | (cd /var/www/html/local_repo/; tar xvf -)
ls -l /var/www/html/local_repo/

Krok 3: Konfigurace místního úložiště

7. Nyní je čas nakonfigurovat místní úložiště. Musíte vytvořit konfigurační soubor místního úložiště v adresáři /etc/yum.repos.d/ a nastavit příslušná oprávnění k souboru, jak je uvedeno na obrázku.

touch /etc/yum.repos.d/local-rhel8.repo
chmod  u+rw,g+r,o+r  /etc/yum.repos.d/local-rhel8.

8. Poté soubor otevřete pro úpravy pomocí svého oblíbeného textového editoru příkazového řádku.

vim /etc/yum.repos.d/local.repo

9. Zkopírujte a vložte následující obsah do souboru.

[LocalRepo_BaseOS]
name=LocalRepo_BaseOS
metadata_expire=-1
enabled=1
gpgcheck=1
baseurl=file:///var/www/html/local_repo/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[LocalRepo_AppStream]
name=LocalRepo_AppStream
metadata_expire=-1
enabled=1
gpgcheck=1
baseurl=file:///var/www/html/local_repo/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

Uložte změny a ukončete soubor.

10. Nyní je třeba nainstalovat požadované balíčky pro vytváření, konfiguraci a správu místního úložiště spuštěním následujícího příkazu.

yum install createrepo  yum-utils
createrepo /var/www/html/local_repo/

Krok 4: Testování místního úložiště

11. V tomto kroku byste měli spustit vyčištění dočasných souborů uchovávaných pro úložiště pomocí následujícího příkazu.

yum clean all
OR
dnf clean all

12. Poté ověřte, že se vytvořená úložiště objevují v seznamu povolených úložišť.

dnf repolist
OR
dnf repolist  -v  #shows more detailed information 

13. Nyní zkuste nainstalovat balíček z místních úložišť, například nainstalujte nástroj příkazového řádku Git takto:

dnf install git

Při pohledu na výstup výše uvedeného příkazu se balíček git instaluje z úložiště LocalRepo_AppStream, jak je znázorněno na snímku obrazovky. To dokazuje, že místní úložiště jsou povolena a fungují dobře.

Krok 5: Nastavení místního úložiště Yum na klientských počítačích

14. Nyní na svých klientských počítačích RHEL 8 přidejte místní úložiště do konfigurace YUM.

vi /etc/yum.repos.d/local-rhel8.repo 

Zkopírujte a vložte konfiguraci níže do souboru. Nezapomeňte nahradit baseurl IP adresou vašeho serveru nebo doménou.

[LocalRepo_BaseOS]
name=LocalRepo_BaseOS
enabled=1
gpgcheck=0
baseurl=http://192.168.0.106

[LocalRepo_AppStream]
name=LocalRepo_AppStream
enabled=1
gpgcheck=0
baseurl=http://192.168.0.106

Uložte soubor a začněte používat místní zrcadla YUM.

15. Dále spusťte následující příkaz, abyste viděli své místní úložiště v seznamu dostupných úložišť YUM na klientských počítačích.

dnf repolist

To je vše! V tomto článku jsme si ukázali, jak vytvořit místní YUM/DNF úložiště v RHEL 8 pomocí instalačního DVD nebo souboru ISO. V případě jakýchkoli dotazů nebo připomínek nás nezapomeňte kontaktovat prostřednictvím formuláře zpětné vazby níže.