#Création d'un dépôt local Yum en zone 4 {{METATOC 4-5}} 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 ####Création du dépôt 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-x86_64-20230828 et addons-socle-2016-0.14-x86_64-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/socle2016_0.14/{errata/errata-socle-2016-0.14-x86_64-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-x86_64-20230704] dans le dossier addons-socle-2016-0.14-x86_64-20230704 et ceux téléchargés dans les dossiers errata/errata/| n itération du répertoire errata-socle-2016-0.14-x86_64-20230828]   dans le dossier errata/errata-socle-2016-0.14-x86_64-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 ####Créer les dépôts locaux avec la commande createrepo 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 ####Configuration de NGINX 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 {         }     } ####Utilisation du dépot local 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