Πώς να δημιουργήσετε τοπικό αποθετήριο HTTP Yum/DNF στο RHEL 8


Ένα αποθετήριο λογισμικού ή "repo" είναι μια κεντρική τοποθεσία για τη διατήρηση και τη διατήρηση πακέτων λογισμικού RPM για διανομή Redhat Linux, από την οποία οι χρήστες μπορούν να πραγματοποιήσουν λήψη και εγκατάσταση πακέτων στους διακομιστές Linux τους.

Τα αποθετήρια αποθηκεύονται γενικά σε ένα δημόσιο δίκτυο, στο οποίο μπορούν να έχουν πρόσβαση πολλοί χρήστες στο διαδίκτυο. Ωστόσο, μπορείτε να δημιουργήσετε το δικό σας τοπικό αποθετήριο στον διακομιστή σας και να αποκτήσετε πρόσβαση σε αυτόν ως μεμονωμένος χρήστης ή να επιτρέψετε την πρόσβαση σε άλλα μηχανήματα στο τοπικό σας LAN (Local Area Network) χρησιμοποιώντας διακομιστή web HTTP.

Το πλεονέκτημα της δημιουργίας ενός τοπικού αποθετηρίου είναι ότι δεν χρειάζεστε σύνδεση στο διαδίκτυο για να εγκαταστήσετε πακέτα λογισμικού ή ενημερώσεις.

Το YUM (Yellowdog Updater Modified) ή το DNF (Dandified YUM) είναι ένα ευρέως χρησιμοποιούμενο βοηθητικό πρόγραμμα διαχείρισης πακέτων λογισμικού για συστήματα Linux που βασίζονται στο RPM (RedHat Package Manager), το οποίο διευκολύνει την εγκατάσταση λογισμικού σε Red Hat/CentOS Linux.

Σε αυτό το άρθρο, θα εξηγήσουμε πώς να ρυθμίσετε έναν τοπικό χώρο αποθήκευσης YUM/DNF στο RHEL 8 χρησιμοποιώντας το DVD εγκατάστασης ή το αρχείο ISO. Θα σας δείξουμε επίσης πώς μπορείτε να βρείτε και να εγκαταστήσετε πακέτα λογισμικού σε υπολογιστές-πελάτες RHEL 8 χρησιμοποιώντας διακομιστή Nginx HTTP.

Το περιβάλλον δοκιμών μας

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

Βήμα 1: Εγκαταστήστε τον διακομιστή Web Nginx

1. Αρχικά, εγκαταστήστε τον διακομιστή Nginx HTTP χρησιμοποιώντας τη διαχείριση πακέτων DNF ως εξής.

dnf install nginx

2. Μόλις εγκατασταθεί το Nginx, μπορείτε να ξεκινήσετε, να ενεργοποιήσετε την αυτόματη εκκίνηση της υπηρεσίας κατά την εκκίνηση και να επαληθεύσετε την κατάσταση χρησιμοποιώντας τις ακόλουθες εντολές.

systemctl start nginx
systemctl enable nginx
systemctl status nginx

3. Στη συνέχεια, πρέπει να ανοίξετε τις θύρες Nginx 80 και 443 στο τείχος προστασίας σας.

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

4. Τώρα μπορείτε να επαληθεύσετε ότι ο διακομιστής σας Nginx είναι σε λειτουργία και λειτουργεί μεταβαίνοντας στην ακόλουθη διεύθυνση URL στο πρόγραμμα περιήγησής σας στον ιστό και θα εμφανιστεί μια προεπιλεγμένη ιστοσελίδα Nginx.

http://SERVER_DOMAIN_NAME_OR_IP

Βήμα 2: Τοποθέτηση αρχείου DVD/ISO εγκατάστασης RHEL 8

5. Δημιουργήστε ένα σημείο προσάρτησης τοπικού αποθετηρίου στον ριζικό κατάλογο εγγράφων Nginx /var/www/html/ και προσαρτήστε το ληφθέν RHEL 8 Εικόνα DVD ISO στον κατάλογο /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. Στη συνέχεια, αντιγράψτε αρχεία ISO τοπικά στον κατάλογο /var/www/html/local_repo και επαληθεύστε τα περιεχόμενα χρησιμοποιώντας την εντολή ls.

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

Βήμα 3: Διαμόρφωση τοπικού αποθετηρίου

7. Τώρα είναι ώρα να ρυθμίσετε τις παραμέτρους του τοπικού αποθετηρίου. Πρέπει να δημιουργήσετε το αρχείο διαμόρφωσης τοπικού αποθετηρίου στον κατάλογο /etc/yum.repos.d/ και να ορίσετε τα κατάλληλα δικαιώματα στο αρχείο όπως φαίνεται.

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

8. Στη συνέχεια, ανοίξτε το αρχείο για επεξεργασία χρησιμοποιώντας το αγαπημένο σας πρόγραμμα επεξεργασίας κειμένου γραμμής εντολών.

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

9. Αντιγράψτε και επικολλήστε το ακόλουθο περιεχόμενο στο αρχείο.

[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

Αποθηκεύστε τις αλλαγές και βγείτε από το αρχείο.

10. Τώρα πρέπει να εγκαταστήσετε τα απαιτούμενα πακέτα για τη δημιουργία, τη διαμόρφωση και τη διαχείριση του τοπικού σας αποθετηρίου εκτελώντας την ακόλουθη εντολή.

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

Βήμα 4: Δοκιμή τοπικού αποθετηρίου

11. Σε αυτό το βήμα, θα πρέπει να εκτελέσετε μια εκκαθάριση των προσωρινών αρχείων που φυλάσσονται για αποθετήρια χρησιμοποιώντας την ακόλουθη εντολή.

yum clean all
OR
dnf clean all

12. Στη συνέχεια, επαληθεύστε ότι οι δημιουργημένοι χώροι αποθήκευσης εμφανίζονται στη λίστα των ενεργοποιημένων αποθετηρίων.

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

13. Τώρα δοκιμάστε να εγκαταστήσετε ένα πακέτο από τα τοπικά αποθετήρια, για παράδειγμα, εγκαταστήστε το εργαλείο γραμμής εντολών Git ως εξής:

dnf install git

Κοιτάζοντας την έξοδο της παραπάνω εντολής, το πακέτο git εγκαθίσταται από το χώρο αποθήκευσης LocalRepo_AppStream όπως φαίνεται στο στιγμιότυπο οθόνης. Αυτό αποδεικνύει ότι τα τοπικά αποθετήρια είναι ενεργοποιημένα και λειτουργούν μια χαρά.

Βήμα 5: Ρυθμίστε το Local Yum Repository σε υπολογιστές-πελάτες

14. Τώρα στους υπολογιστές-πελάτες RHEL 8, προσθέστε τα τοπικά repos στη διαμόρφωση YUM.

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

Αντιγράψτε και επικολλήστε την παρακάτω διαμόρφωση στο αρχείο. Βεβαιωθείτε ότι έχετε αντικαταστήσει το baseurl με τη διεύθυνση IP του διακομιστή ή τον τομέα σας.

[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

Αποθηκεύστε το αρχείο και αρχίστε να χρησιμοποιείτε τους τοπικούς σας καθρέφτες YUM.

15. Στη συνέχεια, εκτελέστε την ακόλουθη εντολή για να δείτε τα τοπικά repos σας στη λίστα με τα διαθέσιμα repos YUM, στους υπολογιστές-πελάτες.

dnf repolist

Αυτό είναι όλο! Σε αυτό το άρθρο, δείξαμε πώς να δημιουργήσετε έναν τοπικό χώρο αποθήκευσης YUM/DNF στο RHEL 8, χρησιμοποιώντας το DVD εγκατάστασης ή το αρχείο ISO. Μην ξεχάσετε να επικοινωνήσετε μαζί μας μέσω της παρακάτω φόρμας σχολίων για τυχόν ερωτήσεις ή σχόλια.