Archives pour l'étiquette Debian

Voici.fr : Optimiser les performances reverse proxy de SQUID

Une architecture de reverse proxy et après ?

Vous avez configuré votre application pour tirer partie le mieux possible des possibilités offertes par les caches web comme nous l’avons fait dans notre utilisation de eZ Publish pour les sites web du groupe Prisma-Presse.

Mais après cette optimisation ? Kathryl a publié un billet sur l’optimisation des performances de SQUID utilisé en reverse proxy. Il ce base sur notre expérience commune dans la gestion de l’hébergement des sites web du groupe Prisma Presse. Les sites à très forte audience comme Voici.fr, Gala.fr, Femmeactuelle.fr bénéficie des optimisations qu’il présente dans sa documentation.

J’ai souhaité ajouter quelques précisions sur le sujet et expliquer comment vous arrivions à répondre a 92,23% des requêtes HTTP avec nos reverses proxys comme je l’avais annoncé dans un commentaire sur un billet précédent. Kathryl et moi versons parfois dans la bataille d’expert mais c’est par ce jeu de confrontation technique que nous avons trouvé des solutions aux défis qui ce présentaient à nous. Le principal de ces défis relevé est d’avoir trouvé comment soutenir l’audience montante des site du groupe sans la moindre aquisition de matériel depuis un an, mais ceci fera l’objet d’un billet sur le cost killing dans le web hosting.

L’OS : Debian Lenny 64bits

Pourquoi le 64Bits ? Parce que nous recherchons les performance et que c’est l’architecture qui offre la possibilité d’affectation d’un gros volume de mémoire à un même processus. Dans la cas présent nos services squid joues avec plus de 3Go rien que pour le cache mémoire je pense que c’était indispensable.

Gestion de la mémoire RAM avec Squid

La FAQ de squid proxy est très claire au sujet de la mémoire. Plus squid est configuré avec un stockage disque important via la directive cache_dir plus il aura besoin de mémoire pour en ordonné l’utilisation. Mais en outre plus vous allouez d’espace de mémoire pour squid via la directive cache_mem plus squid aura besoin de mémoire vive, en dehors du quota alloué par cette directive, pour ordonner la aussi les objets stocker dans ce cache.

En résumé plus vous allouez de mémoire de cache, en RAM ou sur Disque, plus vous devez prévoir de mémoire vivre à la disposition de l’application.

Kathryl dans son billet propose un rapport de 1 à 4 entre la mémoire cache alloué via la directive cache_mem et la mémoire RAM total disponible. Le rapport n’est que de 1 à 1,3 actuellement en production sur l’étage reverse proxy. Dans tout les cas surveiller bien que la machine n’utilise pas le swap dans le cas contraire les ralentissements arrivent et vous avez tout faux, il faut revoir vos valeurs. Nous avions fait cette erreur d’allouer trop de mémoire via la directive cache_mem et nous avons ralentis nos reverse proxys du fait de l’utilisation du swap.

Taille des objets en cache mémoire

Kathryl avance la question suivante a la quelle je souscris totalement: En quoi est il pertinent d’accepté en mémoire cache RAM des objets volumineux ? Dans le cas des sites qui nous occupe cela n’a pas d’utilité le réglage du backoffice assurant de ne pas avoir des objets trop gros dans le storage de l’application. Dans notre cas nous avons limité la taille des objets présent dans la mémoire vive de cache pour les cantonner au cache disque via la directive maximum_object_size_in_memory. Vous pouvez aussi via la directive maximum_object_size limité en disque également la taille des objets

Si vous diffusez des objets volumineux comme des pdf ou des archives zip il est intéressant d’accepter de relativement gros objets dans votre cache. Dans tout les cas ne pas négligé ces paramètres, il vous permettrons de mettre en évidence la présence de gros objet sur votre site si vous les refuser car vos frontaux web seront sollicité directement ou au contraire vous offrirons la solution pour leur diffusion.

Espace de cache disque

Dans le cas de notre architecture reverse proxy nous avons fait les choix suivant pour l’accueil de l’espace disque alloué avec la directive cache_dir :

  1. Un filesystem dédié
  2. Ext2 pour évité les opérations de journalisation et gagné quelque I/O
  3. Un volume de 15Go pour une occupation de 12Go soit 80%
  4. option noatime dans /etc/fstab

Si vous disposez d’un gros disque SSD je vous invite à l’utiliser dans ce cadre, personnellement je rêve de voir les performances possible. De même si vous avez la possibilité de raid0 sur un paquet de disque rapide ne vous privez par surtout. Je vous recommande la lecture de la documentation squid cache disk io performance enhancements qui vous apportera beaucoup d’information. Le benchmark de FileSystem suivant vous apportera quelque informations. Personnellement je préfère la solution ext2 à tout autre. Attention Kathryl est mono-maniac de XFS mais cela tiens, je pense à ces habitues de feignant consistant à faire de dump pour migré ces données 🙂

Les logs

Comme le souligne Kathryl lorsque l’on fait très forte audience, les logs par leur écriture ralentisse les serveurs (apache ou squid). Personnellement si je le pouvais je les désactiverais complètement et constamment. Dans quelque cas nous avons trouvé avec cette solution la bouffé d’air frais pour re-stabilisé une architecture ou répondre ponctuellement à une surcharge. Mais, bon, c’est mal et juridiquement interdit car il y a une obligation légale de fournir aux autorités sur présentation d’une réquisition judiciaire les ip des internautes visiteurs.

Il vous reste à étudier

Méthode de cache de Squid

Liser les préconisations de Kathryl sur le sujet, il à un préférence pour DISKD. Nous utilisons UFS en production . Je découvre le passage sur les méthode de cache disque de la documentation de Funkywizard qui lui préfère COSS

Connexions

Kathryl est partisans du « lâché moi la jambe ». Les serveurs de cache ne sont pas la pour garder des sockets ouverts trop longtemps. Il préconise de refuser les connections persistantes. C’est un chose que nous n’avons pas testé plus en avant.

[Debian] Utiliser un système mixte Stable / Oldstable ou Stable / Testing

Vous souhaiter utiliser un système Debian mixte qui combinerais des paquets Stable / Oldstable ou Stable / Testing. ? Personnellement je souhaitais installer une version récente de Fail2ban sur un serveur tournant avec une Debian Etch[1]. Pour des raisons de maintenance pas question de faire une installation depuis les sources. J’ai donc souhaité installer le paquet Fail2ban de Debian Lenny [2] sur cette Debian Etch.

APT::Default-Release

Pour ceci il est nécessaire de configurer Apt pour définir votre version principale de Debian. Ceci passe par l’ajout d’un paramètre dans l’arborescence de configuration de APT.

Créé un fichier 01Default-Release. Préfix en 01 pour qu’il soit charger dans les premiers

vi etc<span style="color: #000000; font-weight: bold;">/</span>apt<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">cd</span> apt.conf.d<span style="color: #000000; font-weight: bold;">/</span>01Default-Release

Ajouter l’instruction suivante dans le fichier 01Default-Release pour que la version principale de Debian reste en Oldstable / Etch

APT::Default-Release <span style="color: #ff0000;">&quot;oldstable&quot;</span>;

Dans la branche /etc/apt/apt.conf.d/ vous avez maintenant les fichiers suivant

<span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>dweb2 <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apt<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">cd</span> apt.conf.d<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>dweb2 <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apt<span style="color: #000000; font-weight: bold;">/</span>apt.conf.d<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #c20cb9; font-weight: bold;">ls</span> -l total <span style="color: #000000;">16</span> -rw-r--r-- <span style="color: #000000;">1</span> root root  <span style="color: #000000;">40</span> <span style="color: #000000;">2007</span><span style="color: #000000;">-04</span><span style="color: #000000;">-10</span> <span style="color: #000000;">11</span>:<span style="color: #000000;">45</span> 00trustcdrom -rw-r--r-- <span style="color: #000000;">1</span> root root  <span style="color: #000000;">34</span> <span style="color: #000000;">2009</span><span style="color: #000000;">-09</span><span style="color: #000000;">-16</span> <span style="color: #000000;">11</span>:<span style="color: #000000;">25</span> 01Default-Release -rw-r--r-- <span style="color: #000000;">1</span> root root <span style="color: #000000;">182</span> <span style="color: #000000;">2009</span><span style="color: #000000;">-09</span><span style="color: #000000;">-16</span> <span style="color: #000000;">11</span>:<span style="color: #000000;">21</span> 70debconf

Reste à modifier le source.list de apt en ajoutant le dépot main de lenny en plus de celuis de etch.

deb <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net<span style="color: #000000; font-weight: bold;">/</span>debian<span style="color: #000000; font-weight: bold;">/</span> etch main deb-src <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net<span style="color: #000000; font-weight: bold;">/</span>debian<span style="color: #000000; font-weight: bold;">/</span> etch main &nbsp; deb http:<span style="color: #000000; font-weight: bold;">//</span>security.debian.org<span style="color: #000000; font-weight: bold;">/</span> etch<span style="color: #000000; font-weight: bold;">/</span>updates main deb-src http:<span style="color: #000000; font-weight: bold;">//</span>security.debian.org<span style="color: #000000; font-weight: bold;">/</span> etch<span style="color: #000000; font-weight: bold;">/</span>updates main &nbsp; deb <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net<span style="color: #000000; font-weight: bold;">/</span>debian<span style="color: #000000; font-weight: bold;">/</span> lenny main contrib non-<span style="color: #c20cb9; font-weight: bold;">free</span>

Une mise à jour des paquets disponible s’impose avec un apt-get update.

<span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>dweb2 <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apt<span style="color: #7a0874; font-weight: bold;">&#93;</span> apt-get update Atteint <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net etch Release.gpg Atteint <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny Release.gpg Réception de : <span style="color: #000000;">1</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net etch Release <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">67</span>,8kB<span style="color: #7a0874; font-weight: bold;">&#93;</span> Réception de : <span style="color: #000000;">2</span> http:<span style="color: #000000; font-weight: bold;">//</span>security.debian.org etch<span style="color: #000000; font-weight: bold;">/</span>updates Release.gpg <span style="color: #7a0874; font-weight: bold;">&#91;</span>835B<span style="color: #7a0874; font-weight: bold;">&#93;</span> Atteint http:<span style="color: #000000; font-weight: bold;">//</span>security.debian.org etch<span style="color: #000000; font-weight: bold;">/</span>updates Release Réception de : <span style="color: #000000;">3</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny Release <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">73</span>,6kB<span style="color: #7a0874; font-weight: bold;">&#93;</span> Réception de : <span style="color: #000000;">4</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net etch<span style="color: #000000; font-weight: bold;">/</span>main Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Ign <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net etch<span style="color: #000000; font-weight: bold;">/</span>main Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Ign http:<span style="color: #000000; font-weight: bold;">//</span>security.debian.org etch<span style="color: #000000; font-weight: bold;">/</span>updates<span style="color: #000000; font-weight: bold;">/</span>main Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Réception de : <span style="color: #000000;">5</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net etch<span style="color: #000000; font-weight: bold;">/</span>main Sources<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Ign <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net etch<span style="color: #000000; font-weight: bold;">/</span>main Sources<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Atteint <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net etch<span style="color: #000000; font-weight: bold;">/</span>main Packages Atteint <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net etch<span style="color: #000000; font-weight: bold;">/</span>main Sources Réception de : <span style="color: #000000;">6</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>main Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Ign <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>main Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Réception de : <span style="color: #000000;">7</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>contrib Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Ign <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>contrib Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Réception de : <span style="color: #000000;">8</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>non-<span style="color: #c20cb9; font-weight: bold;">free</span> Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Ign <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>non-<span style="color: #c20cb9; font-weight: bold;">free</span> Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Atteint <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>main Packages Ign http:<span style="color: #000000; font-weight: bold;">//</span>security.debian.org etch<span style="color: #000000; font-weight: bold;">/</span>updates<span style="color: #000000; font-weight: bold;">/</span>main Sources<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Atteint <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>contrib Packages Atteint <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>non-<span style="color: #c20cb9; font-weight: bold;">free</span> Packages Atteint http:<span style="color: #000000; font-weight: bold;">//</span>security.debian.org etch<span style="color: #000000; font-weight: bold;">/</span>updates<span style="color: #000000; font-weight: bold;">/</span>main Packages Atteint http:<span style="color: #000000; font-weight: bold;">//</span>security.debian.org etch<span style="color: #000000; font-weight: bold;">/</span>updates<span style="color: #000000; font-weight: bold;">/</span>main Sources 141ko réceptionnés en 0s <span style="color: #7a0874; font-weight: bold;">&#40;</span>1380ko<span style="color: #000000; font-weight: bold;">/</span>s<span style="color: #7a0874; font-weight: bold;">&#41;</span> Lecture des listes de paquets... Erreur <span style="color: #000000; font-weight: bold;">!</span> E: Dynamic MMap ran out of room E: Erreur apparue lors <span style="color: #c20cb9; font-weight: bold;">du</span> traitement de tcptraceroute <span style="color: #7a0874; font-weight: bold;">&#40;</span>NewVersion2<span style="color: #7a0874; font-weight: bold;">&#41;</span> E: Problem with MergeList <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>apt<span style="color: #000000; font-weight: bold;">/</span>lists<span style="color: #000000; font-weight: bold;">/</span>mir1.ovh.net_debian_dists_lenny_main_binary-i386_Packages E: Les listes de paquets ou le fichier « status » ne peuvent être analysés ou lus.

APT::Cache-Limit

ZUT !
le message d’erreur final indique un manque d’espace de cache. Nous allons donc configuré apt et luis augmenter son espace de travail. Pour cela on autre comme précédemment un fichier dans l’arborescence de configuration de APT.

vi etc<span style="color: #000000; font-weight: bold;">/</span>apt<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">cd</span> apt.conf.d<span style="color: #000000; font-weight: bold;">/</span>02Cache-Limit

On ajoute le paramètre Cache-Limit sur l’exemple suivant

APT::Cache-Limit <span style="color: #000000;">20000000</span>;<span style="color: #ff0000;">&quot;;</span>

La mise à jour des paquets disponible s’impose toujours avec un apt-get update.

<span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>dweb2 ~<span style="color: #7a0874; font-weight: bold;">&#93;</span> apt-get update Atteint <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net etch Release.gpg Atteint <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny Release.gpg Réception de : <span style="color: #000000;">1</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net etch Release <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">67</span>,8kB<span style="color: #7a0874; font-weight: bold;">&#93;</span> Réception de : <span style="color: #000000;">2</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny Release <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">73</span>,6kB<span style="color: #7a0874; font-weight: bold;">&#93;</span> Réception de : <span style="color: #000000;">3</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net etch<span style="color: #000000; font-weight: bold;">/</span>main Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Ign <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net etch<span style="color: #000000; font-weight: bold;">/</span>main Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Réception de : <span style="color: #000000;">4</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net etch<span style="color: #000000; font-weight: bold;">/</span>main Sources<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Ign <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net etch<span style="color: #000000; font-weight: bold;">/</span>main Sources<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Réception de : <span style="color: #000000;">5</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>main Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Ign <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>main Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Réception de : <span style="color: #000000;">6</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>contrib Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Ign <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>contrib Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Réception de : <span style="color: #000000;">7</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>non-<span style="color: #c20cb9; font-weight: bold;">free</span> Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Ign <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>non-<span style="color: #c20cb9; font-weight: bold;">free</span> Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Atteint <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net etch<span style="color: #000000; font-weight: bold;">/</span>main Packages Atteint <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net etch<span style="color: #000000; font-weight: bold;">/</span>main Sources Atteint <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>main Packages Atteint <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>contrib Packages Atteint <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>non-<span style="color: #c20cb9; font-weight: bold;">free</span> Packages Réception de : <span style="color: #000000;">8</span> http:<span style="color: #000000; font-weight: bold;">//</span>security.debian.org etch<span style="color: #000000; font-weight: bold;">/</span>updates Release.gpg <span style="color: #7a0874; font-weight: bold;">&#91;</span>835B<span style="color: #7a0874; font-weight: bold;">&#93;</span> Atteint http:<span style="color: #000000; font-weight: bold;">//</span>security.debian.org etch<span style="color: #000000; font-weight: bold;">/</span>updates Release Ign http:<span style="color: #000000; font-weight: bold;">//</span>security.debian.org etch<span style="color: #000000; font-weight: bold;">/</span>updates<span style="color: #000000; font-weight: bold;">/</span>main Packages<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Ign http:<span style="color: #000000; font-weight: bold;">//</span>security.debian.org etch<span style="color: #000000; font-weight: bold;">/</span>updates<span style="color: #000000; font-weight: bold;">/</span>main Sources<span style="color: #000000; font-weight: bold;">/</span>DiffIndex Atteint http:<span style="color: #000000; font-weight: bold;">//</span>security.debian.org etch<span style="color: #000000; font-weight: bold;">/</span>updates<span style="color: #000000; font-weight: bold;">/</span>main Packages Atteint http:<span style="color: #000000; font-weight: bold;">//</span>security.debian.org etch<span style="color: #000000; font-weight: bold;">/</span>updates<span style="color: #000000; font-weight: bold;">/</span>main Sources 141ko réceptionnés en 0s <span style="color: #7a0874; font-weight: bold;">&#40;</span>546ko<span style="color: #000000; font-weight: bold;">/</span>s<span style="color: #7a0874; font-weight: bold;">&#41;</span> Lecture des listes de paquets... Fait <span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>dweb2 ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>

apt-get install -t stable

Par de soucis cette fois
Dans la foulé on installe la version de fail2ban provenant du déport Debian stable avec la commande suivante qui précise par le -t la version à utiliser.

apt-get <span style="color: #c20cb9; font-weight: bold;">install</span> -t stable fail2ban

En vrais cela donne

<span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>dweb2 <span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #7a0874; font-weight: bold;">&#93;</span> apt-get <span style="color: #c20cb9; font-weight: bold;">install</span> -t stable fail2ban Lecture des listes de paquets... Fait Construction de l<span style="color: #ff0000;">'arbre des dépendances... Fait Les paquets supplémentaires suivants seront installés :   python-central Paquets suggérés :   python-gamin Les paquets suivants seront mis à jour :   fail2ban python-central 2 mis à jour, 0 nouvellement installés, 0 à enlever et 307 non mis à jour. Il est nécessaire de prendre 127ko dans les archives. Après dépaquetage, 188ko d'</span>espace disque supplémentaires seront utilisés. Souhaitez-vous continuer <span style="color: #7a0874; font-weight: bold;">&#91;</span>O<span style="color: #000000; font-weight: bold;">/</span>n<span style="color: #7a0874; font-weight: bold;">&#93;</span> ? o Réception de : <span style="color: #000000;">1</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>main python-central <span style="color: #000000;">0.6</span><span style="color: #000000;">.8</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">40</span>,4kB<span style="color: #7a0874; font-weight: bold;">&#93;</span> Réception de : <span style="color: #000000;">2</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>mir1.ovh.net lenny<span style="color: #000000; font-weight: bold;">/</span>main fail2ban <span style="color: #000000;">0.8</span><span style="color: #000000;">.3</span>-2sid1 <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">86</span>,2kB<span style="color: #7a0874; font-weight: bold;">&#93;</span> 127ko réceptionnés en 0s <span style="color: #7a0874; font-weight: bold;">&#40;</span>486ko<span style="color: #000000; font-weight: bold;">/</span>s<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>Lecture de la base de données... <span style="color: #000000;">32770</span> fichiers et répertoires déjà <span style="color: #c20cb9; font-weight: bold;">install</span>és.<span style="color: #7a0874; font-weight: bold;">&#41;</span> Préparation <span style="color: #c20cb9; font-weight: bold;">du</span> remplacement de python-central <span style="color: #000000;">0.5</span><span style="color: #000000;">.12</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>en utilisant ...<span style="color: #000000; font-weight: bold;">/</span>python-central_0<span style="color: #000000;">.6</span>.8_all.deb<span style="color: #7a0874; font-weight: bold;">&#41;</span> ... Dépaquetage de la mise à jour de python-central ... Préparation <span style="color: #c20cb9; font-weight: bold;">du</span> remplacement de fail2ban <span style="color: #000000;">0.7</span><span style="color: #000000;">.5</span>-2etch1 <span style="color: #7a0874; font-weight: bold;">&#40;</span>en utilisant ...<span style="color: #000000; font-weight: bold;">/</span>fail2ban_0<span style="color: #000000;">.8</span><span style="color: #000000;">.3</span>-2sid1_all.deb<span style="color: #7a0874; font-weight: bold;">&#41;</span> ... Dépaquetage de la mise à jour de fail2ban ... Paramétrage de python-central <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">0.6</span><span style="color: #000000;">.8</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> ... &nbsp; Paramétrage de fail2ban <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">0.8</span><span style="color: #000000;">.3</span>-2sid1<span style="color: #7a0874; font-weight: bold;">&#41;</span> ...

Voila tout baigne, fail2ban est installé depuis le depot lenny.

A lire également chez d’autre

Notes

[1] Version Oldstable depuis le 14 février 2009

[2] la version stable courante depuis le 14 février 2009

Xen : Relocation de VM avec un partage ATA Over Ethernet et un système de fichier cluster OCFS2

Partage Type SAN avec ATA Over Ethernet

AoE Serveur

Configuration du serveur de fichier faisant office de SAN.
Vérification si le kernel à bien été configuré avec option AoE, vérifier sa présence dans le ficher .config

host:<span style="color: #000000; font-weight: bold;">/</span><span style="color: #808080; font-style: italic;"># grep ATA_OVER /boot/config-`uname -r`</span> <span style="color: #007800;">CONFIG_ATA_OVER_ETH=</span>m

Pour l’activé à la compilation

Device Drivers --<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">|</span>- Block Devices ---<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">|</span>- <span style="color: #000000; font-weight: bold;">&lt;</span>m<span style="color: #000000; font-weight: bold;">&gt;</span> ATA over Ethernet support

Si l’option est présente chargé le module

modprobe aoe

Vérifier dans les logs

<span style="color: #c20cb9; font-weight: bold;">grep</span> aoe <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>syslog Jul <span style="color: #000000;">7</span> <span style="color: #000000;">16</span>:<span style="color: #000000;">31</span>:<span style="color: #000000;">12</span> Nada kernel: aoe: aoe_init: AoE v22 initialised. Jul <span style="color: #000000;">7</span> <span style="color: #000000;">16</span>:<span style="color: #000000;">59</span>:<span style="color: #000000;">57</span> Nada kernel: aoe: aoe_init: AoE v22 initialised.

Installation des outils serveur

apt-get <span style="color: #c20cb9; font-weight: bold;">install</span> vblade

Pour exporter /dev/sdb1

vbladed <span style="color: #000000;">0</span> <span style="color: #000000;">1</span> eth1 <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb1

Chaque périphérique AoE device est identifier par une couple numérique Majeur / Mineur. Le majeur est dans la plage 0-65535 et le mineur dans la plage 0-255. Dans l’exemple du dessus nous avons

* Majeur O * Mineur 1 * Via l'interface eth1 * Le partition physique /dev/sdb1

Vérification

<span style="color: #c20cb9; font-weight: bold;">ps</span> -ax <span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000;">1316</span> tty1 S <span style="color: #000000;">0</span>:<span style="color: #000000;">00</span> <span style="color: #c20cb9; font-weight: bold;">sh</span> -c <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>vblade <span style="color: #000000;">0</span> <span style="color: #000000;">1</span> eth1 <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb1 <span style="color: #000000; font-weight: bold;">&lt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">|</span> logger -t vbladed <span style="color: #000000;">1318</span> tty1 S <span style="color: #000000;">0</span>:<span style="color: #000000;">00</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>vblade <span style="color: #000000;">0</span> <span style="color: #000000;">1</span> eth1 <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sdb1 <span style="color: #000000;">1319</span> tty1 S <span style="color: #000000;">0</span>:<span style="color: #000000;">00</span> logger -t vbladed <span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span>

Pour qu’il soit lancer au démarrage du serveur, a défaut de faire une script dans /etc/init.d/ on le colle dans /etc/inittab

<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;e0:1:respawn:/usr/sbin/vblade 0 1 eth1 /dev/sdb1&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>inittab init q

Installer OCFS2

Installer les outils sur les serveurs du node cluster, c.a.d les deux machines hôte xen dom0. Ils ne sont pas nécessaire sur le serveur offrant la ressource disque.

apt-get <span style="color: #c20cb9; font-weight: bold;">install</span> ocfs2-tools

Sur chaque serveur du mode cluster configuré OCFS2 via le fichier /etc/ocfs2/cluster.conf. Dans exemple l’exemple suivant nous avons deux nœuds (Bella et Brutus ) et l’espace disque est nommé oscf2.

node: ip_port = <span style="color: #000000;">7777</span> ip_address = <span style="color: #000000;">192.168</span><span style="color: #000000;">.0</span><span style="color: #000000;">.10</span> number = <span style="color: #000000;">0</span> name = Bella cluster = ocfs2 &nbsp; node: ip_port = <span style="color: #000000;">7777</span> ip_address = <span style="color: #000000;">192.168</span><span style="color: #000000;">.0</span><span style="color: #000000;">.11</span> number = <span style="color: #000000;">1</span> name = Brutus cluster = ocfs2 &nbsp; cluster: node_count = <span style="color: #000000;">2</span> name = ocfs2

Recopie de /etc/ocfs2/cluster.conf vers les autres noeuds et configurer le démarrage de ocfs2 dans le fichier /etc/default/o2cb

vi <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>default<span style="color: #000000; font-weight: bold;">/</span>o2cb <span style="color: #808080; font-style: italic;"># O2CB_ENABLED: 'true' means to load the driver on boot.</span> <span style="color: #007800;">O2CB_ENABLED=</span>true

Lancer de démon ocfs2

<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>o2cb start

Vérifier le fonctionnement du démon

<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>o2cb status &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">!!!!</span>Configuration  de AoE Client &nbsp; Configuration des deux __machines hôtes xen Dom0__ client <span style="color: #c20cb9; font-weight: bold;">du</span> serveur de fichier faisant office de __SAN__. &nbsp; Installation des outils client <span style="color: #000000; font-weight: bold;">///</span><span style="color: #7a0874; font-weight: bold;">&#91;</span>bash<span style="color: #7a0874; font-weight: bold;">&#93;</span> apt-get <span style="color: #c20cb9; font-weight: bold;">install</span> aoetools

Si vous n’utiliser par udev il est possible que les node dans /dev ne soit pas créé automatiquement. Pour forcer cela la commande suivante exite

aoe-mkdevs <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>etherd

Maintenant écoutons le réseau pour découvrir les volumes disponible

client:<span style="color: #000000; font-weight: bold;">/</span><span style="color: #808080; font-style: italic;"># aoe-discover</span>

Affichons ce qui a été découvert

client:<span style="color: #000000; font-weight: bold;">/</span><span style="color: #808080; font-style: italic;"># aoe-stat</span> e0<span style="color: #000000;">.1</span> <span style="color: #000000;">1</span>.048GB eth1 up

Il est maintenant possible d’utiliser ce périphérique

Utiliser le périphérique

Le formater la partition cluster en OCFS2

mkfs -t ocfs2 -L DATA <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>etherd<span style="color: #000000; font-weight: bold;">/</span>e0<span style="color: #000000;">.1</span>

Le monter et l’utiliser

<span style="color: #c20cb9; font-weight: bold;">mount</span> -t ocfs2 <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>etherd<span style="color: #000000; font-weight: bold;">/</span>e0<span style="color: #000000;">.1</span> <span style="color: #000000; font-weight: bold;">/</span>home

Attention, le serveur de fichier faisant office de SAN, donc serveur AoE, ne peux pas être client de lui même.

machines virtuel xen

Il ne vous reste plus qu’a installer et lancer depuis une des machines hôtes des machines virtuel xen sur des disque virtuel dans un fichier image. Disque virtuel eux même stocker sur la partition présenté en AoE et partager en cluster OCFS2.

Xen relocation

Pour faire de la réallocation de machine virtuel du machine hôte (dom0) à une autre il faut monté la même ressource AoE sur chacune des machines hôte sur le même point de montage. Dans mon exemple machine hôte à la partition AoE/OCFS2 monté dans /home. Cette partition n’a été formaté qu’une fois depuis l’une des deux machines hôtes.

xend-config.sxp

Pour activé la possibilité de réallocation entre machine hôte xen voici les différente option activé dans les /etc/xen/xend-config.sxp des deux serveur.

Sur Bella, j’active la réallocation et j’autorise Brutus à envoyé des VM

<span style="color: #7a0874; font-weight: bold;">&#40;</span>xend-relocation-server <span style="color: #c20cb9; font-weight: bold;">yes</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>xend-relocation-port <span style="color: #000000;">8002</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>xend-relocation-address <span style="color: #ff0000;">'192.168.0.10'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>xend-relocation-hosts-allow <span style="color: #ff0000;">''</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>network-script <span style="color: #ff0000;">'bella-network-bridge'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>vif-script vif-bridge<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>dom0-min-mem <span style="color: #000000;">196</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>dom0-cpus <span style="color: #000000;">0</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>vncpasswd <span style="color: #ff0000;">''</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>

Sur Brutus, j’active la réallocation et j’autorise Bella à envoyé des VM

<span style="color: #7a0874; font-weight: bold;">&#40;</span>xend-relocation-server <span style="color: #c20cb9; font-weight: bold;">yes</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>xend-relocation-port <span style="color: #000000;">8002</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>xend-relocation-address <span style="color: #ff0000;">'192.168.0.11'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>xend-relocation-hosts-allow <span style="color: #ff0000;">''</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>network-script <span style="color: #ff0000;">'brutus-network-bridge'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>vif-script vif-bridge<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>dom0-min-mem <span style="color: #000000;">196</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>dom0-cpus <span style="color: #000000;">0</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>vncpasswd <span style="color: #ff0000;">''</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> xm migrate

Depuis la machine hôte (dom0) hébergeant vos machines virtuel xen pour déplacer une VM à chaud il suffit d’utiliser la commande suivante

Depuis Bella

xm migrate --live VM-<span style="color: #7a0874; font-weight: bold;">test</span> Brutus

Ajouter des routes au chargement d’une interface réseau

Je reprend ici un note du mardi 22 avril 2008 par Noplay qui m’a été très utile et que je souhaite garder à disposition (comme souvent).

Plusieurs interface, plusieurs route

Sous Debian ou Ubuntu si vous désirez ajouter automatiquement des routes lorsque une interface réseau devient active vous pouvez utiliser la règle post-up du fichier /etc/network/interfaces. Celle-ci permet éxécuter une commande après qu’une interface soit passée active.

allow-hotplug eth1 iface eth1 inet dhcp post-up route add -net <span style="color: #000000;">42.42</span><span style="color: #000000;">.42</span><span style="color: #000000;">.0</span> netmask <span style="color: #000000;">255.255</span><span style="color: #000000;">.255</span><span style="color: #000000;">.0</span> gw <span style="color: #000000;">192.168</span><span style="color: #000000;">.1</span><span style="color: #000000;">.1</span> down route del -net <span style="color: #000000;">42.42</span><span style="color: #000000;">.42</span><span style="color: #000000;">.0</span> netmask <span style="color: #000000;">255.255</span><span style="color: #000000;">.255</span><span style="color: #000000;">.0</span> gw <span style="color: #000000;">192.168</span><span style="color: #000000;">.1</span><span style="color: #000000;">.1</span>

Pour plus d’informations : man interfaces

Erreur Perl avec APT : warning : Setting locale failed.

Suite a l’annonce d’un Important bug de sécurité sur noyau 2.6.17 à 2.6.24 sur linuxfr.org je colle le nez sur mes serveurs pour faire un brin de ménage.

Ménage avec apt-get remove

J’en profite pour virer de vieux paquet et la, sur un serveur de test et bibouille, c’est le drame !!

apt-get remove --purge linux-image<span style="color: #000000;">-2.6</span><span style="color: #000000;">-686</span> Reading package lists... Done Building dependency tree... Done The following packages will be REMOVED: linux-image<span style="color: #000000;">-2.6</span><span style="color: #000000;">-686</span><span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000;">0</span> upgraded, <span style="color: #000000;">0</span> newly installed, <span style="color: #000000;">1</span> to remove and <span style="color: #000000;">45</span> not upgraded. Need to get 0B of archives. After unpacking 8192B disk space will be freed. Do you want to <span style="color: #7a0874; font-weight: bold;">continue</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>Y<span style="color: #000000; font-weight: bold;">/</span>n<span style="color: #7a0874; font-weight: bold;">&#93;</span>? y <span style="color: #c20cb9; font-weight: bold;">perl</span>: warning: Setting locale failed. <span style="color: #c20cb9; font-weight: bold;">perl</span>: warning: Please check that your locale settings: LANGUAGE = <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">unset</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>, LC_ALL = <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">unset</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>, LANG = <span style="color: #ff0000;">&quot;fr_FR.UTF-8&quot;</span> are supported and installed on your system. <span style="color: #c20cb9; font-weight: bold;">perl</span>: warning: Falling back to the standard locale <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">&quot;C&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>. locale: Cannot <span style="color: #000000; font-weight: bold;">set</span> LC_CTYPE to default locale: No such <span style="color: #c20cb9; font-weight: bold;">file</span> or directory locale: Cannot <span style="color: #000000; font-weight: bold;">set</span> LC_MESSAGES to default locale: No such <span style="color: #c20cb9; font-weight: bold;">file</span> or directory locale: Cannot <span style="color: #000000; font-weight: bold;">set</span> LC_ALL to default locale: No such <span style="color: #c20cb9; font-weight: bold;">file</span> or directory <span style="color: #7a0874; font-weight: bold;">&#40;</span>Reading database ... <span style="color: #000000;">43097</span> files and directories currently installed.<span style="color: #7a0874; font-weight: bold;">&#41;</span> Removing linux-image<span style="color: #000000;">-2.6</span><span style="color: #000000;">-686</span> ...

dpkg-reconfigure locales

J’ai du testé et bibouiller un peu trop sur ce serveur et maintenant plus moyen de le maintenant à jour. C’est pas la première fois que j’ai ce message et d’habitude le solutionne la chose avec un bonne reconfiguration des LOCALES

dpkg-reconfigure locales <span style="color: #000000; font-weight: bold;">//</span> &nbsp; Malheureusement l<span style="color: #ff0000;">'utilisation de __dpkg-reconfigure locales__ débouche sur le même message d'</span>erreur. __Perl__ ne comprend pas ma langue et ne trouve pas les variables nécessaire pour cela. &nbsp; Pas grave on va revenir a la langue universel, au fondamentaux de <span style="color: #c20cb9; font-weight: bold;">perl</span> &nbsp; <span style="color: #000000; font-weight: bold;">///</span><span style="color: #7a0874; font-weight: bold;">&#91;</span>bash<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LC_ALL=</span>C

Parfait, je retente la configuration des locales

dpkg-reconfigure locales <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>dpkg-reconfigure: locales is not installed

Et la j’ai l’air con 😀

J’installe les locales, je les reconfigure, en sifflant d’un air dégagé et je reprend mes activités.