Pokud provozujete víc linuxových systémů (my se budeme věnovat distribuci CentOS 8 Stream), může se vám hodit mít zrcadlo lokálních repozitářů. Implementace je relativně snadná.
Nejprve vytvoříme samotné zrcadlo.
mkdir /local mkdir /local/repos mkdir /local/repos/centos
Vytvořte dávku, která bude provádět synchronizaci lokálního repozitáře z internetu. U nás je to /usr/local/bin/centos8-stream_reposync.sh
#!/bin/bash repos_base_dir="/local/repos/centos/8/" LOGFILE=/var/log/centos8-stream_reposync.log # Start sync if base repo directory exist if [[ -d "$repos_base_dir" ]] ; then # Start Sync rsync -avSHP --delete rsync://mirror.liquidtelecom.com/centos/8-stream/ "$repos_base_dir" >> $LOGFILE 2>&1 # Download CentOS 8 repository key wget -P $repos_base_dir wget https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official fi
Ideálně vytvořte symlink této dávky do adresáře /etc/cron.daily, abyste zajistili každodenní aktualizaci repozitáře. Nyní vytvořte v rámci Apache http serveru virtuálního hosta (předpokládáme tedy instalovaný Apache http server v defaultní konfiguraci).
<VirtualHost repos.exterra.local:80> ServerName repos.exterra.local DocumentRoot /local/repos ErrorLog /var/log/httpd/repos.exterra.local_80_error_log TransferLog /var/log/httpd/repos.exterra.local_80_access_log <Directory "/local/repos"> Options All Indexes FollowSymLinks AllowOverride None Require all granted </Directory> </VirtualHost>
Nyní nakonfigurujte stranu klientských systémů, které budou repozitář používat. Nejprve odstraňte z adresáře /etc/yum.repos.d soubory:
-rw-r--r--. 1 root root 713 Mar 28 16:56 CentOS-Stream-AppStream.repo -rw-r--r--. 1 root root 698 Mar 28 16:56 CentOS-Stream-BaseOS.repo -rw-r--r--. 1 root root 316 Mar 28 16:56 CentOS-Stream-Debuginfo.repo -rw-r--r--. 1 root root 744 Mar 28 16:56 CentOS-Stream-Extras-common.repo -rw-r--r--. 1 root root 700 Mar 28 16:56 CentOS-Stream-Extras.repo -rw-r--r--. 1 root root 734 Mar 28 16:56 CentOS-Stream-HighAvailability.repo -rw-r--r--. 1 root root 696 Mar 28 16:56 CentOS-Stream-Media.repo -rw-r--r--. 1 root root 683 Mar 28 16:56 CentOS-Stream-NFV.repo -rw-r--r--. 1 root root 718 Mar 28 16:56 CentOS-Stream-PowerTools.repo -rw-r--r--. 1 root root 690 Mar 28 16:56 CentOS-Stream-RealTime.repo -rw-r--r--. 1 root root 748 Mar 28 16:56 CentOS-Stream-ResilientStorage.repo -rw-r--r--. 1 root root 1771 Mar 28 16:56 CentOS-Stream-Sources.repo
Nyní vytvořte soubor local.repo s obsahem:
[BaseOS] name=CentOS-$releasever - Base baseurl=http://repos.exterra.local/centos/$releasever/BaseOS/$basearch/os/ gpgcheck=1 enabled=1 gpgkey=http://repos.exterra.local/centos/$releasever/RPM-GPG-KEY-CentOS-Official [AppStream] name=CentOS-$releasever - AppStream baseurl=http://repos.exterra.local/centos/$releasever/AppStream/$basearch/os/ gpgcheck=1 enabled=1 gpgkey=http://repos.exterra.local/centos/$releasever/RPM-GPG-KEY-CentOS-Official [centosplus] name=CentOS-$releasever - Plus baseurl=http://repos.exterra.local/centos/$releasever/centosplus/$basearch/os/ gpgcheck=1 enabled=0 gpgkey=http://repos.exterra.local/centos/$releasever/RPM-GPG-KEY-CentOS-Official [extras] name=CentOS-$releasever - Extras baseurl=http://repos.exterra.local/centos/$releasever/extras/$basearch/os/ gpgcheck=1 enabled=1 gpgkey=http://repos.exterra.local/centos/$releasever/RPM-GPG-KEY-CentOS-Official [PowerTools] name=CentOS-$releasever - PowerTools baseurl=http://repos.exterra.local/centos/$releasever/PowerTools/$basearch/os/ gpgcheck=1 enabled=0 gpgkey=http://repos.exterra.local/centos/$releasever/RPM-GPG-KEY-CentOS-Official [cr] name=CentOS-$releasever - cr baseurl=http://repos.exterra.local/centos/$releasever/cr/$basearch/os/ gpgcheck=1 enabled=0 gpgkey=http://repos.exterra.local/centos/$releasever/RPM-GPG-KEY-CentOS-Official [fasttrack] name=CentOS-$releasever - fasttrack baseurl=http://repos.exterra.local/centos/$releasever/fasttrack/$basearch/os/ gpgcheck=1 enabled=0 gpgkey=http://repos.exterra.local/centos/$releasever/RPM-GPG-KEY-CentOS-Official
Nyní otestujte funkčnost příkazy:
dnf clean all 18 files removed dnf makecache CentOS-8 - Base 38 B/s | 3.9 kB 01:45 CentOS-8 - AppStream 346 kB/s | 4.4 kB 00:00 CentOS-8 - Extras 1.9 kB/s | 18 kB 00:09 Metadata cache created.
Nyní bude utilita dnf používat lokální repozitář z vaší LAN. Výhodou je kromě rychlosti stahování a úspory přenosového pásma vašeho připojení k internetu i kontrola nad obsahem.
K prostudování doporučuji ještě dokumentaci Red Hatu k vytvoření lokálního repozitáře z ISO médií.
Pro úplnost si ukažme ještě použití lokálního repozitáře v LAN při samotné instalaci CentOS 8 Stream systému. Nejprve je nutno zkonfigurovat síť a poté zvolit zdorj instalace.
Zde zadejte URL dříve zkonfigurovaného webserveru s cestou k repozitáři.
Pokud vám instalátor odmítá přijmout zadné URL, vyzkoušejte ho v prohlížeči podle tohoto vzorového příkladu.