Category: Linux

configurer son aptitude

Par mc, 14 février 2010 22 h 19 min

voila un moment que je tente d’évangeliser aptitude autour de moi et ca n’est pas la première fois que les bras m’en tombent quand la réponse est: « aptitude c’est nul parceque ca installe et deinstalle plein de trucs » ….

sudo cat /etc/apt/apt.conf.d/99local
Apt::Install-Recommends "false";
Aptitude::Delete-Unused "false";

http://algebraicthunk.net/~dburrows/projects/aptitude/doc/fr/ch02s04s05.html

Rsync et vfat

Par matts, 12 janvier 2010 12 h 40 min

Les options qui vont bien pour synchroniser d’ext3 vers vfat :

rsync --modify-window=1 -rtv --delete /data/dir /mnt/

via: http://www.kylev.com/2005/03/29/rsync-and-vfat/

rollback double encoding

Par mc, 28 août 2009 9 h 39 min

i just edited an sql dump to remove the noise left by a double utf8 encoding using vim. when you are in command line and type ctrl+f, you enter in a history buffer (so you can edit your commands with vi behaviors). I copied the history in my .zshrc and have a simple filter to do it again simply, now.

# act as filter, remove the double encoding
rollback_double_encode () { 
    perl -Mutf8 -CSD -pe '
	s/é/é/g;
	s/è/è/g;
	s/ê/ê/g;
	s/î/Î/g;
	s/ô/ô/g;
	s/ç/ç/g;
	s/ï/ï/g;
	s/ë/ë/g;
	s/à/à/g;
    ' "$@"
}

well … i imagine it’s not complete but i don’t know a better solution. any idea ?

die die ubuntu

Par mc, 11 mai 2009 20 h 35 min

en plus d’etre une sacrée chiotte qui ne m’a apporté que des merdes en 10 mois (entre le son, le wifi, la perte de la conf du X, …), je viens de tomber sur un truc super marrant: lors de la mise a jour sous jaunty, ubuntu en a profité pour installer update-motd, un truc qui modifie le motd en permanence pour afficher de la pub pour leur soft de monitoring …

la blague des pages de pub pendant les BSOD deviendra pe une réalité avec ubuntu …

100% groovy

Par mc, 17 avril 2009 12 h 35 min

groovy est un des 3 langages (avec Ocaml et perl) pour lequel le
pleac. Voilà qui permet de se faire rapidement une image de la bête qui ressemble a un mélange de ruby et de java.

A vue de nez: j’ai une large préférence pour ruby mais au moins ca permet de faire des .class sans java et c’est packagé dans debian.

L’avenir n’est donc pas sans concurrence pour parrot: le monde java a ANTLR, une grosse communauté, une nuée de vendeurs aillant déjà prouvé leur éfficacité.

des questions me viennent

- personne n’a pensé a porter des langages pour la vm lua? c’est étrange parcequ’elle affiche des perfs et un footprint qui cassent la barraque …
- quid de .NET? vlc me parlait de « nouveautés démoniaques » dans C#3.0 qui mettait a fond l’accent sur le développement d’agents.

java devenir bien ?

Par mc, 14 avril 2009 9 h 58 min

Tout en vociférant contre le marketing mensonger fait autour de cette techno dans les années 90 (processeurs java en carte fille, grande portabilité et execution plus rapide que le code C++ très bientot, … ), j’ai toujours regardé le monde java en sourriant … plein d’admiration devant les « hello world » de 50 lignes et l’argument fumeux du « mais c’est l’IDE qui génère le code pour toi ».

Dans un récent billet sur la liste des mongeurs, cognominal parle de Dalvik, groovy, et scala.

Pas eu le temps d’explorer mais j’ai vu qq bouts de codes sur les sites en question et Groovy me parait être un langage à surveiller.

debian mirrors health check: le coq est mort

Par mc, 13 mars 2009 10 h 07 min

je ne sais pas comment
Debian Mirror Checker (merci slef pour le lien) fait mais d’apres lui, y’a peu de mirroirs debian potables et pas 1 de bon en France.

Bouncer IRC

Par matts, 26 février 2009 19 h 30 min

Au départ, j’utilisais un client IRC graphique (konversation, pour ne pas le nommer)…

Le problème, c’est que lorsqu’on passe de l’ethernet au wifi, ou inversement, on se fait déconnecter, le serveur ne le remarque pas, on revient sous « pseudo1″ ou « pseudo_ » avant de timeouter sur son pseudo original. Bref, c’est nul.

Après, j’ai utilisé un client en console dans un screen en distant sur une machine toujours reliée au net. Super, plus de déconnexion, mais du coup, on perd les avantages des clients graphiques : plus de notifications sonores ou visuelles. On répond aux messages trois heures après. Bref, c’est nul.

Du coup, je me suis dit : il me faudrait un client IRC « client/serveur », comme pour Soulseek : museekd tourne sur le serveur, et on s’y connecte avec museeq comme interface graphique.

Et bien ça existe ! Ça s’appelle un bouncer IRC, je ne connaissais pas du tout, et c’est exactement ce que je voulais. On se connecte au bouncer qui tourne sur le serveur, qui est lui-même connecté au « vrai » serveur IRC. Du coup, on peut déconnecter son client graphique, quand on revient, le bouncer renvoie tout ce qu’on a manqué ! En plus, on peut utiliser le client graphique qu’on aime le plus…

J’utilise znc, disponible en paquet debian, mais il existe d’autres, comme sbnc, muh, ezbounce, psybnc…

Installer un serveur de cache DNS sur son réseau local

Par matts, 25 février 2009 13 h 19 min

Vous avez sur votre réseau local une machine allumée en permanence ? Pourquoi ne pas en profiter pour accélerer un petit peu votre navigation sur le net en y installant un serveur de cache DNS ?

Le principe est simple : lors d’une requête DNS, c’est le serveur local qui sera interrogé. S’il ne connaît pas la réponse, il ira interroger un autre serveur DNS (qui lui la connaît, ou connaît un autre serveur qui la connaît), et il mettra le résultat en cache. À la prochaine consultation, le serveur local pourra répondre lui-même, ce qui induira un gain de temps !

À noter cependant qu’il s’agit d’un cache mémoire, et que le cache sera perdu en cas de redémarrage du démon bind.

L’installation

L’installation en elle-même est excessivement simple :

aptitude install bind9

Et voilà, vous avez un serveur DNS qui tourne !

La configuration

Les machines clientes :

Il faut ensuite configurer votre serveur DHCP pour qu’il attribue aux machines clientes les serveurs de noms suivants :

1) En serveur primaire, votre serveur DNS (192.168.0.xx)
2) En serveur secondaire, le serveur DNS de votre FAI.

De cette manière, même si votre serveur DNS tombe en rade, vous pourrez toujours aller sur le net, puisque le serveur DNS de votre FAI prendra le relais.

Le serveur DNS :

Nous avons vu dans précédemment que lorsque notre serveur DNS local ne connaît pas la réponse à une requête DNS, il va interroger un autre serveur DNS. Oui, mais lequel ?

En réalité, en l’absence de configuration explicite, notre serveur DNS local va se comporter comme n’importe quel serveur DNS, il va essayer de résoudre le domaine lui-même, en utilisant le mécanisme en cascade des DNS : interroger un serveur racine, qui va renvoyer vers un serveur de plus bas niveau, qui va renvoyer vers un serveur de plus bas niveau, et ainsi de suite… Un certain nombre de requêtes vont être exécutées.

Il y a mieux à faire : lorsqu’il ne connaît pas la réponse à une requête, nous allons demander à notre serveur local, non pas de résoudre le nom lui-même, mais de demander au serveur DNS de notre FAI, qui lui, dispose d’un large cache lui permettant de répondre plus vite qu’une résolution complète.

C’est l’objet de l’option « forwarders », dans /etc/bind/named.conf.options, on décommente l’option, et on lui ajoute les IP des serveurs DNS de notre FAI :

forwarders {
                xxx.xxx.xxx.xxx; // DNS primaire de notre FAI
                xxx.xxx.xxx.xxx; // DNS secondaire de notre FAI
         };

Si on veut s’assurer que notre serveur DNS s’adresse bien au serveur DNS de notre FAI au lieu de faire la résolution lui-même, on peut utiliser tcpdump :

tcpdump src host ip_dns_local and dst host ip_dns_fai and port 53 and udp

On doit y voir les requêtes de notre serveur vers le serveur du FAI lors de la première demande pour un domaine donné.

Les logs

Pour s’assurer du bon fonctionnement de bind, on peut vouloir activer les logs, dans /etc/bind/named.conf :

channel simple_log {
    file "/var/log/named/bind.log" versions 3 size 5m;
    severity info;
    print-time yes;
    print-severity yes;
    print-category yes;
  };
 
 channel query_log {
    file "/var/log/named/query.log" versions 2 size 10m;
    print-time yes;
    severity info;
  };
 
 category default { simple_log; };
 category queries { query_log; };

Dans cet exemple, on crée un fichier de log qui contient les requêtes DNS clientes (query.log, qui aura 2 rotations de 10Mo chacune), et un fichier de log qui contient tout le reste (bind.log, qui aura 3 rotations de 5Mo chacune).

Le monitoring

On peut ensuite vouloir surveiller l’activité de son serveur DNS avec Munin. Il existe deux plugins, bind9 et bind9_rndc, disponibles ici : http://munin.projects.linpro.no/browser/trunk/node/node.d

Le premier trace les demandes des clients, et le second la manière dont elles ont été traitées.

Par contre, bind9, contrairement à son prédécesseur bin8, ne gère pas les statistiques par domaine… On ne peut donc pas se faire un top-10 des domaines demandés.

Il serait également être intéressant de pouvoir grapher le ratio « cache hit / cache miss » (le taux de requêtes auxquelles le serveur répond en puisant dans son cache par rapport à celles pour lesquelles il doit interroger un autre serveur DNS) afin de juger du pourcentage de gain sur le réseau, et donc du degré de pertinence de l’usage d’un serveur DNS local.

Prendre le contrôle d’une session X distante

Par matts, 21 février 2009 11 h 59 min

Bon, peut-être que vous le saviez déjà, mais si ça peut vous éviter, comme moi, de chercher un petit moment comment prendre le contrôle d’une session X existante sur un PC distant, ne cherchez pas du côté de FreeNX, de vncserver ou de tightvncserver, il suffit d’installer et de lancer :

x11vnc


On s’y connecte ensuite avec un client vnc classique. Attention toutefois, par défaut, le serveur tourne sans mot de passe. À n’utiliser que dans un environnement de confiance, donc.

Panorama Theme by Themocracy