Jinsi ya Kusanidi Hifadhi ya Yum ya HTTP kwenye CentOS 7
Hifadhi ya programu (\repo kwa ufupi) ni eneo kuu la kuhifadhi faili ili kuweka na kudumisha vifurushi vya programu, ambapo watumiaji wanaweza kupata vifurushi na kusakinisha kwenye kompyuta zao.
Hifadhi mara nyingi huhifadhiwa kwenye seva kwenye mtandao kwa mfano mtandao, ambao unaweza kufikiwa na watumiaji wengi. Hata hivyo, unaweza kuunda na kusanidi hazina ya ndani kwenye kompyuta yako na kuifikia kama mtumiaji mmoja au kuruhusu ufikiaji wa mashine nyingine kwenye LAN yako (Mtandao wa Eneo la Karibu).
Faida moja ya kusanidi hazina ya ndani ni kwamba hauitaji muunganisho wa intaneti ili kusakinisha vifurushi vya programu.
YUM (Yellowdog Updater Modified) ni zana inayotumika sana ya kudhibiti kifurushi cha RPM (Kidhibiti Kifurushi cha RedHat) kulingana na mifumo ya Linux, ambayo hurahisisha usakinishaji wa programu kwenye Red Hat/CentOS Linux.
Katika nakala hii, tutaelezea jinsi ya kusanidi hazina ya ndani ya YUM juu ya seva ya wavuti ya HTTP (Nginx) kwenye CentOS 7 VPS na pia kukuonyesha jinsi ya kupata na kusakinisha vifurushi vya programu kwenye mashine za mteja za CentOS 7.
Yum HTTP Repository Server: CentOS 7 [192.168.0.100] Client Machine: CentOS 7 [192.168.0.101]
Hatua ya 1: Sakinisha Seva ya Wavuti ya Nginx
1. Kwanza anza kwa kusakinisha seva ya Nginx HTTP kutoka hazina ya EPEL kwa kutumia kidhibiti cha kifurushi cha YUM kama ifuatavyo.
# yum install epel-release # yum install nginx
2. Mara baada ya kusakinisha seva ya wavuti ya Nginx, unaweza kuianzisha kwa mara ya kwanza na kuiwezesha kuanza kiotomatiki kwenye mfumo wa kuwasha.
# systemctl start nginx # systemctl enable nginx # systemctl status nginx
3. Kisha, unahitaji kufungua mlango wa 80 na 443 ili kuruhusu trafiki ya wavuti kwa huduma ya Nginx, kusasisha sheria za mfumo wa ngome ili kuruhusu pakiti zinazoingia kwenye HTTP na HTTPS kwa kutumia amri zilizo hapa chini.
# firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --zone=public --permanent --add-service=https # firewall-cmd --reload
4. Sasa unaweza kuthibitisha kwamba seva yako ya Nginx iko na inafanya kazi, kwa kutumia URL ifuatayo; ikiwa utaona ukurasa wa wavuti wa Nginx, yote ni sawa.
http://SERVER_DOMAIN_NAME_OR_IP
Hatua ya 2: Unda Hifadhi ya Karibu ya Yum
5. Katika hatua hii, unahitaji kusakinisha vifurushi vinavyohitajika kwa ajili ya kuunda, kusanidi, na kudhibiti hazina yako ya ndani.
# yum install createrepo yum-utils
6. Kisha, tengeneza saraka zinazohitajika (yum repositories) ambazo zitahifadhi vifurushi na taarifa zozote zinazohusiana.
# mkdir -p /var/www/html/repos/{base,centosplus,extras,updates}
7. Kisha utumie zana ya upatanishi kusawazisha hazina za CentOS YUM kwa saraka za ndani kama inavyoonyeshwa.
# 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
Katika amri zilizo hapo juu, chaguo:
-g
- huwezesha uondoaji wa vifurushi ambavyo vinashindwa kuangalia sahihi ya GPG baada ya kupakua.-l
- huwezesha usaidizi wa programu-jalizi ya yum.-d
- huwezesha ufutaji wa vifurushi vya ndani ambavyo havipo tena kwenye hazina.-m
- huwezesha upakuaji wa faili za comps.xml.--repoid
- hubainisha kitambulisho cha hazina.--mpya-pekee
- sema reposync ivute tu toleo jipya zaidi la kila kifurushi kwenye repos.--pakua-metadata
- huwezesha kupakua metadata zote zisizo chaguomsingi.--download_path
- hubainisha njia ya kupakua vifurushi.
8. Kisha, angalia yaliyomo kwenye saraka za eneo lako ili kuhakikisha kuwa vifurushi vyote vimesawazishwa ndani ya nchi.
# 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. Sasa unda repodata mpya ya hazina za ndani kwa kutekeleza amri zifuatazo, ambapo alama -g
inatumiwa kusasisha maelezo ya kikundi cha kifurushi kwa kutumia .xml
faili iliyobainishwa. .
# 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. Ili kuwezesha utazamaji wa hazina na vifurushi vilivyomo, kupitia kivinjari cha wavuti, tengeneza kizuizi cha seva cha Nginx kinachoelekeza kwenye mzizi wa hazina zako kama inavyoonyeshwa.
# vim /etc/nginx/conf.d/repos.conf
Ongeza usanidi ufuatao wa 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 } }
Hifadhi faili na uifunge.
11. Kisha anzisha upya seva yako ya Nginx na uangalie hazina kutoka kwa kivinjari cha wavuti kwa kutumia URL ifuatayo.
http://repos.test.lab
Hatua ya 3: Unda Kazi ya Cron ili Kusawazisha na Kuunda Hifadhi
12. Kisha, ongeza kazi ya cron ambayo itasawazisha kiotomatiki repos zako za karibu na repo rasmi za CentOS ili kunyakua masasisho na alama za usalama.
# vim /etc/cron.daily/update-localrepos
Ongeza amri hizi kwenye hati.
#!/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
Hifadhi hati na uifunge na uweke ruhusa zinazofaa juu yake.
# chmod 755 /etc/cron.daily/update-localrepos
Hatua ya 4: Sanidi Hazina ya Yum ya Ndani kwenye Mashine za Wateja
13. Sasa kwenye mashine za mteja wa CentOS, ongeza repos zako za karibu kwenye usanidi wa YUM.
# vim /etc/yum.repos.d/local-repos.repo
Nakili na ubandike usanidi hapa chini kwenye faili local-repos.repo (fanya mabadiliko inapobidi).
[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
Hifadhi faili na anza kutumia vioo vya YUM vya karibu nawe.
14. Kisha, endesha amri ifuatayo ili kutazama repos za karibu nawe katika orodha ya repo za YUM zinazopatikana, kwenye mashine za mteja.
# yum repolist OR # yum repolist all
Ni hayo tu! Katika makala haya, tumeelezea jinsi ya kusanidi hazina ya ndani ya YUM kwenye CentOS 7. Tunatumahi kuwa umepata mwongozo huu kuwa muhimu. Ikiwa una maswali yoyote, au mawazo mengine yoyote ya kushiriki, tumia fomu ya maoni hapa chini.