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.