Hvordan lage lokalt HTTP Yum/DNF-depot på RHEL 8


Et programvarelager eller «repo» er et sentralt sted for å holde og vedlikeholde RPM-programvarepakker for Redhat Linux-distribusjon, hvorfra brukere kan laste ned og installere pakker på Linux-serverne sine.

Repositories er vanligvis lagret på et offentlig nettverk, som kan nås av flere brukere på internett. Du kan imidlertid opprette ditt eget lokale arkiv på serveren din og få tilgang til det som en enkelt bruker eller tillate tilgang til andre maskiner på ditt lokale LAN (Local Area Network) ved hjelp av HTTP-nettserver.

Fordelen med å lage et lokalt depot er at du ikke trenger en internettforbindelse for å installere programvarepakker eller oppdateringer.

YUM (Yellowdog Updater Modified) eller DNF (Dandified YUM) er et mye brukt programvarepakkeadministrasjonsverktøy for RPM (RedHat Package Manager) baserte Linux-systemer, som gjør programvareinstallasjonen enkel på Red Hat/CentOS Linux.

I denne artikkelen vil vi forklare hvordan du setter opp et lokalt YUM/DNF-lager på RHEL 8 ved å bruke installasjons-DVDen eller ISO-filen. Vi vil også vise deg hvordan du finner og installerer programvarepakker på klient RHEL 8 maskiner ved å bruke Nginx HTTP server.

Vårt testmiljø

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

Trinn 1: Installer Nginx Web Server

1. Installer først Nginx HTTP-serveren ved å bruke DNF-pakkebehandlingen som følger.

dnf install nginx

2. Når Nginx er installert, kan du starte, aktivere tjenesten til å starte automatisk ved oppstart og bekrefte statusen ved hjelp av følgende kommandoer.

systemctl start nginx
systemctl enable nginx
systemctl status nginx

3. Deretter må du åpne Nginx-portene 80 og 443 på brannmuren.

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

4. Nå kan du bekrefte at Nginx-serveren din er oppe og kjører ved å gå til følgende URL i nettleseren din, en standard Nginx-nettside vil vises.

http://SERVER_DOMAIN_NAME_OR_IP

Trinn 2: Montering av RHEL 8 installasjons-DVD/ISO-fil

5. Opprett et lokalt depotmonteringspunkt under Nginx dokumentrotkatalogen /var/www/html/ og monter den nedlastede RHEL 8 DVD ISO-bilde under /mnt-katalogen.

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. Deretter kopierer du ISO-filer lokalt under katalogen /var/www/html/local_repo og verifiser innholdet med ls-kommandoen.

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

Trinn 3: Konfigurere lokalt arkiv

7. Nå er det på tide å konfigurere det lokale depotet. Du må opprette konfigurasjonsfilen for det lokale depotet i katalogen /etc/yum.repos.d/ og angi riktige tillatelser for 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. Åpne deretter filen for redigering ved å bruke din favoritt kommandolinjetekstredigerer.

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

9. Kopier og lim inn følgende innhold 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

Lagre endringene og avslutt filen.

10. Nå må du installere nødvendige pakker for å opprette, konfigurere og administrere ditt lokale depot ved å kjøre følgende kommando.

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

Trinn 4: Testing av lokalt depot

11. I dette trinnet bør du kjøre en opprydding av midlertidige filer som holdes for arkiver ved å bruke følgende kommando.

yum clean all
OR
dnf clean all

12. Bekreft deretter at de opprettede depotene vises i listen over aktiverte depoter.

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

13. Prøv nå å installere en pakke fra de lokale depotene, for eksempel installer Git kommandolinjeverktøy som følger:

dnf install git

Når du ser på utdataene fra kommandoen ovenfor, installeres git-pakken fra LocalRepo_AppStream-depotet som vist på skjermbildet. Dette beviser at de lokale depotene er aktivert og fungerer bra.

Trinn 5: Konfigurer Local Yum Repository på klientmaskiner

14. Nå på RHEL 8-klientmaskinene dine, legg til din lokale repos i YUM-konfigurasjonen.

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

Kopier og lim inn konfigurasjonen nedenfor i filen. Sørg for å erstatte baseurl med serverens IP-adresse eller domene.

[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

Lagre filen og begynn å bruke dine lokale YUM-speil.

15. Deretter kjører du følgende kommando for å se dine lokale reposer i listen over tilgjengelige YUM-reposer, på klientmaskinene.

dnf repolist

Det er alt! I denne artikkelen har vi vist hvordan du oppretter et lokalt YUM/DNF-depot i RHEL 8, ved å bruke installasjons-DVDen eller ISO-filen. Ikke glem å kontakte oss via tilbakemeldingsskjemaet nedenfor for spørsmål eller kommentarer.