Bii o ṣe le Ṣeto Ibi ipamọ Yum Agbegbe HTTP lori CentOS 7


Ibi ipamọ sọfitiwia (\ "repo" ni kukuru) jẹ ipo ibi ipamọ faili faili lati tọju ati ṣetọju awọn idii sọfitiwia, lati eyiti awọn olumulo le gba awọn idii ati fi sii wọn lori awọn kọnputa wọn.

Awọn ibi ipamọ nigbagbogbo ni a fipamọ sori awọn olupin lori nẹtiwọọki kan fun apẹẹrẹ intanẹẹti kan, eyiti o le wọle nipasẹ awọn olumulo pupọ. Sibẹsibẹ, o le ṣẹda ati tunto ibi ipamọ agbegbe kan lori kọnputa rẹ ki o wọle si bi olumulo kan tabi gba aaye si awọn ẹrọ miiran lori LAN rẹ (Nẹtiwọọki Agbegbe Agbegbe).

Anfani kan ti siseto ibi ipamọ agbegbe ni pe o ko nilo asopọ intanẹẹti lati fi awọn idii sọfitiwia sii.

YUM (Yellowdog Updater títúnṣe) jẹ irinṣẹ iṣakoso package ti o gbooro fun RPM (RedHat Package Manager) da lori awọn eto Linux, eyiti o jẹ ki fifi sori sọfitiwia rọrun lori Red Hat/CentOS Linux.

Ninu nkan yii, a yoo ṣalaye bi o ṣe le ṣeto ibi ipamọ YUM agbegbe lori olupin wẹẹbu HTTP (Nginx) lori CentOS 7 VPS ati tun fihan ọ bi o ṣe le wa ati fi awọn idii sọfitiwia sori ẹrọ awọn ẹrọ CentOS 7 onibara.

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

Igbesẹ 1: Fi Nginx Web Server sii

1. Akọkọ bẹrẹ nipa fifi sori ẹrọ olupin Nginx HTTP lati ibi ipamọ EPEL nipa lilo oluṣakoso package YUM gẹgẹbi atẹle.

# yum install epel-release
# yum install nginx 

2. Lọgan ti o ba ti fi olupin ayelujara Nginx sori ẹrọ, o le bẹrẹ fun igba akọkọ ki o mu ki o bẹrẹ laifọwọyi ni bata eto.

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

3. Nigbamii ti, o nilo lati ṣii ibudo 80 ati 443 lati gba ijabọ oju opo wẹẹbu si iṣẹ Nginx, ṣe imudojuiwọn awọn ofin ogiriina eto lati gba awọn apo inbound wọle lori HTTP ati HTTPS ni lilo awọn ofin ni isalẹ.

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

4. Bayi o le jẹrisi pe olupin Nginx rẹ ti n ṣiṣẹ ati ṣiṣe, ni lilo URL atẹle; ti o ba ri oju-iwe ayelujara Nginx aiyipada, gbogbo rẹ dara.

http://SERVER_DOMAIN_NAME_OR_IP 

Igbesẹ 2: Ṣẹda ibi ipamọ Agbegbe Yum kan

5. Ni igbesẹ yii, o nilo lati fi awọn idii ti o nilo sii fun ṣiṣẹda, tunto, ati iṣakoso ibi ipamọ agbegbe rẹ.

# yum install createrepo  yum-utils

6. Nigbamii, ṣẹda awọn ilana pataki (awọn ibi ipamọ yum) ti yoo tọju awọn idii ati eyikeyi alaye ti o jọmọ.

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

7. Lẹhinna lo ohun elo reposync lati muṣiṣẹpọ awọn ibi ipamọ CentOS YUM si awọn ilana agbegbe bi a ti han.

# 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     

Ninu awọn ofin loke, aṣayan:

  • -g - jẹ ki yiyọ awọn idii ti o kuna ṣiṣe ayẹwo ibuwọlu GPG lẹhin gbigba lati ayelujara.
  • -l - jẹ ki atilẹyin ohun itanna yum ṣiṣẹ.
  • -d - n mu pipaarẹ ti awọn idii agbegbe ko si ni ibi ipamọ mọ.
  • -m - ngbanilaaye gbigba lati ayelujara awọn faili comps.xml.
  • --repoid - ṣe afihan ID ibi ipamọ.
  • --west-only - sọ fun ibi ipamọ lati fa ẹyà tuntun ti package kọọkan nikan ni ibi ipamọ. ”
  • --gbasilẹ-metadata - ngbanilaaye gbigba lati ayelujara gbogbo metadata ti kii ṣe aiyipada.
  • --download_path - ṣalaye ọna lati ṣe igbasilẹ awọn idii.

8. Nigbamii, ṣayẹwo awọn akoonu ti awọn ilana ilana agbegbe rẹ lati rii daju pe gbogbo awọn idii ti muuṣiṣẹpọ ni agbegbe.

# 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. Bayi ṣẹda atunṣe tuntun fun awọn ibi ipamọ agbegbe nipasẹ ṣiṣe awọn ofin wọnyi, nibiti a ti lo asia -g lati ṣe imudojuiwọn alaye ẹgbẹ ẹgbẹ package nipa lilo faili pàtó kan .xml .

# 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. Lati jẹ ki wiwo awọn ibi ipamọ ati awọn idii ninu wọn, nipasẹ ẹrọ lilọ kiri lori wẹẹbu kan, ṣẹda bulọọki olupin Nginx ti o tọka si gbongbo awọn ibi ipamọ rẹ bi o ti han.

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

Ṣafikun iṣeto atẹle ti faili faili 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
        }
}

Fipamọ faili naa ki o pa.

11. Lẹhinna tun bẹrẹ olupin Nginx rẹ ki o wo awọn ibi ipamọ lati ẹrọ lilọ kiri lori ayelujara nipa lilo URL atẹle.

http://repos.test.lab

Igbesẹ 3: Ṣẹda Job Cron lati Ṣiṣẹpọ ati Ṣẹda Awọn ibi ipamọ

12. Nigbamii, ṣafikun iṣẹ cron kan ti yoo muṣiṣẹpọ ibi ipamọ agbegbe rẹ laifọwọyi pẹlu ibi ipamọ CentOS osise lati gba awọn imudojuiwọn ati awọn abulẹ aabo.

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

Ṣafikun awọn ofin wọnyi ninu iwe afọwọkọ naa.

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

Fipamọ iwe afọwọkọ ki o pa a ki o ṣeto awọn igbanilaaye ti o yẹ lori rẹ.

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

Igbesẹ 4: Ṣeto Ibi ipamọ Yum Agbegbe lori Awọn ẹrọ Onibara

13. Bayi lori awọn ẹrọ alabara CentOS rẹ, ṣafikun ibi ipamọ agbegbe rẹ si iṣeto YUM.

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

Daakọ ati lẹẹ iṣeto ni isalẹ ni faili agbegbe-repos.repo (ṣe awọn ayipada nibiti o ṣe pataki).

[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

Fipamọ faili naa ki o bẹrẹ lilo awọn digi YUM ti agbegbe rẹ.

14. Nigbamii, ṣiṣe aṣẹ atẹle lati wo ibi ipamọ agbegbe rẹ ninu atokọ ti ibi ipamọ YUM ti o wa, lori awọn ẹrọ alabara.

#  yum repolist
OR
# yum repolist all

Gbogbo ẹ niyẹn! Ninu nkan yii, a ti ṣalaye bi a ṣe le ṣeto ibi ipamọ YUM agbegbe lori CentOS 7. A nireti pe o rii itọsọna yii wulo. Ti o ba ni ibeere eyikeyi, tabi awọn ero miiran lati pin, lo fọọmu asọye ni isalẹ.