RHEL 8-de ýerli HTTP Yum/DNF ammaryny nädip döretmeli


Programma üpjünçiligi ammary ýa-da “repo”, Redhat Linux paýlanyşy üçin RPM programma üpjünçilik paketlerini saklamak we goldamak üçin merkezi ýer bolup, ulanyjylar Linux serwerlerine paketleri göçürip alyp bilerler.

Ammarlar, adatça, internetde birnäçe ulanyjy girip bilýän jemgyýetçilik ulgamynda saklanýar. Şeýle-de bolsa, serweriňizde ýerli ammar döredip, oňa ýekeje ulanyjy hökmünde girip bilersiňiz ýa-da HTTP web serweri ulanyp ýerli LAN (Areaerli sebit tory) beýleki enjamlara girip bilersiňiz.

Localerli ammar döretmegiň artykmaçlygy, programma üpjünçiligi paketlerini ýa-da täzelenmeleri gurmak üçin internet birikmesi talap etmezligiňizdir.

Red Hat/CentOS Linux-da programma üpjünçiligini aňsatlaşdyrýan RPM (RedHat Package Manager) esasly Linux ulgamlary.

Bu makalada, gurnama DVD ýa-da ISO faýly ulanyp, RHEL 8-de ýerli YUM/DNF ammaryny nädip gurmalydygyny düşündireris. Şeýle hem, Nginx HTTP serwerini ulanyp, müşderi RHEL 8 maşynlarynda programma üpjünçiligini nädip tapmalydygyny we gurmalydygyny görkezeris.

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

1-nji ädim: Nginx web serwerini guruň

1. Ilki bilen, DNF paket dolandyryjysyny ulanyp, Nginx HTTP serwerini guruň.

# dnf install nginx

2. Nginx gurlansoň, işe başlap, awtomatiki usulda işe başlamaga we aşakdaky buýruklary ulanyp ýagdaýyny barlap bilersiňiz.

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

3. Ondan soň, diwar diwaryňyzda Nginx 80 we 443 portlaryny açmaly.

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

4. Indi web brauzeriňizdäki aşakdaky URL-e girip, Nginx serweriňiziň işleýändigini we işleýändigini barlap bilersiňiz, adaty Nginx web sahypasy görkeziler.

http://SERVER_DOMAIN_NAME_OR_IP

2-nji ädim: RHEL 8 gurnama DVD/ISO faýly

5. Nginx resminama kök katalogy /var/www/html/ astynda ýerli ammar gurmak nokadyny dörediň we göçürilen RHEL 8 DVD ISO şekilini /mnt katalogynyň aşagyna guruň.

# 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. Ondan soň, ISO faýllaryny /var/www/html/local_repo katalogynyň aşagynda göçüriň we ls buýrugy bilen mazmuny barlaň.

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

3-nji ädim: Localerli ammary düzmek

7. Indi ýerli ammary düzmegiň wagty geldi. /etc/yum.repos.d/ katalogynda ýerli ammar konfigurasiýa faýlyny döretmeli we faýlda görkezilişi ýaly degişli rugsatlary bellemeli.

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

8. Soňra halaýan buýruk setiriniň tekst redaktoryny ulanyp redaktirlemek üçin faýly açyň.

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

9. Aşakdaky mazmuny faýla göçüriň.

[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

Üýtgeşmeleri ýazdyryň we faýldan çykyň.

10. Indi aşakdaky buýrugy ýerine ýetirip, ýerli ammary döretmek, düzmek we dolandyrmak üçin zerur paketleri gurmaly.

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

4-nji ädim: Localerli ammary barlamak

11. Bu ädimde, aşakdaky buýrugy ulanyp, ammarlarda saklanýan wagtlaýyn faýllary arassalamaly.

# yum clean all
OR
# dnf clean all

12. Soňra döredilen ammarlaryň işjeň ammarlaryň sanawynda bardygyny barlaň.

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

13. Indi ýerli ammarlardan paket gurmaga synanyşyň, mysal üçin Git buýruk setiri guralyny aşakdaky ýaly guruň:

# dnf install git

Aboveokardaky buýrugyň çykyşyna seredeniňde, git paketi skrinshotda görkezilişi ýaly LocalRepo_AppStream ammaryndan gurnalýar. Bu, ýerli ammarlaryň açykdygyny we gowy işleýändigini subut edýär.

5-nji ädim: Müşderi maşynlarynda ýerli ýum ammaryny guruň

14. Indi RHEL 8 müşderi maşynlaryňyzda ýerli reposlary YUM konfigurasiýasyna goşuň.

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

Aşakdaky konfigurasiýany faýla göçüriň. baseurl serweriňiziň IP adresi ýa-da domeniňiz bilen çalşyň.

[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

Faýly ýazdyryň we ýerli YUM aýnalaryňyzy ulanyp başlaň.

15. Ondan soň, müşderi maşynlarynda bar bolan YUM reposynyň sanawynda ýerli reposyňyzy görmek üçin aşakdaky buýrugy işlediň.

# dnf repolist

Bu hemmesi! Bu makalada, gurnama DVD ýa-da ISO faýly ulanyp, RHEL 8-de ýerli YUM/DNF ammaryny nädip döretmelidigini görkezdik. Soraglar ýa-da teswirler üçin aşakdaky seslenme formasy arkaly bize ýüz tutmagy ýatdan çykarmaň.