Les serveurs dans la zone 4 ne peuvent accéder aux dépôts Linux sur Venezia.
Comme solution de contournement on peut utiliser le serveur NGINX sur l'hyperviseur (serveur de rebond) pour mettre à disposition des dépôts accessibles par les serveurs.
L'ancien hyperviseur dispose d'une interface en zone3 xx.xxx.xxx.xx et d'une interface en zone 4 zzz.zzz.zz.zz. On peut donc télécharger du contenu sur la zone 3 et le mettre à disposition dans la zone 4
La première étape consiste à créer et alimenter le dépôt local.
Créer l'arbre des répertoires du dépôt local à télécharger sous /var/www/html/repo/pub/Centos
, par exemple :
└── socle-linux ├── socle2016_0.14 │ ├── addons │ │ └── addons-socle-2016-0.14-x86_64-20230704 │ └── errata │ └── errata-socle-2016-0.14-x86_64-20230828 └── socle2016_7.09 ├── addons ├── errata ├── README.txt ├── soclelinux-2016-7.09.iso
Par exemple pour ISAC V2 on a besoin de télécharger l'image iso du socle soclelinux-2016-7.09.iso les repo errata-socle-2016-0.14-x8664-20230828 et addons-socle-2016-0.14-x8664-20230704 du socle 2016_0.14
mkdir -pv /var/www/html/repo/pub/Centos/socle-linux/soclelinux-2016-7.09 mkdir -pv /var/www/html/repo/pub/Centos/socle-linux/socle20160.14/{errata/errata-socle-2016-0.14-x8664-20230828,addons/addons-socle-2016-0.14-x86_64-20230704}
Télécharger l'image iso du socle
wget https://venezia.appli.dgfip/anonscm/ftp/socle-linux/socle2016_7.09/soclelinux-2016-7.09.iso -P /var/www/html/repo/pub/Centos/socle-linux/soclelinux-2016-7.09
Télécharger les dépôts addons et errata dans le répertoire local avec reposync
reposync -l -m --repoid=addons --download-metadata --download_path=/var/www/html/repo/pub/Centos/socle-linux/socle2016_0.14/addons reposync -l -m --repoid=errata --download-metadata --download_path=/var/www/html/repo/pub/Centos/socle-linux/socle2016_0.14/errata
La synchronisation télécharge les paquets des dépôts dans un tree dont la structure est altérée par les itérations du dossier racine, pour corriger cela il faut déplacer les paquets téléchargés dans les dossiers addons/addons/| n itération du répertoire addons-socle-2016-0.14-x8664-20230704] dans le dossier addons-socle-2016-0.14-x8664-20230704 et ceux téléchargés dans les dossiers errata/errata/| n itération du répertoire errata-socle-2016-0.14-x8664-20230828] dans le dossier errata/errata-socle-2016-0.14-x8664-20230828
find /var/www/html/repo/pub/Centos/socle-linux/socle2016_0.14/addons/addons -type f -print0 | xargs -0 mv -t /var/www/html/repo/pub/Centos/socle-linux/socle2016_0.14/addons/addons-socle-2016-0.14-x86_64-20230704/ find /var/www/html/repo/pub/Centos/socle-linux/socle2016_0.14/errata/errata/ -type f -print0 | xargs -0 mv -t /var/www/html/repo/pub/Centos/socle-linux/socle2016_0.14/errata/errata-socle-2016-0.14-x86_64-20230828
createrepo /var/www/html/repo/pub/Centos/socle-linux/socle2016_0.14/addons/addons-socle-2016-0.14-x86_64-20230704/ Spawning worker 0 with 2070 pkgs Workers Finished Gathering worker results Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete
createrepo /var/www/html/repo/pub/Centos/socle-linux/socle2016_0.14/errata/errata-socle-2016-0.14-x86_64-20230828 Spawning worker 0 with 8247 pkgs Workers Finished Gathering worker results Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete
NGINX est configuré dans /etc/nginx/conf.d/localrepos.conf
pour servir les fichiers dans le répertoire /var/www/html/repo/pub/
server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /var/www/html/repo/pub/; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { allow all; sendfile on; sendfile_max_chunk 1m; autoindex on; autoindex_exact_size off; autoindex_format html; autoindex_localtime on; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
Pour utiliser le dépôt local il suffit d'ajouter dans /etc/yum.repos.d/CentOS-Base.repo
quelquechose comme cela:
[addons] name=CentOS-2016_0.14 - addons baseurl= http://172.20.33.18/Centos/socle-linux/socle2016_0.14/addons/addons-socle-2016-0.14-x86_64-20230704 gpgcheck=0 sslverify=0 enabled=1 [errata] name=CentOS-2016_0.14 - errata baseurl= http://172.20.33.18/Centos/socle-linux/socle2016_0.14//errata/errata-socle-2016-0.14-x86_64-20230828 gpgcheck=0 sslverify=0 enabled=1