Hvernig á að setja upp staðbundna HTTP Yum geymslu á CentOS 7


Hugbúnaðargeymsla (repo í stuttu máli) er miðlæg skráageymslustaður til að halda og viðhalda hugbúnaðarpakka, þaðan sem notendur geta sótt pakka og sett þá upp á tölvur sínar.

Geymslur eru oft geymdar á netþjónum á neti, til dæmis interneti, sem margir notendur geta nálgast. Hins vegar geturðu búið til og stillt staðbundna geymslu á tölvunni þinni og fengið aðgang að henni sem einn notandi eða leyft aðgang að öðrum vélum á staðarnetinu þínu (Local Area Network).

Einn kostur við að setja upp staðbundna geymslu er að þú þarft ekki nettengingu til að setja upp hugbúnaðarpakka.

YUM (Yellowdog Updater Modified) er mikið notað pakkastjórnunartæki fyrir RPM (RedHat Package Manager) byggt á Linux kerfum, sem auðveldar uppsetningu hugbúnaðar á Red Hat/CentOS Linux.

Í þessari grein munum við útskýra hvernig á að setja upp staðbundna YUM geymslu yfir HTTP (Nginx) vefþjón á CentOS 7 VPS og einnig sýna þér hvernig á að finna og setja upp hugbúnaðarpakka á CentOS 7 vélum viðskiptavinarins.

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

Skref 1: Settu upp Nginx vefþjón

1. Byrjaðu fyrst á því að setja upp Nginx HTTP netþjóninn úr EPEL geymslunni með því að nota YUM pakkastjórann sem hér segir.

# yum install epel-release
# yum install nginx 

2. Þegar þú hefur sett upp Nginx vefþjóninn geturðu ræst hann í fyrsta skipti og gert honum kleift að ræsast sjálfkrafa við ræsingu kerfisins.

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

3. Næst þarftu að opna gátt 80 og 443 til að leyfa vefumferð í Nginx þjónustu, uppfæra eldveggsreglur kerfisins til að leyfa pakka á heimleið á HTTP og HTTPS með því að nota skipanirnar hér að neðan.

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

4. Nú geturðu staðfest að Nginx þjónninn þinn sé í gangi með því að nota eftirfarandi vefslóð; ef þú sérð sjálfgefna Nginx vefsíðu er allt í lagi.

http://SERVER_DOMAIN_NAME_OR_IP 

Skref 2: Búðu til Yum Local Repository

5. Í þessu skrefi þarftu að setja upp nauðsynlega pakka til að búa til, stilla og stjórna staðbundinni geymslu.

# yum install createrepo  yum-utils

6. Næst skaltu búa til nauðsynlegar möppur (yum repositories) sem geyma pakka og allar tengdar upplýsingar.

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

7. Notaðu síðan reposync tólið til að samstilla CentOS YUM geymslur við staðbundnar möppur eins og sýnt er.

# 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     

Í ofangreindum skipunum er valmöguleikinn:

  • -g – gerir kleift að fjarlægja pakka sem mistekst GPG undirskriftathugun eftir niðurhal.
  • -l – virkjar stuðning við Yum viðbætur.
  • -d – gerir kleift að eyða staðbundnum pökkum sem eru ekki lengur til staðar í geymslunni.
  • -m – gerir kleift að hlaða niður comps.xml skrám.
  • --repoid – tilgreinir auðkenni geymslunnar.
  • --nýjasta-aðeins – segðu reposync að draga aðeins nýjustu útgáfuna af hverjum pakka í geymslunni.
  • --download-lýsigögn – gerir þér kleift að hlaða niður öllum lýsigögnum sem ekki eru sjálfgefin.
  • --download_path – tilgreinir slóðina til að hlaða niður pakka.

8. Næst skaltu athuga innihald staðbundinna möppu þinna til að tryggja að allir pakkarnir hafi verið samstilltir á staðnum.

# 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. Búðu til ný endurupptökugögn fyrir staðbundnar geymslur með því að keyra eftirfarandi skipanir, þar sem fáninn -g er notaður til að uppfæra upplýsingar um pakkahópinn með því að nota tilgreinda .xml skrá .

# 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. Til að gera kleift að skoða geymslur og pakka í þeim, í gegnum vafra, búðu til Nginx netþjónablokk sem bendir á rót geymslu þinna eins og sýnt er.

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

Bættu við eftirfarandi uppsetningu á skránni 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
        }
}

Vistaðu skrána og lokaðu henni.

11. Endurræstu síðan Nginx netþjóninn þinn og skoðaðu geymslurnar úr vafra með því að nota eftirfarandi vefslóð.

http://repos.test.lab

Skref 3: Búðu til Cron starf til að samstilla og búa til geymslur

12. Næst skaltu bæta við cron-vinnu sem mun sjálfkrafa samstilla staðbundna endursölustaðinn þinn við opinbera CentOS endursölustaðinn til að grípa uppfærslurnar og öryggisplástrana.

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

Bættu þessum skipunum við í handritinu.

#!/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

Vistaðu handritið og lokaðu því og stilltu viðeigandi heimildir fyrir það.

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

Skref 4: Settu upp staðbundna Yum geymslu á viðskiptavinavélum

13. Nú á CentOS biðlaravélunum þínum skaltu bæta staðbundnu endursölustaðnum þínum við YUM stillinguna.

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

Afritaðu og límdu stillingarnar hér að neðan í skránni local-repos.repo (gerðu breytingar þar sem þörf krefur).

[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

Vistaðu skrána og byrjaðu að nota staðbundna YUM speglana þína.

14. Næst skaltu keyra eftirfarandi skipun til að skoða staðbundin endurvörp á listanum yfir tiltæk YUM endurhverf, á biðlaravélunum.

#  yum repolist
OR
# yum repolist all

Það er allt og sumt! Í þessari grein höfum við útskýrt hvernig á að setja upp staðbundna YUM geymslu á CentOS 7. Við vonum að þér hafi fundist þessi handbók gagnleg. Ef þú hefur einhverjar spurningar, eða einhverjar aðrar hugsanir til að deila, notaðu athugasemdareyðublaðið hér að neðan.