Warning: chmod() [function.chmod]: Operation not permitted in /home/about-gnulinux.info/dotclear/inc/clearbricks/common/lib.files.php on line 313

A propos de GNU/Linux

Blog parlant technique au sujet des systèmes libres GNU/Linux.

Afficher toutes les requêtes lancées sur les bases MySQL

Voici une petite astuce bien utile, il est tout à fait possible d'obtenir via des fichiers de logs toutes les requêtes qui ont été lancées sur les bases MySQL. L'astuce se trouve dans le fichier de configuration principal de MySQL, mais elle est par défaut commentée.

Ouvrez donc votre fichier /etc/mysql/my.cnf, puis, décommentez ceci pour voir toutes les requêtes :

log             = /var/log/mysql/mysql.log

Pour voir les requêtes prenant beaucoup de temps pour être totalement executées (les requêtes lentes) :

log_slow_queries        = /var/log/mysql/mysql-slow.log

Par contre, si vous n'en avez pas besoin, n'activez pas, car si vous avez beaucoup de requêtes, vos logs vont être vite lourds.

précédemment

Des commandes bash pures et dures

Je trouve que beaucoup d'utilisateurs de bash ne connaissent pas certaines astuces utiles liées à des commandes usuelles, parce qu'elles ne sont pas assez mises en avant dans les documentations. Nous allons donc voir ici quelques commandes/astuces bash que tout le monde ne connait pas.

Les expressions : utlisation de "?" :

  • Afficher tous les répertoires/fichiers comportant un seul caractère après le point :
ls *.? # ajoutez autant de "?" que vous souhaitez (??? pour trois caractères)
  • Afficher tous les répertoires/fichiers comportant 5 caractères :
ls ? # adaptez le nombre de "?"
  • Afficher tous les fichiers/répertoires dont le nom débute par "a" ou "b" :
ls [ab]* # vous pouvez remplacer les lettres, et même en ajouter/supprimer

Redirections :

  • Rediriger les erreurs renvoyées par une commande :
macommande 2> erreur.file # vous pouvez faire 2>> pour ne pas écraser le erreur.file si il existe
  • Rediriger les erreurs renvoyées par une commande vers "nul part" :
macommande 2> /dev/null
  • Rediriger le résultat d'une commande dans un fichier qui n'existe pas :
 ls | tee my_file

ou

 ls > my_file
  • Rediriger le résultat d'une commande dans un fichier qui existe (on veut concaténer) :
 ls | tee -a my_file

ou

 ls >> my_file
  • Rediriger le résultat de plusieurs commandes dans un fichier, en restant dans le shell courant :
(cd /root/ ; pwd ; ls) > file
  • Rediriger le résultat de plusieurs commandes dans un fichier, en allant dans /root :
{ cd /root/ ; pwd ; ls ;} > file

Voilà globalement des astuces bien utiles mais trop peu utilisées !

Logiciels de surveillance

Quelques noms de logiciels pour surveiller votre serveur :

  • munin (graphiques) ;
  • cacti ;
  • monit : surveillance ;
  • vnstat(-gui) : quantité de données passant par votre interfaces réseaux
  • mailgraph : graphiques qui donnent des stats sur les emails ;
  • nagios : surveillance complète ;
  • pflogsumm : surveillance des mails ;
  • smartctl : surveillance de vos disques dur ;
  • logwatch

Debian et le wifi

Je vais vous expliquer ici comment installer et utiliser une clé wifi sous debian. L'installation en elle-même n'est pas très compliquée, mais il y a quelques problèmes qui peuvent arriver.

Tout d'abord, il faut installer les bonnes applications, dont wireless-tools et les bons pilotes. Pour ma part, il me faut le pilote rt73, pour l'installer et le charger (via modprobe), j'ai suivi cette documentation.

Vous devez chercher par vous-même quel pilote vous devez installer en fonction de votre clé wifi (c'est presque du cas par cas).

Donc voici le cas étudié : vous avez un réseau wifi nommé "mynetwork" accessible avec une clé WEP (12345). Votre clé wifi a pour nom wlan1 (cela peut être wlan0).

I - Utilisation

Donc après avoir chargé le pilote (le votre) :

 modprobe rt73 #remplacer rt73

Ensuite, il faut se connecter au réseau :

 iwconfig wlan1 essid mynetwork

Il faut ensuite entrer la clé WEP (si il n'y aucune clé wep, passez cette étape)

 iwconfig wlan1 key 12345

Nous allons ensuite nous attributer une IP statique (pour une IP via DHCP, faites dhclient wlan1) :

 ifconfig wlan1 192.168.1.18

Puis (dans mon cas j'ai eu des soucis de route), on peut indiquer la route vers le routeur (ou le point wifi) :

 route add default gw 192.168.1.1 wlan1

Puis il faut se réattribuer l'IP statique :

 ifconfig wlan1 192.168.1.18

Nous verrons plus tard comment automatiser toute cette procédure.

II - Problèmes rencontrés :

Si vous passez entièrement par la ligne de commande, alors je vous déconseille d'avoir network-manager installé ! Il peut être la source de problèmes. Avec wpa_supplicant par exemple.

Si vous n'arrivez pas à utiliser votre clé wifi, assurez-vous que dans le iwconfig wlan1, il n'y ait pas de "Not Associated", si tel est le cas alors faites-ci :

 iwconfig wlan1 ap any

Si vous obtenez un débit lent, plusieurs choses peuvent être en causes : signal trop faible, bit rate trop bas (faites un iwconfig pour voir de combien il est), qualité de réception mauvaise, etc. Essayez tout d'abord de rapprocher le plus proche possible l'AP sur lequel vous vous connectez, puis si ça ne fonctionne toujours pas, c'est soit le driver (cas rare), soit un problème de configuration !

III - Quelques commandes :

Voir les réseaux wifi disponibles :

 iwlist scan

Voir si la clé wifi USB est reconnue par le système :

 lsusb

N'oubliez pas de mettre les bons paramètres concernant le nom du périphérique (wlan*), la bonne IP du routeur ou encore la bonne clé WEP ! Chaque réseau posséde sa propre configuration.

Ce billet résume beaucoup mais permet une utilisation basique de sa clé.

/dev/snd/* device or resource busy ?

Il est parfois possible de na pas pouvoir lançer son lecteur multimédia préfèré à cause de ce message d'erreur :

open /dev/snd/pcmC0D0p failed: Device or resource busy

Ce message signifie qu'une autre application utilise déjà ce périphérique (celui audio) et qu'il n'est pas possible à ce moment que plusieurs applications l'utilisent (c'est généralement le cas et ca fonctionen très bien, mais je ne sais pas pourquoi dans certains cas on ne peut pas partager le périphérique...).

Il faut alors le libérer pour pouvoir lançer son lecteur multimédia préfèré, tout d'abord regardons quelle(s) application(s) utilisent le périphérique en question (tout est à faire en root) :

lsof | grep snd

Le lsof et le grep devraient renvoyer quelque chose ressemblant à ceci :

pulseaudi 5421    user  mem       REG        8,1    396264     229523 /usr/lib/libsndfile.so.1.0.20
pulseaudi 5421    user  21u      CHR      116,0       0t0      13851 /dev/snd/controlC0
pulseaudi 5421    user   27u      CHR      116,0       0t0      13851 /dev/snd/controlC0
gconf-hel 5438    user mem       REG        8,1    396264     229523 /usr/lib/libsndfile.so.1.0.20
mixer_app 5446    user   21r      CHR      116,0       0t0      13851 /dev/snd/controlC0
firefox-b 5840    user  mem       CHR     116,16                13808 /dev/snd/pcmC0D0p
firefox-b 5840    user   85r      CHR     116,33       0t0      13733 /dev/snd/timer
firefox-b 5840    user   86u      CHR     116,16       0t0      13808 /dev/snd/pcmC0D0p

Maintenant, il faut analyser tout ca :

  • pulseaudio : le serveur audio (obligatoire), je cite :

"Il vous permet de procéder à des opérations avancées sur le son en s'intercalant entre la couche logicielle et la couche matérielle."

Source : ubuntu-fr

  • gconf : éditeur de configuration de votre fichier ~/.gconf ;
  • mixer_app : ca, c'est le controleur de volume du son de votre système sous Gnome (il n'est pas obligatoire) ;
  • firefox : dans mon cas, c'est mon navigateur web.

Nous allons tout d'abord régler le bug (c'est un bug !) en "tuant" pulseaudio et mixer_app, et il faut relancer pulseaudio (mixer_app doit se relancer quand vous le killez et toujours en root) :

kill 5446 # (5446 est le pid du processus mixer_app)
kill 5421 # (pour pulseaudio)

Relancons pulseaudio :

/etc/init.d/pulsaudio start

Maintenant, retentez mplayer (ou un autre lecteur), si ca ne fonctionne toujours pas, "tuez" (kill) tous les processus que "lsof | grep snd" vous sort, c'est un peu bourrin, mais ca fonctionne et relancez-le si il le faut.

Attention : le problème s'est produit sous debian, donc certains outils sont spécifiques à la distribution !