Existuje mnoho důvodů, proč byste mohli chtít místní úložiště Red Hat Enterprise Linux. Šířka pásma je hlavním faktorem, protože stahování aktualizací z internetu může být náročné na čas a šířku pásma. Dalším důvodem může být, že vaše servery nejsou připojeny k internetu, a proto potřebují získat aktualizace z místního zdroje. Možná máte vývojové prostředí, za které byste raději neutráceli peníze za licence, ale přesto ho potřebujete aktualizovat. Ať už je váš důvod jakýkoli, tento tutoriál vás provede procesem nastavení místního úložiště.
Poznámka:Server, který slouží jako vaše úložiště, by měl sloužit pouze jako úložiště.
Instalovat balíčky potřebné pro úložiště
yum install yum-utils createrepo httpd
Vytvořte adresáře pro svá úložiště
mkdir /var/www/html/rhel6
mkdir /var/www/html/rhel6/server
mkdir /var/www/html/rhel6/dts
mkdir /var/www/html/rhel6/dts2
mkdir /var/www/html/rhel6/rhsc
Užitečné příkazy
Seznam repozitářů na vašem serveru, povolených i zakázaných.
yum repolist all
Uveďte repozitáře dostupné v rámci vašeho předplatného
subscription-manager repos --list
Povolení úložiště ve vašem systému
subscription-manager repos --enable=rhel-6-server-optional-rpms
Zakažte repo ve vašem systému
subscription-manager repos --disble=rhel-6-server-optional-rpms
Chceme mít v úložišti povolena úložiště server, dts a rhsc (sbírky softwaru)
Synchronizovat úložiště
Jakmile budou všechna tato úložiště povolena, proveďte pro všechny následující příkaz a změňte cestu ke stažení pro každou tak, aby odpovídala cestě ke stažení pro dané úložiště.
reposync --gpgcheck -l --repoid=repoid --download_path=/var/www/html/rhel6/repo_name --downloadcomps --download-metadata
Poznámka:Repo serveru bude trvat nejdéle. Jako celou noc. Ostatní by měly být mnohem kratší.
Příkaz Createrepo
Jakmile jsou balíčky staženy, vše, co potřebujete, je příkaz createrepo níže pro každé repo
createrepo -v /var/www/html/rhel6/repo_name/ -g comps.xml
Poznámka:-g comps.xml je potřeba pouze pro repo serveru.
Nastavení klientských serverů
Nyní máte místní úložiště, ale musíte provést nějaké změny na svých serverech Red Hat, které budou tato úložiště používat pro aktualizace.
Nejprve se ujistěte, že všechna ostatní úložiště mají v souboru úložiště v /etc/yum.repos.d příznak enabled nastaven na 0 (nula). Prozatím bych repozitáře nemazal, protože je možná budete potřebovat později. Stačí změnit povolený příznak.
Nyní musíte vytvořit soubor .repo, který bude přidán do adresáře /etc/yum.repos.d na každém serveru využívajícím repozitáře. Tento soubor by měl vypadat podobně jako následující soubor.
vi /etc/yum.repos.d/name_of_repo_file.repo
[server] name = rhel-6-server-rpms baseurl = http://hostname_or_ip_address_of_repository/rhel6/server gpgcheck = 0 enabled = 1 [dts] name = rhel-server-dts-6-rpms baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts gpgcheck = 0 enabled = 1 [dts2] name = rhel-server-dts2-6-rpms baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2 gpgcheck = 0 enabled = 1 [rhsc] name = rhel-server-dts2-6-rpms baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2 gpgcheck = 0 enabled = 1
Vytvoření skriptu a úlohy Cron pro aktualizaci vašich úložišť
Vytvořte skript s názvem update-repository.sh a vložte jej do /usr/local/bin s následujícím obsahem:
vi /usr/local/bin/update-repository.sh
echo Update script started at $(date) >> /var/log/update-repository.log reposync --gpgcheck -l --repoid=rhel-6-server-rpms --download_path=/var/www/html/rhel6/server --downloadcomps --download-metadata createrepo --update /var/www/html/rhel6/server/ reposync --gpgcheck -l --repoid=rhel-server-dts-6-rpms --download_path=/var/www/html/rhel6/dts --downloadcomps --download-metadata createrepo --update /var/www/html/rhel6/dts/ \\ reposync --gpgcheck -l --repoid=rhel-server-dts2-6-rpms --download_path=/var/www/html/rhel6/dts2 --downloadcomps --download-metadata createrepo --update /var/www/html/rhel6/dts2/ echo Update script ended at $(date) >> /var/log/update-repository.log
chmod 600 /usr/local/bin/update-repository.sh
Všimněte si, že jsem to vložil do protokolu, který jsem nastavil tak, aby se střídal každý měsíc.
Vytvořte soubor v /etc/cron.d a pojmenujte jej update-repository s následujícím obsahem.
vi /etc/cron.d/update-repository
@weekly root /usr/local/bin/update-repository.sh
Závěrečné myšlenky
Existuje mnoho různých způsobů, jak provést nastavení místního úložiště, a já jsem rozhodně nevynalezl kolo na tomto. Další informace a přehled o vašem nastavení naleznete v mých zdrojích níže.
Zdroje
- https://access.redhat.com/solutions/23016
- http://www.oracle.com/technetwork/articles/servers-storage-admin/yum-repo-setup-1659167.html
- https://www.howtoforge.com/creating_a_local_yum_repository_centos