A helyi HTTP Yum Repository beállítása a CentOS 7 rendszeren
A szoftvertár (röviden: „repo ”) egy központi fájltároló hely a szoftvercsomagok tárolására és karbantartására, ahonnan a felhasználók letölthetik a csomagokat, és telepíthetik azokat számítógépükre.
A tárhelyeket gyakran egy hálózaton, például egy interneten lévő szervereken tárolják, amelyekhez több felhasználó is hozzáférhet. Azonban létrehozhat és konfigurálhat egy helyi adattárat a számítógépén, és egyetlen felhasználóként hozzáférhet hozzá, vagy engedélyezheti a hozzáférést a LAN (Helyi hálózat) más gépeihez.
A helyi adattár beállításának egyik előnye, hogy nincs szükség internetkapcsolatra a szoftvercsomagok telepítéséhez.
A YUM (Yellowdog Updater Modified) egy Linux rendszereken alapuló, széles körben használt RPM (RedHat Package Manager) csomagkezelő eszköz, amely megkönnyíti a szoftver telepítését a Red Hat rendszeren. /CentOS Linux.
Ebben a cikkben elmagyarázzuk, hogyan állíthat be egy helyi YUM adattárat HTTP (Nginx) webszerveren keresztül CentOS 7 VPS-en és azt is megmutatja, hogyan találhat és telepíthet szoftvercsomagokat a CentOS 7 kliensgépekre.
Tesztelési környezetünk
Yum HTTP Repository Server: CentOS 7 [192.168.0.100]
Client Machine: CentOS 7 [192.168.0.101]
1. lépés: Telepítse az Nginx webszervert
1. Először is telepítse az Nginx HTTP-kiszolgálót az EPEL-lerakatból a YUM csomagkezelő használatával az alábbiak szerint.
yum install epel-release
yum install nginx
2. Miután telepítette az Nginx webszervert, először elindíthatja, és engedélyezheti az automatikus elindulást a rendszerindításkor.
systemctl start nginx
systemctl enable nginx
systemctl status nginx
3. Ezután meg kell nyitnia a 80 és 443 portot, hogy engedélyezze a webes forgalmat az Nginx szolgáltatás felé, és frissítse a rendszer tűzfalszabályait a bejövő csomagok engedélyezéséhez. HTTP és HTTPS rendszeren az alábbi parancsok segítségével.
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload
4. Most a következő URL használatával ellenőrizheti, hogy az Nginx-kiszolgáló működik-e; ha látja az alapértelmezett Nginx weboldalt, minden rendben van.
http://SERVER_DOMAIN_NAME_OR_IP
2. lépés: Hozzon létre egy Yum helyi adattárat
5. Ebben a lépésben telepítenie kell a szükséges csomagokat a helyi tároló létrehozásához, konfigurálásához és kezeléséhez.
yum install createrepo yum-utils
6. Ezután hozza létre a szükséges könyvtárakat (yum-tárolókat), amelyek a csomagokat és a kapcsolódó információkat tárolják.
mkdir -p /var/www/html/repos/{base,centosplus,extras,updates}
7. Ezután az újraszinkronizálás eszközzel szinkronizálja a CentOS YUM adattárakat a helyi könyvtárakkal, az ábra szerint.
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/
Minta kimenet
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 fenti parancsokban a következő lehetőség:
-g
– lehetővé teszi azon csomagok eltávolítását, amelyek a letöltés után sikertelenek a GPG-aláírás ellenőrzésében.-l
– lehetővé teszi a yum bővítmény támogatását.-d
– lehetővé teszi a tárolóban már nem található helyi csomagok törlését.-m
– lehetővé teszi a comps.xml fájlok letöltését.--repoid
– a lerakatazonosítót adja meg.---only-newest-only
– mondja meg a reposync-nek, hogy csak a tárolókban lévő csomagok legfrissebb verzióját vonja be.--download-metadata
– lehetővé teszi az összes nem alapértelmezett metaadat letöltését.--letöltési_útvonal
– a csomagok letöltési útvonalát adja meg.
8. Ezután ellenőrizze a helyi könyvtárak tartalmát, hogy megbizonyosodjon arról, hogy az összes csomag helyileg szinkronizálásra került.
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. Most hozzon létre egy új repodatát a helyi tárolókhoz a következő parancsok futtatásával, ahol a -g
jelzővel frissíti a csomagcsoport adatait a megadott használatával. .xml
fájlt.
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. A tárolók és a bennük lévő csomagok webböngészőn keresztüli megtekintésének engedélyezéséhez hozzon létre egy Nginx szerverblokkot, amely a lerakatának gyökerére mutat az ábrán látható módon.
vim /etc/nginx/conf.d/repos.conf
Adja hozzá a következő konfigurációs fájlt: 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
}
}
Mentse el a fájlt és zárja be.
11. Ezután indítsa újra az Nginx szervert, és tekintse meg a lerakatokat egy webböngészőből a következő URL használatával.
http://repos.test.lab
3. lépés: Hozzon létre egy Cron-feladatot a szinkronizáláshoz és a tárhelyek létrehozásához
12. Ezután adjon hozzá egy cron-feladatot, amely automatikusan szinkronizálja a helyi tárhelyeket a hivatalos CentOS-tárházakkal, hogy megkapja a frissítéseket és a biztonsági javításokat.
vim /etc/cron.daily/update-localrepos
Adja hozzá ezeket a parancsokat a szkripthez.
#!/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
Mentse el a szkriptet, zárja be, és állítsa be a megfelelő engedélyeket.
chmod 755 /etc/cron.daily/update-localrepos
4. lépés: Helyi Yum Repository beállítása az ügyfélgépeken
13. Most a CentOS kliensgépeken adja hozzá a helyi repóit a YUM konfigurációhoz.
vim /etc/yum.repos.d/local-repos.repo
Másolja ki és illessze be az alábbi konfigurációt a local-repos.repo fájlba (ha szükséges, végezze el a módosításokat).
[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
Mentse el a fájlt, és kezdje el használni a helyi YUM tükröket.
14. Ezután futtassa a következő parancsot, hogy megtekinthesse a helyi tárhelyeket az elérhető YUM-tárhelyek listájában az ügyfélgépeken.
yum repolist
OR
yum repolist all
Ez minden! Ebben a cikkben elmagyaráztuk, hogyan állíthat be helyi YUM-tárat a CentOS 7 rendszeren. Reméljük, hogy hasznosnak találta ezt az útmutatót. Ha bármilyen kérdése van, vagy bármilyen más gondolata van, használja az alábbi megjegyzés űrlapot.