Kā iestatīt vietējo HTTP Yum repozitoriju CentOS 7
Programmatūras krātuve (īsāk sakot - “repo”) ir centrālā failu glabāšanas vieta programmatūras pakotņu glabāšanai un uzturēšanai, no kuras lietotāji var izgūt pakotnes un instalēt tās savos datoros.
Krātuves bieži tiek glabātas tīkla serveros, piemēram, internetā, kam var piekļūt vairāki lietotāji. Tomēr jūs varat izveidot un konfigurēt lokālo repozitoriju savā datorā un piekļūt tam kā vienam lietotājam vai atļaut piekļuvi citām jūsu LAN (lokālā tīkla) mašīnām.
Viena no vietējā repozitorija izveidošanas priekšrocībām ir tā, ka programmatūras pakotņu instalēšanai nav nepieciešams interneta savienojums.
YUM (Yellowdog Updater Modified) ir plaši izmantots pakotņu pārvaldības rīks RPM (RedHat Package Manager), kas balstīts uz Linux sistēmām, kas atvieglo programmatūras instalēšanu Red Hat/CentOS Linux.
Šajā rakstā mēs paskaidrosim, kā iestatīt vietējo YUM repozitoriju, izmantojot HTTP (Nginx) tīmekļa serveri CentOS 7 VPS, kā arī parādīsim, kā atrast un instalēt programmatūras pakotnes klienta CentOS 7 mašīnās.
Yum HTTP Repository Server: CentOS 7 [192.168.0.100] Client Machine: CentOS 7 [192.168.0.101]
1. darbība: instalējiet Nginx tīmekļa serveri
1. Vispirms sāciet instalēt Nginx HTTP serveri no EPEL krātuves, izmantojot YUM pakotņu pārvaldnieku šādi.
# yum install epel-release # yum install nginx
2. Kad esat instalējis Nginx tīmekļa serveri, varat to startēt pirmo reizi un ļaut tam automātiski startēt sistēmas sāknēšanas laikā.
# systemctl start nginx # systemctl enable nginx # systemctl status nginx
3. Pēc tam jums jāatver 80. un 443. ports, lai atļautu tīmekļa trafiku uz Nginx pakalpojumu, atjauniniet sistēmas ugunsmūra noteikumus, lai atļautu ienākošās paketes HTTP un HTTPS, izmantojot tālāk norādītās komandas.
# firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --zone=public --permanent --add-service=https # firewall-cmd --reload
4. Tagad jūs varat apstiprināt, ka jūsu Nginx serveris darbojas un darbojas, izmantojot šādu URL; ja redzat noklusējuma Nginx tīmekļa lapu, viss ir kārtībā.
http://SERVER_DOMAIN_NAME_OR_IP
2. darbība: izveidojiet Yum lokālo krātuvi
5. Šajā solī jāinstalē nepieciešamās pakotnes vietējā repozitorija izveidei, konfigurēšanai un pārvaldībai.
# yum install createrepo yum-utils
6. Pēc tam izveidojiet nepieciešamos direktorijus (yum repozitorijus), kas glabās pakas un visu saistīto informāciju.
# mkdir -p /var/www/html/repos/{base,centosplus,extras,updates}
7. Pēc tam izmantojiet reposync rīku, lai sinhronizētu CentOS YUM krātuves ar vietējiem direktorijiem, kā parādīts.
# 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
Iepriekš minētajās komandās opcija:
-
-g
- ļauj noņemt paketes, kurām pēc lejupielādes neizdodas pārbaudīt GPG parakstu. -
-l
- iespējo yum spraudņa atbalstu. -
-d
- ļauj izdzēst lokālos iepakojumus, kas vairs nav repozitorijā. -
-m
- ļauj lejupielādēt failus comps.xml. -
--repoid
- norāda krātuves ID. -
- tikai uz rietumiem
- sakiet reposync, lai repos tikai katras pakotnes jaunāko versiju. -
--download-metadata
- ļauj lejupielādēt visus metadatus, kuriem nav noklusējuma. -
--download_path
- norāda paku lejupielādes ceļu.
8. Pēc tam pārbaudiet vietējo direktoriju saturu, lai pārliecinātos, vai visas paketes ir sinhronizētas lokāli.
# 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. Tagad izveidojiet jaunu repodatu vietējām krātuvēm, izpildot šādas komandas, kur karodziņu -g
izmanto, lai atjauninātu pakotņu grupas informāciju, izmantojot norādīto failu .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. Lai iespējotu tajās esošo krātuvju un pakotņu apskati, izmantojot tīmekļa pārlūku, izveidojiet Nginx servera bloku, kas norāda uz jūsu krātuvju sakni, kā parādīts.
# vim /etc/nginx/conf.d/repos.conf
Pievienojiet šādu konfigurāciju failam 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 } }
Saglabājiet failu un aizveriet to.
11. Pēc tam restartējiet Nginx serveri un skatiet krātuves no tīmekļa pārlūkprogrammas, izmantojot šādu URL.
http://repos.test.lab
3. solis: izveidojiet Cron darbu, lai sinhronizētu un izveidotu krātuves
12. Pēc tam pievienojiet cron darbu, kas automātiski sinhronizēs jūsu vietējās repos ar oficiālajām CentOS repo, lai paķertu atjauninājumus un drošības ielāpus.
# vim /etc/cron.daily/update-localrepos
Pievienojiet šīs komandas skriptam.
#!/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
Saglabājiet skriptu un aizveriet to un iestatiet tam atbilstošās atļaujas.
# chmod 755 /etc/cron.daily/update-localrepos
4. darbība: iestatiet lokālo Yum krātuvi klientu mašīnās
13. Tagad savās CentOS klientu mašīnās pievienojiet vietējās repo YUM konfigurācijai.
# vim /etc/yum.repos.d/local-repos.repo
Nokopējiet un ielīmējiet zemāk esošo konfigurāciju failā local-repos.repo (vajadzības gadījumā veiciet izmaiņas).
[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
Saglabājiet failu un sāciet izmantot vietējos YUM spoguļus.
14. Pēc tam palaidiet šo komandu, lai klienta mašīnās pieejamo YUM repo sarakstu apskatītu vietējos repos.
# yum repolist OR # yum repolist all
Tas ir viss! Šajā rakstā mēs esam izskaidrojuši, kā iestatīt vietējo YUM repozitoriju vietnē CentOS 7. Mēs ceram, ka šī rokasgrāmata jums šķita noderīga. Ja jums ir kādi jautājumi vai citas domas, ko dalīties, izmantojiet zemāk esošo komentāru veidlapu.