Fedora : Fixer un dépôt spécifique pour DNF
Table des matières
Par défaut, dans Fedora, lors de la recherche de mises à jour ou installation de logiciels, le système va prendre un miroir dans une liste prédéfinie.
Vous pouvez, en modifiant DNF, rechercher automatiquement le miroir le plus rapide.
Cependant, le système va rescanner cette liste régulièrement.
Nous allons voir ici comment fixer un miroir spécifique dans notre configuration.
Attention, si le miroir n'est pas disponible au moment où vous installez des paquets, vous serez bloqué (bon, ça c'est le cas quelque soit le miroir et le système)
Cependant, cela peut être utile pour fixer un miroir local si vous en avez un dans votre entreprise (ou votre réseau).
Il est possible d'aller vérifier la liste des miroirs disponibles directement sur le site de Fedora à l'adresse suivante : https://admin.fedoraproject.org/mirrormanager/
Pour chacun d'entre eux, vous avez sa localisation (code du pays comme FR, DE, ...) , son protocole (HTTP, HTTPS, FTP, RSYNC), et sa vitesse en MBps (10000 signifie 10GBps)
On va prendre dans cet exemple : mirror.in2p3.fr un miroir Français (FR) de 20GBps (20000) disponible en HTTPS.
Le lien HTTPS renvoie vers https://mirror.in2p3.fr/pub/fedora/linux/
On remarque l'arborescence classique chez Fedora (releases, updates), puis la version, puis Everything, puis l'architecture, puis Packages.
Les miroirs sont identifiés dans les fichiers .repo dans /etc/yum.repos.d :
Pour fedora.repo, voici la structure de la déclaration d'un dépôt :
Le but sera de :
- Commenter la ligne metalink
- Décommenter #baseurl
- Indiquer un bon miroir
Pour cela, on va exécuter 3 commandes sed :
La première pour commenter metalink :
La deuxième pour décommenter le baseurl :
La troisième pour remplacer http://download.example/pub par https://mirror.in2p3.fr/pub (dans ce cas j'utilise l'arobase comme séparateur à la place de la barre oblique)
Et maintenant, c'est réglé, on est fixé sur le miroir précédemment défini.
On vide le cache dnf :
Et on peut vérifier en faisant un check des mises à jour, que les dépôts se synchronisent bien :
Si besoin, pour revenir à l'étape d'avant, il suffit juste de :
- Commenter la ligne baseurl
- Décommenter #metalink
Pour cela, on va exécuter 2 commandes sed :
La première pour commenter baseurl :
La deuxième pour décommenter le metalink :
Et voilà
Introduction
Par défaut, dans Fedora, lors de la recherche de mises à jour ou installation de logiciels, le système va prendre un miroir dans une liste prédéfinie.
Vous pouvez, en modifiant DNF, rechercher automatiquement le miroir le plus rapide.
Cependant, le système va rescanner cette liste régulièrement.
Nous allons voir ici comment fixer un miroir spécifique dans notre configuration.
Attention, si le miroir n'est pas disponible au moment où vous installez des paquets, vous serez bloqué (bon, ça c'est le cas quelque soit le miroir et le système)
Cependant, cela peut être utile pour fixer un miroir local si vous en avez un dans votre entreprise (ou votre réseau).
Lister les miroirs disponibles
Il est possible d'aller vérifier la liste des miroirs disponibles directement sur le site de Fedora à l'adresse suivante : https://admin.fedoraproject.org/mirrormanager/
Pour chacun d'entre eux, vous avez sa localisation (code du pays comme FR, DE, ...) , son protocole (HTTP, HTTPS, FTP, RSYNC), et sa vitesse en MBps (10000 signifie 10GBps)
On va prendre dans cet exemple : mirror.in2p3.fr un miroir Français (FR) de 20GBps (20000) disponible en HTTPS.
Le lien HTTPS renvoie vers https://mirror.in2p3.fr/pub/fedora/linux/
On remarque l'arborescence classique chez Fedora (releases, updates), puis la version, puis Everything, puis l'architecture, puis Packages.
Modifier les miroirs
Les miroirs sont identifiés dans les fichiers .repo dans /etc/yum.repos.d :
Code BASH :
fedora-cisco-openh264.repo fedora-modular.repo fedora.repo fedora-updates-modular.repo fedora-updates.repo fedora-updates-testing-modular.repo fedora-updates-testing.repo
Pour fedora.repo, voici la structure de la déclaration d'un dépôt :
Code BASH :
[fedora] name=Fedora $releasever - $basearch #baseurl=http://download.example/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/ metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch enabled=1 countme=1 metadata_expire=7d repo_gpgcheck=0 type=rpm gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch skip_if_unavailable=False
Le but sera de :
- Commenter la ligne metalink
- Décommenter #baseurl
- Indiquer un bon miroir
Pour cela, on va exécuter 3 commandes sed :
La première pour commenter metalink :
Code BASH :
sed -e 's/^metalink/#metalink/g' -i /etc/yum.repos.d/fedora{,-modular*,-updates*}.repo
La deuxième pour décommenter le baseurl :
Code BASH :
sed -e 's/^#baseurl/baseurl/g' -i /etc/yum.repos.d/fedora{,-modular*,-updates*}.repo
La troisième pour remplacer http://download.example/pub par https://mirror.in2p3.fr/pub (dans ce cas j'utilise l'arobase comme séparateur à la place de la barre oblique)
Code BASH :
sed -e 's@http://download.example/pub@https://mirror.in2p3.fr/pub@g' -i /etc/yum.repos.d/fedora{,-modular*,-updates*}.repo
Et maintenant, c'est réglé, on est fixé sur le miroir précédemment défini.
On vide le cache dnf :
Code BASH :
dnf clean all
Et on peut vérifier en faisant un check des mises à jour, que les dépôts se synchronisent bien :
Code BASH :
dnf check-update
Revenir à la sélection automatique
Si besoin, pour revenir à l'étape d'avant, il suffit juste de :
- Commenter la ligne baseurl
- Décommenter #metalink
Pour cela, on va exécuter 2 commandes sed :
La première pour commenter baseurl :
Code BASH :
sed -e 's/^baseurl/#baseurl/g' -i /etc/yum.repos.d/fedora{,-modular*,-updates*}.repo
La deuxième pour décommenter le metalink :
Code BASH :
sed -e 's/^#metalink/metalink/g' -i /etc/yum.repos.d/fedora{,-modular*,-updates*}.repo
Et voilà