Paikallisen HTTP Yum -tietovaraston asentaminen CentOS 7: een


Ohjelmistovarasto (lyhyesti "repo") on keskeinen tiedostojen tallennuspaikka ohjelmistopakettien säilyttämiseksi ja ylläpitämiseksi, josta käyttäjät voivat noutaa paketteja ja asentaa ne tietokoneisiinsa.

Arkistot tallennetaan usein verkon palvelimille, esimerkiksi Internetiin, johon useat käyttäjät voivat päästä. Voit kuitenkin luoda ja määrittää paikallisen tietovaraston tietokoneellesi ja käyttää sitä yhtenä käyttäjänä tai sallia pääsyn muihin lähiverkon (lähiverkon) koneisiin.

Yksi etu paikallisen arkiston perustamisesta on, että ohjelmistopakettien asentamiseen ei tarvita Internet-yhteyttä.

YUM (Yellowdog Updater Modified) on laajalti käytetty Linux-järjestelmiin perustuva RPM: n (RedHat Package Manager) paketinhallintatyökalu, joka tekee ohjelmistojen asennuksesta helppoa Red Hat/CentOS Linuxille.

Tässä artikkelissa kerromme, kuinka paikallisen YUM-tietovaraston voi asentaa HTTP (Nginx) -verkkopalvelimen kautta CentOS 7 VPS: ssä, ja näytämme myös kuinka löytää ja asentaa ohjelmistopaketteja asiakkaan CentOS 7 -koneisiin.

Yum HTTP Repository Server:	CentOS 7 [192.168.0.100]
Client Machine:		CentOS 7 [192.168.0.101]

Vaihe 1: Asenna Nginx-verkkopalvelin

1. Aloita ensin asentamalla Nginx HTTP -palvelin EPEL-arkistosta käyttämällä YUM-paketinhallintaa seuraavasti.

# yum install epel-release
# yum install nginx 

2. Kun olet asentanut Nginx-verkkopalvelimen, voit käynnistää sen ensimmäistä kertaa ja sallia sen käynnistyvän automaattisesti järjestelmän käynnistyksen yhteydessä.

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

3. Seuraavaksi sinun on avattava portit 80 ja 443 salliakseen verkkoliikenne Nginx-palveluun, päivittämällä järjestelmän palomuurisäännöt sallimaan saapuvat paketit HTTP: llä ja HTTPS: llä alla olevien komentojen avulla.

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

4. Nyt voit varmistaa, että Nginx-palvelimesi on käynnissä, käyttämällä seuraavaa URL-osoitetta; jos näet oletusarvoisen Nginx-verkkosivun, kaikki on hyvin.

http://SERVER_DOMAIN_NAME_OR_IP 

Vaihe 2: Luo Yumin paikallinen arkisto

5. Tässä vaiheessa sinun on asennettava tarvittavat paketit paikallisen arkiston luomiseen, määrittämiseen ja hallintaan.

# yum install createrepo  yum-utils

6. Luo seuraavaksi tarvittavat hakemistot (yum-arkistot), jotka tallentavat paketit ja kaikki niihin liittyvät tiedot.

# mkdir -p /var/www/html/repos/{base,centosplus,extras,updates}

7. Käytä sitten synkronointityökalua synkronoidaksesi CentOS YUM -tietovarastot paikallisiin hakemistoihin kuvan osoittamalla tavalla.

# reposync -g -l -d -m --repoid=base --newest-only --download-metadata --download_path=/var/www/html/repos/
# reposync -g -l -d -m --repoid=centosplus --newest-only --download-metadata --download_path=/var/www/html/repos/
# reposync -g -l -d -m --repoid=extras --newest-only --download-metadata --download_path=/var/www/html/repos/
# reposync -g -l -d -m --repoid=updates --newest-only --download-metadata --download_path=/var/www/html/repos/
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.fibergrid.in
 * epel: mirror.xeonbd.com
 * extras: mirrors.fibergrid.in
 * updates: mirrors.fibergrid.in
base/7/x86_64/group                                                    | 891 kB  00:00:02     
No Presto metadata available for base
(1/9911): 389-ds-base-snmp-1.3.7.5-18.el7.x86_64.rpm                   | 163 kB  00:00:02     
(2/9911): 389-ds-base-devel-1.3.7.5-18.el7.x86_64.rpm                  | 267 kB  00:00:02     
(3/9911): ElectricFence-2.2.2-39.el7.i686.rpm                          |  35 kB  00:00:00     
(4/9911): ElectricFence-2.2.2-39.el7.x86_64.rpm                        |  35 kB  00:00:00     
(5/9911): 389-ds-base-libs-1.3.7.5-18.el7.x86_64.rpm                   | 695 kB  00:00:04     
(6/9911): GConf2-devel-3.2.6-8.el7.i686.rpm                            | 110 kB  00:00:00     
(7/9911): GConf2-devel-3.2.6-8.el7.x86_64.rpm                          | 110 kB  00:00:00     
(8/9911): GConf2-3.2.6-8.el7.i686.rpm                                  | 1.0 MB  00:00:06     

Yllä olevissa komennoissa vaihtoehto:

  • -g - poistaa paketit, jotka eivät onnistu GPG-allekirjoitusten tarkistuksessa lataamisen jälkeen.
  • -l - mahdollistaa yum-laajennustuen.
  • -d - poistaa paikalliset paketit, joita ei enää ole arkistossa.
  • -m - mahdollistaa comps.xml-tiedostojen lataamisen.
  • --repoid - määrittää arkistotunnuksen.
  • - vain länteen - käske reposync: ää vetämään vain jokaisen paketin uusin versio repoissa.
  • --download-metadata - mahdollistaa kaikkien muiden kuin oletusmetatietojen lataamisen.
  • --download_path - määrittää paketin latauspolun.

8. Tarkista seuraavaksi paikallisten hakemistojen sisältö varmistaaksesi, että kaikki paketit on synkronoitu paikallisesti.

# ls -l /var/www/html/repos/base/
# ls -l /var/www/html/repos/base/Packages/
# ls -l /var/www/html/repos/centosplus/
# ls -l /var/www/html/repos/centosplus/Packages/
# ls -l /var/www/html/repos/extras/
# ls -l /var/www/html/repos/extras/Packages/
# ls -l /var/www/html/repos/updates/
# ls -l /var/www/html/repos/updates/Packages/

9. Luo nyt uusi repodata paikallisille arkistoille suorittamalla seuraavat komennot, joissa lippua -g käytetään päivittämään pakettiryhmätiedot käyttämällä määritettyä .xml -tiedostoa .

# createrepo -g comps.xml /var/www/html/repos/base/  
# createrepo -g comps.xml /var/www/html/repos/centosplus/	
# createrepo -g comps.xml /var/www/html/repos/extras/  
# createrepo -g comps.xml /var/www/html/repos/updates/  

10. Jotta säilöt ja niiden paketit voidaan tarkastella verkkoselaimen kautta, luo Nginx-palvelinlohko, joka osoittaa varastosi juurelle kuvan osoittamalla tavalla.

# vim /etc/nginx/conf.d/repos.conf 

Lisää seuraava kokoonpano tiedostoon repos.conf.

server {
        listen   80;
        server_name  repos.test.lab;	#change  test.lab to your real domain 
        root   /var/www/html/repos;
        location / {
                index  index.php index.html index.htm;
                autoindex on;	#enable listing of directory index
        }
}

Tallenna tiedosto ja sulje se.

11. Käynnistä sitten Nginx-palvelin uudelleen ja tarkastele arkistoja verkkoselaimessa seuraavan URL-osoitteen avulla.

http://repos.test.lab

Vaihe 3: Luo Cron-työ synkronoida ja luoda arkistoja

12. Lisää seuraavaksi cron-työ, joka synkronoi paikalliset reposi automaattisesti virallisten CentOS-repojen kanssa nappaamaan päivitykset ja suojauskorjaukset.

# vim /etc/cron.daily/update-localrepos

Lisää nämä komennot komentosarjaan.

#!/bin/bash
##specify all local repositories in a single variable
LOCAL_REPOS=”base centosplus extras updates”
##a loop to update repos one at a time 
for REPO in ${LOCAL_REPOS}; do
reposync -g -l -d -m --repoid=$REPO --newest-only --download-metadata --download_path=/var/www/html/repos/
createrepo -g comps.xml /var/www/html/repos/$REPO/  
done

Tallenna komentosarja ja sulje se ja aseta siihen tarvittavat oikeudet.

# chmod 755 /etc/cron.daily/update-localrepos

Vaihe 4: Asenna Local Yum -tietovarasto asiakaskoneisiin

13. Lisää nyt CentOS-asiakaslaitteillasi paikalliset reposi YUM-kokoonpanoon.

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

Kopioi ja liitä alla oleva kokoonpano tiedostoon local-repos.repo (tee muutoksia tarvittaessa).

[local-base]
name=CentOS Base
baseurl=http://repos.test.lab/base/
gpgcheck=0
enabled=1

[local-centosplus]
name=CentOS CentOSPlus
baseurl=http://repos.test.lab/centosplus/
gpgcheck=0
enabled=1

[local-extras]
name=CentOS Extras
baseurl=http://repos.test.lab/extras/
gpgcheck=0
enabled=1

[local-updates]
name=CentOS Updates
baseurl=http://repos.test.lab/updates/
gpgcheck=0
enabled=1

Tallenna tiedosto ja ala käyttää paikallisia YUM-peilejä.

14. Suorita seuraavaksi seuraava komento tarkastellaksesi paikallisia repojasi asiakkaiden koneiden käytettävissä olevien YUM-repojen luettelossa.

#  yum repolist
OR
# yum repolist all

Siinä kaikki! Tässä artikkelissa olemme selittäneet, kuinka paikallinen YUM-arkisto asennetaan CentOS 7: een. Toivomme, että pidit tästä opasta hyödyllisenä. Jos sinulla on kysyttävää tai muita ajatuksia jakaa, käytä alla olevaa kommenttilomaketta.