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.