dimanche 5 février 2017

Debian : The attempt to mount a file system with type ext4 ... at / failed.

En installant Debian depuis un serveur PXE (netboot), il arrive parfois que l'installeur n'arrive pas à monter la partition où installer l'OS :

The attempt to mount a file system with type ext4 [...] at / failed.


L'explication se trouve ici : https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=780812

This is due to kernel and module version mis-match in debian-installer [...] which was built with an older kernel version


Solution : mettre à jour debian-installer sur le serveur PXE, tout simplement. Il suffit de récupérer les derniers noyau et initrd en date :

  • http://ftp.fr.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux
  • http://ftp.fr.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz

lundi 14 octobre 2013

Mise à jour d'une base Postgres sous Debian

Supprimer la grappe 9.1 créée par défaut :

pg_dropcluster--stop 9.1 main

Mettre à jour l'actuelle grappe :

pg_upgradecluster 8.4 main

Supprimer l'ancienne grappe :

pg_dropcluster 8.4 main

Désinstaller le moteur 8.4 :

apt-get autoremove --purge postgresql-8.4 postgresql-client-8.4

mardi 25 juin 2013

Mise à jour Squeeze -> Wheezy

Ce billet porte mal son nom. En effet, il est censé recueillir mes notes prises lors de la mise à jour de mes serveur de Debian 6 (Squeeze) à Debian 7 (Wheezy) et surtout les surprises que j'ai eues. En fait, les cinq paragraphes ci-dessous traitent de Munin, car tout le reste a fonctionné ou, au moins, était documenté (en amont ou lors de la migration).

Munin : racine en double sur le plugin df

La racine apparaît deux fois sur le plugin df. Pour corriger, éditer le fichier /etc/munin/plugin-conf.d/munin-node et, dans la section [df*], exclure le rootfs :

[df*]
env.exclude none unknown iso9660 squashfs udf romfs ramfs debugfs rootfs
env.warning 92
env.critical 98


Munin : erreur du plugin apt_all

Le plugin apt_all ne fonctionne plus. La tâche cron de mise à jour renvoie des messages d'erreur :

E: The value 'testing' is invalid for APT::Default-Release as such a release is not available in the sources
E: The value 'unstable' is invalid for APT::Default-Release as such a release is not available in the sources


Après investigation, il s'agit apparemment d'un problème similaire à celui-ci : Bug#702442: munin-node: apt_all uses different state files for cron job and as a plugin.

Pour corriger, éditer le fichier /usr/share/munin/plugins/apt_all et modifier la variable "@releases" :

#my @releases = ("stable", "testing","unstable");
my @releases = ("stable");

Puis définir dans /etc/munin/plugin-conf.d/munin-node la variable d'environnement MUNIN_PLUGSTATE :

[apt_all]
env.MUNIN_PLUGSTATE /var/lib/munin-node/plugin-state/root/


Munin - alertes Munin et plugin ntp_states

Certains plugins Munin se traînent lamentablement, à tel point que le timeout expire, comme le signale le journal :

2013/06/11-09:10:59 [30489] Service 'ntp_states' timed out.
2013/06/11-09:11:01 [30489] Service 'open_files' timed out.
2013/06/11-09:11:02 [30489] Node side timeout while processing: 'fetch open_files'
[...]
2013/06/11-09:15:59 [30772] Service 'postfix_mailvolume' timed out.
2013/06/11-09:16:01 [30772] Service 'postfix_mailvolume' timed out.
2013/06/11-09:16:02 [30772] Node side timeout while processing: 'config proc_pri'

On se retrouve avec des graphiques en pointillés.
Explication du problème :
J'avais désactivé IPv6 sur mon serveur mail. (Ou je croyais l'avoir fait.) Lors de la mise à jour, IPv6 a été réactivé et le démon NTP a choisi comme serveurs de référence des serveurs en IPv6. Il faut savoir aussi que le plugin Munin ntp_state part de l'adresse IP des serveurs et effectue une requête DNS pour obtenir son nom. Et cette requête prenait beaucoup de temps et échouait ; je ne sais pas exactement pourquoi.
Pour contourner ce problème, deux possibilités. La première est simplement de désactiver de nouveau IPv6 :

  • sysctl net.ipv6.conf.all.disable_ipv6=1

Il est aussi possible de ne pas résoudre les adresses en modifiant le plugin. Dans /usr/share/munin/plugins/ntp_state, commenter les lignes 116 à 123 :

#        if ($packet) {
#                my @answer = $packet->answer;
#                foreach my $rr (@answer) {
#                        if ("PTR" eq $rr->type) {
#                                $host = $rr->ptrdname;
#                        }
#                }
#        }


Munin - erreurs "Use of uninitialized value ..."

Au passage, je me suis rendu compte que mes logs étaient remplis de cette erreur :

Use of uninitialized value in pattern match (m//) at /usr/share/perl5/Net/Server.pm line 600.

C'est le package libnet-server-perl qui est en cause. Il est encore en version 2.006 et ce bug n'est donc pas encore résolu : libnet-server-perl: Uninitialized value in pattern match spam. On peut appliquer le patch ou attendre que la version 2.007 soit mise sur les dépôts.

Munin - Erreur 404 lors de la consultation des graphiques

Après mise à jour de Munin (tout court, pas -node), je ne pouvais tout simplement plus accéder à l'interface de Munin : erreur 404. Pour cause, le lien vers le fichier de configuration avait sauté. Il m'a donc suffit de le refaire :

  • ln -s /etc/munin/apache.conf /etc/apache2/conf.d/munin.conf

mardi 4 septembre 2012

Désactiver IPV6 sur Debian/Ubuntu

Il arrive que l'on ne souhaite pas avoir d'ipv6 sur une machine ou que ce dernier nous pose des soucis, car un service l'utilise au lieu de l'ipv4. 

Lire la suite...

mercredi 3 août 2011

Asterisk et Asterisk-GUI sous Debian

(sur Debian Squeeze 64 bits)

Installation de Asterisk

  • apt-get install asterisk

Dans /etc/asterisk/manager.conf :

enabled = yes
webenabled = yes

[admin]
secret = adminpw
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config

Et dans /etc/asterisk/http.conf :

enabled=yes
enablestatic=yes
bindaddr=0.0.0.0 (commenter le 127.0.0.1)

Puis en user normal :

  • svn checkout http://svn.digium.com/svn/asterisk-gui/trunk asterisk-gui
  • cd asterisk-gui
  • ./configure
  • make

En root :

  • make install

Petit soucis : les fichiers sont copiés dans /var/lib/asterisk/ alors que l'installation d'Asterisk ous Debian va chercher dans /usr/share/asterisk/.

Heureusement, la solution est trouvable. (Source : http://androus.wordpress.com/2009/12/26/asterisk-gui-2-0-404-url-not-found-fedora/)

  • cp -Rfv /var/lib/asterisk/* /usr/share/asterisk/
  • mv /var/lib/asterisk /var/lib/asterisk_original
  • ln -s /usr/share/asterisk /var/lib/asterisk

Penser à redonner les bons droits :

  • chown -R asterisk:asterisk /usr/share/asterisk

/etc/init.d/asterisk restart et zou :

http://<ip_du_pbx>:8088/static/config/index.html

vendredi 10 décembre 2010

Installation de Kerrighed sous Debian

Installation de Kerrighed 2.4.4 sur un noyau Linux 2.6.26 (version de Debian Lenny)

  • Installer GCC en version 3.4 de préférence, mais ça fonctionne aussi avec la 4.3
  • Installer make et lsb-release
  • Compiler et installer Kerrighed avec la procédure classique :

./configure
make
make install

  • A la fin de la compilation, faire un "ldconfig"
  • Éditer le menu.lst du Grub pour y ajouter le noyau de Kerrighed "linux-image-2.6.20-krg". Au démarrage du noyau, la détection automatique des paramètres du noeud ne semble pas fonctionner. Il faut alors les forcer en ajoutant, toujours dans le menu.lst, les paramètres "session_id" et "node_id".
 title           Debian GNU/Linux, kernel 2.6.20-krg 
 root            (hd0,0) 
 kernel          /boot/vmlinuz-2.6.20-krg root=/dev/sda1 ro session_id=1 node_id=1 
  • Créer le répertoire commun à tous les nœuds :

mkdir /config
Et ajouter le montage au fstab :

configfs /config configfs defaults 0 0
  • Des problèmes de réseau peuvent apparaître si Kerrighed est installé sur une machine virtuelle.

- Sous VirtualBox renommer eth0 en eth1 dans /etc/network/interfaces
- Sous VMware, installer les vmware tools pour avoir le pilote de la carte réseau

Installation de Kerrighed 3.0.0 sur un noyau Linux 2.6.32-amd64 (version 64 bits de Debian Squeeze)

  • Après l'installation, penser à effectuer un "update-grub2" pour pouvoir démarrer sur le noyau Kerrighed