Kako ustvariti lokalni HTTP Yum/DNF repozitorij na RHEL 8


Skladišče programske opreme ali “repo” je osrednje mesto za vzdrževanje in vzdrževanje programskih paketov RPM za distribucijo Redhat Linux, s katerega lahko uporabniki prenesejo in namestijo pakete na svoje Linux strežnike.

Skladišča so običajno shranjena v javnem omrežju, do katerega lahko dostopa več uporabnikov v internetu. Vendar pa lahko na svojem strežniku ustvarite lastno lokalno repozitorij in do njega dostopate kot en sam uporabnik ali pa s spletnim strežnikom HTTP omogočite dostop do drugih naprav v vašem lokalnem LAN-u (lokalno omrežje).

Prednost ustvarjanja lokalnega repozitorija je, da za namestitev programskih paketov ali posodobitev ne potrebujete internetne povezave.

Sistemi Linux, ki temeljijo na RPM (RedHat Package Manager), kar olajša namestitev programske opreme na Red Hat/CentOS Linux.

V tem članku bomo razložili, kako nastaviti lokalno YUM/DNF repozitorij na RHEL 8 z namestitveno datoteko DVD ali ISO. Pokazali vam bomo tudi, kako poiskati in namestiti programske pakete na odjemalske stroje RHEL 8 s pomočjo strežnika Nginx HTTP.

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

1. korak: Namestite spletni strežnik Nginx

1. Najprej namestite strežnik Nginx HTTP z upravljalnikom paketov DNF, kot sledi.

# dnf install nginx

2. Ko je Nginx nameščen, lahko začnete, omogočite samodejni zagon storitve ob zagonu in preverite stanje z naslednjimi ukazi.

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

3. Nato morate na požarnem zidu odpreti vrata Nginx 80 in 443.

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

4. Zdaj lahko preverite, ali strežnik Nginx deluje in deluje, tako da v spletnem brskalniku odprete naslednji URL, prikaže se privzeta spletna stran Nginx.

http://SERVER_DOMAIN_NAME_OR_IP

2. korak: Namestitev datoteke RHEL 8 za namestitev DVD/ISO

5. V korenskem imeniku dokumenta Nginx /var/www/html/ ustvarite točko za pritrditev lokalnega repozitorija in naložite preneseno sliko RHEL 8 DVD ISO v imenik /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. Nato kopirajte datoteke ISO lokalno v imenik /var/www/html/local_repo in z ukazom ls preverite vsebino.

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

3. korak: Konfiguriranje lokalnega skladišča

7. Zdaj je čas za konfiguracijo lokalnega repozitorija. V imeniku /etc/yum.repos.d/ morate ustvariti konfiguracijsko datoteko lokalnega repozitorija in v datoteki nastaviti ustrezna dovoljenja, kot je prikazano.

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

8. Nato odprite datoteko za urejanje s svojim najljubšim urejevalnikom besedil v ukazni vrstici.

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

9. V datoteko kopirajte in prilepite naslednjo vsebino.

[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

Shranite spremembe in zapustite datoteko.

10. Zdaj morate namestiti potrebne pakete za ustvarjanje, konfiguriranje in upravljanje lokalnega repozitorija z zagonom naslednjega ukaza.

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

4. korak: Testiranje lokalnega skladišča

11. V tem koraku zaženite čiščenje začasnih datotek, shranjenih za repozitorije, z naslednjim ukazom.

# yum clean all
OR
# dnf clean all

12. Nato preverite, ali so ustvarjeni repozitoriji prikazani na seznamu omogočenih repozitorijev.

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

13. Zdaj poskusite namestiti paket iz lokalnih repozitorijev, na primer namestite orodje ukazne vrstice Git, kot sledi:

# dnf install git

Če pogledamo izhod zgornjega ukaza, se paket git namesti iz repozitorija LocalRepo_AppStream, kot je prikazano na posnetku zaslona. To dokazuje, da so lokalni repozitoriji omogočeni in dobro delujejo.

5. korak: Nastavite lokalno Yum repozitorij na odjemalskih strojih

14. Zdaj na svojih odjemalskih računalnikih RHEL 8 dodajte svoje lokalne repozicije v konfiguracijo YUM.

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

Kopirajte in prilepite spodnjo konfiguracijo v datoteko. Ne pozabite zamenjati baseurl z naslovom IP strežnika ali domeno.

[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

Shranite datoteko in začnite uporabljati lokalna ogledala YUM.

15. Nato zaženite naslednji ukaz, da si na odjemalskih računalnikih ogledate lokalne repozicije na seznamu dostopnih repozitorij YUM.

# dnf repolist

To je vse! V tem članku smo pokazali, kako v RHEL 8 z namestitvenim DVD-jem ali datoteko ISO ustvarimo lokalno repozitorij YUM/DNF. Za vsa vprašanja ali komentarje nas ne pozabite kontaktirati prek spodnjega obrazca za povratne informacije.