Yadda ake Saita Maajiyar HTTP Yum na Gida akan CentOS 7
Ma'ajiyar software (\repo a takaice) wuri ne na tsakiya don adanawa da kuma kula da fakitin software, wanda masu amfani za su iya dawo da fakitin su sanya su a kan kwamfutocin su.
Yawancin lokaci ana adana ma'ajin ajiya a kan sabobin da ke kan hanyar sadarwa misali intanet, wanda masu amfani da yawa za su iya shiga. Koyaya, zaku iya ƙirƙira da daidaita ma'ajiyar gida akan kwamfutarku kuma samun damar ta azaman mai amfani ɗaya ko ba da izinin shiga wasu injina akan LAN ɗinku (Local Area Network).
Ɗayan fa'idar kafa ma'ajiyar gida shine cewa ba kwa buƙatar haɗin intanet don shigar da fakitin software.
YUM (Yellowdog Updater Modified) kayan aikin sarrafa fakiti ne da ake amfani da shi sosai don RPM (RedHat Package Manager) dangane da tsarin Linux, wanda ke sauƙaƙe shigarwar software akan Red Hat/CentOS Linux.
A cikin wannan labarin, za mu yi bayanin yadda ake saita maajiyar YUM ta gida akan sabar gidan yanar gizo ta HTTP (Nginx) akan CentOS 7 VPS sannan kuma mu nuna muku yadda ake nemo da shigar da fakitin software akan injin CentOS 7 abokin ciniki.
Yum HTTP Repository Server: CentOS 7 [192.168.0.100] Client Machine: CentOS 7 [192.168.0.101]
Mataki 1: Shigar Nginx Web Server
1. Da farko farawa ta hanyar shigar da uwar garken Nginx HTTP daga ma'ajin EPEL ta amfani da mai sarrafa kunshin YUM kamar haka.
# yum install epel-release # yum install nginx
2. Da zarar kun shigar da sabar gidan yanar gizon Nginx, zaku iya fara shi a karon farko kuma ku ba shi damar farawa ta atomatik a boot boot.
# systemctl start nginx # systemctl enable nginx # systemctl status nginx
3. Na gaba, kuna buƙatar buɗe tashar jiragen ruwa 80 da 443 don ba da izinin zirga-zirgar yanar gizo zuwa sabis na Nginx, sabunta ka'idodin Tacewar zaɓi don ba da izinin fakiti masu shigowa akan HTTP da HTTPS ta amfani da umarnin da ke ƙasa.
# firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --zone=public --permanent --add-service=https # firewall-cmd --reload
4. Yanzu zaku iya tabbatar da cewa uwar garken Nginx ɗinku yana aiki, ta amfani da URL mai zuwa; idan kun ga tsohuwar shafin yanar gizon Nginx, duk yana da kyau.
http://SERVER_DOMAIN_NAME_OR_IP
Mataki na 2: Ƙirƙiri Ma'ajiyar Wuta ta Yum
5. A cikin wannan mataki, kuna buƙatar shigar da fakitin da ake buƙata don ƙirƙira, daidaitawa, da sarrafa ma'ajin ku na gida.
# yum install createrepo yum-utils
6. Na gaba, ƙirƙirar kundayen adireshi masu mahimmanci (yum repositories) waɗanda zasu adana fakiti da duk wani bayanan da ke da alaƙa.
# mkdir -p /var/www/html/repos/{base,centosplus,extras,updates}
7. Sannan yi amfani da kayan aikin reposync don daidaita ma'ajiyar CentOS YUM zuwa kundin adireshi na gida kamar yadda aka nuna.
# 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
A cikin umarni na sama, zaɓi:
-g
- yana ba da damar cire fakitin da suka gaza duba sa hannun GPG bayan zazzagewa.-l
- yana ba da damar tallafin plugin yum.-d
- yana ba da damar share fakitin gida ba a cikin ma'ajiyar.-m
- yana ba da damar zazzage fayilolin comps.xml.--repoid
- yana ƙayyadadden ID na ma'ajin.--sabuwa-kawai
- gaya reposync don cire sabuwar sigar kowane fakitin kawai a cikin wurin ajiya.--download-metadata
- yana ba da damar zazzage duk bayanan da ba na asali ba.--download_path
- yana ƙayyade hanyar da za a sauke fakiti.
8. Na gaba, bincika abubuwan da ke cikin kundayen adireshi na gida don tabbatar da cewa an daidaita duk fakitin a cikin gida.
# 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. Yanzu ƙirƙirar sabon repodata don ma'ajiyar gida ta hanyar aiwatar da umarni masu zuwa, inda ake amfani da tutar -g
don sabunta bayanan rukunin fakiti ta amfani da ƙayyadadden fayil ɗin .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. Don ba da damar duba wuraren ajiya da fakiti a cikin su, ta hanyar burauzar yanar gizo, ƙirƙirar shingen uwar garken Nginx wanda ke nuna tushen ma'ajiyar ku kamar yadda aka nuna.
# vim /etc/nginx/conf.d/repos.conf
Ƙara wannan saitin ot file 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 } }
Ajiye fayil ɗin kuma rufe shi.
11. Sa'an nan kuma sake kunna uwar garken Nginx ɗin ku kuma duba ma'ajin daga mai binciken gidan yanar gizon ta amfani da URL mai zuwa.
http://repos.test.lab
Mataki na 3: Ƙirƙiri Aiki na Cron don Aiki tare da Ƙirƙirar Ma'ajiyar
12. Na gaba, ƙara aikin cron wanda zai daidaita ma'ajin ku ta atomatik tare da ma'ajin CentOS na hukuma don ɗaukar sabuntawa da facin tsaro.
# vim /etc/cron.daily/update-localrepos
Ƙara waɗannan umarni a cikin rubutun.
#!/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
Ajiye rubutun kuma rufe shi kuma saita izini masu dacewa akansa.
# chmod 755 /etc/cron.daily/update-localrepos
Mataki 4: Saita Ma'ajiyar Yum na Gida akan Injin Abokin Ciniki
13. Yanzu akan injunan abokin ciniki na CentOS, ƙara ma'ajin ku na gida zuwa tsarin YUM.
# vim /etc/yum.repos.d/local-repos.repo
Kwafi da liƙa saitin da ke ƙasa a cikin fayil local-repos.repo (yi canje-canje idan ya cancanta).
[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
Ajiye fayil ɗin kuma fara amfani da madubin YUM na gida.
14. Na gaba, gudanar da umarni mai zuwa don duba wuraren ajiyar ku na gida a cikin jerin abubuwan da aka samu na YUM, akan injunan abokin ciniki.
# yum repolist OR # yum repolist all
Shi ke nan! A cikin wannan labarin, mun bayyana yadda ake saita maajiyar YUM na gida akan CentOS 7. Muna fatan kun sami wannan jagorar mai amfani. Idan kuna da wasu tambayoyi, ko wasu tunani don raba, yi amfani da fom ɗin sharhi a ƙasa.