Sådan oprettes et lokalt HTTP Yum / DNF-arkiv på RHEL 8


Et softwarelager eller "repo" er et centralt sted til opbevaring og vedligeholdelse af RPM-softwarepakker til Redhat Linux-distribution, hvorfra brugere kan downloade og installere pakker på deres Linux-servere.

Opbevaringssteder gemmes normalt på et offentligt netværk, som flere brugere kan få adgang til på internettet. Du kan dog oprette dit eget lokale lager på din server og få adgang til det som en enkelt bruger eller give adgang til andre maskiner på dit lokale LAN (Local Area Network) ved hjælp af HTTP-webserver.

Fordelen ved at oprette et lokalt lager er, at du ikke har brug for en internetforbindelse for at installere softwarepakker eller opdateringer.

YUM (Yellowdog Updater Modified) eller DNF (Dandified YUM) er et meget brugt softwarepakkehåndteringsværktøj til RPM (RedHat Package Manager) -baserede Linux-systemer, hvilket gør softwareinstallation let på Red Hat/CentOS Linux.

I denne artikel vil vi forklare, hvordan man opsætter et lokalt YUM/DNF-arkiv på RHEL 8 ved hjælp af installations-dvd'en eller ISO-filen. Vi viser dig også, hvordan du finder og installerer softwarepakker på klient RHEL 8-maskiner ved hjælp af Nginx HTTP-server.

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

Trin 1: Installer Nginx Web Server

1. Installer først Nginx HTTP-serveren ved hjælp af DNF-pakkehåndteringen som følger.

# dnf install nginx

2. Når Nginx er installeret, kan du starte, aktivere tjenesten til automatisk start ved opstartstidspunktet og kontrollere status ved hjælp af følgende kommandoer.

# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx

3. Dernæst skal du åbne Nginx-porte 80 og 443 på din firewall.

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

4. Nu kan du kontrollere, at din Nginx-server kører ved at gå til følgende URL i din webbrowser, en standard Nginx-webside vises.

http://SERVER_DOMAIN_NAME_OR_IP

Trin 2: Montering af RHEL 8 installations-DVD / ISO-fil

5. Opret et lokalt lagermonteringspunkt under Nginx-dokumentets rodmappe /var/www/html/, og monter det downloadede RHEL 8 DVD ISO-billede under /mnt -mappen.

# 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. Kopier derefter ISO-filer lokalt under /var/www/html/local_repo -mappen og bekræft indholdet ved hjælp af kommandoen ls.

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

Trin 3: Konfiguration af lokalt lager

7. Nu er det tid til at konfigurere det lokale lager. Du skal oprette den lokale arkivkonfigurationsfil i mappen /etc/yum.repos.d/ og indstille de relevante tilladelser til filen som vist.

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

8. Åbn derefter filen til redigering ved hjælp af din foretrukne kommandolinjeteksteditor.

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

9. Kopier og indsæt følgende indhold i filen.

[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

Gem ændringerne, og afslut filen.

10. Nu skal du installere nødvendige pakker til at oprette, konfigurere og administrere dit lokale arkiv ved at køre følgende kommando.

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

Trin 4: Test af lokalt arkiv

11. I dette trin skal du køre en oprydning af midlertidige filer, der opbevares til opbevaringssteder, ved hjælp af følgende kommando.

# yum clean all
OR
# dnf clean all

12. Kontroller derefter, at de oprettede opbevaringssteder vises på listen over aktiverede opbevaringssteder.

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

13. Prøv nu at installere en pakke fra de lokale arkiver, installer f.eks. Git kommandolinjeværktøj som følger:

# dnf install git

Ser man på output fra ovenstående kommando, installeres git-pakken fra LocalRepo_AppStream-lageret som vist på skærmbilledet. Dette beviser, at de lokale arkiver er aktiveret og fungerer fint.

Trin 5: Konfigurer Local Yum Repository på klientmaskiner

14. Føj nu dine lokale repos til dine YUM-konfigurationer på dine RHEL 8-klientmaskiner.

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

Kopier og indsæt nedenstående konfiguration i filen. Sørg for at udskifte baseurl med din server IP-adresse eller domæne.

[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

Gem filen, og begynd at bruge dine lokale YUM-spejle.

15. Kør derefter følgende kommando for at se dine lokale repos på listen over tilgængelige YUM repos på klientmaskinerne.

# dnf repolist

Det er alt! I denne artikel har vi vist, hvordan man opretter et lokalt YUM/DNF-arkiv i RHEL 8 ved hjælp af installations-DVD eller ISO-fil. Glem ikke at kontakte os via feedbackformularen nedenfor for spørgsmål eller kommentarer.