[apt] Dépôts Debian

Tags: #<Tag:0x00007f74f5f56d30>

A toutes fins utiles, quelques remarques sur de potentiels problèmes accès apt:
En cas de problème apt, quelques tests préliminaires qui balaient quelques doutes:

➤ la connexion internet est-elle bien active ? (on ne sait jamais…)
ping -c2 8.8.8.8

➤ les dépôts apt sont-ils bien accessibles, y inclus ceux au format DEB822) ?

while read H ;do echo '@~~~';ping -c2 -W5 ${H##*/} |tail -n3
done < <(grep -ohs '^[^#/]*//[^/]*' /etc/apt/s*{t,/*{t,s}} |uniq)

――――――――――――――――――――――――――

➤ Remarques sur ’deb.debian.org' souvent utilisé par défaut

Conserver ‹ deb.debian.org › dans un sources.list, c’est à chaque opération ‹ apt › aller aux US vérifier qu’on est bien en France pour être redirigé sur ftp.fr.debian.org qui pointera sur le meilleur site FR de dépôt Debian (une dizaine / debian.proxad.net actuellement).
Certes, initialiser apt systématiquement par les US ne représentera éventuellement que quelques secondes cumulées sur une journée, même avec le sponsor ‹ Fastly › (…), mais quand on est bien sûr d’être en France, je n’y vois personnellement aucun intérêt.

deb.debian.org [us]
   ⤷ ftp.fr.debian.org (pointage maintenu sur meilleur site fr)
        ⤷ debian.proxad.net (Free / fr)

Sur chaque page de téléchargement de paquet, Debian rappelle bien ceci:

Vous devriez pouvoir utiliser n’importe lequel des miroirs de la liste
en ajoutant une ligne au fichier /etc/apt/sources.list comme ceci :

deb http://ftp.de.debian.org/debian bullseye main 

En remplaçant ftp.de.debian.org/debian par le miroir en question, soit ftp.fr.debian.org/debian pour la France.

――――――――――――――――――――――――――

➤ Comment visualiser/surveiller les différences de temps d’accès de différents dépôts:

bullseye → netselect-apt
sudo netselect-apt -c france -t 5

bookworm/sid → nala ( gestionnaire apt sympa )
sudo nala fetch -c FR --fetches 5

Ou un petit script perso: apt_perf

#!/bin/bash
# apt_perf : mesure performance dépôts apt Debian fr »20230315«
>${X:=/tmp/_}
for H in deb.debian.org ftp.fr.debian.org debian.proxad.net    \
 debian.mirror.ate.info  deb-mir1.naitways.net debian.obspm.fr \
 apt.tetaneutral.net debian.univ-tlse2.fr cdn-aws.deb.debian.org; do
 printf "\r\e[4;33mSites Debian apt\e[0;32m [$((++i))/9]\e[m"
 T="$((time curl -s http://$H/debian/dists/stable/Release >/dev/null) 2>&1)"
 echo "$(sed -n '/^r/s~.*m~~p' <<<$T) $H" >>$X
done
echo; sort $X |awk '{printf "%2d %-24s%s\n",FNR,$2,$1}'
exit

Exemple de sortie:

Sites Debian apt [9/9]
 1 debian.mirror.ate.info  0,064s
 2 cdn-aws.deb.debian.org  0,080s
 3 deb-mir1.naitways.net   0,082s
 4 debian.proxad.net       0,085s
 5 ftp.fr.debian.org       0,093s
 6 debian.obspm.fr         0,097s
 7 deb.debian.org          0,114s
 8 apt.tetaneutral.net     0,135s
 9 debian.univ-tlse2.fr    0,154s

――――――――――――――――――――――――――
➤ Exemple de fichiers sources apt, optimisés France,:

:star: Debian 11 / Bullseye : /etc/apt/sources.list

#### APT France ####
##――― security ―――##
deb https://security.debian.org/debian-security bullseye-security main contrib non-free

##――― Repo 1 ―――## 
## 202303: redirection vers debian.proxad.net (Free) ##
deb http://ftp.fr.debian.org/debian/ bullseye main non-free contrib
deb http://ftp.fr.debian.org/debian/ bullseye-updates main contrib non-free

##――― Repo 2 / dépannage ―――##
# deb http://cdn-aws.deb.debian.org/debian/ bullseye main non-free contrib
# deb http://cdn-aws.deb.debian.org/debian/ bullseye-updates main contrib non-free

##――― Repo 3 / dépannage ―――##
# deb http://deb.debian.org/debian/ bullseye main non-free contrib
# deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
##――――――――――――――――――――――――――――

:star: Debian 12 - Bookworm / au format DEB822

/etc/apt/sources.list.d/bookworm.sources

Types: deb
URIs: http://ftp.fr.debian.org/debian/
Suites: bookworm
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

/etc/apt/sources.list.d/bookworm-security.sources

Types: deb
URIs: https://security.debian.org/debian-security
Suites: bookworm-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
3 J'aime

Annule et remplace le message précédent qui n’est plus éditable, mais qui demande une mise à jour.


A toutes fins utiles, quelques remarques sur de potentiels problèmes accès apt:
En cas de problème apt, quelques tests préliminaires qui balaient quelques doutes:

➤ la connexion internet est-elle bien active ? ( on ne sait jamais …)
ping -c2 8.8.8.8

➤ les dépôts apt sont-ils bien accessibles, y inclus ceux au format DEB822 ) ?

for H in $(awk -F '[/]+' '/^[dU].*http/{print $2}' \
`find /etc/apt/s*{t,/*{t,s}} -type f 2>/dev/null` |sort -u)
do echo -e "\n• $H";ping -c2 -W5 $H |tail -n3; done

――――――――――――――――――――――――――

➤ Remarques sur ’ deb.debian.org' souvent utilisé par défaut

Conserver ‹ deb.debian.org › dans un sources.list, c’est à chaque opération ‹ apt › aller aux US vérifier qu’on est bien en France pour être redirigé sur ftp.fr.debian.org qui pointera sur le meilleur site FR de dépôt Debian (une dizaine / debian.proxad.net actuellement).
Certes, initialiser apt systématiquement par les US ne représentera éventuellement que quelques secondes cumulées sur une journée, même avec le sponsor ‹ Fastly › (…), mais quand on est bien sûr d’être en France, je n’y vois personnellement aucun intérêt.

deb.debian.org [us]
   ⤷ ftp.fr.debian.org (pointage maintenu sur meilleur site fr)
        ⤷ debian.proxad.net (Free / fr)

Sur chaque page de téléchargement de paquet , Debian rappelle bien ceci:

Vous devriez pouvoir utiliser n’importe lequel des miroirs de la liste
en ajoutant une ligne au fichier /etc/apt/sources.list comme ceci :

deb http://ftp.de.debian.org/debian bookworm main 

En remplaçant ftp.de.debian.org/debian par le miroir en question, soit ftp.fr.debian.org/debian pour la France.

――――――――――――――――――――――――――

➤ Comment visualiser/surveiller les différences de temps d’accès de différents dépôts:

netselect-apt
sudo netselect-apt -c france -t 5

nala ( gestionnaire apt sympa )
sudo nala fetch -c FR --fetches 5

Ou un petit script perso: apt_perf

#!/bin/bash
# apt_perf : mesure performance dépôts apt Debian fr »20250524«
:>${X:=/tmp/_} ; i=0
for H in deb.debian.org ftp.fr.debian.org debian.proxad.net deb-mir1.naitways.net\
 debian.obspm.fr apt.tetaneutral.net debian.univ-tlse2.fr cdn-aws.deb.debian.org \
 mirror.gitoyen.net deb.syxpi.fr mirrors.ircam.fr ftp.lip6.fr ; do
 printf "\r\e[4;33mSites Debian apt\e[0;32m [$((++i))/12]\e[m"
 T="$((time curl -s --connect-timeout 10 \
 	   http://$H/debian/dists/stable/Release >/dev/null) 2>&1)"
 echo "$(sed -n '/^r/s~.*m~~p' <<<$T) $H" >>$X
done; echo
sort $X |awk '{printf "%2d %-24s%s\n",NR,$2,$1}'

exit

Exemple de sortie:

Sites Debian apt [12/12]
 1 mirrors.ircam.fr        0,072s
 2 ftp.lip6.fr             0,073s
 3 ftp.fr.debian.org       0,125s
 4 deb-mir1.naitways.net   0,127s
 5 debian.proxad.net       0,130s
 6 debian.obspm.fr         0,141s
 7 mirror.gitoyen.net      0,149s
 8 cdn-aws.deb.debian.org  0,151s
 9 deb.syxpi.fr            0,151s
10 apt.tetaneutral.net     0,164s
11 deb.debian.org          0,171s
12 debian.univ-tlse2.fr    0,172s

――――――――――――――――――――――――――
➤ Exemple de fichiers sources apt:

:star: Debian 12 - Bookworm / au format DEB822

/etc/apt/sources.list.d/ bookworm.sources

Enabled: yes
Types: deb
URIs: http://ftp.fr.debian.org/debian/
Suites: bookworm bookworm-backports
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

/etc/apt/sources.list.d/ bookworm-security.sources

Enabled: yes
Types: deb
URIs: https://security.debian.org/debian-security
Suites: bookworm-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
1 J'aime

Information utile, je m’y mets de ce pas.

Corrigez-moi si je me trompe.
Pour remplacer ceci (qui n’est pas conforme à ce que tu écris concernant security :frowning_face:) :

deb Index of /debian bookworm main contrib non-free non-free-firmware
deb https://security.debian.org bookworm-security main contrib non-free non-free-firmware
deb Index of /debian bookworm-updates main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-backports main contrib non-free

il faut écrire cela :

deb http://ftp.fr.debian.org/debian bookworm main contrib non-free non-free-firmware
deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb http://ftp.fr.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb http://ftp.fr.debian.org/debian bookworm-backports main contrib non-free

Tu n’as pas besoin de convertir ton sources.list déjà existant pour bookworm.
Au moment où ce sujet a été ouvert, la probabilité était forte que le format deb622 soit adopté pour bookworm, mais finalement repoussé pour plus tard. J’avais un peu trop anticipé.
Le sujet concerne plus l’analyse de performance des sites de dépôts Debian, que de l’aide personalisée à la conversion de fichier source.

Pour rajouter ‹ bookworm-updates › à partir du modèle proposé, il suffit de le rajouter à la ligne ‹ Suites: bookworm bookworm-backports › puisque même dépôt.
Suites: bookworm bookworm-backports bookworm-updates

Ah bon
Ka fait des années que j’ai rien modifié sur le système, je m’ennuyais :sleeping:

deb.debian.org c’est un CDN (content delivery network) qui a ma connaissance utilise du DNS anycast pour fournir un service basse latence partout dans le monde.

Fastly est une entreprise américaine, mais quand tu fais ta requette à deb.debian.org en pratique ta requète ne sort probablement pas de France.