L’archive des dépôts Debian, pour les serveurs zombies

Twitter Facebook Google Plus Linkedin email

Ça fait pourtant des années que j’utilise Debian, mais pour être honnête j’ai toujours travaillé avec des versions supportées. Mais quand on débarque sur des serveurs non maintenus, genre un Debian 7 (Wheezy) ou pire, Debian 6 (Squeeze), s’il manque des outils ont est pas rendus parce que les dépôts ont disparus des écrans habituels. C’est ce qui m’est arrivé récemment, et voici comment je m’en suis sorti.

Au départ je voulais mettre ça dans une astuce diverse, et j’ai eu à faire beaucoup de bidouilles autour de versions non supportées de Debian et j’en ai ressorti suffisamment de choses pour que ça finisse dans un article à part.

Il s’avère que Debian conserve malgré tout une partie des dépôts de la distribution sur le site archive.debian.org. Très pratique, et on constate que ça remonte à super loin, pratiquement aux origines de la distribution, puisqu’on voit des fichiers datant de 1998.

Pour les utiliser, il suffit dès lors de modifier le fichier /etc/apt/sources.list :

Et on pense à virer tout le reste (pensez à vérifier le dossier sources.list.d). Je conseille plus que fortement de ne pas oublier le debian-security, car plusieurs paquets peuvent échouer en raison de dépendances non résolues (c’est le cas d’Apache par exemple, mais aussi de dépendances comme perl).

Les problématiques supplémentaires de Docker

C’est surtout cette partie qui m’a poussé à déporter le sujet. En effet, je n’avais pas eu le souci sur Debian Wheezy, mais sur Squeeze, les problèmes sont plus nombreux, sans parler du fait de devoir construire une image Docker en Squeeze. Déjà, il faut modifier le sources.list de l’image de base, je conseille de passer par un fichier préparé pour et une commande COPY. Ça, c’est simple.

Mais on attaque le dur, avec les signatures de paquets qui ont expiré. Rien que pour faire valider l’update des données repo, il faut ajouter une option :

On se retrouve alors face à des alertes de clés GPG elles aussi expirées. Dans un contexte docker en mode non-interactif, il faut ajouter une autre option lors du install pour passer outre l’alerte associée à ces clés (en mode interactif il nous demande confirmation d’installer des paquets non vérifiables) :

Plus spécifique à l’exécution d’Apache, sous Debian Squeeze le script d’init se charge de créer le dosser /var/run/apache2, pour y placer un fichier « mutex ». Or dans un container docker, on démarre le process directement en FOREGROUND, donc pas de dossier, il faudra penser à l’ajouter à un moment, dans mon cas, c’est dans le même run que le apt-get, à la fin :

Et oui, c’est se faire beaucoup de mal pour rien, mais quand vous avez une application à transférer d’un vieux serveur sur un cluster Kubernetes, et que le code ne peut pas être revu, ben vous cherchez des solutions. Et au moins une des parties de cet article reste valable pour toute machine, y compris hors Docker. C’est ce qu’on appelle le monde réel, celui où les mises à jour majeures de serveurs tous les trois ans ne sont pas une norme, mais une exception, parce que les priorités sont ailleurs.

6
Poster un Commentaire

avatar
3 Fils de commentaires
3 Réponses de fil
2 Abonnés
 
Commentaire avec le plus de réactions
Le plus populaire des commentaires
4 Auteurs du commentaire
BleyzNewtySeboss666metrecapelo Auteurs de commentaires récents
  S’abonner  
le plus récent le plus ancien
Notifier de
metrecapelo
Invité
metrecapelo

petite erreur: Hors dans un container docker > Or dans un container docker
comme dans mais où est donc Or-ni-car et pas comme dans hors-la-loi

Newty
Invité
Newty

Bonjour, Ton article tombe très bien pour moi, j’ai justement besoin de faire un update sur une debian squeeze mais je n’y arrive pas (je ne suis pas un expert =/). J’ai modifié le fichier /etc/apt/sources.list : deb http://archive.debian.org//debian squeeze main contrib non-free deb http://archive.debian.org/debian-security/ squeeze/updates main non-free contrib et fait un : apt-get -o Acquire::Check-Valid-Until=false update J’ai les erreurs suivantes : Err http://archive.debian.org squeeze Release.gpg Could not resolve ‘archive.debian.org’ Err http://archive.debian.org//debian/ squeeze/contrib Translation-en Could not resolve ‘archive.debian.org’ Err http://archive.debian.org//debian/ squeeze/main Translation-en Could not resolve ‘archive.debian.org’ Err http://archive.debian.org//debian/ squeeze/non-free Translation-en Could not resolve ‘archive.debian.org’ Err http://archive.debian.org squeeze/updates Release.gpg Could not… Lire la suite »

Bleyz
Invité
Bleyz

Bonjour et merci beaucoup pour ce post partagé. Votre dernière phrase est touchante de vérité.
Juste avec la première partie de votre article j’ai mis à jour un serveur Wheezy UP depuis 1380 jours qui me refusait l’installation des fonctionnalités demandées par mes clients.
Bravo et merci encore pour votre acharnement.