Zoeken op website

Hoe u een lokale HTTP Yum/DNF-repository kunt maken op RHEL 8


Een softwarerepository of “repo” is een centrale locatie voor het bewaren en onderhouden van RPM-softwarepakketten voor Redhat Linux-distributie, van waaruit gebruikers pakketten kunnen downloaden en installeren op hun Linux-servers.

Repository's worden doorgaans opgeslagen op een openbaar netwerk, waartoe meerdere gebruikers op internet toegang hebben. U kunt echter uw eigen lokale opslagplaats op uw server creëren en deze als een enkele gebruiker openen, of toegang tot andere machines op uw lokale LAN (Local Area Network) toestaan met behulp van een HTTP-webserver.

Het voordeel van het maken van een lokale repository is dat u geen internetverbinding nodig heeft om softwarepakketten of updates te installeren.

YUM (Yellowdog Updater Modified) of DNF (Dandified YUM) is een veelgebruikt hulpprogramma voor softwarepakketbeheer voor op RPM (RedHat Package Manager) gebaseerde Linux-systemen, waardoor de installatie van software op Red Hat/CentOS Linux eenvoudig is.

In dit artikel leggen we uit hoe je een lokale YUM/DNF repository op RHEL 8 instelt met behulp van de installatie-dvd of het ISO-bestand. We laten u ook zien hoe u softwarepakketten kunt vinden en installeren op client-RHEL 8-machines met behulp van de Nginx HTTP-server.

Onze testomgeving

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

Stap 1: Installeer Nginx-webserver

1. Installeer eerst de Nginx HTTP-server met behulp van de DNF-pakketbeheerder als volgt.

dnf install nginx

2. Zodra Nginx is geïnstalleerd, kunt u starten, de service inschakelen om automatisch te starten tijdens het opstarten en de status verifiëren met behulp van de volgende opdrachten.

systemctl start nginx
systemctl enable nginx
systemctl status nginx

3. Vervolgens moet u Nginx poorten 80 en 443 op uw firewall openen.

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

4. Nu kunt u verifiëren dat uw Nginx-server actief is door naar de volgende URL in uw webbrowser te gaan. Er wordt een standaard Nginx-webpagina weergegeven.

http://SERVER_DOMAIN_NAME_OR_IP

Stap 2: RHEL 8 installatie-dvd/ISO-bestand monteren

5. Maak een lokaal koppelpunt voor de opslagplaats onder de hoofdmap van het Nginx document /var/www/html/ en koppel de gedownloade RHEL 8 DVD ISO-afbeelding in de map /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. Kopieer vervolgens de ISO-bestanden lokaal onder de map /var/www/html/local_repo en verifieer de inhoud met de opdracht ls.

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

Stap 3: Lokale opslagplaats configureren

7. Nu is het tijd om de lokale opslagplaats te configureren. U moet het lokale repository-configuratiebestand maken in de map /etc/yum.repos.d/ en de juiste machtigingen voor het bestand instellen, zoals weergegeven.

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

8. Open vervolgens het bestand om het te bewerken met uw favoriete teksteditor op de opdrachtregel.

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

9. Kopieer en plak de volgende inhoud in het bestand.

[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

Sla de wijzigingen op en sluit het bestand af.

10. Nu moet u de vereiste pakketten installeren voor het maken, configureren en beheren van uw lokale opslagplaats door de volgende opdracht uit te voeren.

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

Stap 4: Lokale opslagplaats testen

11. In deze stap moet u de tijdelijke bestanden die voor opslagplaatsen worden bewaard, opruimen met behulp van de volgende opdracht.

yum clean all
OR
dnf clean all

12. Controleer vervolgens of de gemaakte opslagplaatsen verschijnen in de lijst met ingeschakelde opslagplaatsen.

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

13. Probeer nu een pakket uit de lokale opslagplaatsen te installeren, installeer bijvoorbeeld het Git-opdrachtregelprogramma als volgt:

dnf install git

Kijkend naar de uitvoer van het bovenstaande commando, wordt het git pakket geïnstalleerd vanuit de LocalRepo_AppStream repository, zoals weergegeven in de schermafbeelding. Dit bewijst dat de lokale opslagplaatsen zijn ingeschakeld en goed werken.

Stap 5: Installeer een lokale Yum-repository op clientmachines

14. Voeg nu op uw RHEL 8-clientmachines uw lokale opslagplaatsen toe aan de YUM-configuratie.

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

Kopieer en plak de onderstaande configuratie in het bestand. Zorg ervoor dat u baseurl vervangt door het IP-adres of domein van uw server.

[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

Sla het bestand op en begin uw lokale YUM-mirrors te gebruiken.

15. Voer vervolgens de volgende opdracht uit om uw lokale repo's te zien in de lijst met beschikbare YUM-repo's op de clientcomputers.

dnf repolist

Dat is alles! In dit artikel hebben we laten zien hoe u een lokale YUM/DNF repository kunt maken in RHEL 8, met behulp van de installatie-dvd of het ISO-bestand. Vergeet niet om ons te bereiken via het onderstaande feedbackformulier voor eventuele vragen of opmerkingen.