Paikallisen HTTP Yum -varaston määrittäminen CentOS 7:ssä


Ohjelmistovarasto (lyhyesti "repo ") on keskeinen tiedostojen tallennuspaikka ohjelmistopakettien säilyttämiseen ja ylläpitoon, josta käyttäjät voivat hakea paketteja ja asentaa ne tietokoneilleen.

Tietovarastot tallennetaan usein verkon palvelimille, esimerkiksi Internetiin, jota useat käyttäjät voivat käyttää. Voit kuitenkin luoda ja määrittää paikallisen tietovaraston tietokoneellesi ja käyttää sitä yksittäisenä käyttäjänä tai sallia pääsyn muihin laitteisiin LANissasi (Local Area Network).

Yksi paikallisen arkiston perustamisen etu on, että et tarvitse Internet-yhteyttä ohjelmistopakettien asentamiseen.

YUM (Yellowdog Updater Modified) on laajalti käytetty paketinhallintatyökalu RPM:lle (RedHat Package Manager), joka perustuu Linux-järjestelmiin, mikä tekee ohjelmiston asentamisesta helppoa Red Hatissa. /CentOS Linux.

Tässä artikkelissa selitämme, kuinka paikallinen YUM-tietovarasto määritetään HTTP-verkkopalvelimen (Nginx) kautta CentOS 7 VPS:ssä ja näyttää myös, kuinka voit etsiä ja asentaa ohjelmistopaketteja CentOS 7 -asiakaskoneisiin.

Testausympäristömme

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

Vaihe 1: Asenna Nginx Web Server

1. Aloita ensin asentamalla Nginx HTTP -palvelin EPEL-varastosta YUM-paketinhallinnan avulla seuraavasti.

yum install epel-release
yum install nginx 

2. Kun olet asentanut Nginx-verkkopalvelimen, voit käynnistää sen ensimmäisen kerran ja ottaa sen käyttöö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, jotta verkkoliikenne sallitaan Nginx-palveluun, päivitettävä järjestelmän palomuurisäännöt sallimaan saapuvat paketit HTTP:ssä ja HTTPS:ssä käyttämällä alla olevia komentoja.

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 toiminnassa, 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 Yum-paikallinen arkisto

5. Tässä vaiheessa sinun on asennettava tarvittavat paketit paikallisen arkiston luomista, määrittämistä ja hallintaa varten.

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 reposync-työkalua synkronoidaksesi CentOS YUM -tietovarastot paikallisiin hakemistoihin kuvan mukaisesti.

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/
Näytelähtö
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 – mahdollistaa pakettien, jotka epäonnistuvat GPG-allekirjoituksen tarkistuksessa, poistamisen latauksen jälkeen.
  • -l – mahdollistaa yum-laajennusten tuen.
  • -d – mahdollistaa sellaisten paikallisten pakettien poistamisen, joita ei enää ole arkistossa.
  • -m – mahdollistaa comps.xml-tiedostojen lataamisen.
  • --repoid – määrittää arkiston tunnuksen.
  • --only newest-only – käske reposynciä noutaa vain uusin versio kustakin arkiston paketista.
  • --download-metadata – mahdollistaa kaikkien ei-oletussisällönkuvaustietojen lataamisen.
  • --latauspolku – määrittää pakettien latauspolun.

8. Tarkista seuraavaksi paikallisten hakemistojesi 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 tietovarastoille suorittamalla seuraavat komennot, joissa lippua -g käytetään pakettiryhmän tietojen päivittämiseen käyttämällä määritettyä .xml-tiedosto.

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. Jos haluat ottaa käyttöön tietovarastojen ja niissä olevien pakettien katselun verkkoselaimen kautta, luo Nginx-palvelinlohko, joka osoittaa arkistojesi juureen kuvan mukaisesti.

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

Lisää seuraavat asetukset 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 tietovarastoja verkkoselaimella käyttämällä seuraavaa URL-osoitetta.

http://repos.test.lab

Vaihe 3: Luo Cron-työ synkronointia ja arkiston luomista varten

12. Lisää seuraavaksi cron-työ, joka synkronoi automaattisesti paikalliset tietovarastot virallisten CentOS-varastojen kanssa päivitykset ja tietoturvakorjaukset.

vim /etc/cron.daily/update-localrepos

Lisää nämä komennot skriptiin.

#!/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 määritä sille tarvittavat käyttöoikeudet.

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

Vaihe 4: Asenna paikallinen Yum-varasto asiakaskoneissa

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

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

Kopioi ja liitä alla olevat asetukset tiedostoon local-repos.repo (tee tarvittaessa muutokset).

[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 aloita paikallisten YUM-peilien käyttö.

14. Suorita seuraavaksi seuraava komento nähdäksesi paikalliset varastot käytettävissä olevien YUM-varastojen luettelossa asiakaskoneissa.

 yum repolist
OR
yum repolist all

Siinä kaikki! Tässä artikkelissa olemme selittäneet paikallisen YUM-tietovaraston määrittämisen CentOS 7:ssä. Toivomme, että tämä opas oli hyödyllinen. Jos sinulla on kysyttävää tai muita ajatuksia jaettavaksi, käytä alla olevaa kommenttilomaketta.