Forcer l’IPv4 avec apt-get

Sur certaines de mes machines, j'ai de la connectivité IPv6, que ça soit en natif ou via un tunnel 6in4. Parfois, des hôtes ne sont pas atteignables en IPv6. Et quant ça arrive avec les serveurs de dépôt des paquets logiciels, comment on fait ?

Cela m'est arrivé avec backports.debian.org dont une des IPv6s du pool n'est pas atteignable depuis un bloc OVH mais ne pose pas de problème à travers un tunnel 6in4 HE. Cela arrive en ce moment avec mirror.ovh.net et, pour une fois, ça n'arrive pas qu'à moi, j'ai vu l'info tourner hier. Par contre, rien ne semble avoir été remonté à OVH ...

Je suis sûr qu'il y a plusieurs solutions pour forcer l'usage d'IPv4 avec apt-get (apt.conf, résolution, gai.conf ...).

Personnellement, j'ai choisi d'utiliser le processus de résolution du nom pour résoudre ce problème. En gros, je rajoute les lignes suivantes dans mon /etc/hosts :

#Modification temporaire (17/03/2013)
91.121.125.139 mirror.ovh.net
91.121.124.139 debian.mirrors.ovh.net

Et ça marche.

Dès la fin de l'apt-get update, je commente les lignes ajoutées afin de ne pas avoir une rustine qui me créera des problèmes dans le futur.

Quand root n’a plus l’autocomplétion

Depuis peu, sur mes machines, l'utilisateur root, via su/sudo (mais le problème doit être le même en login direct), l'autocomplétion, même des commandes les plus basiques, ne fonctionne plus.

J'ai résolu le problème en copiant le petit morceau suivant, que l'on trouve dans le .bashrc de tout utilisateur, dans le .bashrc de root (/root/.bashrc) :

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

L'autocomplétion juste re-fonctionnera dès le prochain login.