Weboldal keresés

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.