Forums d'entraide informatique - Astuces - Conseils
Des experts à votre écoute pour tous vos dysfonctionnements
Vous n'êtes pas identifié.
#1 21-08-2008 20:28:14
- Admin
- Administrateur
- Date d'inscription: 30-07-2008
- Messages: 683
Formation à Linux (6)
226Chapitre 57. Le mail en console (suite)
Archiver ses mails
Le principe
Au bout d’un certain temps, si vous recevez beaucoup de mail, vos mailboxes peuvent commencer à devenir trop grosses,
ce qui a deux inconvénients : ouvrir une mailbox (ou la synchroniser, comme expliqué ci-dessous) prend beaucoup de
temps, et le mail commence à prendre beaucoup d’espace disque.
Pour remédier à ce problème, je vous propose d’utiliser le programme archivemail (http://archivemail.sourceforge.net/)
pour :
• supprimer les mails trop vieux de certaines mailboxes (par exemple celles contenant des mailing-lists archivées sur le
Web) ;
• compresser les mails trop vieux de certaines mailboxes.
La mise en oeuvre
Commencez par installer le programme archivemail :
# apt-get install archivemail
La sytaxe d’archivemail est très simple :
• pour supprimer les mails vieux de plus de 90 jours des mailboxes mailbox1 et mailbox2 :
% archivemail -d 90 --delete ~/mail/mailbox1 ~/mail/mailbox2
• pour compresser les mails vieux de plus de 120 jours des mailboxes mailbox3 et mailbox4 et les stocker au format mbox
dans le répertoire ~/mail-archive préalablement crée :
% archivemail -d 120 -o ~/mail-archive ~/mail/mailbox3 ~/mail/mailbox4
Si les commandes précédentes ne marchent pas et génèrent un message d’erreur bizarre, il faut relançer la commande en
ajoutant l’option -v (verbose) et regarder quel mail particulier est responsable de l’erreur ; ensuite, éditer le mail fautif pour
essayer de comprendre pourquoi il empêche archivemail de fonctionner, et supprimer le à la main s’il n’est pas important.
Si vous décidez de mettre en place une telle solution, vous aurez probablement envie que cela se fasse automatiquement,
par exemple chaque Lundi à 12h42. Pour cela, utiliser la commande cron, comme expliqué au chapitre Outils
d’administration système et résumé ici. Editez votre cron avec la commande crontab -e et rajoutez les deux lignes
suivantes :
42 12 * * 1 archivemail --quiet -d 90 --delete ~/mail/mailbox1 ~/mail/mailbox2
43 12 * * 1 archivemail --quiet -d 120 -o ~/mail-archive ~/mail/mailbox3 ~/mail/mailbox4
227Chapitre 57. Le mail en console (suite)
Synchroniser ses mails entre un serveur et un portable
Le principe
C’est la configuration que j’utilise personnellement ; je vais donc parler à la première personne ! Je reçois mes mails sur un
serveur sous Debian sur lequel j’ai un accès par SSH. Sur ce serveur, je trie mes mails avec procmail et spamassassin et je
les lis avec mutt, exactement comme expliqué au chapitre Le mail en console. Sur ce serveur, je fais également l’archivage
de mes mails comme expliqué dans la section précédente. Avec cette solution, je peux lire mes mails depuis n’importe quel
ordinateur connecté à Internet et sur lequel je peux installer un client SSH.
J’ai aussi un ordinateur portable sous Debian, et je veux pouvoir avoir mes mails sur mon portable même quand il n’est pas
connecté. En plus de ça, je veux :
• pouvoir synchroniser facilement toutes mes mailboxes entre le serveur et mon portable de manière sécurisée (i.e. sans
que le mot de passe soit envoyé en clair sur le réseau ni stocké en clair dans un fichier texte sur mon portable) ;
• que les mails que je lis sur mon portable et ceux que je lis sur le serveur soient marqués comme lu sur mon portable et
sur le serveur après synchronisation ;
• que les mails que je marque pour être effacés sur mon portable et ceux que je marque pour être effacés sur le serveur
soient effaçés sur mon portable et sur le serveur après synchronisation ;
• que les mails auquels je répond sur mon portable et ceux auquels je répond sur le serveur soient marqués comme
répondus sur mon portable et sur le serveur après synchronisation.
C’est le programme isync (http://isync.sourceforge.net/) qui va s’occuper de la synchronisation. La mise en place de ma
solution avec isync requière trois choses :
• un accès SSH au serveur ;
• un serveur IMAP installé sur le serveur (mais pas forcémment joignable de l’extérieur) ;
• des mailboxes au format maildir sur le serveur.
Note : Si vous avez suivi les instructions du chapitre Le mail en console, vos mailboxes sont au format maildir .
Faire une sauvegarde
Dans ce genre de bidouilles, une mauvaise manipulation est vite arrivée ; je vous conseille donc de faire une sauvegarde de
vos mails avant de commencer.
Sur le serveur...
Il faut qu’un serveur IMAP soit installé sur le serveur et repérer l’exécutable du serveur IMAP. Sur une Debian qui utilise
le serveur IMAP fourni dans le package uw-imapd, l’exécutable du serveur est /usr/sbin/imapd.
Ensuite, il faut modifier la configuration de mutt sur le serveur. Sur le serveur, éditez le fichier de configuration ~/.muttrc
et, si vous utilisez mon fichier de configuration, décommentez la ligne suivante, située dans la première partie :
set maildir_trash
228Chapitre 57. Le mail en console (suite)
Sur le portable...
Je suppose que le portable n’a pour l’instant aucune configuration de faite au niveau mail.
Mutt est normalement déjà installé. Récupérez mon fichier de configuration type :
% wget http://www.via.ecp.fr/~alexis/formation … fig/muttrc
% mv muttrc ~/.muttrc
Editez le fichier ~/.muttrc. Commencez par adapter la première partie intitulée Configuration Générale et décommentez
la ligne suivante :
set maildir_trash
Ensuite, dans la 5ème partie intitulée Binding des touches, dans le paragraphe sur les macros, vous pouvez éventuellement
commenter les lignes qui bindent la touche F4 avec fetchmail et décommenter les lignes qui bindent F4 avec isync.
Créez le répertoire mail/ dans votre home pour accueillir vos mailboxes :
% mkdir ~/mail/
Installez isync :
• si vous suivez la Méthode Woody, utilisez le package Debian que j’ai construis (le package de la Woody est trop vieux
pour ce que je propose de faire) :
% wget http://www.via.ecp.fr/~alexis/formation … 1_i386.deb
# dpkg -i isync_0.9.1-1_i386.deb
• si vous suivez la Méthode Sid, utilisez le package présent dans la Sid :
# apt-get install isync
Récupérez mon fichier de configuration type pour isync :
% wget http://www.via.ecp.fr/~alexis/formation … ig/isyncrc
% mv isyncrc ~/.isyncrc
Editez le fichier ~/.isyncrc et adaptez les lignes commençant par :
• Host : mettez le nom DNS de votre serveur ;
Host serveur.exemple.org
• Tunnel : mettez votre login, le nom DNS de votre serveur et l’exécutable du serveur IMAP sur votre serveur.
Tunnel "ssh -q toto@serveur.exemple.org /usr/sbin/imapd"
Synchroniser
Tout est maintenant prêt pour la première synchronisation ! Sur votre portable, vous allez lancer isync avec l’option -a pour
synchroniser toutes les mailboxes, l’option -L pour créer automatiquement les mailboxes en local et l’option -V (verbose)
pour faciliter le diagnostic des éventuels problèmes. Si en plus vous avez mis en place ssh-agent comme expliqué dans le
chapitre L’accès à distance par SSH, exécutez ssh-add préalablement pour ne même pas avoir à taper votre mot de passe !
% isync -a -L -V
229Chapitre 57. Le mail en console (suite)
Si vous avez beaucoup de mails sur le serveur, cela risque de prendre un peu de temps. Pour les prochaines
synchronisation, vous pourrez exécuter :
• isync -a pour synchroniser toutes les mailboxes ;
• isync mailbox1 mailbox2 pour ne synchroniser que certaines mailboxes.
et ce sera plus rapide puisqu’il n’aura que les nouveaux mails à télécharger.
Note : Un grand merci à Oswald Buddenhagen, nouveau mainteneur d’isync, pour m’avoir aidé à faire marcher cette
solution.
Crypter et signer ses mails avec GnuPG
A l’adresse http://www.vilya.org/gpg/gpg-intro.html, vous trouverez une documentation en français très bien faite sur
GnuPG (http://www.gnupg.org/), son utilisation et son intégration à mutt.
230Chapitre 58. L’IRC en console
Installer un client IRC
Je vous propose d’installer le client IRC irssi (http://irssi.org/) :
# apt-get install irssi-text
Utiliser et configurer irssi
Lancer irssi
La configuration d’irssi se fait à l’intérieur du programme par des commandes, plutôt qu’en éditant son fichier de
configuration ~/.irssi/config (qui sera crée au premier lancement). Lancez donc le programme :
% irssi
Quand vous lancez irssi, vous vous retrouvez dans une fenêtre aux bordures bleues avec un prompt [(status)] en bas de la
fenêtre :
Figure 58-1. Irssi à son lancement
Vous êtes en fait dans la première fenêtre appelée status dans laquelle se font les réglages.
La configuration se fait par des commandes commençant par /. Un des gros avantages d’irssi est sa capacité à être connecté
à plusieurs serveurs IRC en même temps. Pour cela, il faut définir des ircnets, qui correspondent à un serveur IRC seul ou à
plusieurs serveurs IRC reliés entre-eux, grâce à la commande /ircnet add. Il faut ensuite donner l’adresse d’au moins un
serveur IRC par ircnet avec la commande /server add.
Par exemple, je veux me connecter à deux réseaux :
• OpenProjects (alias OPN maintenant appelé FreeNode), qui est déjà configuré par défaut ;
• ExempleNet qui est un réseau pour l’exemple...
Pour voir la liste des réseaux déjà définis par défaut :
[(status)] /ircnet
et il vous affiche la liste suivante dans la fenêtre :
231Chapitre 58. L’IRC en console
18:27 Ircnets:
18:27 IRCNet: querychans: 5, max_kicks: 4, max_msgs: 5, max_modes: 3, max_whois: 4
18:27 EFNet: max_kicks: 4, max_msgs: 3, max_modes: 4
18:27 Undernet: max_kicks: 4, max_msgs: 3, max_modes: 3
18:27 DALNet: max_kicks: 4, max_msgs: 3, max_modes: 6
18:27 OPN: max_kicks: 4, max_msgs: 1, max_modes: 4
18:27 GIMPNet: max_kicks: 4, max_msgs: 3, max_modes: 4
18:27 PTLink: max_kicks: 1, max_msgs: 100, max_modes: 6
Vous voyez donc qu’OpenProjects (OPN) est déjà défini. Pour rajouter le réseau ExempleNet, il faut lui choisir un alias
(nous choisirons ex) et définir son serveur irc.exemple.org :
[(status)] /ircnet add ex
[(status)] /server add -auto -ircnet ex irc.exemple.org
Se connecter aux réseaux IRC
Maintenant que les deux ircnets sont définis, il est très facile de s’y connecter en les désignant par leurs alias :
[(status)] /connect opn
[(status)] /connect ex
Rejoindre des channels et jouer avec les fenêtres
Pour rejoindre le channel #debian sur OpenProjects :
[(status)] /join -opn #debian
La fenêtre se redessine et vous entrez dans le channel #debian. Le topic s’affiche dans la barre bleue du haut et la liste des
personnes présentes dans le channel apparaît. Vous pouvez alors discuter normalement en bénéficiant de la complétion
automatique sur les nicks.
232Chapitre 58. L’IRC en console
Figure 58-2. Sur #debian avec irssi
En fait, irssi a ouvert une nouvelle fenêtre. Pour naviguer d’une fenêtre à l’autre, utilisez les touches suivantes :
• Ctrl-N : va à la fenêtre suivante ;
• Ctrl-P : va à la fenêtre précédente ;
• Alt-2 : va à la fenêtre n◦2.
Avec une de ces combinaisons de touches, revenez à la fenêtre status, qui est la seule fenêtre dans laquelle le résultat des
commandes apparaît. Pour rejoindre le channel #test du réseau ExempleNet, utilisez la commande suivante :
[(status)] /join -ex #test
Commandes pour un channel
• /me message : envoie un message sur le channel,
• /nick nouveau_nick : change de nick,
• /query nick : entamme une conversation privée dans une nouvelle fenêtre,
• /query : met fin à la conversation privée et ferme la fenêtre,
• /leave : quitte le channel et ferme la fenêtre.
Commandes pour la fenêtre status
Les commandes suivantes peuvent être tapées dans n’importe quelle fenêtre mais leur résultat sera écrit dans la fenêtre
status. Certaines commandes concernent un certain ircnet ; pour sélectionner un ircnet, utilise la commande /window
server opn (pour sélectionner OPN), ou la combinaison de touches Ctrl-X pour cycler sur les ircnets auquels vous êtes
connecté. Le nom de l’ircnet sélectionné apparaît dans la barre bleue du bas de la fenêtre status.
• /list : affiche la liste des channels de l’ircnet sélectionné,
233Chapitre 58. L’IRC en console
• /who #debian : affiche la liste des gens présents sur #debian,
• /hilight mot : met en couleur le nick de la personne qui prononce le mot,
• /dcc list : liste les fichiers disponibles par dcc,
• /dcc get nick : pour récupérer un fichier envoyé par dcc,
• /dcc send nick nom_du_fichier : pour envoyer un fichier par dcc,
• /help pour avoir la liste des commandes,
• /help nom_de_la_commande pour avoir de l’aide sur une commande particulière,
• /quit pour quitter irssi.
L’indicateur d’activité
Dans la barre bleue du bas, il y a un indicateur d’activité des différentes fenêtres :
Figure 58-3. Barre d’activité d’irssi
Si on prend l’exemple de la barre bleue ci-dessus, on peut voir, de gauche à droite :
• l’heure,
• mon nick (alexis),
• le nom du channel (#videolan) et le numéro de la fenêtre (3),
• l’indicateur d’activité : les numéros en blanc correspondent aux numéros des autres fenêtres dans lesquelles il y a de
l’activité (4 et 6), et les numéros en violet correspondent aux numéros des autres fenêtres où quelqu’un a prononçé mon
nick ou où quelqu’un me parle en privé (7).
Beep !
Si vous souhaitez que quelqu’un puisse facilement vous joindre sur l’IRC, vous avez peut-être envie que votre terminal
beepe quand on prononce votre nick, quand on vous parle en privé ou quand on vous envoie un message par DCC. Pour
cela, tapez les commandes suivantes dans la fenêtre status :
[(status)] /set beep_when_window_active on
[(status)] /set beep_when_away on
[(status)] /set bell_beeps on
[(status)] /set beep_msg_level HILIGHT MSGS DCC DCCMSGS
[(status)] /hilight ton_nick
Astuce
Je vous propose d’utiliser les touches F1, F2,... jusqu’à F10 pour zapper facilement des fenêtres 1 à 10. Pour cela,
savegardez la configuration actuelle :
[(status)] /save
Puis, en utilisant une autre console, rajoutez à la fin du fichier de configuration ~/.irssi/config les lignes contenues
dans le fichier irssi-touches-fonction :
234Chapitre 58. L’IRC en console
% cat /root/config/irssi-touches-fonction >> ~/.irssi/config
ou :
% wget http://www.via.ecp.fr/~alexis/formation … s-fonction
% cat irssi-touches-fonction >> ~/.irssi/config
Puis demande à irssi de relire son fichier de configuration :
[(status)] /reload
235Chapitre 59. Les news en console
Installer et configurer slrn
Installer le package
Je vous propose d’installer le client news en mode texte slrn (http://slrn.sourceforge.net/) :
# apt-get install slrn
Configurer slrn
Dès l’installation, il vous demande l’adresse de votre serveur de news. Ce paramètre est en fait l’adresse du serveur de
news par défaut, mais chaque utilisateur pourra s’il le désire modifier ce paramètre.
Chaque utilisateur a son propre fichier de configuration .slrnrc dans son home. Ce fichier est lu à chaque lancement de
slrn. Je vous propose d’utiliser mon fichier de configuration type et de le mettre dans votre home sous le nom .slrnrc :
% cp /root/config/slrnrc ~/.slrnrc
ou :
% wget http://www.via.ecp.fr/~alexis/formation … fig/slrnrc
% mv slrnrc ~/.slrnrc
Editez-le pour le personnaliser en vous aidant des commentaires. Les champs que vous devez absolument personnaliser
sont les suivants :
• set username
• set hostname
• set realname
• set organization
• server
Une fois le fichier de configuration au point, créez le répertoire .news/ et à l’intérieur un fichier score vide :
% mkdir ~/.news
% touch ~/.news/score
Note : Si vous voulez utiliser un serveur de news différent du serveur de news définit par défaut (dont l’adresse est
stockée dans le fichier /etc/news/server), il faut stocker son adresse dans la variable d’environnement
NNTPSERVER.
Utiliser slrn
Au premier lancement de slrn, vous devez ajouter une option pour créer le fichier appelé "newsrc" dans lequel seront
stockées les informations sur les forums :
236Chapitre 59. Les news en console
% slrn -f ~/.jnewsrc-serveur --create
où .jnewsrc-serveur est le nom de fichier que vous avez indiqué comme deuxième paramètre du champ server de
votre slrnrc.
Pour les prochains lancements, il vous suffira de taper simplement :
% slrn
Cordialement
L'équipe Parisdepannage.fr
Hors ligne
#2 21-08-2008 20:28:37
- Admin
- Administrateur
- Date d'inscription: 30-07-2008
- Messages: 683
Re: Formation à Linux (6)
Une fois que slrn est lancé, il vous présente un bel écran presque vide. C’est normalement l’écran dans lequel apparaît la
liste des forums auquels vous êtes abonné. Tapez L puis par exemple fr.comp* et Entrée pour obtenir la liste des forums
en français qui parlent d’informatique. Il y a un U (comme Unsubscribe) à leur gauche, ce qui signifie que vous n’êtes pas
abonné. Pour vous abonnez aux forums qui vous intéressent, placez le curseur à côté du nom du forum et tapez s (comme
Subscribe). Le U disparaît alors. Pour se désabonner, il suffit de taper u. Le nombre à gauche du nom des forums indique le
nombre de messages non marqués comme lu dans ce forum.
Figure 59-1. Fenêtre des forums de slrn
Maintenant que vous avez choisi les forums auquels vous voulez être abonné, mettez-vous en face de l’un d’entre eux et
appuyez sur Espace. Vous avez alors accès à la liste des threads, précédés du nombre de messages qu’ils contiennent. Pour
ouvrir un thread et lire le premier message qu’il contient, appuyez de nouveau sur Espace. Pour faire défiler le message
vers le bas, appuyez sur Espace ; pour le faire défiler vers le haut, appuyez sur b. Pour passer à la lecture du message
suivant, appuyez sur Espace une fois que vous êtes arrivé à la fin du message, ou sélectionnez avec la flèche le message
suivant et appuyez sur Espace.
237Chapitre 59. Les news en console
Figure 59-2. Fenêtre des articles de slrn
Pour revenir à la liste des messages du forum, appuyez sur h. Pour marquer un message ou un thread comme lu sans même
le lire, appuyez sur d en face de ce message ou de ce thread.
Pour revenir à la liste des forums, appuyez sur q. Pour rapatrier depuis le serveur la liste des nouveaux posts, appuyez sur
G.
Entraînez-vous à poster avec slrn dans un forum prévu à cet effet : fr.test. Pour cela, commencez par souscrire à ce forum
comme décrit ci-desssus. Ensuite, sélectionnez ce forum et appuyez sur P : il vous demande en bas de l’écran si vous êtes
bien sûr de vouloir publier, puis il vous demande de confirmer le nom du forum, et enfin de définir un sujet. Vous arrivez
alors dans votre éditeur de texte favori (si vous n’aimez pas vim, vous pouvez en changer dans le fichier de configuration).
Si vous voulez faire un crosspost, rajoutez un deuxième nom de forum dans le champ Newsgroups: (par exemple
edu.fr.test). Dans notre exemple, cela donne la ligne :
Newsgroups: fr.test,edu.fr.test
Pour mettre un Followup-to vers fr.test par exemple, il faut mettre le nom du forum dans le champ Followup-To: :
Followup-To: fr.test
Une fois le message écrit, il vous suffit de l’enregistrer et de quitter. Vous revenez alors dans slrn qui vous demande
confirmation avant de poster.
Pour répondre à un message, placez-vous sur ce message et appuyez sur r ; pour répondre par mail perso, appuyez sur f
(dans la configuration par défaut, c’est l’inverse, mais je préfère comme ça !). Vous vous retrouvez alors une nouvelle fois
dans votre éditeur de texte favori...
Pour connaître la liste complète des commandes, il suffit de taper ? dans slrn. Vous y apprendrez par exemple que la
combinaison de touches Echap puis Ctrl-c permet d’annuler un message que vous avez posté.
238Chapitre 60. ICQ en console
Note : Chapitre écrit par Brian Fraval.
Il existe plusieurs clients ICQ en mode console, mais nous avons choisis centericq (http://konst.org.ua/centericq/) parce
qu’il est simple d’utilisation et supporte beaucoup de protocoles de communication (Icq2000, Yahoo messenger, AIM,
MSN, IRC, Jabber, etc).
Installation et configuration de centericq
Installer le package
# apt-get install centericq
Lancer centericq
% centericq
La première chose à faire, comme dans la majorité des applications, est sa configuration. Chaque utilisateur a son propre
fichier de configuration .centericq dans son home. Ce fichier est lu à chaque lancement de l’application.
Au premier lancement de centericq, vous pouvez configurer l’application pour qu’elle soit plus simple d’utilisation. Bien
entendu, ces configurations peuvent changer d’une personne à l’autre, cependant nous vous proposons une configuration de
base :
Figure 60-1. Paramètrage de centericq
Après la configuration de base de centericq, il faut indiquer votre compte ICQ. Si vous n’avez pas de compte, passez
directement au paragraphe suivant.
Pour configurer centericq avec un compte existant, il faut connaître votre UIN, qui est un numéro unique, et votre mot de
passe.
239Chapitre 60. ICQ en console
Figure 60-2. Compte existant
C’est dans ce formulaire que vous pouvez ajouter vos comptes de Yahoo messenger, AOL, et autres...
Création d’un compte ICQ
Si vous n’avez pas de compte ICQ, alors il faut en créer un en choisissant l’option Register. Les informations que vous
allez indiquer vont permettre aux autres utilisateurs de vous retrouver en faisant une recherche d’utilisateur.
Il faut au minimum indiquer un nickname et un mot de passe. Une fois que vous avez entré les informations, sélectionnez
Go ahead pour lancer la création du compte chez ICQ.
Figure 60-3. Création d’un compte ICQ
Rechercher un contact
Maintenant que l’application est configurée et qu’elle fonctionne, vous pouvez rechercher un contact avec qui discuter...
Pour faire une recherche, il faut appuyer sur la touche g, comme général. En effet toutes les actions générales sont
regroupées dans ce menu. Ensuite, il faut sélectionner Find/add user.
240Chapitre 60. ICQ en console
Figure 60-4. Rechercher un contact
Il y a plusieurs critères de recherche, mais personnellement j’utilise souvent la recherche sur nickname ou le couple
nom/prénom. Voici le formulaire qui permet de faire une recherche par critères :
Figure 60-5. Formulaire de recherche
Voici par exemple le résultat d’une recherche sur le nom Fraval. Une fois que vous avez une liste de contacts qui
correspond à vos critères de recherche, vous pouvez regarder le détail de ces contacts, pour savoir si c’est vraiment la
personne que vous recherchez. Si c’est la bonne personne, il suffit de sélectionner Add pour ajouter le contact à votre liste.
241Chapitre 60. ICQ en console
Figure 60-6. Ajouter un contact à la liste
Discuter avec une personne
Pour discuter avec une personne, il faut se positionner sur son nickname dans le menu de gauche de centericq avec les
fléches de direction du clavier. Une fois que l’utilisateur est surligné, appuyez sur Entrée pour ouvrir une case de
discussion.
Cette case est représentée dans l’image ci-dessous par le texte Ah ouais ca vas plutot bien. La case au-dessus représente le
fil de la discussion. Les habitués de l’IRC ne seront pas déroutés par ce genre de présentation !
Figure 60-7. Discuter avec une personne
242Chapitre 61. Graver en console
Installation des packages
Vous aurez besoin du package cdrecord que vous avez déjà installé, et du package mkisofs :
# apt-get install mkisofs cdrecord
Les CDs de données
Créer l’image ISO du CD
A partir de fichiers
Avant de commencer à graver, il faut créer l’image ISO du CD. Pour cela, on utilise la commande mkisofs.
Prenons l’exemple d’une sauvegarde du home de l’utilisateur toto :
1. vérifiez qu’il fait moins que la capacité du CD-R ou RW :
% du -sh /home/toto/
2. créez l’ISO :
% mkisofs -R -r -J --hide-rr-moved -V "SauvHome" -o backup.iso /home/toto/
Explication des options utilisées dans mkisofs:
• -R : rajoute l’extension Rock Ridge qui permet de conserver les noms longs et les permissions sous Linux,
• -r : permet de générer une image qui soit lisible par tout le monde malgré les permissions activées par l’extension Rock
Ridge,
• -J : active l’extension Joliet pour avoir les noms longs sous Windows,
• --hide-rr-moved : renomme le répertoire rr_moved (dû aux extensions Rock Ridge) en un répertoire caché
.rr_moved,
• -V : spécifie un Nom de Volume (ici "SauvHome"),
• -o : spécifie le nom et l’emplacement du fichier ISO (ici backup.iso dans le répertoire courant).
Autre exemple : vous voulez créer une ISO qui contienne le répertoire /home/toto/, le fichier
/etc/X11/XF86Config-4, et en plus le contenu du répertoire /mnt/win/toto/ qui devra apparaître sur le CD dans un
répertoire win-toto :
% mkisofs -R -r -J --hide-rr-moved -V "SauvHome" -o backup.iso
-graft-points /home/toto/ /etc/X11/XF86Config-4 win-toto/=/mnt/win/toto/
243Chapitre 61. Graver en console
A partir d’un CD
Pour créer l’image ISO d’un CD de données, c’est très simple :
% dd if=/dev/cdrom of=backup.iso
Tester l’ISO
Pour vérifier que l’ISO du CD marche bien, on va monter le fichier contenant l’ISO en loopback dans le répertoire
/mnt/tmp/ (à créer avant s’il n’existe pas) :
# mount -t iso9660 -o loop backup.iso /mnt/tmp
Si tout va bien, vous pouvez aller vous balader dans le répertoire /mnt/tmp/ pour voir le contenu de l’ISO. Une fois que
vous avez vérifié que tout est bon, démontez l’ISO du CD :
# umount /mnt/tmp
Graver le CD
Les options de cdrecord
Maintenant que l’ISO est créer, vous allez utiliser la commande cdrecord pour graver le CD. Les options à connaître et à
utiliser sont :
• speed=V où V est la vitesse à laquelle vous voulez graver. Attention, cette vitesse est souvent différente selon que vous
gravez un CD-R ou un CD-RW. Par exemple, si vous avez un graveur 16/10/40, alors la vitesse pour un CD-R est 16 et
la vitesse pour un CD-RW est 10.
• dev=X,Y,Z où X,Y,Z est la séquence de trois chiffres qui correspond à l’adresse de votre graveur dans la chaîne SCSI.
• -data image_ISO.iso pour préciser que l’on grave à partir de l’image ISO d’un CD.
• si vous avez un graveur qui supporte le burnproof , l’option driveropts=burnproof permet d’activer cette fonction.
Préalable pour un CD-RW
Si vous voulez graver sur un CD-RW, il faut au préalable effacer ce qui est écrit dessus :
• si le CD-RW est tout neuf :
# cdrecord -v speed=V dev=X,Y,Z -blank=all
• si le CD-RW a déjà été utilisé :
# cdrecord -v speed=V dev=X,Y,Z -blank=fast
Lancer la gravure
Pour lancer la gravure, tapez la commande suivante :
• si votre graveur supporte le burnproof :
244Chapitre 61. Graver en console
# cdrecord -v speed=V dev=X,Y,Z driveropts=burnproof -data backup.iso
• si votre graveur ne supporte pas le burnproof :
# cdrecord -v speed=V dev=X,Y,Z -data backup.iso
Dans la suite de ce chapitre, vous pourrez toujours ajouter l’option driveropts=burnproof à la commande cdrecord pour
activer cette fonctionnalité.
Copie directe de Lecteur CD à Graveur
Pour réaliser une copie directe de lecteur CD à graveur, il faut lancer cdrecord avec l’option -isosize :
# cdrecord -v speed=V dev=X,Y,Z -isosize /dev/cdrom
Avertissement
Le choix de la vitesse de gravure V est ici très important : il faut choisir le minimum entre la vitesse
de votre lecteur de CD et la vitesse de gravure... car si le lecteur de CD est plus lent que le graveur,
le tapon du graveur va se vider et vous n’aurez plus qu’à jeter votre CD-R à la poubelle !
Les CDs audio
Quel programme utiliser ?
Note : L’utilisation de cdrecord pour graver des CDs audio induit une pause de deux secondes entre chaque piste lors
de la lecture, car il utilise le mode TAO (Track At Once). Pour éliminer cette pause, il faut graver le CD en mode DAO
(Disk At Once) en utilisant cdrdao, qui n’est malheureusement plus disponible dans la Debian pour des problèmes de
licence.
Graver avec cdrecord
Pour graver un CD audio avec cdrecord, il faut disposer d’un fichier son au format CDR, WAV ou AU pour chaque piste. Si
les fichiers sont au format WAV ou AU, chaque fichier doit être en stéréo, 16-bits à 44100 échantillons / seconde.
Convertir au bon format
Pour convertir un MP3 au format CDR, il suffit d’utiliser mpg321 :
% mpg321 ma_chanson.mp3 --cdr ma_chanson.cdr
Pour extraire une piste d’un CD audio au format CDR, il faut utiliser cdparanoia (disponible dans le package du même
nom) :
% cdparanoia -B -p
245Chapitre 61. Graver en console
Graver le CD audio
Il suffit alors de taper :
# cdrecord -v speed=V -dev=X,Y,Z -audio track1.cdr track2.cdr track3.cdr [etc...]
ou
# cdrecord -v speed=V -dev=X,Y,Z -audio track1.wav track2.wav track3.wav [etc...]
ou
# cdrecord -v speed=V -dev=X,Y,Z -audio track1.au track2.au track3.au [etc...]
[TODO : tester l’option -dao pour graver en mode DAO]
246Chapitre 62. Les screens
Le concept
Le problème à résoudre est le suivant : vous avez lancé sur votre système un programme qui fonctionne en mode console
(un client IRC par exemple). Vous voulez vous délogguer en laissant tourner le programme... et pouvoir vous relogguer
plus tard (en local ou à distance) et récupérer le programme à l’écran.
Pour cela, il faut lancer le programme dans un screen, qui est une sorte écran virtuel que l’on peut détacher et rattacher :
1. vous ouvrez un screen,
2. vous lancez le programme dedans,
3. si vous voulez vous délogguer et laisser tourner le programme, vous détachez le screen,
4. vous pouvez rattacher le screen et donc retrouver le programme depuis n’importe quelle connexion au système
(console locale ou accès distant).
Installer et utiliser
Installer le package
# apt-get install screen
Nous allons prendre l’exemple de 2 scénarios pour expliquer comment ça fonctionne :
1er scénario
1. Depuis un premier ordinateur, ouvrez un screen depuis une console locale en lui donnant un nom. Pour cela, tapez la
commande :
% screen -S nom_du_screen
Un message d’explication apparaît : appuyez sur Entrée pour le zapper. Vous avez alors un prompt normal à
l’intérieur du screen. Lancez une application qui tourne en mode console (un client IRC par exemple).
2. Quittez le premier ordinateur en laissant le programme tourner et votre console ouverte (on dit que le screen reste
attaché). Vous ouvrez une console sur un deuxième ordinateur et vous vous connectez au premier ordinateur (par une
connexion SSH par exemple). Pour rattacher le screen, c’est-à-dire retrouver à l’écran le programme que vous avez
lançé dans le screen sur le premier ordinateur, tapez la commande :
% screen -x nom_du_screen
Si vous ne vous souvenez plus du nom que vous aviez donné à votre screen, lancer simplement la commande screen -x
et vous verrez la liste des screens avec leurs noms associés.
3. Si la taille de votre console sur le deuxième ordinateur n’est pas la même que la taille de votre console sur le premier
ordinateur, ce qui se traduit par un programme qui occupe plus ou moins de place que la taille de l’écran : utilisez alors
la combinaison de touches Ctrl-a puis F, ce qui a pour effet de redimensionner le programme à la taille de votre
nouvelle console.
4. Vous voulez quitter le deuxième ordinateur : détachez le screen par la combinaison de touches Ctrl-a puis d. Le
message suivant apparaît sur la console :
[detached]
247Chapitre 62. Les screens
et vous pouvez vous délogguer du deuxième ordinateur.
5. Vous revenez sur le premier ordinateur et vous retrouvez votre console avec le programme qui tourne à l’intérieur. Si
vous avez redimensionné le programme sur le deuxième ordinateur, vous devrez le redimensionner à nouveau avec la
même combinaison de touches pour le remettre aux dimensions de votre console initiale.
6. Vous voulez quitter le programme qui ne vous sert plus : quittez le programme normalement puis fermez le screen en
faisant comme si vous vous délogguiez (combinaison de touches Ctrl-d ou commande logout). Le message suivant
s’affiche sur la console :
[screen is terminating]
2ème scénario
1. Depuis un premier ordinateur, vous vous connectez à distance sur un deuxième ordinateur. Vous voulez lancer un
programme sur ce deuxième ordinateur et pouvoir le récupérer quand vous voulez et depuis n’importe quel ordinateur.
Pour cela, lancez le programme dans un screen : pour faire d’une pierre deux coups, c’est à dire ouvrir le screen et
lancer le programme en même temps, tapez :
% screen -S nom_du_screen commande_qui_lance_le_programme
2. Vous voulez vous délogguer du premier ordinateur : détachez le screen avec la combinaison de touches Ctrl-a puis d,
déconnectez-vous du deuxième ordinateur puis délogguez-vous du premier ordinateur.
3. Vous voulez retrouver le programme que vous aviez lançé dans le screen : logguez-vous en local sur le deuxième
ordinateur ou connectez-vous sur le deuxième ordinateur à distance depuis un autre ordinateur et tapez la commande
suivante pour rattacher le screen que vous aviez détaché :
% screen -r nom_du_screen
Si vous ne vous souvenez plus du nom que vous aviez donné à votre screen, lancez simplement la commande screen
-r et vous verrez la liste des screens avec leurs noms associés.
Vous aurez peut-être besoin de redimensionner le programme avec la combinaison de touches Ctrl-a puis F.
4. Vous voulez quitter le programme qui ne vous sert plus : quittez le programme normalement et le screen se fermera
tout seul car vous aviez ouvert le screen et lançé le programme en même temps. Le message suivant s’affiche sur la
console :
[screen is terminating]
Plusieurs fenêtres dans un screen
A l’intérieur d’un screen, vous pouvez avoir une deuxième fenêtre avec un nouveau shell à l’intérieur. Pour cela, utilisez la
combinaison de touches Ctrl-a puis c. Vous pouvez en ouvrir autant que vous voulez en répétant cette combinaison de
touches. Vous pouvez ensuite passer d’une fenêtre à la suivante par la combinaison de touches Ctrl-a puis n (n comme
Next) et passer à la fenêtre précédente par la combinaison de touches Ctrl-a puis p (p comme Previous).
Pour fermer une fenêtre, il suffit de fermer le shell qu’elle contient (combinaison de touches Ctrl-d ou commande logout).
Le fait de fermer la dernière fenêtre restante provoque la fermeture du screen.
248VI. Conclusion et annexes
Ce que vous avez appris...
Si vous avez suivi cette formation de bout en bout, vous devez maintenant pouvoir vous débrouiller sous Debian
GNU/Linux et commencer à apprécier la puissance du système de gestion des packages.
J’espère que nous vous avons donné le goût d’en savoir plus et d’aller plus loin avec Linux... Pour cela, vous pouvez
enchaîner avec les annexes de cette formation, qui présentent d’autres programmes, des configurations réseau avançées
ainsi que des trucs et astuces.
Méthode de résolution des problèmes
Linux n’est pas un système d’exploitation facile, et cette formation ne peut pas couvrir tous les problèmes qu’un débutant
peut rencontrer. Nous voulons juste décrire ici une méthode pour trouver, si possible rapidement, la solution à un problème :
La documentation des packages
Tout d’abord, chaque commande a son manuel (sauf exceptions...). Pour le consulter, il suffit de taper :
% man nom_de_la_commande
Souvent, un mini-manuel de la commande est disponible en tapant :
% nom_de_la_commande --help
Chaque package vient avec de la documentation, disponible dans le répertoire /usr/share/doc/nom_du_package/. Si
ce n’est pas le cas, c’est probablement que la documentation vient dans un package séparé, comme par exemple dans les
packages zsh-doc, apache-doc ou encore samba-doc.
Les HOWTOs
Il existe des centaines de HOWTOs : chaque sujet qui touche à Linux a son HOWTO ! Malheureusement, ils ne sont pas
tous à jour, et ils ne sont pas tous traduits en français. Il existe aussi des mini-HOWTOs, qui sont très pratiques pour
apprendre rapidement à se servir d’une application.
Vous pouvez les consulter :
• en local sur votre ordinateur :
# apt-get install doc-linux-fr doc-linux-html
Les HOWTOs en français sont alors accessibles au format HTML dans le répertoire
/usr/share/doc/LANG/fr/HOWTO/ et les HOWTOs en anglais sont accessible au format texte compressé (vim
décompresse les fichiers texte compressés à la volée lors de leur ouverture) dans le répertoire
/usr/share/doc/HOWTO/en-txt/ et au format HTML dans le répertoire /usr/share/doc/HOWTO/en-html/.
Les mini-HOWTOs sont dans tous les cas disponibles dans le sous-répertoire mini.
• sur le site web du Linux Documentation Project en français (http://fr.tldp.org) et en anglais (http://www.tldp.org) ; vous
y trouverez probablement une version plus à jour que celle des packages Debian.Google est votre ami
Google (http://www.google.fr) est un très bon moyen pour obtenir de l’aide sur Linux. Par exemple, quand vous avez un
message d’erreur, il suffit généralement de le copier-coller dans Google pour avoir des réponses pertinentes. Les réponses
se trouvent souvent dans les archives des mailing-lists des projets OpenSource.
Vous pouvez aussi utiliser une version spéciale de Google pour Linux (http://www.google.com/linux).
Les recherches Google sont aussi un excellent moyen de trouver comment faire marcher un matériel particulier sous Linux.
Avec une recherche du type : Marque_du_matériel Modèle_du_matériel Linux, vous trouverez à coup sur des résultats
pertinents.
Cordialement
L'équipe Parisdepannage.fr
Hors ligne
2008 Parisdepannage |Plan du site|Forums |Blog|Lexique ![]()