• Note: La version francaise de ce site est tres peu a jour et contient beaucoup de fautes d'orthographe. Vous pouvez acceder a la version anglaise via le lien en haut a droite.

Résumé de toutes les pages...

Sauve Mes VMs

Publié par manu
Mise à jour

Les machines virtuelles c'est bien, en abuser c'est mieux... . les sauvegarder, c'est utile. Alors un jour j'ai décidé de me priver du plaisir de tout faire à la main et j'ai écrit un petit script tout con pour m'ôter toute la joie des tâches ménagères.

Prends le, casse le, répare le, distribue le, fourche le (ça sonne moins bien en français tiens). Juste ne le revendez pas sinon malheur à ton serveur et a tout ses sous machines et ce durant 8 générations...

Mise a jour: Une nouvelle version de ce script est disponible, il utilise rsync, ce qui permet d'optimiser bien des choses et de gagner pas mal de temps du coup.

Téléchargement directe ("t'as vu"): Save My VMs v.0.2

#!/bin/bash # save_my_vms.sh - Backup script for xen virtual machines that use LVM # Version 0.2 # (c) 2011 Emmanuel Revah - manu-at-manurevah.com # This script makes snapshots of Xen virtual machines, mounts them # and then copies their content to a backup directory on Dom0 # You should test this script before using it, as always. # I WILL NOT BE RESPONSIBLE FOR ANY OF YOUR FUTURE MISFORTUNES. # This is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # save_my_vms.sh is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with save_my_vms.sh. If not, see <http://www.gnu.org/licenses/>. ################## # General config # ################## # LVM group to use (later on in life might be added to per VM setting) LVGRP="vga" # global backup dir BACKUPDIR="/home/backups" # default number of copies the backup should reatain DEFAULT_COPIES="3" # default size of LVM snapshots, unless your systems read/write like crazy 10G should be more than enough SNAPSHOTSIZE="10G" ############### # VMs to save # ############### # VMs settings (the important stuff): # # - The configuration of VMs to backup uses arrays, so each VM should have a unique # ID (that would be the number in the square brackets). # - VM:is the name you want to use to refer to the VM, it will become the name of the directory # in which its backups are stored. Don't use spaces and other weird stuff, unless you like breakage. # - LVMS: are the names of the LVM partitions associated with the VM. These should be # in /dev/$LVGRP/. You can add as many LVM partitions that should be backed up. # Values should be space separated. # - COPIES: the amount of copies to keep. Every time you run the script a new copy is made. # # example: # VM[2]="name_of_vm" # LVMS[2]="vm-part1 vm-part2" # COPIES[2]="3" # optional, uses default value of DEFAULT_COPIES if undefined ############### # Mail config # ############### TO="wtbackup@example.com" FROM="root@example.com" MAILDATE=$(date +%Y-%m-%d_%H:%M:%S) SUBJECT="VM Backup ${MAILDATE} on `hostname -f`" SENDMAIL="/usr/lib/sendmail -t" XMAILER="Save my VMs" ### End of config ### EMAIL="Save my VMs has (hopefully) done the following (correctly):" # This is where things actually happen # for each VM for INDEX in ${!VM[*]}; do echo -e "\nVM: ${VM[$INDEX]}\t\tID: ${INDEX}" echo "LVMS: ${LVMS[$INDEX]}" EMAIL+="\n\n\n--> ${VM[$INDEX]} backup start: `date +%H:%M:%S`\n" # New report for each VM REPORT="Backup report for ${VM[$INDEX]} using 'save_my_ms.sh' on `date +%Y-%m-%d_%H:%M:%S`:" REPORT+="\n\n-> backup start: `date +%H:%M:%S`\n" # define retention if [[ ${COPIES[$INDEX]} -gt 0 ]]; then RETENTION=${COPIES[$INDEX]} else RETENTION=$DEFAULT_COPIES fi echo "Keep $RETENTION copies" # Move backups - Copy backups from previous... .. I mean.. . BACKUP_NUMBER=$RETENTION while [[ ${BACKUP_NUMBER} -gt 0 ]]; do BACKUP_PREV_NUMBER=`expr ${BACKUP_NUMBER} - 1` mkdir -p ${BACKUPDIR}/${VM[$INDEX]}/backup_${BACKUP_NUMBER}/ rsync -avu --delete ${BACKUPDIR}/${VM[$INDEX]}/backup_${BACKUP_PREV_NUMBER}/ ${BACKUPDIR}/${VM[$INDEX]}/backup_${BACKUP_NUMBER}/ BACKUP_NUMBER=`expr ${BACKUP_NUMBER} - 1` done # Create a TMP dir for this VM VMTMPDIR="${BACKUPDIR}/${VM[$INDEX]}/TMP" # For each LVM for LVM in ${LVMS[$INDEX]}; do DATE=$(date +%Y-%m-%d_%H-%M-%S) echo -e "\n --> Backup $LVM date: ${DATE}.. ." EMAIL+="\n\t$LVM: `date +%H:%M:%S` start" REPORT+="\n\t$LVM: `date +%H:%M:%S` start" # create lvm snapshot TMPLVM="${VM[$INDEX]}-${LVM}-BACKUP" lvcreate -L${SNAPSHOTSIZE} -s -n ${TMPLVM} /dev/${LVGRP}/${LVM} # create tmp dir to mount snapshot TMPDIR="${VMTMPDIR}/${LVM}" mkdir -p ${TMPDIR} mount /dev/${LVGRP}/${TMPLVM} ${TMPDIR} # create backup dir and copy data LVMBACKUPDIR="${BACKUPDIR}/${VM[$INDEX]}/backup_0/${LVM}" mkdir -p ${LVMBACKUPDIR} ionice -c 3 rsync -avu --delete ${TMPDIR}/ ${LVMBACKUPDIR}/ # umount and remove tmp dir and snapshot umount ${TMPDIR} rmdir ${TMPDIR} lvremove -f /dev/${LVGRP}/${TMPLVM} echo -e " . ..Backup $LVM done <--\n" EMAIL+="\n\t$LVM: `date +%H:%M:%S` done\n" REPORT+="\n\t$LVM: `date +%H:%M:%S` done\n" done # Remove TMP dir rmdir ${VMTMPDIR} EMAIL+="\n${VM[$INDEX]} backup done: `date +%H:%M:%S` <-" REPORT+="\n${VM[$INDEX]} -> backup done: `date +%H:%M:%S`" # Post report (per VM) echo -e "${REPORT}" > ${BACKUPDIR}/${VM[$INDEX]}/backup_0/Backup_report done # Send email echo -e "From: $FROM\nTo: $TO\nReply-To: $FROM\nSubject: $SUBJECT\nX-Mailer: $XMAILER\n$EMAIL" |$SENDMAIL exit

Createur de fichiers aleatoire

Publié par manu

Si vous avez déjà eu besoin d’écrire une quantité précise de fichiers avec du contenu aléatoire et de taille aléatoire (mais dans une marge précise) le tout contenu dans un nombre précis de répertoires alors ce script pourra peut être vous aider.

Cela dit, si vous êtes du genre a prendre plaisir a résoudre de énigmes faciles sachez que ce truc est vraiment facile a faire, alors pourquoi pas essayer avant de regarder comment j'ai fait... Vous trouverez peut être un moyen plus sympa ou varié.

#!/bin/bash # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE # Version 2, December 2004 # # Copyright (C) 2011 Emmanuel Revah <manu@manurevah.com> # # Everyone is permitted to copy and distribute verbatim or modified # copies of this license document, and changing it is allowed as long # as the name is changed. # # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE # TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION # # 0. You just DO WHAT THE FUCK YOU WANT TO. ##### Config (uration) ##### # QTY of files to create QTY=1000000 # Where to create new files ? OUTPUT="/home/herebefiles" # Min and Max size per file in kB MIN=1 MAX=10 # Max number of directories to create MAXDIR=500 ############## END CONFIG ############# # Correct MIN and MAX and check MAX=`expr $MAX - $MIN + 1` if [[ ${MAX} < 0 ]]; then echo "ERROR: MAX is lower than MIN, and vice versa." exit fi for i in $(seq 1 $QTY); do echo "File number -> $i" DDCOUNT=$[ ( $RANDOM % $MAX ) + $MIN ] DIR=$[ ( $RANDOM % $MAXDIR ) + 1 ] # uncomment and use "$OUTPUT/$DIR/${i}_$FILENAME" to avoid rewriting over previous random files #FILENAME=`head -n1 /dev/urandom | md5sum| awk {'print $1'}` if [ ! -d $OUTPUT/$DIR ]; then mkdir -p $OUTPUT/$DIR fi dd bs=1024 count=$DDCOUNT skip=0 if=/dev/urandom of=$OUTPUT/$DIR/${i} 2> /dev/null done

Logos

Publié par manu

Quelques vieux logos que j'ai fait pour moi et/ou moi meme

Shtooka

Logo pour le projet Shtooka. Shtooka a pour but principal de constituer des collections audio libres de mots et d'expressions dans différentes langues grâce à l'enregistrement de locuteurs natifs.

Toile Libre

Toile Libre est une association qui propose des services d'hébergement internet à prix libre, en utilisant les technologies et logiciels libres..

DISS - Debian Install Server Scripts

DISS - Debian Install Server Scripts est une sorte de panneau d'administration pour faciliter l'installation et la maintenance d'un server Debian (GPL of course)

Loozah

Loozah's unite... .. .(c'est une vieille histoire)

JLN

JLN - Logo pour une marque de chaussures.

À propos de ce site

Publié par manu

cette page n'est pas encore traduite)

This website is produced by myself. This means that all photos, texts, server administration, coding, drawings and other stuffs have been created and/or written and/or done by myself (unless specifically mentioned).

Softwares and Technologies

The content management system (Php/MySQL) as well as the markup (HTML5/CSS) has been developed by myself as well using a work in progress CMS called "Blah CMS". The softwares/languages/technologies used to create this whole mess are:

  • Vim
  • Php
  • MySQL
  • HTML
  • CSS
  • Inkscape
  • Gimp
  • KColorChoser
  • Apache
  • Subversion
  • Firebug
  • Debian GNU/Linux

I have used some other stuff in the past like Flash, Illustrator and Photoshop, but those days are over, if it's not Free Software then I wont use it.

Javascript

So far there is no Javascript on this site. Javascript isn't a bad thing, however I would only use it in a case where it were impossible to do what I need with the above mentioned stuff. As well Javascript should only enhance a website. Many websites are arguable broken as they require Javascript for the even the most basic things such as displaying a menu or even the main content.

About Comment Moderation

In order to comment on most sites you will have to sign up for an account and/or decipher some unreadable words and/or prove you have very basic math skills. Some even delegate their comment moderation to 3rd parties. All these methods may prevent spam comments but they also prevent legitimate comments.

I regret the days when it was easy to just post a comment. I've made sure that here you do not need to sign up or even have a valid email address. All I ask is that you provide a name, email address that seems valid and a message.

I've also implemented Gravatar in a way that doesn't compromise your email hash, and also made it a non-default option.

Encrypted Version

This site is available encrypted using a self signed certificate. Actually I have signed it using my own CA. Should you want to use the encrypted version simply add an 's' to http, if you want you may also install my root CA, but only do that if you really trust me not enough, like almost every browser trusts Comodo over and over again.

Please note you should verify the fingerprint against the DNS TXT record for, for the certificate on manurevah.com: dig manurevah.com TXT +trace For the actual root certificate dig ca.manurevah.com TXT +trace This will let you confirm that the certificate you have is the one I issued, which should mean that the communication is secured/private.

For more information on this SSL thing read this.

Debian Lenny sur Aspire One

Publié par manu
Mise à jour
Ce document n'est pas encore traduit en français, ça viendra, dsl.

This page is complementary to the Debian Wiki page dedicated to this machine.. so here are some things that are not (yet) on that page and are maybe a tiny bit off topic (kde related) etc.. I might add some of it, if i don't, whoever maintains that page can of course copy content from here to there.

Basically you can just go install Debian as usual, maybe chose Ext2 filesystem, and also i tend to always uncheck all the boxes when it comes to installing base software (Desktop, Web server Dns server etc), this is especially useful on this computer as it only has an 8Gb hard drive.. plus saving space is environment friendly, less downloading (install and upgrades) means less power... . . :] of course if you do so you will have to manually install everything even xorg, so do what you feel like doing.

Card reader

First thing, after installing Debian (with ext2 filesystem why not), you might want to rid the SD slots of any SD cards if any are inserted, if not you might experience some problems booting into your "new" system.. . After that you can safely follow the wiki instructions and the two slots should be working fine..

Wireless

using the standard debian kernel - 2.6.26-1-686

First thing, I have never been able to get the Madwifi package to compile on either Debian or Ubuntu, HOWEVER, the Madwifi-hal works perfectly, so this is what i do (there could be a more recent version available from the page http://snapshots.madwifi-project.org/)

apt-get install build-essential linux-headers-2.6.26-1-686 wireless-tools cd /usr/src/ wget http://snapshots.madwifi-project.org/madwifi-hal-0.10.5.6-current.tar.gz tar zxvf madwifi-hal-0.10.5.6-current.tar.gz cd madwifi-hal-0.10.5.6-r3879-20081204/ make make install madwifi-unload modprobe ath_pci

That should work, meaning iwlist ath0 scan should give you results (given there is a signal somewhere near.. If it doesn't then just reboot, just don't tell anyone you did that.

It's said that network-manager (Gnome and Kde have a front end to that, just add a "g" or a "k"...) doesn't really work so good with this madwifi-hal thing.. . I can somewhat confirm. I installed Wicd as stated on the Debian Wiki page and that works not too bad however sometime i'd still need to reload the drivers for it to work.. so that's almost the same

madwifi-unload && modprobe ath_pci

However, i still prefer knetworkmanager for some weird reason and so i tried figuring out what the hec could be done on my level. .. . i could manually do (as root):

/etc/init.d/network-manager stop madwifi_unload modeprobe ath_pci /etc/init.d/network-manager restart

to automate those commands on resume edit a new file in /usr/lib/pm-utils/sleep.d, call it something starting with the number 96 for example: 96mynetworkfixer (the following could work with Wicd also (please adapt it though). :

#!/bin/sh . "${PM_FUNCTIONS}" unload_stuff() { # add anything else you might logger "96mynetworkfixer suspend" } reload_stuff() { # restart network-manager and reload madwifi stuff logger "reload_start madwifi sleep.d/96mynetworkfixer" /etc/init.d/network-manager stop /usr/local/bin/madwifi-unload modprobe ath_pci /etc/init.d/network-manager start } case "$1" in hibernate|suspend) unload_stuff ;; thaw|resume) reload_stuff ;; *) exit $NA ;; esac

Now that sould be better (now that I corrected the path to /usr/local/bin/madwifi-unload... ahem..

If you want the whole Wifi led thing go for it (debian wiki page again), i tried it, it works, and then i didn't add it to startup because i don't want to..

using a more recent kernel like 2.6.31.3 o/ (free wireless drivers and more)

I'm not sure since which kernel life has changed for the little bugger (that being ath4k) but after having some issues with the SSD disk I wondered if that could be solved by better kernel support. I noticed after compiling a new kernel that the wireless card works right out of the box. Here is my .config file if you want a starting point (i'm sure this can be optimized even more), it has all you need to make the computer work

config-hal-0.3

What the Cpufreq

The wiki says that it should work out of the box, and it does. ... well you might just need to activate the correct modules though, i like using modconf, but if you want you can just add to /etc/modules:

acpi-cpufreq cpufreq_powersave cpufreq_ondemand

if you only added this to the file you will need to reboot OR load each module for now via modprobe like this :

modprobe acpi-cpufreq modprobe cpufreq_ondemand modprobe cpufreq_powersave

Suspend to RAM

So now everything is starting to totally rule.. but still not there yet, suspend to RAM (and and Disk) might not work and that would most probably just be because your user is not in the powerdev group so you could do:

adduser USER powerdev

Now even the "Fn + Z" button should work just as the kpowersave menu works, if you running something other than KDE than maybe there is either just a keybinding issue or command problem. You can manually test the suspend function with the following (as root):

s2ram -f -a 3

If this works then you just need to figure out a way to execute that more conveniently.. otherwise you might have to RTFM s2ram a bit (but normally we have the same computer so this should work).

Another thing, maybe we can reduce the size of the image for quicker "stuff"... try:

echo 0 > /sys/power/image_size

if that works than just add it to the end of a bootup script somewhere. I personally prefer adding my own bootup script in which I add all my little things, for one all is gathered in the same place, and it also makes upgrading less hectic.. imho. I will put en example script at the end of this document that gathers all the little tweaks and such.

Disk optimisations

Here are a few things that can help reduce writing data on the slow SSD memory. First dissuade the system from using swap and then something about inodes and stuff :

echo 1 > /proc/sys/vm/swappiness echo 50 > /proc/sys/vm/vfs_cache_pressure

for these settings to take place on bootup you can either add this to the "common tweaks script" or edit /etc/sysctl.conf and add :

vm.swappiness = 10 vm.vfs_cache_pressure = 50

Now a piece of software thats nice to know is powertop, you probably guessed what it does, anyway it showed a few things of interest like :

echo 1500 > /proc/sys/vm/dirty_writeback_centisecs

this tells the system to bother the disk a bit less often than the usual.. same as the above this can be added to /etc/sysctl.conf (or later on in a boot script):

vm.dirty_writeback_centisecs = 15000

More optimizations via Grub

The elevator=noop option will optimize access to the disk as the function of an elevator is more relevant when using one classic disk drive and not an SSD, read more here. We can also use a more precise clock, hpet (read here) can save us some time and battery.

for this edit /boot/grub/menu.lst and modify the kernel line as follows :

title Debian GNU/Linux, kernel 2.6.26-1-686 root (hd0,1) kernel /boot/vmlinuz-2.6.26-1-686 root=/dev/sda2 ro quiet clocksource=hpet elevator=noop initrd /boot/initrd.img-2.6.26-1-686

For this to take effect upon kernel upgrades make the line

# defoptions=quiet

look like this :

# defoptions=quiet elevator=noop clocksource=hpet

Function Keys - with KDE

It seems for me the function keys work except the volume keys.. .hmm, what to do.. well, the following is more fun than tricky.. :]

first thing is use xev to see what the keycode is, of course i could just tell you (and i will) but if you want to do this for an other key you will know how to do it, open KDE and then open a terminal (Konsole). Type xev.. you should have a small window called Event Tester, in the terminal you will see a whole bunch of stuff, for every input event there should be some info up there, it's a bit "weird".. anyway, for "Fn + (sound up)" you should see among the waterfall of crap that comes up "keycode 176" and then "NoSymbol". This means that the key is not mapped (or something along that line).

HINT:

the keys we are looking for are; Sound (up, down, mute) and their keycodes are respectively: 176, 174 and 160 so now write the file (as user): ~/.xmodmaprc with inside:

keycode 160 = XF86AudioMute keycode 174 = XF86AudioLowerVolume keycode 176 = XF86AudioRaiseVolume

to use this config type:

xmodmap ~/.xmodmaprc

to get this to start automatically on startup edit a new file in .kde/Autostart, call it whatever you want, i call it my_xmodmap so vi ~/.kde/Autostart/my_xmodmap and inside it put:

#!/bin/sh xmodmap ~/.xmodmaprc

and then:

chmod +x ~/.kde/Autostart/my_xmodmap

Now that's done, all you need to do is use kmenuedit to add a Sub Menu with a few entries. I called my Sub Menu .keyboard, with a "dot" as prefix so that this menu does not show up in the Kmenu.

Then add a New Item as follows:

  • Name: sound_up
  • Command: amixer set Master 6db+
  • Uncheck "Enable launch feedback"
  • define shortcut: press "Fn + Volume Up" (it should show "XF86AudioRaiseVolume")

I use the command amixer to control the sound (part of alsa-utils package => apt-get install alsa-utils) you can use whatever you want of course. Another thing, I put here 6db+, you can increment by however many decibels you want.

Add another new item for sound_down as follows

  • Name: sound_down
  • Command: amixer set Master 6db-
  • Uncheck "Enable launch feedback"
  • define shortcut: press "Fn + Volume Down" (it should show "XF86AudioLowerVolume")

AND, last but certainly not least, add a new item for Mute/UnMute

  • Name: mute
  • Command: if amixer get Master|grep off; then amixer set Master unmute; else amixer set Master mute; fi
  • Uncheck "Enable launch feedback"
  • define shortcut: press "Fn + Mute" (it should show "XF86AudioMute")

Trickle

Publié par manu

Trickle est un programme qui sert a modeler la bande passant du traffic réseau. Je le trouve plutot utile lorsque je souhaite télécharger des données lourdes vers l'exterieur sans que cela mange toute ma bande passante.

J'ai tenté d'utiliser trickled avec tricked.conf mais j'ai eu l'impresionne que c'était un peu inutile, c'est supposé gerer des priorités lors des accès aux ressources réseau selon le programme. J'ai reglé ssh sur la plus haute priorité et ncftp sur la priorité la plus basse, cependant cela ne changais rien pour moi et donc la connection ssh était un peu comme un steack, haché (pour ne pas dire autre chose). J'ai du ma faire quelque chose.. . : ] (liens, explications etc bienvenue).

En tout cas en utilisant trickle en tant qu'utilisateur avec quelque chose comme "trickle [bandwidth]option programme" cela fonctionne largement bien pour moi.. . .

Example d'utilisation

Prenons un cas simple, j'utilise ssh, je veux aussi émmettre des fichiers lourds via ncftp. Ncftp utilise trop le peu de bande passante qui m'est disponible. Je n'ai pas de routeur classieu avec QoS etc. Que faire donc ?? D'abord, quelle est la bande passante totale disponible ? En émmetant normalement avec ncftp je remarque que la vitesse se tasse autour de 90Ko/s du coup je peux me dire qu'en le limitant a 60Ko/s il me restera assez d'espace réseau pour faire du ssh confortablement et même un peu de http.

Du coup il ne me reste qu'a lancé ncftp dans une enveloppe "trickle" a lui dire d'emmetre a 60Ko/s maximum :

trickle -u 60 ncftp -u utilisateur hôte

On peut aussi limiter en réception via l'option -d qui fonctionne de la même manière, bien entendu on peut combiner l'utilisation des deux options

Limitations

Ce programme sert a placer des limites, mais il est lui même aussi limité (un peu) :

  • Il ne peut uniquement géré le protocol TCP. Cela veut dire qu'il ne pourr rien faire avec les connexion UDP.
  • Il doit utiliser la couche libc, pour voir si votre programme s'en sert, vous pouvez faire : ldd /usr/bin/ncftp|grep libc il devrait retourner : libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7e0c000)

remplacer un disque

Publié par manu

L'idée : copier l'intégral d'un disque dur A sur un disque B dans le but de remplacer le disque A. causes possibles:

  • Disque A est vieux ou "presque" cassé (voir smartmontools)
  • Disque A est plein, on veut le remplacer par un disque plus grand.
  • Déménagement
  • Envie de répliquer un système

Ce qu'il nous faut :

  • un pc
  • un disque A - a remplacer
  • un disque B - le remplaçant
  • un CD d'install Debian (un netinst suffirait) ou autre liveCD (le but sera juste d'avoir un shell)

ce qu'il faut faire :

  • brancher le disque nouveau sur le pc en "sda" (ou hda), et le vieux (actuel) en "sdb" (ou hdb)
  • dans l'exemple on aura :

    • sda - nouveau 320Go
    • sdb - vieux - 80Go
      • sdb1 10Go ext3
      • sdb2 1Go swap
      • sdb3 69Go ext3

Démarrage sur le CD d'install Debian, partitionnement et formatage

Bootez sur le cd d'install Debian et choisissez juste les premières options, concernant le clavier surtout (ne pas faire l'étape de partitionnement). Ensuite prendre un terminal en appuyant sur alt - F2. Si vous avez déjà partitionné votre disque nouveau, tant mieux pour vous :] sinon il va falloir partitionner en ayant a l'esprit qu'il faudra que sda1 soit de la même taille ou plus grand que sdb1 (ou alors qu'il soit juste suffisamment grand pour contenir le contenu de sdb1), pareil pour sda3. Pour la swap, sda2, on peut faire ce que l'on veut. On peut ce faire avec fdisk en ayant booté sur le cd Debian. Je ne détaille pas l'utilisation de fdisk dans ce tuto, si besoin vous pouvez faire une demande de "tuto fdisk". Créez donc les partitions. Pour le formatage, j'utilise ext3 avec la commande qui suit (si vous décidez de changer de type système de fichiers au passage du changement de disque alors pensez a modifier le nouveau fstab en fonction).

mke2fs -j /dev/sda1 mke2fs -j /dev/sda3

Copie de données

On peut tout simplement utiliser cp pour copier les données en utilisant l'option "-a" qui équivaut a "-dpR" ce qui veut dire :

  • -d identique à --no-dereference --preserve=link
  • -p identique à --preserve=mode,ownership,timestamps
  • -R, -r, --recursive

Montons les deux disques comme suit :

cd /mnt mkdir sda1 sdb1 sda3 sdb3 mount /dev/sda1 /mnt/sda1 mount /dev/sdb1 /mnt/sdb1 mount /dev/sda3 /mnt/sda3 mount /dev/sdb3 /mnt/sdb3

et la copie supra simple mais qui peut être longue :

cp -a /mnt/sdb1/* /mnt/sda1/ cp -a /mnt/sdb3/* /mnt/sda3/

Ensuite, initialisation de la partition swap

mkswap /dev/sda2

Et enfin, installer grub (ou lilo) sur la MBR

chroot /mnt/sda1 grub-install # ou 'lilo' halt

Bien, la machine est a l'arrêt, vous pouvez maintenant enlever le "vieux" disque dur et peut être même virer le cd hein .. :] et paf vous pouvez maintenant booter sur le vieux système avec tout qui va bien, mais sur un "nouveau" disque... .. . euh, a condition que tout s'est bien passé.. :]

Et après

Veuillez recycler vos anciens équipements, mais avant, pour votre plus grand confort, detruisez les données sur vos vieux disques avant de les jeter, voir cet article

Smart tools - S.M.A.R.T.

Publié par manu

Smart est un système pour connaître l'état de santé d'un disque dur, plus d'info sur la wikipedia. En résumé c'est bien pratique pour surveiller ses disques

Ce qu'il faut

  • un disque dur (avec un ordinateur autour c'est mieux)
  • smartmontools - le package avec les outils "smart"
  • apt-get install smartmontools

Le support S.M.A.R.T.

Il faut d'abord voir si S.M.A.R.T. est supporté et voir s'il est activé, pour cela.. .

sur un disque IDE :

smartctl -i /dev/hda

sur un disque SATA :

smartctl -i -d ata /dev/sda

Il est évident que hda et sda doivent être adapté au disque que l'on souhaite vérifier

cela donnera quelque chose comme :

[root@weetabix][~-11:11] smartctl -i -d ata /dev/sda smartctl version 5.36 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF INFORMATION SECTION === Device Model: ST3160812AS Serial Number: 5LS49ZE1 Firmware Version: 3.AAE User Capacity: 160 041 885 696 bytes Device is: Not in smartctl database [for details use: -P showall] ATA Version is: 7 ATA Standard is: Exact ATA specification draft version not indicated Local Time is: Tue Apr 15 11:11:47 2008 CEST SMART support is: Available - device has SMART capability. SMART support is: Enabled

Si la ligne SMART support is: Disabled apparaît a la place de SMART support is: Enabled alors il faudra l'activer, cela a condition de voir la ligne SMART support is: Available - device has SMART capability..Pour activer le support smart :

smartctl -s on /dev/hda

ou sur un disque SATA faire :

smartctl -s on -d ata /dev/sda

Faire des tests

Avec l'option -H on peut connaître l'état de santé du disque. Cette information est basé sur des tests que vous pouvez faire manuellement (offline) ainsi que les tests que fait le disque tout seul lorsque SMART est activé (online) via l'option -s :

smartctl -H /dev/hda

ou sur un disque SATA

smartctl -H -d ata /dev/sda

Le résultat devrais indiquer :

SMART overall-health self-assessment test result: PASSED

Si ce n'est pas le cas, il faut faire une sauvegarde et s'inquiéter un peu, il est probable que le disque soit très proche de la fin.

Faire un petit test

Ce test va vérifier les performances électriques et mécaniques ainsi que les performances de lecture du disque dur

smartctl -t short /dev/hda

sur un disque SATA

smartctl -t short -d ata /dev/sda

S'affichera un message qui indique quand le test sera fini, en général le test dure dans les 2 minutes, pour avoir les résultats il faut faire :

smartctl -l selftest /dev/hda

sur un disque SATA

smartctl -l selftest -d ata /dev/sda

On pourrait voir ceci :

=== START OF READ SMART DATA SECTION === SMART Self-test log structure revision number 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Short offline Completed without error 00% 7022 -

ou alors un truc beaucoup moins bien ce serait

=== START OF READ SMART DATA SECTION === SMART Self-test log structure revision number 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Short offline Completed: read failure 60% 18222 44603135

Faire un test plus complet

Ce test est comme la version courte mais "on" y passe plus de temps donc c'est plus.. . . comme dire.. . c'est "plus" quoi

smartctl -t long /dev/sda

sur un disque SATA

smartctl -d ata -t long /dev/sda

Ce test est bien plus long, sur un disque SATA (ou non SATA) de 40Go il dure 17 minutes, dans mon cas. Pour voir le résultat c'est la même chose que pour le test court, d'ailleurs sera indiqué les résultats des tests précédants aussi (même ceux d'il y a 6 mois).

Pour un disque en santé correcte on verra un truc du genre :

=== START OF READ SMART DATA SECTION === SMART Self-test log structure revision number 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Extended offline Completed without error 00% 7023 - # 2 Short offline Completed without error 00% 7022 -

et pour un disque (ou plutôt utilisateur) qui a moins de chance :

=== START OF READ SMART DATA SECTION === SMART Self-test log structure revision number 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Extended offline Completed: read failure 20% 18223 45651711 # 2 Short offline Completed: read failure 60% 18222 44603135 # 3 Extended offline Completed without error 00% 0 -

Voir les logs d'erreurs

On aimerait bien ne pas avoir d'erreur, mais si on a besoin de voir les logs d'erreurs (ou juste constaté qu'il n'y a pas d'erreur dans le log, il faut utiliser l'option "-l error".

smartctl -l error -d ata /dev/sda

voila pour nous, pour aller plus loin y'a pleins de pages qui en parlent dont une écrite par l'auteur du logiciel smartmontools ici

le gps avec linux

Publié par manu

aujourd'hui trouvons enfin une utilité a un récepteur GPS bluetooth. .. évidement on est bien sous linux et éventuellement dans mon cas sous ubuntu, j'avais déjà fait a peu près la même chose il y a quelques années avec une debian sarge, c'est dire que ça doit passer un peu partout. cela étant toute la partie installation de "bluez" et autre bidules n'est pas couvert ici car en effet avec ubunut tout est déjà installé par défaut.

comment trouver le récepteur gps

pour cela, il va falloir utiliser un truc comme hcitool par exemple de la sorte :

hcitool scan

cet outil avec l'option 'scan' va permettre (en dehors de trouver les casques audio et téléphones de vos voisins) de connaitre l'addresse MAC (non, rien a voir avec les pommes blanches) du récepteur GPS.

exemple :

[manu@hal][~-20:46] hcitool scan Scanning ... 00:44:44:44:44:44 Ordinateur 00:DD:DD:DD:DD:DD HOLUX GPSlim236 00:33:33:33:33:33 telephone

donc la nous avons bien trouvé le MAC du "HOLUX GPSlim236", nous sommes contents.

connexion du pc au GPS

on peut utiliser rfcomm pour attacher le GPS a /dev/rfcomm0, pour cela il suffit de faire :

rfcomm connect 0 00:DD:DD:DD:DD:DD

en fait ça donne ça (si l'on dézoome) :

[manu@hal][~-20:52] rfcomm connect 0 00:DD:DD:DD:DD:DD Connected /dev/rfcomm0 to 00:DD:DD:DD:DD:DD on channel 1 Press CTRL-C for hangup

le "0" indique donc que ce sera /dev/rfcomm0, on peut utiliser d'autres numéros si l'on veut. "hangup" en anglais veut dire "raccrocher", donc pour terminer la conversation entre le pc et le GPS suffit de faire "ctrl + c" dans le terminal concerné.

on pourra y voir des infos bruts en faisant "cat /dev/rfcomm0", si vous arrivez a déchifrer le tout a la vitesse du défilement des infos alors il vous sera peut etre inutile d'aller plus loin.. :]

[manu@hal][~-20:53] cat /dev/rfcomm0 $GPGGA,182655.235,0000.0000,N,00000.0000,E,0,00,,0.0,M,0.0,M,,0000*4A $GPRMC,182655.235,V,0000.0000,N,00000.0000,E,,,311006,,,N*7A $GPVTG,,T,,M,,N,,K,N*2C $GPGGA,182656.235,0000.0000,N,00000.0000,E,0,00,,0.0,M,0.0,M,,0000*49 $GPRMC,182656.235,V,0000.0000,N,00000.0000,E,,,311006,,,N*79 $GPVTG,,T,,M,,N,,K,N*2C $GPGGA,182657.235,0000.0000,N,00000.0000,E,0,00,,0.0,M,0.0,M,,0000*48 $GPGSA,A,1,,,,,,,,,,,,,,,*1E

gpsd - le serveur de GPS

Gpsd va servir de relais entre le GPS et les logiciels GPS, c'est a dire qu'il va aller lire /dev/rfcomm0 et géré la chose, puis les logiciels de gps vont se connecter a gpsd pour avoir les infos.

dans un premier temps, pour tester en gros, on peut le lancer avec du debug "-D 2" aussi on veut pas qu'il tourne en fond, donc "-N". un truc pour éviter de casser son gps (sur le mien il est arrivé que le GPS se met a parler "binaire" et donc les infos n'étaient plus lisibles, si cela vous arrive alors voir plus bas gpsctl pour un remède éventuel) est d'utiliser l'option "-b", cette option fait que gpsd ne va pas tenter d'envoyer des instructions au récepteur il ne fera QUE lire

gpsd -b -N -D 2 /dev/rfcomm0

par défaut il tournera sur le port 2947 ce qui nous conviendra puisque les logiciels gps vont par défaut aller chercher les infos de position sur le port 2947.

et maintenant le(s) client(s)

il existe pleins de clients gps pour le système linux ("what else ?"), en voici quelques uns sympa :

  • xgps - client graphique pour voir les infos satellites, position et vitesse.
  • cgps - idem mais en mode texte
  • gpsdrive - un truc pour conduire un gps. ... (ou se faire conduire), pas encore le top du must, mais sympa
  • viking - je n'ai fait que peu de choses mais il est joli ce soft. .. :]
  • gpsctl - un truc pour changer le mode du récepteur GPS entre NMEA et le mode binaire propriétaire

xgps et cgps

ces deux programmes sont a la base la pour tester le fonctionnement du GPS, en gros ils vont donc se connecter a gpsd et avec ça afficher les infos des satellites, la position, la vitesse etc etc. c'est pas mal utile pour savoir ce qui se passe.

gpsdrive

ceci est censé être un logiciel de navigation, je ne crois pas qu'il soit encore totalement au point, mais c'est un des plus aboutis je crois bien.. . il faudra télécharger les cartes via l'internet avant de prendre la route (a moins d'avoir des morceaux de Internet sur soi). je trouve que l'utilisation est spéciale (déplacement sur la carte etc), je vous laisse souffrir un peu. . (sinon très sympa) : ]

viking

ce truc est censé faire plein de choses, évidement ici je ne détail pas l'utilisation des logiciels clients, il y a pour ça les sites officiels deja (et sans doute d'autres encore) cependant une petite note "marrante" pour ce qui sont sous (k)ubuntu, quand on ajoute une "Layer" GPS il ne propose pas de se connecter sur /dev/rfcomm0 (ah oui, j'oubliais, il ne passe pas que par gpsd on dirait mais directement sur /dev/le_device) donc en gros la solution sale est de faire un lien de /dev/rfcomm0 vers ttyUSB0 par exemple comme ainsi :

sudo ln -s /dev/rfcomm0 /dev/ttyUSB0

avec ce que je viens de dire j'ai quand même envie de parler du mode "Realtime", je trouve que ça déchire sa maman. en effet j'ai enregistré le trajet que j'ai fait (Ctrl + s) puis en rentrant j'ai pu ajouter une "layer" (calque) avec des cartes google ou openstreetmaps etc etc... y'a même possibilité de voir dans les détails pas mal de choses dont la vitesse moyenne etc etc. c'est très très sympa.. . .

gpsctl

ce truc la sert a changer le mode du récepteur GPS, en effet certains peuvent parler NMEA ou binaire, avec ce petit soft on peut changer le mode

s'il n'y a qu'un seul récepteur et que gpsd tourne il suffira alors, pour mettre en mode NMEA de faire :

gpsctl -n

a vous de jouer avec les différents logiciels clients et de voir ce qui vous convient le plus, si le but est juste de savoir ou vous êtes ou la vitesse, cgps est très très bien. . . : ]

commandes de base

Publié par manu

j'ai écrit ce truc quand j'ai débuté mon aventure linux, oui il faut bien l'avouer au début c'était l'aventure. . .. en même temps que j'apprenais a faire des choses de base je me suis dit que je me ferais quelques notes, et puis je les ai partagé avec des gens qui a leur tour débutaient aussi. . j'ai donc retrouvé ce petit tuto destiné aux gens qui débutent vraiment mais qui contient peut être des petites astuces qu'un "habitué" ne connais pas forcément. . . (en même temps ça métonnerais) : ]

Les commandes utilisés :

  • ls : liste
  • pwd : indiquer le répertoire courant
  • cd : changer de répertoire
  • cp : copie
  • mv : déplacer
  • rm : supprimer
  • df : espace libre sur le disque
  • du : utilisation du disque (non c'est pas pareil que "df" :] )

ls - liste

ls sert a lister les fichiers. Par défaut il va lister les fichiers dans le répertoire ou l'on se trouve. exemple:

[user@machine]$ ls images/ text.txt

on peut aussi spécifier le répertoire dont on veut lister le contenu, pour cela il suffit de l'indiquer après la commande ls, on dit que c'est un "argument" (mais pas une dispute non plus :] ). par exemple:

[user@machine]$ ls /home/user images/ text.txt

cette commande va lister ce qu'il y a dans le dossier /home/user ou que l'on soit, cette même logique est d'ailleurs possible pour toutes les commandes que l'on va traiter ici.

un autre aspect de la plupart des commandes linux est la possibilité d'utiliser des options, cela se present sous forme de "tiret" puis d'une lettre, pour la commande ls parmi toutes les options possible on va juste voir les plus utile pour débuter, le mieux sera de les essayer pour mieux comprendre

  • -l : liste détaillé; permissions, propriétaire, taille, etc.
  • -a : liste toutes le fichiers, c'est a dire aussi les fichiers cachés
  • -h : quand il est associé avec le "-l" il montre la taille en version "lisible par un humain" (Ko,Mo,Go)
  • -S : trier la liste par taille de fichier

ces options peuvent bien entendu être combiné, ainsi l'on peut utiliser ls -lha pour lister tout les fichiers avec les tailles inscrit en version "human readable" (lisible par un humain) avec en plus les fichiers cachés.

pwd - indiquer le dossier courant (print working directory)

nous n'avons pas encore vu comment se déplacer dans le système de fichiers, mais d'abord voyons comment savoir ou l'on se trouve. la commande pwd nous indique ou l'on se trouve avec le chemin absolu, c'est a dire que cela commence par le "slash" "/" qui représente la racine du système de fichier, le haut du haut en gros et ça va jusqu'au répertoire ou l'on se trouve.. exemple ? d'accord.

[user@machine]$ pwd /home/user/dossier

cd - changer de répertoire (change directory)

cette commande sert a se déplacer vers un répertoire autre, par exemple nous avons un dossier images dans /home/user, pour s'y rendre on peut écrire :

[user@machine]$ cd /home/user/images

cette commande nous amène au répertoire "images", quelque soit le dossier dans lequel on se retrouve cette commande nous mènera au bon endroit. l'on peut aussi utiliser les chemins relatif, donc si l'on est dans le dossier /home/user pour aller dans images il suffit de taper cd images.

quand on fait un ls -a on pourra remarquer qu'il y a un "." et un ".." présent. le . symbolise le dossier courant et le .. le dossier un cran plus haut, donc cd .. nous remonte d'un cran, et cd . nous laisse sur place, oui cd . n'est pas très utile je l'accorde, mais le . ne sert pas a rien il est la et ça personne n'en parle.. . .. (hahahaahaa)

si l'on est dans le dossier /home/user on peut donc faire les deux commandes pour arriver au même endroit :

cd ../un_autre_user/images2 cd /home/un_autre_user/images2

aussi, petite astuce du jour, "cd ~" vous mènera a votre dossier home (maison), c'est a dire /home/vous

cp - copie

pour copier un fichier il suffit de faire cp fichier-source destination donc, cp text.txt images/text.txt - pour copier 'text.txt' dans le dossier 'images', si l'on ne compte pas changer le nom du fichier text.txt on peut alors écrire : cp text.txt images/ qui copiera text.txt DANS images.

on peut bien évidement spécifier de manière absolu ou relatif le chemin du fichier a copier ainsi que sa destination.

entre autre options une (ou deux) bien pratique :

  • -r : pour copier tout un dossier (recursive)
  • -p : pour preserver les attributs, date et permissions

mv - déplacer (move)

cette commande sert autant a deplacer un fichier qu'a le renommer, donc pareil, mv /chemin/fichier /nouveau/chemin/ ou mv nomdefichier nouveaunom, aussi mv peut directement déplacer les dossiers sans avoir besoin d'option supplémentaires.

rm - effacer (remove)

c'est ici que ça se passe pour effacer, attention je n'ai toujours pas trouver la fonction "restaurer la corbeille". . · : ]

qques options bien pratique :

  • -r : pour supprimer les dossiers, récursivement
  • -f : pour forcer la supression, sinon il demande confirmation pour chaque fichier (selon la configuration globale et d'autres affinités)

exemples :

rm fichier #supprime un fichier rm -rf /home/user/images/ # supprime le dossier images ainsi que tout son contenu

df - espace libre sur le disque (disk free)

connaître la taille du disque peut être pratique. .. df donne la taille de chaque partition monté avec l'espace utilisé, libre, etc.

des options

  • -h : lisible par l'humain (human readable)
  • -T : donne les types de system de fichier

du - utilisation du disque (disk usage)

très pratique pour connaître la taille d'un dossier, du liste tout les dossier présent et ce de manière récursive avec la taille de chaque fichier puis il donne le total.

voici qques options pratique :

  • -h : lisible par les humains
  • -s : ne montrer que le résultat final (total)

une commande que j'aime bien est : "du -hs */" cette commande affiche la taille des dossier un par un avec leur taille en omettant les fichiers seuls. .. .

exemples

du . # la le . sert a indiquer qu'on veut mesurer a partir du dossier présent. du -hs . # la même chose mais en version lisible par un être humain. du -hs /home/*/ # celui-ci va nous indiquer la taille des dossiers des utilisateurs

a savoir, selon les distributions de linux utilisé il se peut que des alias soit preconfiguré, par exemple sous mandrake 9.1 (ça remonte tiens) la commande "df" est en fait "df -h", cela vous pouvez le voir dans le fichier /etc/profile.d/alias.sh. donc avant de paniquer ou de vous posez trop de questions il est bien de regarder la dedans.

apprendre a pêcher et ce sera mieux encore

DONC ne jamais oublier de jeter un coup d'oeil au manuel, pour cela il suffit de taper man commande . .. ....comme ceci

man pwd

maintenant prochaine étape pour un débutant qui a compris ce cours sera de voir comment coder une distribution de A à Z.. .

sauvegarde

Publié par manu

un script de sauvegarde

ce script a pour but de faire une sauvegarde sur une machine dans un dossier dédié a cela, puis de télécharger la sauvegarde vers un serveur FTP, il est simple et il faut son petit truc plutôt bien... . évidement il est modifiable pour mieux accommoder vos envies et besoins

ce qu'il faut :

pour que ce script fonctionne "tel que" il faudra le choses suivantes :

  • NCFTP : il faut donc installer ncftp, puis créer un "bookmark" en enregistrant le mot de passe. ATTENTION il faut faire ça sous l'utilisateur qui va exécuter le script de sauvegarde, dans mon cas j'ai peur de rien, c'est root.. .. .
  • bzip2 : ce truc va nous servir a compresser les archives, on peut s'en passer si on veut juste faire des ".tar.gz" a la place, pour cela il faudra changer "tar jcfp" en "tar zcf" dans le script

paramétrage

la ça va être simple, mais bon c'est en anglais donc je comment ici en fr_FR

  • BACKUPROOT : ceci est le répertoire racine pour stocker les sauvegardes.NOTE: dans ce répertoire le script va créer un lien "current" vers le répertoire de la dernière sauvegarde effectué.
  • DAYS : ici on défini le nombre de jours qu'on sauvegarde, c'est a dire que ce qui est plus vieux que ce qui est défini ici sera supprimé, c'est un bon moyen de ne pas explosé l'espace disque
  • BACKUPDIRS : c'est la qu'on va (enfin) définir les répertoires a sauvegardé, suffit de mettre les répertoires séparé par un espace
  • NCFTPBOOKMARK : ici mettre le nom du bookmark ncftp a utiliserIMPORTANT : pour indiquer a ncftp ce qu'il doit faire, je fait un fichier /root/ftpcommands qui contient les commandes a exécuter, j'ai mis un exemple dans le script (dans mon cas je me connecte au serveur ftp, j'efface ce qui y est, et ensuite j'upload la sauvegarde courant

utilisation

le plus simple est de mettre le script dans /usr/local/sbin/backup.sh et de simplement exécuter le script. encore mieux serait de dire a crontab de le faire tout seul régulièrement par exemple ainsi (tout les jours a 5h du matin) :

echo "0 5 * * * root /usr/local/sbin/backup.sh"

le script

alors le script est la ci-dessous pour les fans du copie collage, sinon y'a moyen de le télécharger directement pour les fans de wget

#!/bin/bash # this script creates tar.bz2 archives and places them in a backup folder ordered by date # where the latest is linked to a folder called "current" # DEPENDS: bunzip2 ncftp (for ncftp create a bookmark with saved password) # TODO: - simplify ftp uploading # - do something about scp/rsync maybe # AUTHOR: Emmanuel REVAH manu-AT-manurevah.com http://manurevah.com/ # i'm not sure about a licence so whatever, just don't sue me.. . ... :] # o/ logger "backup script: started" DATE=$(date +%a_%d_%b_%Y_%Hh%Mm%S) MONTH=$(date +%B_%Y) ########### configuration options ############## # where we keep all the backups BACKUPROOT="/home/backup/mybackup" BACKUP="${BACKUPROOT}/${MONTH}/backup_${DATE}/" # how many days worth of backups do we need to keep ? DAYS="5" # folders to backup: space separated values BACKUPDIRS="/etc /var/log" BACKUPDIRS=`ls -d ${BACKUPDIRS}` # ncftp (create a bookmark with saved password) # you will also need a file with ftp commands in /root/ftpcommands mine contains: # cd backup # rm -rf current # put -r /home/backup/current # quit NCFTPBOOKMARK="ftpbookmark" # either place a file containing ONLY the password in clear text (chmod 600 and chown root of course) # or just replace the password here MYSQL_USER_PASS="--user=root --password=`cat /root/.sqlpasswd`" ############ end of configuration ################ # cleanup up the "current" folder and link the new one rm -f ${BACKUPROOT}/current test -d ${BACKUP} || mkdir -p ${BACKUP}/mysql ln -s ${BACKUP} ${BACKUPROOT}/current # make some archive files for DIRS in ${BACKUPDIRS}; do DIRNAME=`echo ${DIRS}|sed 's///_/g'` tar jcfp ${BACKUP}/${DATE}${DIRNAME}.tar.bz2 ${DIRS}; done # mysql: please test this line to make sure it correctly lists the names of the databases MYBASES="`ls -1 /var/lib/mysql |grep -v ib_* |grep -v debian-5.0.flag | grep -v mysql_upgrade_info`" for DBS in ${MYBASES};do mysqldump --databases ${DBS} ${MYSQL_USER_PASS} > ${BACKUP}/${DATE}_${DBS}.sql done logger "backup script: local backup done :]" ncftp ${NCFTPBOOKMARK} < /root/ftpcommands logger "backup script: upload current backup to ${NCFTPBOOKMARK}" # erase older data find ${BACKUPROOT} -type f -mtime +${DAYS} -exec rm -rf {} ; rmdir -p ${BACKUPROOT}/*/*/* logger "backup script: removed backups older than ${DAYS} days" exit

photos.sh

Publié par manu

decharger et classer les photos depuis un appareil photo

ce script a pour but de copier (ou déplacer) les photos d'un appareil photo (mounté en tant que disque de type "masse storage") dans un système de dossiers classé par date du jour de ponte de la photo. pour cela il faut avoir exiv2 installé sur votre machine.

le principe

le principe est la suivante, il suffit de:

  • aller dans le dossier ou se trouvent les photos a classer, normalement ce sera l'appareil photo lui même, mais vous pouvez tout a fait utiliser le script pour classer des photos déjà prises
  • exécuter le script "photo_save.sh"

le script va:

  • pour chaque photo présente ainsi que celles dans les répertoires enfants
  • trouver la date de prise de photo via les informations EXIF
  • créer un dossier du jour dans un répertoire prédéfini et y copier la photo

paramétrage

voici les paramètres possibles :

  • UNLOAD : ceci défini le répertoire "parent" ou stocker les photos
  • METHOD : on peut faire du récursif ou pas.. . c'est a dire qu'on peut lui dire de ne PAS aller voir dans les sous-répertoires
  • EXTENSIONS : selon la méthode choisi la syntaxe change, voir les exemples donner dans le script

perso j'utilise une copie du script par appareil photo que je renomme, par exemple j'ai photo-save-d50.sh pour mon "D50".. .. .. mais libre a chacun de faire comme il veut, bien évidment

le script

vous pouvez télécharger le script via ce lien ou alors la copier coller depuis cette page. . .. .. .

#!/bin/bash # script designed to help unload photos from camera/cd/or_whatever # to folders ordered by date based on EXIF info. # USAGE: cd /to/the/folder/where/the/files/are # sh photo-save.sh # DEPENDS on: exiv2 # HINTS: if you have multiple cameras you can: # - copy this script accordingly: ex. cp photo-save.sh photo-save-d50.sh # - make sure that UNLOAD parameter is set: ex. /home/user/unload/d50/ # - now use photo-save-d50.sh instead of photo-save.sh # - repeat the same for as many cameras you need to.. # if you didn't already know, you can chmod +x photo-save.sh and copy it # to a "bin" folder (ex /usr/local/bin/) # # AUTHOR: Emmanuel REVAH manu-AT-manurevah.com http://manurevah.com/ # i'm not sure about a licence so whatever, just don't sue me.. . ... :] # o/ # root folder for unloading pictures to UNLOAD='/home/manu/toph/unload/d50/' # the script can either work on files in current directory OR # work on files in current directory AND recursively # 1=current ; 2=recursive METHOD=2 if [ ${METHOD} == 1 ]; then # Methode 1 options # types of files we want to move/copy (space separated values) # HINT: you might need to add uppercase extensions EXTENSIONS="*.jpg *.nef" # list files based on EXTENSIONS FILETYPES=`ls ${EXTENSIONS} 2>/dev/null` fi if [ ${METHOD} == 2 ]; then # Method 2 options # you'll have to add the extensions accordingly # default line (you can replace "name" by "iname" for removing case sensitivity) # FILETYPES=`find . -name "*.jpg" -or -name "*.nef"` FILETYPES=`find . -name "*.jpg" -or -name "*.nef"` # avec regex: find ./ -regex ".*(jpg|nef)$" fi # for every file we will find out the EXIF date and put the file into the # apropriate dated folder (created if needed) for i in ${FILETYPES}; do YEAR=`exiv2 $i 2>/dev/null |grep timestamp|cut -d " " -f 4|cut -c 1-4` MONTH=`exiv2 $i 2>/dev/null |grep timestamp|cut -d " " -f 4|cut -c 6,7` DAY=`exiv2 $i 2>/dev/null |grep timestamp|cut -d " " -f 4|cut -c 9,10` WHEREIGO=${UNLOAD}/${YEAR}/${MONTH}_${YEAR}/${DAY}_${MONTH}_${YEAR} # test if value year is empty if [ -z ${YEAR} ] then echo "$i: No Exif data found in the file" else mkdir -p ${WHEREIGO} cp $i ${WHEREIGO} fi; done exit

NFS

Publié par manu

NFS, Network File System, traduit; Système de Fichiers via Réseau, est comme son nom l'indique, un système de fichiers qui fonctionne au travers d'un réseau.. avec ça on peut donc monter le répertoire d'un ordinateur serveur sur un autre ordinateur client.. NFS utilise les adresses IP pour s'authentifier, aussi il va utiliser les droits d'accès du serveurs selon les UID et GID.assez de blah bla, voyons voir.

installation du serveur (sous debian)

pour faire fonctionner le serveur il faut:

  • le logiciel: nfs-kernel-server apt-get install nfs-kernel-server
  • les modules noyau suivants: (en générale c'est dans le noyau par défaut) NFS server support [*] Provide NFSv3 server support [*] Provide server support for the NFSv3 ACL protocol extension [*] Provide NFS server over TCP support
  • optionnel, le support pour monter le NFS (sera utile pour le client) NFS file system support

configuration

il faut définir ce que l'on veut partager via le fichier /etc/exports

/mnt/partage 192.168.88.8 (rw) 10.20.30.100 (ro) /home/user/autre 192.168.88.8 (rw)

explications :

  • le chemin du partage : on mets le chemin complet sans "slash" a la fin.
  • l'ip qui a droit au partage
  • droits sur le partage : (ro) (read only, lecture seul) ou (rw) (read write, lecture et écriture).

    je parlais de droits en introduction, ici il ne suffit pas de mettre uniquement (rw) pour avoir les pleins droits, l'utilisateur qui montera le partage aura un UID et GID qui dépends de sa machine, il faudra que ça corresponde aux droits sur l'hôte (ou que sur l'hôte ce soit 777 par exemple).

ensuite il faut configurer hosts allow et deny

/etc/hosts.deny par défaut on ferme tout :

portmap:ALL lockd:ALL mountd:ALL rquotad:ALL statd:ALL

/etc/hosts.allow et la on ouvre précisément pour ceux qu'on veut bien :

portmap: 192.168.88.8 10.20.30.100 lockd: 192.168.88.8 10.20.30.100 mountd: 192.168.88.8 10.20.30.100 rquotad: 192.168.88.8 10.20.30.100 statd: 192.168.88.8 10.20.30.100

redémarrage des services concernés

c'est pas bien compliqué

/etc/init.d/portmap restart /etc/init.d/nfs-kernel-server restart

coté client

c'est bien beau d'avoir un serveur de fichier, mais sans client on peut fermé boutique :] ici il nous faut:

  • les logiciels nfs-common portmap: apt-get install nfs-common portmap
  • les modules noyau suivants (souvent déjà dispo par défaut) : NFS file system support [*] Provide NFSv3 client support

configuration du client

il suffit maintenant de monter le partage NFS, pour cela il existe plusieurs possibilités, a la "main", via fstab, ou alors a la demande via autofs (voir l'article autofs)

on considere que :

  • SERVEUR_NFS est l'ip ou le nom de hôte du serveur NFS
  • /mnt/partage est le partage configuré sur le serveur NFS
  • /home/user/partage l'endroit ou l'on souhaite monter le partage sur le client

maintenant voyons les différentes manières de monter ce partage

  1. méthode a la "main" (faudra être root) mount SERVEUR_NFS:/mnt/partage /home/user/partage
  2. via /etc/fstab SERVEUR_NFS:/mnt/partage /home/user/partage nfs rw 0 0
  3. en passant par autofs partage rw SERVEUR_NFS:/mnt/partage

    avec plus d'options ça donnerait :

    partage -rsize=8192,wsize=8192,soft,timeo=14,rw SERVEUR_NFS:/mnt/partage

quelques options de montage NFS

  • hard or soft ?

    on pourra constater que lorsque le serveur NFS est injoignable le logiciel qui accède au montage NFS partira quelques temps en vacances. .... c'est normal, il est monté par défaut en "hard" (dur) ce qui signifie que tant que la source n'est plus disponible le programme ne peut plus continuer, une fois le serveur est de nouveau disponible tout repart comme si de rien n'etait. on peut donc ajouter l'option "soft" ce qui pourrait provoquer des perte de données en cas de coupure vers le serveur NFS, on pourra donc avoir des erreurs d'entrée/sortie. il faut donc faire un choix selon les besoins

  • rsize wsize

    cela défini la taille des blocs que s'échangent les 2 machines. certaines combinaisons de (vieilles) cartes réseau et modules noyau peuvent ne pas supporter des tailles trop grandes, mais ensuite des tailles plus grandes pourraient optimiser les transferts.. voir la page http://tldp.org/HOWTO/NFS-HOWTO/performance.html pour plus d'info

pour plus d'infos tout court

attention danger, ce site est en anglais :] http://tldp.org/HOWTO/NFS-HOWTO/

install debian via usb

Publié par manu

ce document explique comment créer une clef usb bootable avec de quoi installer debian dessus, il va de soi que je ne parle pas de la fabrication physique de la clef, mais juste comment caser le .iso netinst de debian sur la clef... : ]

il faut:

  • le fichier : boot.img.gz (hd-media)
  • l'image : iso debian-xxx-netinst.iso
  • une clef usb

partitionnement et formatage

c'est très simple, tu mets la clef sur la machine, mais il ne faut pas le monter, on fera tout cela manuellement. dans cette example la clef est /dev/sda

fdisk /dev/sda

maintenant avec les options il faut supprimé ce qui existe et repartionner, ATTENTION avec ce qui suit on supprime tout ce qui existe sur la clef

  • repartir a zero : o
  • créer une nouvelle partition : n puis p puis 1 puis accepter les réponses par défaut pour les deux options suivantes
  • rendre amorçable : a puis 1
  • mettre en fat16 : t puis 6
  • appliquer les reglages et quitter fdisk: w

maintenant on formate tranquillement

mkdosfs /dev/sda1

un petit MBR serait le bienvenue aussi

lilo -M /dev/sda

copiage des images debian

on va faire des choses sympa en poussant boot.img.gz dans /dev/sda1 puis on va copier l'image .iso

zcat boot.img.gz > /dev/sda1 mkdir /mnt/debianusb mount /dev/sda1 /mnt/debianusb cp debian-xxx-netinst.iso /mnt/debianusb umount /dev/sda1 rmdir /mnt/debianusb

et voilà, c'est tout, suffit de booter sur la clef pour installer des debians partout

kubuntu sur acer aspire one

Publié par manu

le acer aspire one est un de ces nouveaux micro pc portables avec un disk SSD, j'ai pris celui avec linpus linux qui bien évidement ne sert pas a grand chose quand on veut utiliser son pc, donc j'ai décidé d'installer kubunut.. . :] ce qui suit peut tout a fait fonctionner avec ubuntu, voir même d'autres distributions (hmm), enfin pas tout quand même mais bon.

création d'une clef usb pour booter

pour cela on a besoin de:

  • un pc sous linux
  • un clef usb (au moins 1Go)
  • un accès interweb

il faut télécharger l'image de kubuntu.iso par ici: http://www.kubuntu.org/getkubuntu/download

iso2usb.sh

y'a plein de manières pour transférer l'image sur la clef, le plus simple est via ce script, disponible: http://jak-linux.org/tmp/iso2usb.sh .. ...il faudra aussi syslinux donc en tant que root:

ATTENTION: dans ce cas /dev/sda correspond a la clef usb stick, si c'est sdb autre il faudra ajusté a votre configuration

apt-get install syslinux mbr wget http://jak-linux.org/tmp/iso2usb.sh sh iso2usb.sh kubuntu-xxx.iso sda

installation de kubuntu

pendant le démarage du petit portable appuies sur F12 pour démarrer sur la clef USB. ecrit "live" ou quelque chose pour commencer l'install.. . ensuite c'est l'habituel choix de lieu/langue/clavier/etc etc.. . la partie intéressante est le formatage.. .. quelques indices:

  • choisir "ext2", j'ai cru comprendre que ce fs ne tient pas un journal intime aussi intense que d'autres
  • pour la swap.. perso, j'ai fini par virer la swap mais autrement, faites comme vous voulez

NOTE concernant le "disk": la vitesse de lecture est correcte mais en revanche l'écriture est d'une lenteur hallucinante, et donc ça fait ramer le pc a un point qui frôle l'insupportable .. donc le but ici sera d'éviter autant que possible l'écriture sur le disk (j'ai cru comprendre que j'avais le "SSD lent" je ne sais pas s'il y a des séries avec des SSD plus rapide.. selon cette page http://www.blogeee.net/codex/index.php?title=Acer_Aspire_One ou il y a beaucoup de specs, j'aurais la version rapide.). SI t'as moyen d'ajouter de la RAM fait le, perso je tourne avec 512Mo pour l'instant 1024Mo et pas de swap

pour connaitre le model du SSD :

root@hal:/home/manu# hdparm -i /dev/sda /dev/sda: Model=P-SSD1800 ...............

première chose a faire sur la nouvelle kubunut

... mettre à jour.. : ]

sudo su # car je déteste taper sudo a chaque ligne apt-get update apt-get upgrade

why fie

évidement la wifi ne fonctionne pas d'office et un micro pc avec des cables partout "ça ne fait pas de sens". .. pour cela il va falloir compiler les modules et pour cela il va falloir installer quelques logiciels.. alors:

apt-get install build-essential libc6-dev

le site madwifi est un peu. .. mouvementé amha, j'avais a la base pris les sources de madwifi-nr-r3366+ar5007.tar.gz depuis http://snapshots.madwifi.org/special/ mais maintenant il semble qu'il faut prendre madwifi-hal-0.10.5.6-r3816-20080724.tar.gz (dernière version le jour de la reinstall) depuis http://snapshots.madwifi.org/madwifi-hal-0.10.5.6/ ... (je pense qu'il y a déjà une version plus récente):

cd /usr/src wget http://snapshots.madwifi.org/madwifi-hal-0.10.5.6/madwifi-hal-0.10.5.6-r3816-20080724.tar.gz tar zxvf madwifi-hal-0.10.5.6-r3816-20080724.tar.gz cd madwifi-hal-0.10.5.6-r3816-20080724 make make install

il est possible qu'au cours de la vie. .. le "make install" demande s'il faut supprimer les pilotes actuels, dit oui via l'option r puis:

madwifi-unload modprobe ath_pci

j'ai du rebooter et jouer avec le bouton wifi (qui ne s'allume pas dans tout les cas) avant de voir du réseau, bonne chance avec ça.. . :]

optimisations générales

un tutoriel intéressant m'as indiqué quelques tuyaux sympa.. dans /etc/rc.local ajoute le suivant (avant la ligne exit 0).

# SP: save the SSD sysctl -w vm.swappiness=1 # Strongly discourage swapping sysctl -w vm.vfs_cache_pressure=50 # Don't shrink the inode cache aggressively # SP: depuis rc.last.ctrl sur Linpus echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor echo 1500 > /proc/sys/vm/dirty_writeback_centisecs echo 20 > /proc/sys/vm/dirty_ratio echo 10 > /proc/sys/vm/dirty_background_ratio [ -L /sys/bus/usb/devices/1-5/power/level ] && echo auto > /sys/bus/usb/devices/1-5/power/level [ -L /sys/bus/usb/devices/5-5/power/level ] && echo auto > /sys/bus/usb/devices/5-5/power/level # SP: accélère l'hibernation et réduire la taille de l'image echo 0 > /sys/power/image_size # SP: d'après Linpus pour le lecteur multicarte (a droite) ## ça ne fonctionne pas totalement pour l'instant (il faut que la carte y soit avant le boot # pour le scripte jmb38x_d3e.sh setpci -d 197b:2381 AE=47 nice /usr/local/sbin/jmb38x_d3e.sh & # SP: un autre truc de Linpus /usr/bin/setkeycodes e025 130 /usr/bin/setkeycodes e026 131 /usr/bin/setkeycodes e027 132 /usr/bin/setkeycodes e029 133 /usr/bin/setkeycodes e071 134 /usr/bin/setkeycodes e072 135 /usr/bin/setkeycodes e055 159 /usr/bin/setkeycodes e056 158 # /SP

/boot/grub/menu.lst

car il y a un souci de gestion de temps, on peut économiser quelques 0.00000000032 secondes au boot, et chaque picosecond compte, alors, déjà on va modifier les options par défaut pour que ce soit appliqué lors des mise à jour du noyau, ensuite on va le foutre dans la ligne du noyau actuel.trouves donc la ligne:

# defoptions=quiet splash

et fait le devenir ainsi:

# defoptions=elevator=noop clocksource=hpet quiet splash

ensuite dans la section kernel, pour chaque noyau que tu veux utiliser ajoute l'option clocksource=hpet et elevator=noop comme suitde:

kernel /boot/vmlinuz-2.6.24-19-generic root=UUID=d73def36-8ef6-4da3-a8cf-d899fda3834a ro quiet splash

vers

kernel /boot/vmlinuz-2.6.24-19-generic root=UUID=d73def36-8ef6-4da3-a8cf-d899fda3834a ro clocksource=hpet quiet splash elevator=noop

pour plus d'info sur le noop va voir (english) http://lonesysadmin.net/2008/02/21/elevatornoop/

plus plus plus d'optimisations

on peut aussi modifier /etc/sysctl.conf et rajouter a la fin:

# minimise l'utilisation de la swap vm.swappiness = 1 # ne pas être trop agressif avec la cache inode vm.vfs_cache_pressure = 50

oh dio

autrement dit audio, normalement le son ne sert a rien, mais pour la forme.. .: ] le son devrait fonctionner de suite MAIS après une petite hibernation j'ai remarqué que le son s'est barré dans les îles avec toute ma thune et le seul moyen de le faire revenir est d'utiliser les réflexes du maître windowsien, c'est a dire rebooter.. . évidement on va pas en rester la, y'a moyen de moyenner, cela en ajoutant quelque chose quelque part.. ..

echo "options snd-hda-intel model=acer" >> /etc/modprobe.d/alsa-base

petite note pour le son, la sortie casque fonctionne mais ne coupe pas le son des haut parleurs, c'est chiant et y'a pas mal de soucis dans ce sens (je n'ai pas testé le micro par exemple).. il va donc falloir attendre (ou bien développer) des pilotes meilleurs. .. (sinon voir sur d'autre tutos, mais dans tout les cas tout ne peut pas fonctionner correctement en même temps)

conclusion

ça devrait suffire pour l'instant non ? j'ajouterais des trucs sans doute si j'ai le temps (et l'envie), surtout en ce qui concerne es les lecteurs de cartes qui ne fonctionne pas pour moi.. .pour l'instant. ..

post conclusion

un truc supra chiant : un truc qui m'a fort contrarié est le fait que NetworkManager a une fuite de mémoire aussi grand que la chine. visiblement c'est un bug connu et dont une solution est d'installer network-manager_0.6.6-0ubuntu7_i386.deb qui lui est disponible sur la page ou alors directement ici. après téléchargement de ce truc il suffit de faire :

dpkg -i network-manager_0.6.6-0ubuntu7_i386.deb

quelques liens

tout ce que je sais a déjà était su ailleurs par d'autres et même publié avant ma naissance, voici quelques références qui m'ont aidé a faire tourner ce document ainsi que le pc. ..

subarctic lifestyle of a spotted mind

Publié par manu

des images de mon voyage tout la haut au "churchill northern studies centre", le voyage, le centre et les aurores compilé dans un montage video a base de photos.

les photos sont la

le journal du voyage est ici

Note: Si vous voyez ce message il y a des chances que votre navigateur ne sache pas interpréter la balise video tag. Parmi les navigateurs moderne il y a IceCat (c'est comme Firefox sauf que c'est libre :] ). La vidéo devrait quand même apparaître sauf peut être avec Internet Explorer, mais si vous êtes utilisateur IE vous avez sans doute l'habitude de voir des bugs un peu partout.

Creative Commons License
subarctic lifestyle of a spotted mind by Emmanuel Revah is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
Permissions beyond the scope of this license may be available at http://manurevah.com/blah/contact.

lost in transition

Publié par manu

c'est mon premier montage video et c'est fait a partir de photos uniquement (ça se voit), il raconte la transition que j'ai vecu entre mon retour de vancouver, canada et paris, france. je me suis aussi imposé la contrainte de ne travailler uniquement avec des logiciels libre.. ...

Note: Si vous voyez ce message il y a des chances que votre navigateur ne sache pas interpréter la balise video tag. Parmi les navigateurs moderne il y a IceCat (c'est comme Firefox sauf que c'est libre :] ). La vidéo devrait quand même apparaître sauf peut être avec Internet Explorer, mais si vous êtes utilisateur IE vous avez sans doute l'habitude de voir des bugs un peu partout.

Creative Commons License
lost in transition by Emmanuel Revah is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
Permissions beyond the scope of this license may be available at http://manurevah.com/blah/contact.

bittersweet

Publié par manu

ici sont des photos rassemblées de ma première expo photo "bittersweet".. . ... ..

Note: Si vous voyez ce message il y a des chances que votre navigateur ne sache pas interpréter la balise video tag. Parmi les navigateurs moderne il y a IceCat (c'est comme Firefox sauf que c'est libre :] ). La vidéo devrait quand même apparaître sauf peut être avec Internet Explorer, mais si vous êtes utilisateur IE vous avez sans doute l'habitude de voir des bugs un peu partout.

les photos de l'expo sont ici

Creative Commons License
Bittersweet by Emmanuel Revah is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
Permissions beyond the scope of this license may be available at http://manurevah.com/blah/contact.

Pysieved avec workaround.org (etch)

Publié par manu

voici quelques notes pour utiliser le système de filtrage sieve en utilisant le sytème de mail Workaround ISP style email en gros j'utilise le tutoriel workaround (avec une toute petite modification), j'ajoute pysieved et j'utilise le le meilleur webmail (squirrelmail bien sur) avec le plugin avelsieve.

Pysieved

Première étape, s'occuper de Pysieved, le serveur de sieve.

  • va sur http://woozle.org/~neale/src/pysieved/et récupére pysieved-HEAD.tar.gz (ce tutoriel a était fait avec la version 1.0)
  • décompresse l'archive dans /usr/local/ et copie le fichier de configuration dans /usr/local/etc/
cd /usr/local cp /la_ou/ta_téléchargé/pysieved-HEAD.tar.gz . tar xvf pysieved-HEAD.tar.gz cp /usr/local/pysieved/pysieved.ini /usr/local/etc/

pleins de trucs ont besoin d'être modifiés, donc en gros je donne ici le fichier de configuration complet (avec en plus l'option bindaddr qui pourrait être utile dans certains cas).

/usr/local/etc/pysieved.ini:

[main] # Authentication back-end to use auth = Dovecot # User DB back-end to use userdb = Dovecot # Storage back-end to use storage = Dovecot # Bind to what address? (Ignored with --stdin) #bindaddr = 127.0.0.1 # Listen on what port? (Ignored with --stdin) port = 2000 # Write a pidfile here pidfile = /var/run/pysieved.pid # What UID and GID should own all files? -1 to not bother uid = -1 gid = -1 # Switch user@host.name to host.name/user? hostdirs = False [Dovecot] # Path to Dovecot's auth socket (do not set unless you're using Dovecot auth) mux = /var/spool/postfix/private/auth # Path to Dovecot's master socket (if using Dovecot userdb lookup) master = /var/run/dovecot/auth-master # Path to sievec sievec = /usr/lib/dovecot/sievec # Where in user directory to store scripts scripts = pysieved # Filename used for the active SIEVE filter (see README.Dovecot) active = .dovecot.sieve # What user/group owns the mail storage (-1 to never setuid/setgid) uid = -1 gid = -1

édite et recharge inted

echo "sieve stream tcp nowait root /usr/bin/python python /usr/local/pysieved/pysieved.py --inetd" >> /etc/inetd.conf /etc/init.d/openbsd-inetd restart

Squirrelmail

je ne sais pas pourquoi mais j'ai bien cru que cette étape allé être long et chiant, mais finalement pas.. :]

avec une config de squirrelmail qui fonctionne il faut

  1. télécharger le plugin avelsieve dans le bon répertoire depuis le site de l'auteur ou bien depuis sa page dans la section "plugins de squirrelmail.
  2. extraire l'archive
  3. copier config_sample vers config.php
cd /chemin/vers/squirrelmail/plugins/ cp /la/ou/tu_a/téléchargé/avelsieve-1.9.7.tar.gz . tar zxvf avelsieve-1.9.7.tar.gz cp avelsieve/config/config_sample.php avelsieve/config/config.php

ensuite il faut exécuter conf.pl (dans /chemin/vers/squirrelmail/config) pour activer le plugin

Dovecot

j'ai changé une ligne dans le fichier dovecot.conf afin d'avoir un peu plus "d'espace" avant :

mail_location = maildir:/home/vmail/%d/%n

après

mail_location = maildir:/home/vmail/%d/%n/maildir

IMPORTANT: si ton serveur de mail a déjà reçu des mails avant cette manipulation il va alors falloir déplacer des trucs de /home/vmail/domain.tld/user/ vers /home/vmail/domain.tld/user/maildir/

après le répertoire /home/vmail/domain.tld/user/ devrait ressembler à:

lrwxrwxrwx 1 vmail vmail 18 2008-05-16 12:41 .dovecot.sieve -> pysieved/phpscript drwx------ 9 vmail vmail 4,0K 2008-05-15 20:34 maildir drwxr-xr-x 2 vmail vmail 4,0K 2008-05-16 12:41 pysieved

et /home/vmail/domain.tld/user/maildir/ ressemblerais à :

drwx------ 2 vmail vmail 4,0K 2008-05-15 20:30 cur -rw------- 1 vmail vmail 168 2008-05-15 20:30 dovecot.index -rw------- 1 vmail vmail 17K 2008-05-15 20:32 dovecot.index.cache -rw------- 1 vmail vmail 756 2008-05-15 20:32 dovecot.index.log -rw------- 1 vmail vmail 89 2008-05-15 20:30 dovecot-uidlist drwx------ 5 vmail vmail 4,0K 2008-05-15 20:34 .INBOX.Drafts drwx------ 5 vmail vmail 4,0K 2008-05-15 20:34 .INBOX.Sent drwx------ 5 vmail vmail 4,0K 2008-05-15 21:46 .INBOX.spam drwx------ 5 vmail vmail 4,0K 2008-05-15 20:25 .INBOX.Trash drwx------ 2 vmail vmail 4,0K 2008-05-15 20:30 new -rw------- 1 vmail vmail 47 2008-05-15 20:34 subscriptions drwx------ 2 vmail vmail 4,0K 2008-05-15 20:30 tmp

quleques "burnes" (et les astuces)

il y a quelques trucs qu'il faut savoir:

  • une fois qu'un utilisateur a créer son propre filtre sieve cela désactive le filtre global (globalsieverc), ce qui veux dire que le spam ne sera plus filtré... Donc, la première règle a créer devrait être une règle qui filtre les pourriels..
  • la suppression des règles fonctionne SAUF qu'il faut toujours qu'il reste au moins une règle dans la liste, même si elle est désactivée. CEPENDANT il existe un FIX, merci à Mike Lewinski, le fichier table.php a besoin d'être patché, voici comment faire:
cd /path/to/squirrelmail/plugins/avelsieve/ cp table.php table.php.bak wget http://www.rockynet.com/patches/table.patch patch table.php table.patch

et voilà, tu peux, si tu veux, supprimer toute les règles sieve.

c'est tout c'est fini.. .. . \o/

Awstats

Publié par manu

Un petit tutoriel concernant Awstats, cela suppose que vous avez déjà Apache installé sur votre serveur.

Récupérer et décompresser les sources

Il faut récupérer les sources depuis http://awstats.sourceforge.net/#DOWNLOAD (version testé dans ce tutoriel awstats-6.7.tar.gz)

donc pour cela:

cd /usr/local/ wget http://le_lien_pour_telecharger_awstats

décompresser et installer awstats

tar zxvf awstats-6.7.tar.gz mv awstats-6.7 /usr/local/awstats chown -R root:www-data /usr/local/awstats chmod 750 /usr/local/awstats mkdir /var/cache/awstats chown www-data:www-data /var/cache/awstats

Configurer Awstats

On pourra prendre les fichiers de configuration par défaut "maison" pour ensuite les modifier:

mkdir /etc/awstats cd /etc/awstats wget http://manurevah.com/stuff/awstats/awstats.domaine.tld.conf wget http://manurevah.com/stuff/awstats/include.conf

copier awstats.domaine.tld.conf vers awstats.monsiteamoi.com.conf et faire la même chose pour chaque domaine/site dont il faut faire les statistiques via awstats.

cp awstats.domaine.tld.conf awstats.monsiteamoi.com.conf

puis dans le fichier il faut modifier:

LogFile="/var/log/apache/monsiteamoi.com.log" #le fichier de log qui nous concerne SiteDomain="monsiteamoi.com" # le nom de domaine HostAliases="www.monsiteamoi.com"

Mettre a jour les statistiques a heure régulier

Nous allons créer un script qui sera exécuté via crontab.

vi /usr/local/sbin/awstats-cronbin

dans lequel on mets par exemple

#!/bin/bash perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=monsiteamoi.com perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=exemple.fr

puis on le rends executable

chmod +x /usr/local/sbin/awstats-cronbin

Créons la tâche planifiée:

echo "0 6,12,18,22 * * * root /usr/local/sbin/awstats-cronbin" >> /etc/crontab

Configuration de Apache

Pour voir les statistiques on passe par apache, la configuration qui suit doit donc être ajouté dans apache, soit de manière globale (déconseillé) soit dans un VirtualHost dédié a cette fonction (un peu mieux). Dans cette exemple on va configurer le sous domaine stats.monsiteamoi.com pour consulter les statistiques, cela suppose que vous comprenez suffisamment apache pour adapter ceci a votre installation.

<VirtualHost *:80> ServerName stats.monsiteamoi.com DocumentRoot /var/www/html/user/stats.monsiteamoi.com CustomLog /var/log/apache2/stats.monsiteamoi.com.log combined # Configuration pour Awstats <Directory "/usr/local/awstats/wwwroot"> Options None AllowOverride AuthConfig Order allow,deny Allow from all </Directory> Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/" Alias /awstatscss "/usr/local/awstats/wwwroot/css/" Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/" ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/" </VirtualHost>

Aussi, il faut que dans chaque vhost concerné par les stats il y ai (c'est cela que va lire awstats.domain.tld.conf):

CustomLog /var/log/apache/domain.tld.log combined

puis il faut relancer apache, peut etre tester la configuration avant, toujours plus sympalol.

apachectl configtest apachectl graceful

Voir les stats

Il suffit de pointer son navigateur vers le VirtualHost configuré plus haut, dans cette exemple c'est stats.monsiteamoi.com, puis vers le script awstats avec comme argument le domaine dont il faut voir les statistiques. attention la partie config=monsiteamoi.com va chercher dans /etc/awstats un fichier avec le meme nom, prefixé de "awstats" et suffixé de ".conf", donc /etc/awstats/awstats.monsiteamoi.com.conf.

en résumé : http://stats.monsiteamoi.com/awstats/awstats.pl?config=monsiteamoi.com

Sécurité

On peut tout a fait mettre en place une sécurisation par .htaccess ou directement dans la configuration de Apache:

<Files "awstats.pl"> AuthUserFile /var/www/.htpasswd #s'assurer de créer un htpasswd quelquepart AuthGroupFile /dev/null AuthName "mdp stp" AuthType Basic require valid-user AllowOverride AuthConfig </Files>

je crois que la c'est fini, comme toujours y'a moyen de peaufiner tout cela.

Subarctic Lifestyle of a Spotted Mind

Publié par manu
cette page n'est pas et ne sera peut etre jamais traduite.. .dsl
The following was written as the days went by during a trip up north somewhere during the winter of 2005.. I have since compiled some photos into a montage and did an exhibition, the photos can be seen here

first step, go nuts.

since yesterday i've been planning this trip to churchill in manitoba, in canada, in north america (on earth?). basiclly i sent an email asking for various informations because i have always been attracted to the arctic areas and now could be a good time. i get a response concerning volunteering in june and that went straight to volunteering next week, so that's it, after a few emails, and then some dealing with a travel agent to get the best ticket possible (she actually impressed me, she found the same price and times as on the internet, i told her that i preferred buying my ticket from a human being, how ironic coming from me, well okay that is another story.. .) .. . .

my trip will take me from paris to winnipeg by plane, then to chruchill via train and this will take about 38 hours, and back to winnipeg via the same train and well, then i go to new york to see family and friends, that also is a separate tale.

in all this, after booking everything i did realize that the train doesn't run everyday, i would spend a night in winnipeg on the way over and another on the way back. so i tried out couchsurfing.com and guess what, this lady from winnipeg responded immediately and she seems really nice, she wants to pick me up and drop me off.. . i already knew why i love that country.

so now i have left my bags to pack and my stuff to organize, find clothing and gear for temperatures between -30 and -20 celsius, now that seems like something else. i cannot wait to feel what cold really means, here in paris when it gets to -1° everyone (including me of course) freaks out.

next step.. .(not the OS)

i got some norwegian full body underwear and -mucho° proof socks, i will be staying with this family in winnipeg that seems really nice, the lady has been making sure that all will be the best, asking me what flight will bring me in winnipeg and what i like to eat ect. .. . she will even take me shopping for some gear that will be cheaper than here, especially because here in paris, well i mean go find north pole stuff at decathlon, people look at me like i'm a mad man when i say "i need something suitable for subarctic weather during winter time". .. . well except that shop that sells mostly army supplies, he was cool actually, he offered me a 100% wool hat for buying the norwegian underwear and socks. .. .

well, i'll be heading here and staying/volunteering at the CNSC

i am now much less worried about where i'm staying and what i'm wearing, however i now have to take care of the camera situation, what to do in such low temperatures ? how to take care of the condensation after getting back indoors ? what if a polar bear tries to steal my camera ? . .. ... .. i am glad i get to go to yoga class right before i leave. .. yay. .

getting "there"

i'm finally in the air off for winnipeg first. gosh the plane food is up to how it always is, with that trademarked "airplane food" taste, choose lamb or chicken and it wont really make a difference. actually if someone on ground eats that same kind of food they will probably feel like they are actually on a plane going somewhere, they might even start hearing jet engines in their head. on my connection to winnipeg from toronto we got a nice little "scare" as the cargo door was damaged so we where not sure if the plane was even to fly, but we did and the plane did not fall apart in mid air and we did not end up on a semi deserted island with black smoke monsters and wrecked ships from centuries ago.

arriving in winnipeg was quite something, i had to walk for less than 100 meters from the front door of the air station to the car and i had already started to feel my nose snot freezing up a bit. .. gosh that is scary. i learned a lesson that night, don't wear just jeans, i mean those cold weather underwear make a big difference, so don't be shy about em.

my hosts are really nice, they picked me up at the airport, took me shopping the next day and brought me to the train station. we had talked a bit about alot of things, i was a bit overwhelmed as the mom and the 18 year old kid where talking to me about many various things at the same time and i was kind of tired, but that was all good. they most definitely earned the "friendly manitoba" that they have on their license plates..

btw. .. ..

i saw this on my connection between toronto and winnipeg. .. . . .

getting "there" II

i am waiting for my train at winnipeg station, they have announced that the train will arrive from maintenance a bit late, about 45 minutes late. . .hmmm. . .. there are about ten people waiting here, i just hope that those "the mall in my town is so great" chit-chatting old fellas aren't going to be sitting to close to me on the train. .. anyways, again it's frikin cold outside, it's about -alot° and i can say i have total understanding of what they call "winterpeg". . .

the ride is actually nice, imagine 15 passengers + crew on a train with 4 wagons including a dining wagon, basiclly we 0wn d4 tR41n. i met some nice people, a gal from bristol and a dude from amsterdam. everyone on this train is going to churchill, well all except those old dudes that had annoying conversation, yay.. .. there is even this guy on the train who reminds me of pedro from napoleon dynamite. .. .(turns out he's (and his gf) actually going to the centre as a visitor for learning vacation thingy, and he's from minnesota, and has a very nice pedro accent, and they are nice so mucho yay. .)

we are already late and we shall be later, caught up in a tie situation with a freight train, well we must give way as the other train has priority, and the freight trains go alot slower than us, so our train has to follow and so we go quite slow for the next couple of hours. .. . with all this however the ride remains relaxing, the scenery is white and fluffy, doesn't change to much but has it's nice little features and some surprises/curiosities, it's like a fish tank except that it's outside every window this train has.. . ..

the fishtank effect.. . . .

between wagons.. .

getting "there" III - almost there

at thompson about 40 people or something board the train, this is at about 10 or 11 pm. suddenly our peaceful big empty train becomes a "crowded" train with mucho people everywhere, i suddenly realized i was on a train where people actually do hop on and off. . . .weird. .. :]

well i was dead tired so i fall asleep to be woken up by some guys going a bit crazy, i heard someone saying "you better stop it ! do you want to go to jail ?! you better stop!" that was interesting, it was on and off like that for a while till they started biting each other, of course as i was half asleep that kind of amplified the whole situation. after a while i abandoned the idea of sleep and took a peak out the window and saw what i thought was aurora, and it was, so until the "troublemakers" left the train i watched the auroras with my neighbour. . .. actually, as soon as they left the train there where no more northern lights, the spirits were no longer mad i guess.

after all that we just cruised at about 20km/h untill the next day (for about another 11 hours) untill churchill. yes that was kind of slow and hypnotic in a way. when i "woke up" i felt like i was born and raised on this train.. . . maybe i never did get to see the outside world with my naked eyes, maybe all of that was just part of my dream life and now i'm awake riding a train that never stops.. .. .

one thing i must say, it might have been -40°C outside it was probably something like +40° inside, maybe a technique to sell more drinks like they do in night clubs.. . anyways, after more than 40 hours of train riding, i, we, arrive.

Churchill Northern Studies Centre

we get off the train and goto the yellow school bus that takes us then quickly through town and then to the centre, things happen pretty quick, i meet heather then diane and after a quick tour i meet my room, a spacious room that i shall share with a guy that has way bigger hair than i. after that i sign a paper stipulating that i decline responsibility if a polar bear picks a fight with me. .. i get a tour of the kitchen, place where i will be spending much time, and then start working right there and then. .. basically will be working in the kitchen either i or the other volunteer (the big haired guy) and i when i'm not doing that i'm with the group of elderhostel/learning vacation people, in classes where we learn some basics about astronomy and northern lights, and during day time we go out and do stuff.

one has to understand, and starting with me, that such a remote place calls for very different ways of getting the day to day stuff done.. . .for example, the water, no toilet paper in the toilet, no water wasting what so ever, especially the outgoing water for everything is imported/exported and treated and stuff.. . . as for the internet, today i found out there is a wireless link going from the port till here, going about 23km i guess, and then here it goes through some other routers etc... . (yes there is a wireless router so i am quite happy here. ..)

anyway, this place used to be a rocket launch base and it does still have stuff from the days, yes, there is a rocket here and there, signs and other various equipments still here. . . it's really nice, plus today they have other scientific things going on, like earthwatchers. an interesting feature is the glass dome for auroral observation which used to be for the guy who would have the last word on the "go" or "no go" for each rocket launch. the rockets where used to study the northern lights so it adds alot to the charm of the facility. my room is actually right under the dome (you can see the dome on the photo above).

bombardier yeah yeah. .. .

my first outing to town, we go to churchill and get a tour in these vehicules called "bombardier", basiclly called that way because of the inventor, and the vehicle does resemble a snowmobile, but i guess that is because the guy that invented one invented the other (ski-doo) (J.-A. Bombardier). it's awesome, feels like being in a vehicle from world war two or something like that (well the design does date from the 40's actually). we drive on the churchill river and go to see the igloo that an inuit guy from nunavut built to show us what a real igloo is like. his wife tells us about their culture, alot about the clothing and tools they made. ALOT of things are made with caribou, the only thing not made of bits of caribou was the snow blocks to make the igloo (of course all the tools where caribou) (well except that nowadays they use metal knives to carve the snow blocks and live most of the year in a real houses). after exploring some thousand year old remains of inuit or inuit ascendant settlements we went to see a caribou tent (inuit "summer house") and had hot coco and voilà. .. . . good day at the office.. .

caribou.. .

inside the igloo our hosts explain mucho things about inuit lifestyle in the nunavut territory.

old stuff. .

here are traces of an old (talking about thousands of years ago) family hut. the would set up the base against the rocks to protect it from wind. heather was very excited to see this, apparently it's not that often visible.

working hard

i've been spending much time in the kitchen, doing dishes mostly i must say, but i have also had the occasion to slightly overcook some pastries.. . yes i do mean burn.. . . don the cook is a very interesting man (then again everyone here is really interesting), he has worked here in the days of the rockets. anyways, he is a grumpy yet funny and nice guy, he's a character, like many people here. .. .

here everybody helps, beit the visitors from elder hostel or learning vacation, or the students and scientists conducting research. . . (you know, those guys running around the building with their trays of snow in ziploc bags). the environment is very warm here, hmmm.. . i'd even say globally warm.. . nothing here is locked up and it needs not be, i guess smart people aren't dumb. .. anyways, it is hard work but it is very very worth it....

a better view

you can see the building from another angle, and maybe better understand where the dome is.

ok..

if you still can't see the dome than that is too bad. . .. .. . :]

camera care.. ...

i was worried about camera care before i got here, i searched for infos all over and i have found some, but not enough to my taste so hereis some tips based on my experience.

check the specs of the camera and eventually of the memory card, my camera says -40°c and the sd card claims -25°c, so that should be fine ae. (i tend to think that any memory card will do, but i still got the one that said -25° and it was the same price) the biggest problem will not be the operation in low temperatures, however one must be careful while while handling the camera to not breath out to close to it to avoid humidity that will freeze upon contact to the machine, so yeah never breath on the lens to clean it for example, but also watch out for the viewfinder and the screen.

you can take your camera outside from the warm to the cold environment without worry, however never bring it back in to casually, the camera should not warm up to fast or else condensation will appear inside the body and might harm the circuits. you can do two things here;

one is, before getting indoors place the camera in an air tight bag (ziploc will do well), when the camera enters a warm environment the condensation will form inside the bag and not inside the camera (or any other equipment).

second, i prefer this one, find a way to warm the camera very progressively. i found that my camera bag is somewhat pretty insulative, so i leave it in the camera bag and i even place it in a cold place (the hallway behind the kitchen here is not heated) for a while (about an hour or so) then i put it in a heated room, while still in the bag. .. the procedure takes time, but whatever, i do other stuff meanwhile, and there is no condensation at all.

if the camera does experience some condensation, take the battery out asap and let the camera dry, don't heat it or anything, you can however put it in front of a fan or something that emits non heated air.. ..

voilà, that should do, its been a week now i have been doing this and it works well. i prefer the second technique because of the zero condensation but also because i tend to think that any parts going from -40°c to +20+c could be somewhat "damaged" if that occurs to fast.... . .. ..

for the batteries, well they die faster as they use more energy to deliver electricity. of course a cold battery while not used conserves its energy longer. anyways, just keep a spare, eventually in your pocket so that when you need it it will last a bit longer. i have not had to many problems with that, just turn the camera off when not in use and that should work well.

churchill.. . . ..

yes churchill manitoba, i actually have not spent any time there before this outing to the big city. well okay, churchill has about 900 people living there so it's not that big i guess, plus there is no urban sprawl around here. anyways we all went with the big yellow bird bus to the city, stopping at various points where things where pointed out to us like the old school weather station, u.s. military base and the bear prison.

the town itself is pretty small and i did not find any crowds nor any traffic jams. what to say apart that the streets are white and snowmobiles are parked all over the place and people are cool, in more than one way.

welcome to.. .

yes, i did get a shot like this, well i had to. it's good to feel like a good ol' tourist. . .. .. bring on the polar bears goddamnit. . . .

: ]

who want's crack. . ... ?

this is a crack in the hudson bay, nice ae? well i managed to get my left foot to fall inside one and it's pretty pretty deep. apparently robert, the guy i met on the train had felt the water beneath when that happened to him. .. . . so basically people don't walk on the hudson bay because it cracks up a bit everywhere, but hey, i didn't see any polar bears trying to kill me so guess i needed some adrenaline.. .. . besides that, the bay looks like it instantly froze as you can almost see wave like forms in it... . .

oh roar ah.

since i have been here at the cnsc, i have heard about aurora, i have seen aurora, i have even taken some pictures of aurora, i have already frozen my ass off more than once in attempt to get a nice shot.. . . well today i think i got some nice ones. .. . .

i have for the first time seen aurora borealis, the northern lights, on this trip. tonight the display was immense and bright, green and mean, mystical and magical. . .. . .

the aurora moves a bit, more or less depending on "stuff". . ... .. it can appear at first as a discreet greenish cloud, just moving along doing it's business, then suddenly it may brighten up and become accompanied by other stripes and forms that suddenly become visible. it can then sometimes just starts moving quickly often making wavy movements, it can suddenly stop and die out or it can go back to a calmer state while keeping its luminosity or not, it's actually quite hard to know in advance what could happen.. ... ..

rockets r us. . .

i guess you know that you are in a special place when you see rockets in the lounge and on the parking lot, when everyday you look out the window and you can see through the frost three rocket launch towers, when you meet people who help out with the dishes just before going out to survey the polar bears while being followed by the bbc and other science mags, when you meet people that have been to antartica, etc etc. .. . . . everyone has a story to tell, and every bit of this facility is a story.

for example, the dome, the other night i spent a bit of time in the dome on my own while everyone was asleep, drinking my tea and enjoying the view. it feels awesome, relaxing and still exciting. from this dome a guy would have the button to the final descision on the go or no go of the rockets back in the days.

there is this building somewhere in the middle, well if you peak through the "bullet proof" windows you see a control deck that you would only see in a james bond movie or something like that, 60's style and dust free. .... (i'll try to see more). . .

rocket range 1 & 2

go/no go

i will press this button (in the dome) tonight to see what happens. ..
:]

donald.

don is one of a kind, he has been around here and there, i think he worked here when this place was a rocket range.. . he's the chef around here these days and he's also my "boss" as i worked in the kitchen. .. . he's quite the grumpy type, when he's grumpy you know he's happy. ... . that is don... .i'd say he's our swedish chef, but with the ladies he is one smooth criminal.

i asked him if i could take a picture of him and he said "sure, i'll try to smile but i can't guarantee anything", i replied "don't worry, i want a picture of you the way i see you everyday" and then he grinned.

cookie ¿

cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. . cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. . .. .cookie? cookie. cookie¿ cookie.. . . cookie cookie .. .

churchill, the city that never sleeps. ... . .

chasing the aurora and having morning shifts doesn't leave too much space for sleep, besides those activities there is always something to do, a conversation to be conversed, eventually a drink to be drank. so basically sleeping is an activity i don't do much over here.. . .however lately things having calming down and i've been taking it much easier, the elder/learning groups and the earthwatchers have all left. well yeah it's getting kind of empty, remaining is the regular cnsc staff, starman, nick and greg the polar bear guys and a lady taking photos for ranger rick and guys from bbc also doing stuff with the polar bears.

so yeah, things are calming down alot, i have had some very interesting conversations with the people who are here, for example Suzi Eszterhas who gave me quite a few tips on photography and taught me how to clean my camera. . ... . very useful.

mercury & mercury

the other day i helped setting up a wireless connection from the studies centre to the met station, i was excited to do that, plus to inspect the place where they study mercury the element. so this photo is that building, and the white dot above on the left side is mercury the planet. .. . .

btw.. . ..

this trip is officially over, just did not have any time to conclude this log. so yeah, tis was fun till the last minute, driving back from the centre to the train station was interesting, and we even stopped for a quick shot at this bar downtown and then just hopped on the railed bus (train) .. . .. . . another long trip with about 6 hours delay at the arrival point, but hey, me no longer surprised. so voilà, back to winnipeg for another night and then off to new york, that another story, and voilà. .. . . .. more details irl or via email... . .

ernest defaced : ]

Publié par manu

don't fuck with the n4mu

et voilà qu'un jour a force de lolilouseries et trollificationements, j'ai décidé de dissoudre le site de gourbi en lui offrant quelques retouche typographiques. la vraie version de la page se trouve sur waybackmachine, et le faux defaced screenshot, retrouvé derrière des millénaires d'armoires pouissièreux.. . voici donc la version revue et corrigée de ernest.cheska.net

noyau dedibox

Publié par manu

j'ai pris une dedibox récemment et j'ai trouvé que l'interface de gestion est pas mal et plein de choses sont pas mal, cependant j'ai constaté un souci que visiblement je n'étais pas seul a avoir. en effet la freebox plante inopinément, de préférence le matin entre 5h et 9h, mais des fois en plein après midi, rien dans les logs, rien null part

je tourne sous Debian GNU/Linux Etch, c'est a dire la version stable, et selon certains dires il y aurai une incompatibilité entre l'option "NX Bit" et la carte mère et noyau dedibox, et la solution serait d'utiliser un noyau sans le support "NX Bit" ou de le désactivé du firmware la carte mère. Il y a peut être des variantes matérielles sur les dedibox qui fait que certains choses subtiles peuvent varier. (?)

j'ai commencé par désactivé le NX Bit du firmware mais ça n'a RIEN changé, j'ai donc téléchargé la dernière version stable du noyau (2.6.22.7) depuis kernel.org et j'ai compilé mon petit noyau, au bout d'une semaine sans plantages j'estime que ça va mieux, beaucoup mieux, donc si cela intéresse qqun, voici un paquet Debian du noyau que j'ai compilé:

  • paquet debian 2.6.22.7 avec support du processeur C7 (et non pas C3 comme dans le noyau dedibox-r7)
  • fichier config 2.6.22.7
    • les changements (en gros)

      • Forced module unloading: désactivé, je ne dev pas de modules linux c'est donc inutle
      • Support for Large Block Devices: désactivé, 2TB sur dedibox ? voilà quoi.
      • Processor family: VIA C7 au lieu de C3
      • High Memory Support: off, il y a 1Go de ram, pas un bit de plus (ni même l'option d'avoir plus)
      • IP virtual server support: si c'est expérimental je ne le mets pas dans mon noyau
      • Normal floppy disk support: je ne pense pas que cela me servira
      • ATA/ATAPI/MFM/RLL support:
      • CMD640 chipset bugfix/support: y'as pas besoin !
      • RZ1000 chipset bugfix/support: pareil, y'a pas de RZ1000 la dessus !
      • File systems: en gros j'ai désactivé ce dont je n'avais pas du tout besoin

      et c'est tout. je me demande si finalement y'aura pas un rapport avec la gestion de la ram des fois plus qu'avec le support NX Bit, qui sont lié dirait-t'on, ou tout simplement le support C7 recent qui arrange beaucoup de choses.. . .. qui sait ? pas moi en tout cas. : ]

Munin

Publié par manu

Munin est un logiciel qui permet de surveiller son système et de créer des graphiques qui seront accessible via une page web.

Il y a deux parties, le serveur et le client, on pourra donc avoir un serveur et plusieurs clients (nodes) et donc depuis le serveur connaitre l'état de chaque machine. Dans ce tuto, pour l'instant, je survol une installation des plus simples.

Installation

Sur Debian il suffit de:

apt-get install munin munin-node

Sera crée :

  • /var/www/munin
  • /etc/munin/
  • /usr/share/munin/plugins/

Configuration du serveur

Dans /etc/munin/munin.conf on a :

dbdir /var/lib/munin htmldir /var/www/munin logdir /var/log/munin rundir /var/run/munin

Si l'on veut changer quelque chose, comme le htmldir c'est ici qu'il faut le faire.

Aussi on peut modifier ainsi (exemple) :

[localhost.localdomain] address 127.0.0.1 use_node_name yes

en

[nomdemachine.lan] address 127.0.0.1 use_node_name yes

c'est ici qu'on indique au serveurs quels sont les "nodes" (clients) qu'il faut intérogé, aussi en changeant le "nomdemachine" il est plus simple d'identifier ce que l'on lit.

Visualiser les graphes

Il suffira d'aller sur la page qui montrera ce qui est défini par htmldir, c'est a dire: /var/www/munin

Sur une Debian par défaut ce sera http://IP/munin cependant cela peut varier.

configuration du node

par défaut la configuration devrait être suffisante, cependant vous pouvez regarder dans /etc/munin/munin-node.conf et voir ce qui se passe. si votre node n'est pas le serveur lui même il faudra alors permetter l'accès au serveur selon l'exemple:

allow ^127\.0\.0\.1$ allow ^192\.168\.1\.11$

ici on permet a localhost (par défaut) et un autre ordinateur sur le lan (le serveur qui regroupe toute les graphs), ceci fonctionne évidement avec des IP publics. si vous vous demandé quelle port il faudra ouvrir voici la réponse: TCP 4949

Plugins

Pour ajouter un plugin, en principe, il suffit de créer un lien dans /etc/munin/plugins/ vers le plugin qui est dans /usr/share/munin/plugins/, configurer le plugin, puis redémarrer munin-node.

Par exemple :

cd /etc/munin/plugins/ ln -s /usr/share/munin/plugins/df . # celui-ci sera sans doute déjà activé. ./df autoconf yes /etc/init.d/munin-node restart

Il va de soi que ce ne sera pas toujours si simple, il faudra lire ce qui se trouve dans le fichier du plugin en question, il y a souvent quelques explications et chaque plugin dépend de ce qu'il aura a faire pour fonctionner, certains plugins requièrent des modules noyau et/ou des logiciels pour fonctionner.

Il y a des plugins dont le nom se fini avec un tiret bas "_", il ne faut pas créer des alias tout bêtement, pour savoir que faire voyons l'exemple:

Je veux utiliser sensors, je vois /usr/share/munin/plugins/sensors_ donc j'utilise l'option suggest comme suit:

/usr/share/munin/plugins/sensors_ suggest

et cela me dit :

fan volt temp

alors pour avoir la température je fais:

cd /etc/munin/plugins/ ln -s /usr/share/munin/plugins/sensors_ sensors_temp

maintenant vous pouvez compliquer votre installation avec pleins de nodes/serveurs/plugins etc etc..
:]

AutoFS

Publié par manu

ce logiciel permet de monter des systèmes de fichier a la demande que ce soit des disque USB/carte flash ou des système de fichiers distant et même pourquoi pas un disque interne.

Ce qu'il faut

  • Un noyau ayant l'option "Kernel automounter" File Systems ---> <*> Kernel automounter version 4 support (also supports v3)
  • Le logiciel autofs apt-get install autofs
  • De quoi gerer le(s) système(s) de fichier qu'on aura a monté

    Par exemple pour un disque USB il faudra le bon module noyau, pour du samba pareil avec en plus le logiciel smbfs.

Configuration

Pour configurer autofs il faut éditer le fichier maitre /etc/auto.master, dans ce fichier on fera référence a d'autre fichiers de configuration.

/etc/auto.master

Dans le fichier /etc/auto.master il faut ajouter la ligne (on peut avoir plusieurs lignes au besoin):

/mnt/autofs-user /etc/auto.user --timeout=3 --ghost

Dans l'ordre on précise:

  • le répertoire de montage
  • le fichier de configuration des montages
  • les options supplémentaire

--timeout : permet d'indiquer a partir de combien de temps (en secondes) de non accès au ressource le système de fichiers sera démonté.

--ghost : si l'on ne mets pas cette option aucun répertoire ne sera crée dans /mnt/autofs-user et donc pour monter le systéme de fichiers il faudra y accéder en tapant le chemin complet, par exemple /mnt/autofs-user/sda1, vous comprendrez en lisant la suite.

Il faut donc créer le répertoire de montage:

mkdir -p /mnt/autofs-user

/etc/auto.user

C'est dans ce fichier que l'on pourra définir les montages un par un:

usb1 -fstype=auto,rw,uid=1000,gid=1000 :/dev/sda1 usb2 -fstype=auto,rw,uid=1000,gid=1000 :/dev/sdb1

C'est donc dans /mnt/autofs-user/sda1 que sera monté /dev/sda1 avec les options habituelles de fstab. etc etc.

uid et gid : le numéro du compte utilisateur a qui appartiendra le montage, il est important sans quoi cela risque d'avoir les droits "root".

maintenant que tout est bon on redémarre autofs

/etc/init.d/autofs restart

En pratique

Il suffit donc d'aller dans /mnt/autofs-user/ vous verrez les répertoires usb1 et usb2 qui sont a priori vides.

En allant dans le répertoire /mnt/autofs-user/usb1 (ou en listant son contenu etc etc) autofs va monter /dev/sda1 dans le répertoire usb1 comme défini dans le fichier /etc/auto.user et /etc/auto.master. En effet il va monter sda1 dans usb1 par rapport au point de montage défini dans /etc/auto.master, c'est a dire dans /mnt/autofs-user.

La configuration sans --ghost

L'option --ghost va créer automatiquement les répertoires usb1 et usb2 dans /mnt/autofs-user/ ce qui est pratique, cependant je trouve cela moins pratique pour ce que j'en fait.

Ma technique consiste a créer un répertoire depuis lequel j'accéderais au montage, dans mon cas je fais:

mkdir /home/manu/autofs/ cd /home/manu/autofs/ ln -s /mnt/autofs-user/usb1 . ln -s /mnt/autofs-user/usb2 .

Cela me créera des liens vers des répertoires qui n'existe pas SAUF quand sda1 ou sda2 est monté.

lrwxrwxrwx 1 manu manu 21 2005-08-14 09:53 usb1 -> /mnt/autofs-user/sda1 lrwxrwxrwx 1 manu manu 21 2005-08-14 09:53 usb2 -> /mnt/autofs-user/sdb1

Ainsi quand je liste le contenu du répertoire /home/manu/autofs/ autofs va tenter de monter sda1 et sdb1, normal, ce qui est plus subtile est l'affichage.

Je m'explique, j'ai un bash coloré, si le lien pointe vraiment quelque part ce sera affiché en jaune pour moi, si c'est un lien vers un répertoire inexistant (non monté) ce sera rouge, ainsi je sais tout de suite ce qui est monté ou non. De plus avec un navigateur de fichier comme Konqueror par exemple on voit de suite si l'icône affiché est un lien vers quelque chose cela veut dire que la ressource est monté sinon il m'affichera une icône avec un "?".

AutoFS et samba et/ou NFS

AutoFS est une sorte de fstab qui monte au besoin, on peut tout a fait monté des partages réseau avec.

zik -fstype=smbfs,credentials=/etc/smb.auth.manu,uid=1000,gid=1000 ://192.168.0.100/zik nfs -rsize=8192,wsize=8192,soft,timeo=14,rw 192.168.0.100:/chemin/nfs

A noter pour le samba qu'il faudra le fichier /etc/smb.auth.manu, qu'il soit chmod 600 et contienne les infos d'authentification samba, par exemple:

username=manu password=toto

maintenant tout devrait fonctionner a merveille, le soleil doit briller et vous gagnerais le lotto si vous forwardez ce lien vers au moins 15 personnes.. . .

: ]