Solutions Ubuntu | Astuces, tutoriels et autres découvertes sous Linux …

Changer le nom des partitions

Voici comment changer le nom des partitions selon le système de fichier utilisé.

Sous ext2 et ext3 :
# umount /dev/hdb1
# tune2fs -L HD_EXTERNE /dev/hdb1

Sous vfat (fat16, fat32), il faut utiliser la commande mlabel comprise dans le paquet mtools à installer. Avant de lancer la commande mlabel, il faut ajouter la ligne suivante dans le fichier /etc/mtools.conf :
drive d: file="/dev/hdb1"
Finalement, on change le nom de la partition ainsi :
# mlabel d:HD_EXTERNE

Extraction et encodage mp3 d’un CD audio

Extraire un CD Audio et encoder les fichiers en mp3 (avec tag via CDDB) est assez simple grâce au logiciel Sound Juicer.

Sur une Ubuntu, celui-ci est installé par défaut, disponible via les menus (Applications->Son et Vidéo->Extracteur de CD Audio), sinon il faut l’installer :
$ apt-get install sound-juicer
$ sound-juicer

Sound Juicer

Pour plus de détails : doc_ubuntu_sound_juicer

Backup Zimbra version OpenSource

Les outils de sauvegarde intégrés à Zimbra font seulement partie de la version payante de Zimbra, voici donc 2 scripts permettant de faire des sauvegardes de la version OpenSource.

Le premier script zmhotbackup.sh permet de faire un backup à chaud de toutes les boites mails du serveur :

#!/bin/bash
ZHOME=/opt/zimbra
ZBACKUP=/root/backup/mailbox
# un backup par jour historique sur un mois
DATE=`date +"%d"`
ZDUMPDIR=$ZBACKUP/$DATE
ZBIN=$ZHOME/bin
if [ ! -d $ZDUMPDIR ]; then
 mkdir -p $ZDUMPDIR
fi
echo " Running zmprov ... "
for mbox in `$ZBIN/zmprov -l gaa`
do
 echo " Generating files from backup $mbox ..."
 $ZBIN/zmmailbox -z -m $mbox getRestURL "//?fmt=tgz" > $ZDUMPDIR/$mbox.tgz
done
echo " Uploading files on ftp1 ..."
lftp -q -f /root/backup/zmhotbackup1.lftp

Avec le script de commandes FTP zmhotbackup1.lftp suivant :
open -u user,pass server
cd "srvmail/mailbox"
lcd /root/backup/mailbox
mirror -R -n

Le second script zmcoldbackup.sh permet de faire un backup complet à froid (Zimbra arrêté) de toute l’installation de Zimbra et comprend donc les mailbox, la configuration et toutes les données utilisateurs :

#!/bin/bash
ZHOME=/opt/zimbra
ZBACKUP=/root/backup/zimbra
ZTMP=/root/backup/tmp
# un backup par jour historique sur une semaine
DATE=`date +"%a"`
ZBACKUPFILE=$ZBACKUP/"zimbra_"$DATE".tgz"
ZBIN=$ZHOME/bin
if [ ! -d $ZBACKUP ]; then
 mkdir -p $ZBACKUP
fi
echo " Running rsync before stopping Zimbra ... "
rsync -aHK --delete /opt/zimbra/ /root/backup/tmp/zimbra/
echo " Stopping Zimbra ... "
su - zimbra -c "/opt/zimbra/bin/zmcontrol stop"
sleep 30
echo " Running rsync ... "
rsync -aHK --delete /opt/zimbra/ /root/backup/tmp/zimbra/
echo " Starting Zimbra ... "
su - zimbra -c "/opt/zimbra/bin/zmcontrol start"
echo " Creating backup archive ... "
cd $ZTMP
tar -c -z -p --same-owner --ignore-failed-read --exclude "zimbra/data/postfix/spool/private/*" --exclude "zimbra/data/postfix/spool/public/*" -f $ZBACKUPFILE zimbra
echo " Uploading files on ftp1 ..."
lftp -q -f /root/backup/zmcoldbackup1.lftp

Avec le script de commandes FTP zmcoldbackup1.lftp suivant :
open -u user,pass server
cd "srvmail/zimbra"
lcd /root/backup/zimbra
mirror -R -n

Pour en savoir plus :
Backing_up_and_restoring_Zimbra_(Open_Source_Version)
Open_Source_Edition_Backup_Procedure

Utiliser la connexion internet d’un Motorola Milestone sur son PC

Nul besoin de rooter son téléphone Android pour partager sa connexion 3G, il suffit de connecter en USB son mobile, d’utiliser les outils de développement du SDK Android sur son PC et d’installer l’application Proxoid sur son téléphone.

Coté PC installer le dernier SDK Android disponible ici puis ajouter une règle udev pour la reconnaissance du Motorola Milestone :
$ echo SUBSYSTEMS=="usb", ATTRS{idVendor}=="22b8", ATTRS{idProduct} =="41db", MODE="0666", OWNER="user", SYMLINK+="android_adb" | sudo tee /etc/udev/rules.d/51-android.rules

Pour l’utilisation d’un autre téléphone Android, récupérer les infos vendor/produc via la commande lsusb et ne pas hésiter à redémarrer son PC après configuration de la règle udev.

Coté mobile, il faut activer le débogage USB : Menu -> Paramètres -> Applications -> Développement -> Débogage USB et installer l’application Proxoid disponible via Android Market ou directement en scannant le code barre suivant :

Une fois tout ceci installé, brancher en USB le Milestone à votre PC (sélectionner dans la barre de notification de l’USB Ne rien faire ou Chargement uniquement) puis utiliser la commande adb disponible dans le répertoire tools du SDK et s’assurer que le Milestone est bien reconnu via la commande :
$ cd /opt/android-sdk-linux_86/tools
$ ./adb devices
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
040366021300D01A device

Le Milestone et le PC communiquent ! Lancer ensuite le logiciel Proxoid sur le Milestone et la redirection des paquets sur le PC :
$ ./adb forward tcp:8080 tcp:8080

Configurer sur le PC le naviteur web avec utilisation du proxy localhost:8080 et voila surfer sur internet se fait maintenant en utilisant la connexion internet du mobile.

Pour une connexion SSH à travers Proxoid, rien de plus simple :
$ apt-get install corkscrew
$ echo 'ProxyCommand /usr/bin/corkscrew localhost 8080 %h %p' | tee -a .ssh/config
$ ssh julien@serveurssh

Diffusion webcam avec VLC

VLC est bien plus qu’un lecteur vidéo, celui-ci permet notamment la diffusion de flux vidéo comme par exemple celui que l’on peut produire avec une webcam.

Considérons la machine avec la webcam comme notre serveur vidéo, celui ci ayant le port 8080 ouvert (configuration routeur avec NAT si besoin), il suffit de lancer VLC en mode console au choix à l’aide d’une des deux commandes :
$ cvlc v4l2:///dev/video0 --sout "#transcode{vcodec=mp4v,vb=800, scale=0.5,acodec=none}:std{access=http,mux=ogg,dst=8080}"
$ cvlc v4l2:///dev/video0 --sout "#transcode{vcodec=div3,vb=800, width=320,heigth=240,acodec=none}:std{access=http,mux=asf,dst=:8080}"

Il est maintenant possible à partir de n’importe quelle machine cliente sur le web d’afficher le flux de la webcam via la commande :
$ vlc http://ip.publique.serveur.webcam:8080

Un peu d’explications ?

  • /dev/video0 : notre périphérique webcam
  • v4l2 : c’est le driver utilisé pour la webcam
  • transcode {…} : le flux est encodé en MPEG4 ou DIVX3, le débit vidéo est de 800kbit/s, sans audio
  • std {…} : le flux est diffusé en HTTP sur le port 8080 en encapsulant avec le conteneur ASF
  • Mettre à jour l’heure de son système

    Pour mettre à jour l’heure de son système, il suffit de se synchroniser sur un serveur de temps via internet. La commande ntpdate sert justement à ca mais au préalable il faut installer le paquet du même nom :
    # apt-get install ntpdate

    Il faut ensuite choisir le serveur de référence à utiliser pour se mettre à l’heure, 2 solutions s’offrent à vous :

  • soit vous utilisez un serveur connu (cela peut poser problème si celui-ci se dérègle ou est en panne)
  • soit vous utiliser l’alias ou nom de domaine pool.ntp.org (la machine qui vous répondra derrière cet alias sera rarement la même, évitant ainsi les problèmes précédents)

    La commande finale se résume donc à :
    # ntpdate pool.ntp.org

    On pourra lancer cette commande à chaque démarrage de la machine on ajoutant la ligne suivante à votre fichier /etc/rc.local (avant le “exit 0″) : /usr/sbin/ntpdate pool.ntp.org

    Votre système est à l’heure après chaque démarrage mais pas pour longtemps, à cause de la dérive entre les horloges système et matérielle, pour compenser cela :
    # apt-get install adjtimex

  • L’offre télé Free sur son PC

    Le multiposte chez Free permet de regarder les nombreuses chaines de l’offre télévision sur son PC. Selon le débit il est même possible de regarder différentes chaines sur plusieurs postes en même temps.

    Voici maintenant comment se simplifier la vie avec quelques commandes. Il faudra au préalable installer le logiciel VLC :
    # apt-get install vlc

    Ensuite nous avons besoin de récupérer la liste des chaines disponibles que l’on trie de manière plus pratique à utiliser (ne pas être en root) :
    $ cd ~ mkdir ~/.pls
    $ cd ~/.pls
    $ wget http://mafreebox.freebox.fr/freeboxtv/playlist.m3u
    $ grep -B 1 'flavour=sd' playlist.m3u | grep -v '\-\-' > playlist_tv_sd.m3u
    $ grep -B 1 'flavour=hd' playlist.m3u | grep -v '\-\-' > playlist_tv_hd.m3u
    $ grep -B 1 'flavour=ld' playlist.m3u | grep -v '\-\-' > playlist_tv_ld.m3u
    $ grep -v 'flavour' playlist.m3u | grep -B 4 rtsp | grep -v '\-\-' > playlist_radio.m3u

    Ajoutez quelques alias de commandes dans votre fichier ~/.bashrc :
    alias tv_sd='cvlc \--key-next 6 \--key-prev 4 \--key-toggle 5 \--key-quit 0 \--key-vol-up 8 \--key-vol-down 2 ~/.pls/playlist_tv_sd.m3u'
    alias tv_hd='cvlc \--key-next 6 \--key-prev 4 \--key-toggle 5 \--key-quit 0 \--key-vol-up 8 \--key-vol-down 2 ~/.pls/playlist_tv_hd.m3u'
    alias tv_ld='cvlc \--key-next 6 \--key-prev 4 \--key-toggle 5 \--key-quit 0 \--key-vol-up 8 \--key-vol-down 2 ~/.pls/playlist_tv_ld.m3u'
    alias radio='vlc \--key-next 6 \--key-prev 4 \--key-toggle 5 \--key-quit 0 \--key-vol-up 8 \--key-vol-down 2 ~/.pls/playlist_radio.m3u'

    Les commandes suivantes seront maintenant accessibles depuis votre console :

  • tv_sd : regarder les chaines de définition standard
  • tv_hd : regarder les chaines haute définition
  • tv_ld : regarder les chaines basse définition
  • radio : écouter la radio
  • Les touches du pavé numérique permettront alors de :

  • contrôler le volume (touches 2 et 8)
  • passer d’une chaine à une autre (touches 4 et 6)
  • passer en plein écran (touche 5)
  • quitter le logiciel (touche 0)
  • Si le lancement par la console ne vous convient pas, vous pouvez bien évidemment associer à un raccourci clavier une de ces commandes.

    Tagger ses mp3

    Je connaissais déjà easytag comme interface graphique pour ajouter ou modifier les informations artiste/album/morceau d’un fichier audio MP3. Je découvre à l’instant lltag qui fournira le même usage mais en ligne de commande.

    Voici un extrait du manuel :
    $ man lltag
    lltag - tag and rename mp3/ogg/flac music files automagically lltag is a command-line tool to automagically set tags of MP3, OGG or FLAC files. There are several ways to obtains the tags that will be set: parsing the filename, requesting from CDDB, explicitly setting values, manually editing values

    Underclocker son processeur

    Hé oui encore mes histoires de ventilateurs qui font du bruit (qui tournent tout simplement en fait) … Je n’y ai pensé que récemment, comment éviter que le ventilateur du CPU tourne ?

    C’est simple, il suffit de baisser la fréquence du processeur, il sera moins performant mais il chauffera moins et sur un pc portable l’autonomie n’en sera que meilleure.

    Tout est la dans la documentation ubuntu : cpu-frequtils

    Vérification automatique du système de fichier au démarrage

    Lorsque par exemple une coupure de courant intervient sur une machine serveur, il arrive que le système de fichier soit endommagé et demande une intervention humaine au démarrage, bloquant ainsi l’utilisation distante de la machine.

    Pour éviter cela, première solution, éditer /etc/fstab et remplacer le 1 à la fin par 0 :
    /dev/sda1 / ext3 relatime,errors=remount-ro 0 1

    Ainsi le système racine ne sera pas vérifié au démarrage évitant ainsi de perdre l’accès distant.

    Autre solution, la meilleure à priori, est de laisser la vérification automatique du filesystem tout en forcant la réparation des erreurs si besoin, ainsi aucune intervention humaine ne sera demandée.

    Pour cela, mettre à yes le paramètre FSCKFIX du fichier /etc/default/rcS