Kif Twaqqaf Repożitorju Lokali HTTP Yum fuq CentOS 7


Repożitorju tas-softwer (repo fil-qosor) huwa post ċentrali għall-ħażna tal-fajls biex iżommu u jżommu pakketti tas-softwer, li minnhom l-utenti jistgħu jirkupraw pakketti u jinstallawhom fuq il-kompjuters tagħhom.

Ir-repożitorji ħafna drabi huma maħżuna fuq servers fuq netwerk pereżempju internet, li jistgħu jiġu aċċessati minn utenti multipli. Madankollu, tista 'toħloq u tikkonfigura repożitorju lokali fuq il-kompjuter tiegħek u taċċessah bħala utent wieħed jew tippermetti aċċess għal magni oħra fuq il-LAN tiegħek (Netwerk taż-Żona Lokali).

Vantaġġ wieħed tat-twaqqif ta’ repożitorju lokali huwa li m’għandekx bżonn konnessjoni tal-internet biex tinstalla pakketti tas-softwer.

YUM (Yellowdog Updater Modified) hija għodda ta 'ġestjoni tal-pakkett użata ħafna għal RPM (RedHat Package Manager) ibbażata fuq sistemi Linux, li tagħmel l-installazzjoni tas-softwer faċli fuq Red Hat/CentOS Linux.

F'dan l-artikolu, aħna se nispjegaw kif twaqqaf repożitorju YUM lokali fuq server web HTTP (Nginx) fuq CentOS 7 VPS u nuruk ukoll kif issib u tinstalla pakketti tas-softwer fuq il-magni tal-klijenti CentOS 7.

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

Pass 1: Installa Nginx Web Server

1. L-ewwel ibda billi tinstalla s-server HTTP Nginx mir-repożitorju EPEL billi tuża l-maniġer tal-pakketti YUM kif ġej.

# yum install epel-release
# yum install nginx 

2. Ladarba tkun installat is-server tal-web Nginx, tista 'tibdah għall-ewwel darba u tippermettilu li jibda awtomatikament fil-boot tas-sistema.

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

3. Sussegwentement, għandek bżonn tiftaħ il-port 80 u 443 biex tippermetti t-traffiku tal-web għas-servizz Nginx, taġġorna r-regoli tal-firewall tas-sistema biex tippermetti pakketti deħlin fuq HTTP u HTTPS billi tuża l-kmandi hawn taħt.

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

4. Issa tista 'tikkonferma li s-server Nginx tiegħek qed jaħdem, billi tuża l-URL li ġej; jekk tara l-paġna web default Nginx, kollox huwa tajjeb.

http://SERVER_DOMAIN_NAME_OR_IP 

Pass 2: Oħloq Repożitorju Lokali Yum

5. F'dan il-pass, għandek bżonn tinstalla l-pakketti meħtieġa għall-ħolqien, il-konfigurazzjoni u l-ġestjoni tar-repożitorju lokali tiegħek.

# yum install createrepo  yum-utils

6. Sussegwentement, oħloq id-direttorji meħtieġa (repożitorji yum) li se jaħżnu pakketti u kwalunkwe informazzjoni relatata.

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

7. Imbagħad uża l-għodda ta 'reposync biex tissinkronizza r-repożitorji ta' CentOS YUM mad-direttorji lokali kif muri.

# 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     

Fil-kmandi ta 'hawn fuq, l-għażla:

  • -g – jippermetti t-tneħħija ta' pakketti li ma jiċċekkjawx il-firma tal-GPG wara t-tniżżil.
  • -l – jippermetti l-appoġġ tal-plugin yum.
  • -d – jippermetti t-tħassir ta' pakketti lokali li m'għadhomx preżenti fir-repożitorju.
  • -m – jippermetti t-tniżżil ta' fajls comps.xml.
  • --repoid – jispeċifika l-ID tar-repożitorju.
  • --newest-only – għid lil reposync biex tiġbed biss l-aħħar verżjoni ta' kull pakkett fir-repos.
  • --download-metadata – jippermetti t-tniżżil tal-metadata kollha mhux predefinita.
  • --download_path – jispeċifika t-triq biex tniżżel il-pakketti.

8. Sussegwentement, iċċekkja l-kontenut tad-direttorji lokali tiegħek biex tiżgura li l-pakketti kollha ġew sinkronizzati lokalment.

# 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. Issa oħloq repodata ġdida għar-repożitorji lokali billi tħaddem il-kmandi li ġejjin, fejn il-bandiera -g tintuża biex taġġorna l-informazzjoni tal-grupp tal-pakketti billi tuża l-fajl .xml speċifikat .

# 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. Biex tippermetti l-wiri tar-repożitorji u l-pakketti fihom, permezz ta 'web browser, oħloq blokka ta' server Nginx li tipponta lejn l-għerq tar-repożitorji tiegħek kif muri.

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

Żid il-konfigurazzjoni li ġejja tal-fajl 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
        }
}

Issejvja l-fajl u agħlaqha.

11. Imbagħad erġa ibda s-server Nginx tiegħek u ara r-repożitorji minn web browser billi tuża l-URL li ġej.

http://repos.test.lab

Pass 3: Oħloq Impjieg Cron biex Tissinkronizza u Oħloq Repożitorji

12. Sussegwentement, żid xogħol cron li awtomatikament jissinkronizza r-repos lokali tiegħek mar-repos uffiċjali ta 'CentOS biex taqbad l-aġġornamenti u l-garża tas-sigurtà.

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

Żid dawn il-kmandi fl-iskrittura.

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

Issejvja l-iskript u agħlaqha u ssettja l-permessi xierqa fuqha.

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

Pass 4: Issettja Repożitorju Yum Lokali fuq Magni tal-Klijent

13. Issa fuq il-magni tal-klijenti CentOS tiegħek, żid ir-repos lokali tiegħek mal-konfigurazzjoni YUM.

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

Ikkopja u waħħal il-konfigurazzjoni hawn taħt fil-fajl local-repos.repo (agħmel bidliet fejn meħtieġ).

[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

Issejvja l-fajl u ibda uża l-mirja YUM lokali tiegħek.

14. Sussegwentement, mexxi l-kmand li ġej biex tara r-repos lokali tiegħek fil-lista tar-repos YUM disponibbli, fuq il-magni tal-klijenti.

#  yum repolist
OR
# yum repolist all

Dak kollox! F'dan l-artikolu, spjegajna kif twaqqaf repożitorju YUM lokali fuq CentOS 7. Nittamaw li sibt din il-gwida utli. Jekk għandek xi mistoqsijiet, jew xi ħsibijiet oħra x'taqsam, uża l-formola tal-kummenti hawn taħt.