Forums d'entraide informatique - Astuces - Conseils
Des experts à votre écoute pour tous vos dysfonctionnements
Vous n'êtes pas identifié.
#1 21-08-2008 20:24:58
- Admin
- Administrateur
- Date d'inscription: 30-07-2008
- Messages: 683
Formation à Linux (2)
Utilité
Apt-get est la couche qui apporte une certaine intelligence et une grande facilité d’utilisation au système de gestion des
packages Debian. Avec apt-get, on définit les sources des packages dans un fichier de configuration et il gère l’installation
et le retrait des packages en tenant compte des dépendances ainsi que le téléchargement des packages s’ils sont sur une
source réseau.
Apt-get est donc utilisé pour installer et retirer les packages inclus dans la distribution ainsi que des packages qui peuvent
être inclus dans les sources.
Définir les sources des packages
La théorie
Les sources des packages sont définies dans le fichier de configuration /etc/apt/sources.list. Une source doit tenir
sur une seule ligne (pas de retour à la ligne au milieu de la définition d’une source) et commencer par un des deux mots
clés suivants :
• deb pour définir une source de packages binaires ;
• deb-src pour définir une source de packages sources (cela n’intéressera que les développeurs qui veulent examiner le
code source des programmes).
Pour ajouter ou retirer une source réseau ou fichier, il faut éditer le fichier "à la main".
Pour ajouter comme source un CD ou DVD Debian, il faut exécuter la commande suivante :
72Chapitre 23. Le système de gestion des packages Debian
# apt-cdrom add
Pour enlever un CD ou DVD Debian de la liste des sources, il faut éditer le fichier et supprimer la ligne correspondant au
CD ou au DVD.
Vous trouverez tous les détails sur la syntaxe dans man sources.list.
Méthode 6 disquettes, 1 mini-CD ou 1 CD
Le fichier /etc/apt/sources.list doit contenir :
deb http://ftp.fr.debian.org/debian woody main contrib non-free
deb http://ftp.fr.debian.org/debian-non-US woody/non-US main contrib non-free
deb http://security.debian.org/ woody/updates main contrib non-free
Si vous aviez suivi la méthode 6 disquettes ou la méthode 1 mini-CD, vous n’avez normalement rien à changer. Par contre,
si vous aviez suivi la méthode 1 CD, vous devez supprimer la ligne qui correspond au CD et taper les trois lignes ci-dessus.
Note : Vous pouvez remplacer ftp.fr.debian.org par le nom DNS d’un autre miroir Debian, notamment si vous avez
accès à un miroir plus rapide. Par exemple, pour avoir le miroir Debian de VIA (http://www.via.ecp.fr), il faut mettre
debian.via.ecp.fr à la place de ftp.fr.debian.org.
Méthode 7 CDs / 1 DVD
Pour l’instant, le fichier /etc/apt/sources.list doit normalement contenir 7 lignes correspondant aux 7 CDs, ou une
seule ligne si vous utilisiez un DVD. Selon les cas, vous devrez ajouter ou non des lignes au fichier :
• si l’ordinateur n’a pas de connexion Internet, alors vous n’avez pas besoin de modifier le fichier ;
• si l’ordinateur a une connexion Internet par modem classique que vous avez réussi à la faire marcher au chapitre Faire
marcher la connexion Internet, alors rajoutez la ligne suivante pour bénéficier des mises à jour de sécurité :
deb http://security.debian.org/ woody/updates main contrib non-free
• si l’ordinateur a une connexion Internet de type ADSL ou câble que vous avez réussi à la faire marcher au chapitre Faire
marcher la connexion Internet, alors rajoutez les lignes suivantes pour bénéficier des nouvelles releases de Debian et des
mises à jour de sécurité :
deb http://ftp.fr.debian.org/debian woody main contrib non-free
deb http://ftp.fr.debian.org/debian-non-US woody/non-US main contrib non-free
deb http://security.debian.org/ woody/updates main contrib non-free
Utilisation
Les commandes à savoir sont les suivantes :
• Met à jour la liste des packages disponibles (pour les sources réseau ou fichier, il doit aller voir si elles ont été mises à
jour ; pour les sources CD, il ne fait rien de particulier) :
# apt-get update
73Chapitre 23. Le système de gestion des packages Debian
• Met à jour tous les packages déjà installés à la dernière version disponibles dans les sources :
# apt-get upgrade
• Idem que la commande précédente, mais cette commande est optimisée pour les migrations vers une version supérieure
de Debian (par exemple passer de la version stable à la version instable) :
# apt-get dist-upgrade
• Installe les packages package1 et package2 et tous les packages dont ils dépendent :
# apt-get install package1 package2
• Désinstalle le package package1 sans effacer ses fichiers de configuration :
# apt-get remove package1
• Idem que la commande précédente mais ses fichiers de configuration sont supprimés :
# apt-get remove --purge package1
• Efface du disque dur les packages téléchargés pour être installés (inutile quand la source est un CD ou un fichier du
système de fichiers local) :
# apt-get clean
Pour plus informations ou pour avoir la liste complète des options disponibles, lisez le très complet APT HOWTO
(http://www.debian.org/doc/manuals/apt-h … ex.fr.html) ou consultez le manuel d’apt-get :
% man apt-get
Dselect
Dselect est une alternative à apt-get pour la gestion intelligente des packages. Vous vous en êtes déjà servi une fois pendant
la procédure d’installation, au chapitre Les packages.
Il a un certain nombre d’avantages par rapport à apt-get, mais il a aussi de nombreux inconvénients, notamment la
complexité d’utilisation pour un débutant ainsi que la difficulté de résoudre les problèmes de dépendance. J’ai donc décidé
de ne pas expliquer dans ce chapitre l’utilisation de dselect ; vous trouverez une explication détaillée de son utilisation dans
l’annexe Utiliser Dselect.
Avant d’aller plus loin...
Compléter l’installation de vim
Maintenant que, quelle que soit la méthode que vous avez utilisée, vous avez accès à l’intégralité des packages, vous allez
pouvoir compléter l’installation de vim, en installant le programme par, qui permet de reformatter du texte dans vim :
# apt-get install par
74Chapitre 23. Le système de gestion des packages Debian
Ce programme apporte deux nouvelles fonctions à vim quand vous êtes en mode commande :
• la touche # coupe les lignes d’un paragraphe à 72 caractères (on dit wrapper), ce qui est la norme pour les documents
texte que vous envoyez (mail, post dans les news...) ;
• la touche @ fait la même chose que # mais en justifiant le texte.
Méthode 1 CD et configuration de l’USB
Vous pouvez désormais installer les packages hotplug et usbutils comme ceux qui ont suivi les autres méthodes :
# apt-get install hotplug usbutils
Vous pouvez maintenant retirer la ligne que vous aviez ajouté à la fin du fichier /etc/fstab et qui commençait par
usbdevfs.
Désinstaller les packages inutiles
Certains packages qui ont été installés par la procédure d’installation ou par dselect ne vous sont en réalité par utiles, ou en
tout cas pas dans l’immédiat (notamment les packages ipchains pour faire du firewalling avec les vieux noyaux de la
branche 2.2, lpr qui est un vieux serveur d’impression, nvi qui est une vieux clone de vi...) ; je vous conseille de les enlever
:
# apt-get remove --purge ipchains lpr nvi ipmasqadm
# rm /etc/printcap
75Chapitre 24. Le réseau et la sécurité
Introduction à la sécurité
Qui est concerné ?
Ce chapitre vous concerne si votre ordinateur n’est pas isolé mais connecté à un réseau local ou à Internet.
Mais pourquoi s’embêter ?
Le raisonnement de base est le suivant : "La sécurité de ma machine, je m’en fous : y’a rien de précieux sur ma machine...
personne n’a intérêt à me pirater !"
Avertissement
C’est FAUX ! Les pirates recherchent les machines vulnérables pour avoir accès à un compte sur
ces machines. Ils peuvent ainsi lancer leur vraie attaque destructrice depuis cette machine
vulnérable au lieu de le faire depuis leur machine personnelle. Ainsi, on remonte beaucoup plus
difficilement jusqu’à eux !
Autre raisonnement dangereux : "J’ai Linux, donc je suis tranquille niveau sécurité !"
Avertissement
C’est encore une fois FAUX ! Il y a des failles de sécurité, même sous Linux. Par exemple, sur les
noyaux 2.4.20 et inférieurs, une faille permet à n’importe quel utilisateur de devenir root ! On appelle
ça un local root exploit . Plus grave, il y a régulièrement des failles dans des programmes qui
permettent à un pirate d’exécuter du code sur la machine avec les mêmes privilèges que
l’application vulnérable ! On appelle ça un remote exploit ; et quand l’application vulnérable tourne
en root (c’est le cas du serveur d’accès à distance SSH par exemple), alors on appelle ça un remote
root exploit , et le pirate a alors le contrôle total sur la machine !
Morale...
J’espère que je vous ai convaincu de l’importance de se tenir au courant des problèmes de sécurité et de mettre votre
système à jour dès qu’une faille est découverte et réparée.
L’avantage d’appartenir au monde du logiciel libre est que tous les programmeurs du monde entier ont accès au code
source du noyau et des programmes et peuvent alors corriger les failles de sécurité. La correction des failles est donc
beaucoup plus rapide qu’avec d’autres OS non libres.
Protéger son système
Les failles de sécurité dans les packages Debian
Avec Debian, quand un package a une faille de sécurité, une équipe spéciale, le security team, se charge de mettre
rapidement à disposition des utilisateurs une version corrigée du package contenant le programme vulnérable sur un site
dédié.
76Chapitre 24. Le réseau et la sécurité
Pour être mis au courant de la disponibilité d’une mise à jour de sécurité, il faut s’abonner à la mailing-list
debian-security-announce. Pour s’inscrire, il suffit de se rendre à l’adresse www.debian.org/MailingLists/subscribe
(http://www.debian.org/MailingLists/subscribe). Par la même occasion, vous pouvez vous abonnez à la mailing-list
debian-announce pour recevoir les annonces des sorties de nouvelles versions de la distribution Debian. Je vous conseille
de vous abonnez également à la mailing-list debian-news pour recevoir chaque semaine un résumé de l’actualité du projet
Debian.
Quand une faille de sécurité est corrigée par Debian, vous recevez un mail par la mailing-list debian-security-announce. Ce
mail décrit la faille et la procédure pour mettre à jour facilement votre système.
En pratique, la procédure de mise à jour est toujours la même. Normalement, vous avez dû rajouter au chapitre précédent le
site de Debian dédié aux mises à jour de sécurité dans la liste des sources de packages en ajoutant au fichier
/etc/apt/sources.list la ligne suivante :
deb http://security.debian.org/ woody/updates main contrib non-free
Ensuite, il suffit de mettre à jour la liste des packages puis les packages eux-mêmes :
# apt-get update
# apt-get upgrade
Les failles de sécurité noyau
Il arrive également qu’il y ait des failles de sécurité dans le noyau Linux. L’équipe de développement du noyau se charge
alors de corriger la faille au plus vite.
Il n’existe pas à ma connaissance de mailing-list d’annonce officielle pour être mis au courant des failles de sécurité du
noyau... mais il suffit de jeter un oeil régulièrement aux sites d’actualité Linux, comme par exemple LinuxFR
(http://www.linuxfr.org/), qui relayent ce genre d’information.
La solution pour corriger une faille du noyau consiste généralement à recompiler une version plus récente du noyau, ou à
appliquer un patch sur la dernière version disponible avant de recompiler. La procédure de compilation du noyau Linux et
la façon d’appliquer des patches est expliquée aux chapitres suivants.
Surveiller son système en lisant les logs
Les logs sont des fichiers textes produits par le système, dans lesquels celui-ci raconte ce qu’il fait et ce qui lui arrive. Il
donne des renseignements sur ce que font les programmes, les connexions qui arrivent à votre machine, les personnes qui
s’y connectent.
Les logs se trouvent dans le répertoire /var/log/. Il faut appartenir au groupe adm pour pouvoir les lire. Rajoutez donc
votre compte utilisateur à ce groupe pour éviter de lire les logs en root :
# adduser toto adm
Les fichiers de logs les plus importants sont :
• syslog : c’est le fichier de log principal. Il contient tous les messages du noyau (que l’on retrouve dans kernel.log),
tous les messages des serveurs (que l’on retrouve dans daemon.log), tous les messages de la cron...
• auth.log : il vous raconte tout ce qui concerne les authentifications.
Lire régulièrement les logs de sa machine permet de voir si quelqu’un essaye de vous attaquer. Cela permet aussi de voir si
tout se passe bien au niveau du système, du noyau, etc...
77Chapitre 24. Le réseau et la sécurité
Désactiver les services inetd inutiles
Il est conseillé de désactiver les services inetd activés par défaut, qui sont de vieux services Unix qui ne sont plus utilisés
par les applications modernes. Pour cela :
# update-inetd --disable discard,daytime,time,ident
Il affiche alors un avertissement :
WARNING!!!!!! /etc/inetd.conf contains multiple entries for
the ‘discard’ service. You’re about to disable these entries.
Do you want to continue? [n]
Répondez y.
Rajouter une console de logs
Il peut être intéressant d’avoir une console sur laquelle les logs défilent en direct. Cela permet de voir en temps réel ce qui
se passe au niveau du système, et donc de résoudre les éventuels problèmes plus rapidement.
Pour cela, éditez en root le fichier de configuration de syslog (le programme qui gère les logs) /etc/syslog.conf.
Décommentez les 4 lignes à l’endroit où les commentaires parlent de cette fonction (vers la ligne 50) :
daemon,mail.*;\
news.=crit;news.=err;news.=notice;\
*.=debug;*.=info;\
*.=notice;*.=warn /dev/tty8
Pour que le système tienne compte de cette modification, tapez :
# /etc/init.d/sysklogd restart
En allant sur la console n◦8, vous devez déjà voir une première ligne de texte qui vous informe que syslog a redémarré !
Aller plus loin...
Pour en savoir plus sur l’art et la manière de sécuriser un système Debian, je vous conseille la lecture du Securing Debian
Manual (http://www.debian.org/doc/manuals/secur … ian-howto/), en anglais.
78Chapitre 25. Configuration du noyau Linux
Recompiler le noyau
Qu’est-ce que le noyau Linux ?
Cela a déjà été expliqué dans la section Un noyau de la première partie de la formation.
Pourquoi recompiler le noyau ?
Le noyau qui tourne en ce moment sur votre Linux fraîchement installé est le noyau fourni en standard dans la distribution
Debian. C’est un noyau assez gros qui est destiné à pouvoir fonctionner sur la plupart des ordinateurs.
Ce que nous allons faire est personnaliser le noyau pour qu’il supporte nos périphériques et eux seulement. Plus le noyau
est petit, plus le système d’exploitation est rapide. L’étape la plus difficile sera la configuration du noyau, pour qu’il
supporte bien tous nos périphériques.
La numérotation des noyaux
Les noyaux Linux sont rigoureusement numérotés. Le numéro comporte 3 chiffres : les deux premiers chiffres
correspondent au numéro de la branche, et le dernier chiffre correspond à la version du noyau dans cette branche. Par
exemple, le fichier linux-2.4.22.tar.gz contient les sources de la version n◦22 de la branche 2.4.
Il existe deux types de branches :
• les branches stables dont le dernier numéro est pair (exemple : 2.0, 2.2, 2.4) ;
• les branches instables ou beta qui servent au développement et dont le dernier numéro est impair. Elles servent au
développement de la branche de numéro pair supérieur (exemple : la branche 2.3 sert au développement de la branche
stable 2.4, et la branche 2.5 sert au développement de la future branche stable 2.6).
Quel noyau choisir ?
C’est très simple : il faut choisir, sauf cas particulier, le dernier noyau de la dernière branche stable. Au jour où j’écris ces
lignes, la dernière branche stable est la branche 2.4 et le dernier noyau de cette branche porte le numéro 22. Il faut donc
installer le noyau 2.4.22. Pour avoir les dernières infos sur les versions des noyaux, vous pouvez aller sur le site officiel du
noyau Linux : The Linux Kernel Archives (http://www.kernel.org).
Les préparatifs
Se renseigner sur son chipset et son processeur
Pour bien configurer son noyau, il faut bien connaître le hardware de sa machine, et notamment le modèle du chipset et le
type de processeur. Pour connaître le type de processeur :
% cat /proc/cpuinfo
La ligne model name vous donnera le type de processeur de votre machine.
Pour connaître le modèle du chipset de votre machine :
79Chapitre 25. Configuration du noyau Linux
% lspci
La première ligne devrait vous donner le modèle de votre chipset. Les lignes suivantes vous donneront plein d’autres
informations intéressantes sur le hardware de la machine, et certaines de ces informations vous seront utiles lors de la
configuration du noyau.
Se renseigner sur sa carte son
Si vous avez une carte son, vous devez savoir qu’il existe deux architectures pour faire marcher le son sous Linux :
• la vieille architecture OSS (Open Sound System), qui est intégrée aux sources du noyau 2.4,
• la nouvelle architecture ALSA (Advanced Linux Sound Architecture), plus moderne au niveau du code, et qui supporte
plus de cartes son. Elle sera intégrée aux sources du futur noyau 2.6.
Je vous conseille donc d’utiliser ALSA... sauf si vous avez une carte son qui n’est supportée que par OSS. Pour le savoir,
regardez la page ALSA Soundcard Matrix (http://www.alsa-project.org/alsa-doc/) avec un navigateur graphique :
• les cartes sur fond blanc sont supportées par ALSA,
• les cartes sur fond vert avec "OSS driver" dans la colonne Commentaire ne sont supportées que par OSS,
• Les cartes sur fond rouge ne sont supportées par aucune des deux architectures.
Une fois que vous avez trouvé votre carte dans la liste, relevez le nom du module ALSA ou OSS :
• si votre carte est supportée par ALSA, cliquez sur Details ; le nom du module est écrit dans la première phrase (il
commence toujours par le préfixe snd-). Ensuite, allez sur la page d’accueil (http://www.alsa-project.org) et notez
également la dernière version du driver dans la ligne Stable release.
• si votre carte est supportée uniquement par OSS, le nom du module est indiqué, ou bien il y a un lien vers un page
explicative contenant le nom du module OSS.
Note : Pour les possesseurs d’un ordinateur portable, le site Linux on Laptops (http://www.linux-on-laptops.com/) est
aussi une très bonne source d’information pour savoir quel driver utiliser pour sa carte son, ainsi que pour tous les
autres périphériques intégrés dans l’ordinateur portable.
Se renseigner sur son système d’économie d’énergie
Tout d’abord, posez-vous la question suivante : ai-je vraiment besoin d’un système d’économie d’énergie ? Si vous voulez
monter un serveur ou une station de travail qui n’a pas besoin d’être mise en veille, vous n’avez pas à vous préoccuper du
système d’économie d’énergie. Par contre, si vous voulez pouvoir mettre votre ordinateur en veille ou si vous avez un
ordinateur portable, il faut partir aux renseignements pour savoir quel système d’économie d’énergie est supporté par le
BIOS (regardez dans le manuel de la carte mère ou de votre portable) :
• l’APM (Advanced Power Management),
• ou l’ACPI (Advanced Configuration and Power Interface).
Note : Si votre système supporte les deux, l’APM et l’ACPI, je vous conseille, pour la suite de la configuration de votre
système, de choisir l’APM, car plus simple et mieux supporté sous Linux.
80Chapitre 25. Configuration du noyau Linux
Droits et packages
La plus grande partie de la procédure ne nécessite pas d’être root. Cependant, il va falloir d’abord ajouter l’utilisateur que
vous êtes au groupe src. En root, tapez :
# adduser toto src
où toto est votre nom d’utilisateur. Pour que le changement soit effectif, il faut que l’utilisateur se déloggue puis se
reloggue.
Pour la décompression et la configuration du noyau, installez les deux packages suivants :
# apt-get install bzip2 libncurses5-dev
Se procurer les sources du noyau
Maintenant que vous avez les droits et les packages nécessaires, vous allez repasser en simple utilisateur et télécharger les
sources du noyau.
Si vous avez une connexion Internet rapide
Si vous avez déjà une connexion rapide à Internet qui marche, téléchargez les sources (32 Mo environ) sur un miroir du
noyau Linux, par exemple le miroir de VIA ftp.via.ecp.fr ou le miroir officiel français ftp.fr.kernel.org, et mettez-les dans
le répertoire /usr/src :
% wget -P /usr/src ftp://ftp.via.ecp.fr/pub/linux/kernel/v … .22.tar.gz
en remplaçant éventuellement ftp.via.ecp.fr par un autre miroir plus proche, et en adaptant le numéro de version.
Téléchargez également la signature cryptographique des sources, qui vous permettra par la suite de vérifier leur
authenticité et leur intégrité :
% wget -P /usr/src ftp://ftp.via.ecp.fr/pub/linux/kernel/v … ar.gz.sign
Pour vérifier l’authenticité et l’intégrité des sources du noyau (par exemple pour vérifier que les sources n’ont pas été
modifiées par un pirate qui se serait introduit sur le site miroir), on va utiliser le programme GnuPG (alias GPG), qui est un
équivalent libre de PGP, et qui est installé par défaut (package gnupg). Commencez par télécharger la clé publique de Linux
Kernel Archives :
% gpg --keyserver wwwkeys.pgp.net --recv-keys 0x517D0F0E
Comme c’est la première fois que vous utilisez GPG, il crée le répertoire ~/.gnupg avec un fichier options, et vous
demande de réexécuter la commande. Exécutez donc la même commande une deuxième fois.
Ensuite, vérifiez l’authenticité de la clé publique en comparant le fingerprint de la clé que vous avez téléchargé avec le
fingerprint de la vraie clé de Linux Kernel Archives : ils doivent être strictement identiques !
• Pour connaître le fingerprint de la clé que vous avez téléchargée :
% gpg --fingerprint
/home/toto/.gnupg/pubring.gpg
-------------------------------
pub 1024D/517D0F0E 2000-10-10 Linux Kernel Archives Verification Key <ftpadmin@kernel.org>
Key fingerprint = C75D C40A 11D7 AF88 9981 ED5B C86B A06A 517D 0F0E
sub 4096g/E50A8F2A 2000-10-10
81Chapitre 25. Configuration du noyau Linux
• Pour connaître le vrai fingerprint de la clé, regardez sur le site principal du noyau Linux à l’adresse
http://www.kernel.org/signature.html.
Si les deux fingerprints sont identiques, alors c’est bien la vraie clé publique de Linux Kernel Archives que vous avez
téléchargé dans votre trousseau de clés. Vous pouvez alors passer à la vérification des sources :
% cd /usr/src/
% gpg --verify linux-2.4.22.tar.gz.sign linux-2.4.22.tar.gz
Il doit normalement vous répondre que la signature est bonne (ce qui prouve l’authenticité et l’intégrité), mais que la clé
n’est pas certifiée avec une signature de confiance.
Si vous n’avez pas de connexion Internet rapide
Si vous n’avez pas de connexion rapide à Internet, vous avez le choix entre :
• trouver les sources du dernier noyau chez un ami qui a une connexion Internet rapide et un graveur de CD ou sur le CD
d’un magazine Linux,
• installer le package Debian contenant les sources du noyau (sur une Woody, le package contenant les sources les plus
récentes contient les sources du noyau 2.4.18) :
# apt-get install kernel-source-2.4.18
Décompresser les sources
Vous devez donc maintenant avoir un fichier contenant les sources du noyau Linux dans le répertoire /usr/src/.
Décompressez les sources, créez (ou mettez-à-jour) le lien symbolique /usr/src/linux qui doit pointer sur le nouveau
répertoire contenant les sources du noyau, et placez-vous dans ce nouveau répertoire :
• si votre fichier contenant les sources se nomme linux-version.tar.gz :
% cd /usr/src/
% tar xvzf linux-version.tar.gz
% ln -sfn linux-version linux
% cd linux/
• s’il se nomme linux-version.tar.bz2 :
% cd /usr/src/
% tar xvjf linux-version.tar.bz2
% ln -sfn linux-version linux
% cd linux/
• si vous avez installé le package Debian contenant les sources :
% cd /usr/src/
% tar xvjf kernel-source-version.tar.bz2
% ln -sfn kernel-source-version linux
% cd linux/
82Chapitre 25. Configuration du noyau Linux
Appliquer un patch sur les sources ?
Qu’est-ce qu’un patch ?
Dans certains cas particuliers, les sources du noyau standard ne suffisent pas ou ne conviennent pas pour certains usages.
De nombreux projets développent et maintiennent des patchs pour le noyau Linux. Un patch est un fichier texte contenant
des instructions pour modifier par différence les sources d’un programme (il donne les lignes à ajouter et les lignes à retirer
dans les fichiers source). Le nom d’un fichier patch est normalement composé dans l’ordre :
1. de la fonctionnalité ajoutée ou modifiée par le patch,
2. du numéro de version du patch,
3. du numéro de version des sources sur lesquels il s’applique,
4. de son extension .diff.
Par exemple, le fichier ebtables-brnf-2_vs_2.4.22.diff, téléchargeable depuis la page de téléchargement
(http://sourceforge.net/project/show@ … p_id=39571) du projet ebtables sur Sourceforge, est la version 2 du
patch qui permet de faire un bridge firewallant avec un noyau Linux, et qui s’applique sur la version 2.4.22 des sources du
noyau (le nom du fichier ne précise pas la version du patch dans ce cas particulier).
Patcher les sources
Pour un usage normal, vous n’avez a priori pas besoin d’appliquer un patch sur les sources du noyau (on dit patcher les
sources) ; vous pouvez alors passer directement à la section suivante. Par contre, si vous savez que vous avez besoin d’un
patch pour un besoin bien particulier et que vous savez où le télécharger, suivez les instructions ci-dessous.
Avertissement
Attention à ne pas télécharger n’importe quel patch n’importe où : il en va de la sécurité de votre
futur noyau !
Pour expliquer comment on applique un patch, je vais prendre exemple sur le patch cité ci-dessus. Il se présente
généralement sous forme compressée (extension .gz ajoutée à la fin du nom du fichier). Je suppose que vous avez
téléchargé le patch dans le répertoire /usr/src/.
Décompressez le patch et appliquez-le sur les sources du noyau :
% cd /usr/src/
% gunzip ebtables-brnf-version_vs_2.4.22.diff.gz
% cd linux-2.4.22/
% patch -p1 < ../ebtables-brnf-version_vs_2.4.22.diff
Si la dernière commande affiche une liste de fichiers patchés sans message d’erreur, cela signifie que l’opération s’est bien
déroulée.
Note : Vous pouvez appliquer successivement plusieurs patchs sur les sources du noyau à condition que les patchs
soient "compatibles" entre-eux.
83Chapitre 25. Configuration du noyau Linux
Configurer le noyau
Récupérer un fichier de configuration modèle
La configuration du noyau est stockée dans un fichier .config à la racine des sources du noyau. Ce fichier est lu et
modifié par l’utilitaire de configuration du noyau, et il est lu lors de la compilation du noyau. Pour vous faciliter la tâche,
j’ai mis à votre disposition un fichier de configuration type pour noyau 2.4 (ordinateur fixe avec une carte réseau, une carte
son, des disques IDE, un graveur IDE et un lecteur DVD IDE). Je vous conseille de prendre ce fichier comme base de
travail pour la configuration de votre noyau 2.4 :
% cp /root/config/config-2.4.x .config
ou :
% wget http://www.via.ecp.fr/~alexis/formation … nfig-2.4.x
% mv config-2.4.x .config
Lancer l’utilitaire de configuration
Pour lancer l’utilitaire de configuration du noyau, tapez, toujours en tant que simple utilisateur :
% make menuconfig
Vous arrivez alors dans l’interface de configuration du noyau. Vous pouvez naviguer avec les flèches et entrer dans les
menus en appuyant sur Entrée.
84Chapitre 25. Configuration du noyau Linux
Figure 25-1. Menu de configuration du noyau
En dur ou en modules ?
Pour ceux qui ont la mémoire courte : Qu’est-ce qu’un module ?
Pour certaines options du noyau, vous avez le choix entre mettre l’option en dur ou en modules. Nous allons mettre un
maximum de périphériques en modules... mais pas tous !
Il y a deux types d’options pour la configuration du noyau (on passe d’une option à la suivante en appuyant sur Espace) :
• Les options entre crochets droits [ ] ; vous avez alors le choix entre mettre cette option :
• en dur dans le noyau : vous devez faire apparaître une étoile : [*],
• ou ne pas la mettre : la case doit rester vide : [ ].
• Les options entre crochets fléchés < > ; vous avez le choix entre mettre cette option :
• en dur dans le noyau : vous devez faire apparaître une étoile : <*>,
• en module : vous devez faire apparaître un M : <M>,
• ou ne pas la mettre : la case doit rester vide : < >.
Cordialement
L'équipe Parisdepannage.fr
Hors ligne
#2 21-08-2008 20:25:43
- Admin
- Administrateur
- Date d'inscription: 30-07-2008
- Messages: 683
Re: Formation à Linux (2)
La colonne de droite montre les dépendances entre crochets. Par exemple :
Module Size Used by Tainted: PF
vfat 9500 0 (unused)
fat 29752 0 (autoclean) [vfat]
montre que le module vfat a besoin du module fat pour fonctionner. Cela signifie également que le module fat doit
impérativement être inséré avant le module vfat... et que l’on ne peut retirer le module fat sans avoir retiré préalablement
le module vfat.
La commande modprobe permet d’insérer et de retirer des modules en tenant compte de ces dépendances.
Par exemple, pour insérer le module vfat, tapez :
# modprobe vfat
Il va d’abord insérer les modules requis par vfat puis insérer le module vfat.
Pour retirer un module, il faut d’abord retirer les modules qui en dépendent. Par exemple, si on demande de retirer le
module fat on aura un message d’erreur :
# modprobe -r fat
fat: Device or resource busy
Le message d’erreur peut aussi venir du fait qu’un programme est entrain d’utiliser le module : le numéro de la colonne
Used by dans la sortie de la commande lsmod est alors non nul. Dans ce cas, il faut d’abord arrêter les programmes qui
utilisent le module avant de pouvoir le retirer.
Il faut donc d’abord retirer le module vfat et ensuite le module fat :
# modprobe -r vfat
# modprobe -r fat
Si, après l’insertion d’un module, le périphérique correspondant ne marche pas ou marche bizarrement, retirez le module et
réinserez-le en précisant des paramètres lors de l’insertion. Pour connaître les paramètres d’un module, utilisez la
commande modinfo :
% modinfo nom_du_module
Les paramètres sont indiqués sur les lignes qui commencent par parm:. Par exemple, si vous voyez un paramètre irq et un
paramètre dma, vous pouvez essayer de jouer sur ceux-ci pour faire marcher le périphérique :
# modprobe -r nom_du_module
101Chapitre 27. Tirer parti du nouveau noyau - 1
# modprobe nom_du_module irq=7 dma=1
Le répertoire /etc/modutils/
Une partie de l’explication de l’utilisation de ce répertoire pour le chargement automatique des modules figure à la fin du
chapitre précédent Préparer le chargement automatique des modules. Je vais juste apporter une précision.
Par exemple, pour que le module de la carte son se charge automatiquement avec certaines options, modifiez le fichier
/etc/modutils/son que vous avez crée au chapitre précédent et rajoutez une ligne pour préciser les options. Par
exemple :
alias sound-slot-0 nom_du_module
options nom_du_module irq=7 dma=1
N’oubliez pas d’exécuter la commande update-modules pour que le système puisse prendre en compte les modifications
intervenues dans le répertoire /etc/modutils/.
Le fichier /etc/modules
Ce fichier liste les modules qui doivent être chargés au démarrage. La syntaxe est d’écrire un nom de module par ligne, en
précisant sur la ligne les options si besoin est.
Cette solution est à éviter si le module peut-être inséré automatiquement par un alias.
Si vous modifiez ce fichier et que vous voulez que les modules soient chargés immédiatement sans redémarrer, exécutez le
script suivant :
# /etc/init.d/modutils
Calculating module dependencies... done.
Loading modules: [liste des modules du fichier /etc/modules]
La configuration du réseau
Les interfaces réseau
L’interface de loopback
L’interface de loopback est une interface réseau qui relie la machine à elle-même. Cette interface est désignée par lo,
l’adresse IP associée est 127.0.0.1 et le nom DNS associée est localhost. Ainsi, un utilisateur du système peut consulter un
serveur Web hébergé sur la machine en demandant la page http://localhost/ et sa requête passera par l’interface de
loopback.
L’interface associée à la carte réseau
Si votre ordinateur est équipé d’une carte réseau Ethernet, vous allez pouvoir y associer une interface eth0. Les paramètres
réseau de cette interface pourront être obtenus automatiquement par DHCP si ce service est disponible sur le réseau, où
être entrés à la main dans un fichier de configuration.
102Chapitre 27. Tirer parti du nouveau noyau - 1
Configurer les interfaces réseau
Ce paragraphe est présent à titre d’information ; si vous avez bien suivi ma formation depuis le début, vous n’avez
normalement pas à modifier les fichiers /etc/network/interfaces et /etc/resolv.conf dont la syntaxe est
expliquée ci-dessous.
/etc/network/interfaces
Avec Debian, la configuration des interfaces réseaux se fait dans le fichier /etc/network/interfaces.
• Pour configurer automatiquement la carte réseau par DHCP (sous réserve qu’un serveur DHCP soit disponible sur le
réseau), le fichier doit contenir :
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
• Pour configurer la carte réseau à la main, vous devez préciser une adresse IP (address), un masque de sous-réseau
(netmask), une adresse de broadcast (broadcast) et une adresse de passerelle (gateway). Le fichier ressemblera alors à
l’exemple ci-dessous :
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.12
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
/etc/resolv.conf
Le fichier de configuration /etc/resolv.conf contient les informations sur les requêtes DNS.
• Pour ceux qui utilisent la configuration par DHCP, ce fichier est généré automatiquement à chaque requête DHCP.
• Pour ceux qui configurent le réseau à la main, il faut préciser un ordre de recherche pour les noms DNS dont le domaine
n’est pas précisé (search) et l’adresse IP d’un ou plusieurs serveurs DNS (nameserver). Le fichier ressemblera alors à
l’exemple ci-dessous :
search labo.exemple.org exemple.org
nameserver 192.168.100.1
nameserver 192.168.100.2
Relancer le réseau
Pour que le système tienne compte des changements effectués dans le fichier de configuration, c’est-à-dire déconfigure les
interfaces réseau et les reconfigure selon les instructions du fichier /etc/network/interfaces, lancez la commande
suivante :
# /etc/init.d/networking restart
103Chapitre 27. Tirer parti du nouveau noyau - 1
Reconfiguring network interfaces: done.
Note : Si vous avez un message d’erreur SIOCDELRT: No such process dans la sortie de la commande, relançez la
commande une nouvelle fois, jusqu’à ce que le message d’erreur n’apparaisse plus.
Visualiser la configuration des interfaces réseau
Pour visualiser la configuration de toutes les interfaces réseau, lancez la commande :
% ifconfig
Pour visualiser la configration de l’interface eth0 uniquement :
% ifconfig eth0
Pour visualiser la table de routage :
% route -n
Lecteur de CD ou graveur
Pour ceux qui ont un graveur
Installer le package
Si vous avez un graveur IDE, il faut utiliser l’émulation SCSI que vous avez dû activer en module lors de la compilation du
noyau. Si vous avez en plus un lecteur de CD et / ou DVD, vous allez utiliser l’émulation SCSI pour ce lecteur également
(ce n’est pas obligatoire, mais c’est plus simple).
Dans cette section, vous allez avoir besoin du programme cdrecord qui sert à graver de CDs :
# apt-get install cdrecord
Il vous demande si vous voulez installer cdrecord SUID root. Si vous répondez Non, seul le root pourra graver des CDs. Si
vous répondez Oui, alors tous les utilisateurs appartenant au groupe cdrom pourront graver.
Droits d’accès
En émulation SCSI, pour avoir accès au graveur et au lecteur de CD, il faut appartenir au groupe cdrom. Sans émulation
SCSI, pour avoir accès au lecteur de CD, il faut appartenir au groupe disk. Rajoutez votre compte utilisateur à ces deux
groupes :
# adduser toto disk
# adduser toto cdrom
104Chapitre 27. Tirer parti du nouveau noyau - 1
Les devices
Normalement, votre graveur IDE et votre lecteur de CD IDE éventuel devraient être accessibles par un device /dev/hdX où
X = a, b, c ou d comme expliqué dans la première partie de la formation (Les partitions).
Mais comme on utilise l’émulation SCSI pour ces lecteurs, ils ne seront pas accessibles par un device /dev/hdX mais par
un device /dev/scdY où Y est un nombre compris entre 0 et 16, ce nombre étant en rapport avec l’ID SCSI qui est attribuée
au lecteur par l’émulateur SCSI.
Pour connaître ce nombre, lancez la commande suivante :
# cdrecord -scanbus
Pour comprendre le résultat de cette commande, je vais prendre l’exemple de mon ordinateur personnel. Il a un graveur
IDE Teac et un lecteur de DVD Hitachi. Le résultat de la commande est le suivant :
Cdrecord 1.10 (i686-pc-linux-gnu) Copyright (C) 1995-2001 Jörg Schilling
Linux sg driver version: 3.1.22
Using libscg version ’schily-0.5’
scsibus0:
0,0,0 0) ’HITACHI ’ ’DVD-ROM GD-7000 ’ ’X017’ Removable CD-ROM
0,1,0 1) ’TEAC ’ ’CD-W516EB ’ ’1.0B’ Removable CD-ROM
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
Je peux en déduire les renseignements suivants :
Tableau 27-1. Emulation SCSI : ID et devices
Lecteur Device ID SCSI
Lecteur DVD Hitachi /dev/scd0 0,0,0
Graveur Teac /dev/scd1 0,1,0
Il est intéressant de voir que les modules nécessaires à l’émulation SCSI et au fonctionnement des périphériques SCSI ont
été chargés automatiquement lors de l’exécution de la commande cdrecord -scanbus. La commande lsmod devrait faire
apparaître les périphériques suivants :
Module Size Used by Tainted: PF
sg 24036 0 (autoclean)
sr_mod 11800 2 (autoclean)
ide-scsi 7648 1
cdrom 28960 0 (autoclean) [sr_mod]
scsi_mod 50396 3 (autoclean) [sg sr_mod ide-scsi]
Les liens symboliques
Maintenant que vous connaissez les devices correspondant à votre graveur et à votre lecteur de CD ou DVD éventuel, vous
allez pouvoir créer les liens symboliques adéquats. Ces liens ne sont pas obligatoires, mais ils sont vivement conseillés
pour vous permettre de vous y retrouver plus facilement.
Je vais reprendre l’exemple de ma configuration personnelle, et créer les liens symboliques /dev/cdrom, /dev/dvd, et
/dev/graveur qui pointeront respectivement vers les périphériques que j’utilise pour la lecture de CD, la lecture de DVD et
la gravure de CD. Je vous laisse adapter les commandes suivantes à votre configuration personnelle :
105Chapitre 27. Tirer parti du nouveau noyau - 1
# cd /dev
# ln -sf scd0 cdrom
# ln -sf scd0 dvd
# ln -sf scd1 graveur
Pour ceux qui ont un lecteur de CD mais pas de graveur
Je suppose donc dans ce paragraphe que vous avez un lecteur de CD et / ou DVD IDE, et pas de graveur. Dans ce cas, c’est
beaucoup plus simple car vous n’avez pas à utiliser l’émulation SCSI.
Droit d’accès
Pour avoir accès au lecteur de CD, il faut appartenir au groupe disk. Rajoutez votre compte utilisateur à ce groupe :
# adduser toto disk
Les devices
Votre lecteur de CD sera donc accessible par le périphérique /dev/hdX où X = a, b, c ou d selon la manière dont est
branché le lecteur. (Tout ceci a été expliqué dans la première partie de cette formation, section Les partitions).
Les liens symboliques
Créez un lien symbolique /dev/cdrom qui pointe vers le bon périphérique :
# cd /dev
# ln -sf hdX cdrom
Vous pouvez également créer un lien symbolique /dev/dvd qui pointera vers le périphérique correspondant à votre lecteur
de DVD :
# ln -sf hdX dvd
Montage des systèmes de fichiers
/etc/fstab
Le fichier de configuration /etc/fstab contient les informations statiques sur le montage des systèmes de fichiers.
La syntaxe du fichier
Les règles de syntaxe du fichier sont les suivantes : une ligne par système de fichier, chaque ligne devant contenir dans
l’ordre les informations suivantes séparées par au moins un espace :
1. l’emplacement physique de la partition (par exemple /dev/hdXY pour une partition physique ou
nom_DNS:/répertoire pour un répertoire partagé par NFS,
2. le point de montage (le répertoire doit déjà exister, sinon il faut le créer au préalable avec la commande mkdir),
3. le type de système de fichier (par exemple swap, ext3, vfat, ntfs, nfs, iso9660 pour les CD-ROM et DVD-ROM),
106Chapitre 27. Tirer parti du nouveau noyau - 1
4. les options de montage, séparées par des virgules :
• ro pour monter le système de fichiers en lecture seule,
• rw pour monter le système de fichiers en lecture-écriture,
• noauto pour que le système de fichiers ne soit pas monté au démarrage (option contraire : auto),
• user pour qu’un simple utilisateur puisse monter et démonter le système de fichiers et pas seulement le root (option
contraire : nouser),
• exec pour permettre l’exécution de binaires (option contraire : noexec),
• uid, gid et umask pour définir des permissions pour l’ensemble du système de fichiers,
• defaults pour les options par défaut (notamment rw, exec, auto et nouser),
• et enfin sw pour la partition de swap.
5. la valeur 1 si le système de fichier doit être sauvegardé ou la valeur 0 sinon (mettez 0 si vous n’avez pas de système de
sauvegarde),
6. la priorité pour la vérification des systèmes de fichiers par fsck au démarrage quand cela est nécessaire : la partition
racine doit avoir la plus grande priorité (valeur 1), les autres doivent avoir une priorité inférieure (valeur 2). Les
systèmes de fichiers qui ne doivent pas être vérifiés auront la valeur 0.
Donc pour un système classique, le fichier contient par exemple :
/dev/hda1 / ext3 defaults,errors=remount-ro 0 1
/dev/hda2 none swap sw 0 0
/dev/hda5 /tmp ext3 defaults 0 2
/dev/hda6 /home ext3 defaults 0 2
proc /proc proc defaults 0 0
/dev/fd0 /floppy auto defaults,user,noauto 0 0
/dev/cdrom /cdrom iso9660 defaults,ro,user,noauto,exec 0 0
usbdevfs /proc/bus/usb usbdevfs defaults 0 0
Monter et démonter une partition citée dans fstab
Un des avantages d’utiliser le fichier /etc/fstab est que le montage et le démontage des systèmes de fichiers cités dans
ce fichier de configuration sont très simples. Il suffit d’utiliser la commande mount pour monter et umount pour démonter,
suivie du device ou du répertoire de montage.
Ainsi, les deux commandes suivantes sont équivalentes, et permettent de monter la disquette :
# mount /floppy
# mount /dev/fd0
Comme nous avons précisé l’option user pour le lecteur de disquette dans fstab, les deux commandes précédentes
peuvent être exécutées en tant que simple utilisateur. Dans ce cas, seul l’utilisateur en question et le root pourront démonter
le système de fichier avec l’une des deux commandes suivantes :
# umount /floppy
# umount /dev/fd0
Important : Pour démonter un système de fichier, il faut qu’aucun des utilisateurs du système et aucun processus ne
soit entrain d’ouvrir un des fichiers du système de fichier à démonter et qu’aucun utilisateur ne se trouve dans un des
répertoires du système de fichiers à démonter. Sinon, la commande umount renverra le message d’erreur suivant :
107Chapitre 27. Tirer parti du nouveau noyau - 1
umount : /floppy : périphérique occupé
Pour voir qui est responsable de cette occupation, utilise la commande lsof qui liste les fichiers ouverts :
% lsof | grep floppy
Monter ses partitions Windows
Vous avez normalement compilé le module pour pouvoir accéder à vos partitions Windows de type FAT ou NTFS depuis
Linux.
Préparer le montage d’une partition FAT
Le système de fichier de type FAT (FAT 16 ou FAT 32) est utilisé par Windows 95/98/ME et parfois par Windows 2000/XP.
Le driver Linux pour ce type de système de fichiers permet d’y avoir accès en lecture et en écriture.
Supposons que votre partition Windows de type FAT soit /dev/hda1 (première partition primaire sur le disque dur Primary
Master). Nous allons la monter dans le répertoire /mnt/win1 qu’il faut créer au préalable :
# mkdir /mnt/win1
Ensuite, éditez en root le fichier /etc/fstab et rajoutez la ligne suivante :
/dev/hda1 /mnt/win1 vfat defaults,rw,user 0 0
Préparer le montage d’une partition NTFS
Le système de fichier de type NTFS est souvent utilisé par Windows 2000 et XP. Malheureusement, le driver Linux pour ce
type de système de fichier n’est pas encore complet : il ne permet que d’y accéder en lecture, et pas en écriture.
Supposons que votre partition Windows de type NTFS soit /dev/hda5 (premier lecteur logique sur le disque dur Primary
Master). Nous allons la monter dans le répertoire /mnt/win2 qu’il faut créer au préalable :
# mkdir /mnt/win2
Ensuite, éditez en root le fichier /etc/fstab et rajoutez la ligne suivante :
/dev/hda5 /mnt/win2 ntfs defaults,ro,user 0 0
Monter les partitions
Vous avez rajouté les entrées nécessaires dans le fichier /etc/fstab : vos partitions Windows seront donc dorénavant
montées automatiquement dès le démarrage. Mais pour éviter de redémarrer, vous allez simplement demander au système
de monter les partitions citées dans fstab et non déjà montées avec la commande suivante :
# mount -a
Si aucun message d’erreur n’apparaît, vous devez maintenant pouvoir voir le contenu de votre ou vos partition(s) Windows
dans l’arborescence de votre système.
108Chapitre 27. Tirer parti du nouveau noyau - 1
Modifier les droits sur les partitions Windows
Par défaut, les partitions Windows montées appartiennent à root, et dans le cas des partitions NTFS, elles ne sont pas
lisibles par les autres utilisateurs. Pour modifier les droits d’accès appliquées aux partitions Windows, vous pouvez rajouter
des options dans la ligne qui leur correspond dans le fichier /etc/fstab.
Par exemple, si vous voulez que sur la partition Windows /dev/hda1 formatée en FAT, les fichiers et les répertoires :
• appartiennent à l’utilisateur dont l’ID est 1000,
• appartiennent au groupe dont l’ID est 1000,
• aient des droits rwxr-xr-x,
alors la ligne correspondant à la partition dans fstab devient la suivante :
/dev/hda1 /mnt/win vfat defaults,rw,user,uid=1000,gid=1000,umask=022 0 0
Avec le même exemple, mais pour une partition de type NTFS (donc montée en read-only) où les fichiers et les répertoires
auront des droits r-xr-xr-x, la ligne devient :
/dev/hda1 /mnt/win ntfs defaults,ro,user,uid=1000,gid=1000,umask=222 0 0
Pour que les changements soient pris en compte, la commande mount -a ne suffit pas. Il faut démonter et remonter la
partition :
% umount /mnt/win
% mount /mnt/win
Monter sa clé USB
Si vous avez une clé USB (ou n’importe quel périphérique compatible avec la norme "USB mass storage"), commencez
par créer le répertoire dans lequel vous monterez la clé :
# mkdir /mnt/cleusb
Puis, si votre clé USB est formatée en FAT et que vous voulez que les fichiers une fois montés appartiennent à l’utilisateur
dont l’ID est 1000, rajoutez la ligne suivante à la fin du fichier /etc/fstab :
/dev/sda1 /mnt/cleusb vfat defaults,noauto,user,sync,uid=1000,gid=1000,umask=022 0 0
Vous pouvez alors monter votre clé USB :
% mount /mnt/cleusb
Attention
N’oubliez pas de démonter votre clé USB avant de la débrancher, sous peine de corrompre les
données qui y sont stockées :
% umount /mnt/cleusb
109Chapitre 28. Tirer parti du nouveau noyau - 2
Vérifier que la souris est reconnue
Pour vérifier que la souris est reconnue, vous pouvez regarder si des données sortent sur le device correspondant à la souris
quand vous la bougez ou quand vous cliquez sur un de ses boutons.
Le device correspondant à la souris est :
• /dev/psaux pour une souris sur le port PS/2 (les trackpoints et les touchpads des ordinateurs portables sont
généralement raccordés à ce port),
• /dev/input/mice pour une souris sur port USB,
• /dev/ttyS0 pour une souris sur le premier port série,
• /dev/ttyS1 pour une souris sur le second port série,
Pour vérifier que des données sortent sur le device :
# cat device
Cordialement
L'équipe Parisdepannage.fr
Hors ligne
#3 21-08-2008 20:25:58
- Admin
- Administrateur
- Date d'inscription: 30-07-2008
- Messages: 683
Re: Formation à Linux (2)
Les droits d’accès
Pour avoir accès à la carte son, il faut appartenir au groupe audio. Rajoutez-vous dans ce groupe :
# adduser toto audio
Le réglage du son
Pour régler le volume sonore, il faut utiliser le programme aumix :
# apt-get install aumix
Pour le lancer, il suffit de taper :
% aumix
et de faire bouger les curseurs avec les flèches.
110Chapitre 28. Tirer parti du nouveau noyau - 2
Figure 28-1. Aumix
Jouer de la musique
Jouer un fichier MP3 ou Ogg Vorbis
Le programme music123 sait faire ça très bien ! Installez le package contenant le programme ainsi que les codecs :
# apt-get install music123 mpg321 vorbis-tools
• Pour jouer un fichier MP3 :
% music123 mon_fichier.mp3
• Pour jouer un fichier Ogg Vorbis :
% music123 mon_fichier.ogg
Jouer un CD audio
Vous pouvez par exemple utiliser le package cdtool :
# apt-get install cdtool
Pour jouer un CD, tapez :
% cdplay
Pour jouer le CD de la piste n◦2 à la piste n◦5 :
% cdplay 2 5
Vous disposez aussi des commandes cdstop et cdpause.
Note : Pour que la lecture de CDs audio avec cdtool marche, il faut que le lecteur de CD soit relié directement à la
carte son par un petit câble (c’est normalement le cas).
111Chapitre 28. Tirer parti du nouveau noyau - 2
Les systèmes d’économie d’énergie
L’APM
Pour faire marcher l’APM (Advanced Power Management), il faut, en plus des options que je vous avais conseillé d’activer
dans le noyau, installer le package apmd :
# apt-get install apmd
Vous pouvez alors vous servir des fonctions apportées par l’APM :
• Pour mettre votre ordinateur en mode standby :
# apm -S
• Pour mettre votre ordinateur en mode suspend :
# apm -s
• Si vous avez un ordinateur portable (qui supporte l’APM) et que vous voulez avoir des informations sur l’état de la
batterie :
# apm
L’ACPI
Pour faire marcher l’ACPI (Advanced Configuration and Power Interface), il faut, en plus des options que je vous avais
conseillé d’activer dans le noyau, installer le package acpid :
# apt-get install acpid
[TODO : à compléter]
112Chapitre 29. Configurer son serveur de mail local
Tous les ordinateurs sous Linux ont besoin d’un serveur de mail pour fonctionner correctement. Par contre, pour mettre en
place un vrai serveur de mail destiné à recevoir des mails de l’extérieur, il faut des entrées dans la DNS et surtout un
machine en état de fonctionnement 24h/24 et 7j/7.
Ce chapitre explique seulement la configuration d’un serveur mail qui gère le mail en local et l’envoi des mails. La
configuration d’un vrai serveur de mail avec les entrées DNS qui vont avec est expliquée dans la partie Debian GNU/Linux
en réseau.
Installation de Postfix
Le serveur de mail installé par défaut sur une Debian est Exim. Je vous propose de le remplacer par Postfix
(http://www.postfix.org/), qui est réputé fiable et facile à configurer :
# apt-get install --purge postfix
Configuration de Postfix
Lors de l’installation du package, il vous pose des questions de configuration. A la première question General type of
configuration ?, répondez No configuration.
Une fois qu’il a fini l’installation du package, lancez la commande suivante pour relancer la procédure de configuration
(cette astuce permet d’avoir un assistant de configuration plus détaillé) :
# dpkg-reconfigure postfix
Au deuxième écran, quand il vous redemande General type of configuration ?, répondez cette fois Internet Site. Ensuite,
acceptez tous les paramètres qu’il vous propose par défaut, sauf à la question Use procmail for local delivery ?, à laquelle
vous répondrez Yes.
113Chapitre 30. Outils d’administration système
La programmation de tâches
Exécuter une commande périodiquement
La cron est un programme (installé par défaut) qui est chargé de lancer d’autres programmes de manière périodique et
automatique. Chaque utilisateur peut définir avec sa cron les programmes qu’il veut lancer périodiquement. Il lui suffit
d’éditer sa cron et de définir la commande et sa périodicité d’exécution.
Par exemple, je veux que mon ordinateur me réveille tous les matins à 7h12 en jouant un mp3. J’édite ma cron :
% crontab -e
Je me retrouve alors dans vim avec un fichier vide. J’ajoute la ligne :
12 7 * * * mpg321 ~/music/fichier.mp3
J’enregistre et je quitte ; les changements sont alors automatiquement pris en compte par le système.
Explications :
1. Les 5 premiers ensembles de caractères séparés par des espaces (ici, 12 7 * * *) définissent la fréquence. Dans l’ordre,
on trouve :
• les minutes,
• les heures,
• le jour du mois,
• le mois,
• le jour de la semaine (sachant que Lundi vaut 1, Mardi vaut 2, etc...).
Pour exécuter une commande chaque jour à 7h12, on fixe donc le champ minute à 12, le champ heure à 7, puis on met
des étoiles dans les autres champs pour dire qu’il faut que ce soit exécuté tous les jours dans le mois, tous les mois et
tous les jours de la semaine.
2. Enfin, on trouve la commande à exécuter : (ici, mpg321 ~/music/fichier.mp3).
Quand la cron lance un programme, elle envoie par mail à l’utilisateur le texte que ce programme écrirait sur la console s’il
était lançé à la main ; sauf si le programme n’a rien écrit. Pour éviter de recevoir un mail tous les matins qui me dit qu’il a
bien joué mon fichier mp3, je modifie l’entrée dans la cron en renvoyant la sortie texte du programme vers /dev/null :
12 7 * * * mpg321 ~/music/fichier.mp3 1>/dev/null 2>&1
Autre exemple : j’ai une connexion permanente à Internet et je veux aussi que fetchmail aille chercher mes mails tous les
quarts d’heure. J’édite ma cron et je rajoute la ligne suivante :
*/15 * * * * fetchmail --silent
Explications :
1. Les 5 premiers ensembles de caractères */15 * * * * définissent la fréquence "tous les quarts d’heure".
2. J’exécute fetchmail avec l’option --silent qui n’écrit dans sa sortie que les messages d’erreur ; comme ça, je ne
recevrais un mail que quand le rappatriement des mails se passe mal.
114Chapitre 30. Outils d’administration système
Exécuter une commande à une date donnée
Par exemple, pour exécuter les commandes date puis df -h le 22 Janvier 2003 à midi 42, tapez :
% at 12:42 03.01.22
Note : Attention, pour la date, l’ordre des chiffres est inversé par rapport à la notation habituelle !
Vous voyez alors apparaître le prompt du programme at pour taper les commandes :
at> date
at> df -h
Une fois que vous avez fini de taper les commandes, utilisez la combinaison de touches Ctrl-d. Le résultat de la série de
commandes, appelée job, vous sera envoyé par mail juste après leur exécution.
Pour voir la liste des jobs en attente, utilisez la commande atq. Pour annuler un job, tapez atrm numéro_du_job.
Donner des droits étendus à certains utilisateurs
Vous avez peut-être déjà remarqué, certaines commandes pourtant courantes ne sont accessibles qu’à l’utilisateur root, par
exemple les commandes pour éteindre l’ordinateur, pour le rebooter ou encore le mettre en veille. Si cela se comprend pour
un serveur, c’est souvent gênant pour un ordinateur familial. La mauvaise solution serait de donner le mot de passe root à
tout le monde ; la bonne solution est d’utiliser le programme sudo qui permet au root de spécifier que certains utilisateurs
ont le droit d’exécuter certaines commandes avec les droits de root.
Attention
La configuration du programme sudo doit se faire avec attention, pour ne pas compromettre la
sécurité du système. Par exemple, si vous donnez à un utilisateur le droit d’exécuter le programme
/bin/sh en tant que root, alors cela revient à lui donner les droits root tout entiers, car il pourra
obtenir un shell avec les droits de root . Plus subtil : si vous donnez à un utilisateur le droit d’exécuter
vim un_certain_fichier en tant que root, cela revient également à lui donner les droits de root
tout entiers, car il peut alors ouvrir d’autres fichiers en tant que root en tapant en mode commande
:split autre_fichier ou encore exécuter des commandes shell en tant que root en tapant en mode
commande :! commande_shell ; il vaut donc mieux dans ce cas changer les permissions sur le
fichier en question.
Maintenant que vous êtes prévenu, vous pouvez installer le package :
# apt-get install sudo
La configuration se fait dans le fichier /etc/sudoers. Mais attention, il ne faut pas éditer ce fichier directement avec un
éditeur de texte, mais utiliser le programme visudo :
# visudo
Vous vous retrouvez alors dans un vim normal entrain d’éditer le fichier /etc/sudoers. Pour donner à l’utilisateur toto le
droit d’exécuter les commandes halt, reboot et apm, rajoutez la ligne suivante :
toto ALL = NOPASSWD: /sbin/halt, /sbin/reboot, /usr/bin/apm
Enregistrez et quittez, comme avec un vim normal. L’utilisateur toto peut alors éteindre le système en tapant :
% sudo halt
115Chapitre 30. Outils d’administration système
Si vous voulez obliger les utilisateurs à re-taper leur mot de passe quand ils utilisent le programme sudo (pour être sûr que
quelqu’un n’est pas entrain de profiter d’une console laissée ouverte) enlevez de la ligne le mot NOPASSWD: .
Pour en savoir plus sur la syntaxe du fichier sudoers, consultez /usr/share/doc/sudo/examples/sudoers.
Les outils de compression
Installer les packages
Le package gzip qui supporte le .gz est installé par défaut, mais ce n’est pas le cas des packages qui supportent les .bz2 et
.zip :
# apt-get install bzip2 zip unzip
Décompresser un fichier ou un arborescence
La commande à utiliser dépend de l’extension du fichier :
% tar xvf archive.tar
% tar xvzf archive.tar.gz
% tar xvjf archive.tar.bz2
% gunzip archive.gz
% bunzip2 archive.bz2
% unzip archive.zip
Compresser un fichier
Le but de ce paragraphe n’est pas de comparer la performance des différents algorithmes de compression, mais simplement
de donner les commandes :
• pour produire un fichier d’extension .gz :
% gzip fichier1
• pour produire un fichier d’extension .bz2 :
% bzip2 fichier1
• pour produire un fichier d’extension .zip :
% zip fichier1.zip fichier1
Compresser une arborescence
Par exemple, je veux comprimer en un seul fichier le contenu du répertoire /etc/ avec en plus le fichier
/var/log/syslog :
• pour produire un fichier d’extension .tar.gz :
% tar cvfz archive.tar.gz /etc/ /var/log/syslog
116Chapitre 30. Outils d’administration système
• pour produire un fichier d’extension .tar.bz2 :
% tar cvfj archive.tar.bz2 /etc/ /var/log/syslog
• pour produire un fichier d’extension .zip :
% zip -r archive.zip /etc/ /var/log/syslog
Les outils réseau
Les outils réseau suivant peuvent être utiles pour résoudre un problème ou surveiller le traffic réseau (la plupart ne sont
accessibles qu’en root) :
• traceroute, qui se trouve dans le package du même nom, et qui permet de dessiner la route que prennent les packets
pour aboutir à une machine distance ;
• tcpdump, qui se trouve dans le package du même nom, et qui permet d’afficher tout le traffic qui passe par l’interface
réseau ;
• iptraf, un moniteur de traffic et de débit ;
• les outils du package netdiag, qui permettent de diagnostiquer un problème de connexion.
117III. Debian GNU/Linux en mode graphique
Introduction
La première partie de cette formation vous a expliqué en détail la procédure d’installation ; et la deuxième partie vous a
appris les commandes et les outils de base ainsi que la méthode pour recompilier le noyau. Cette troisième partie va vous
apprendre à installer un serveur graphique : vous pourrez enfin avoir un système qui ressemble à un poste de travail
classique avec un bureau et des icônes ! Pour ceux dont l’objectif était d’installer un système serveur, cette partie ne leur
sera pas utile, puisque les serveurs n’ont généralement pas besoin de serveur graphique... par contre, la quatrième partie
Debian GNU/Linux en réseau est faite pour eux !
Les notions de serveur graphique, de bureau et de gestionnaire de fenêtre
• Le serveur graphique est le programme qui permet de passer en "mode graphique" en utilisant les fonctions avançées de
la carte graphique. Il gère notamment le clavier, la souris, les polices de caractères, l’écran (résolution, nombre de
couleurs, etc...) et la carte graphique. Il n’existe qu’un seul programme qui rempli cette tâche sous Linux : XFree86
(http://www.xfree86.org), également appelé serveur X.
• Le gestionnaire de fenêtre est le programme qui, comme son nom l’indique, gère les différentes fenêtres, et il ne fait
normalement que ça ! Il existe de très nombreux gestionnaires de fenêtre sous Linux : Sawfish
(http://sawmill.sourceforge.net/), Enlightenment, AfterStep, Window Maker, fvwm, etc...
• Le bureau est le programme qui s’occupe d’afficher un menu, une barre de lançement, une barre des tâches, des icônes
sur le bureau, etc... Il existe également de nombreux bureaux sous Linux, mais les deux plus connus sont Gnome
(http://www.gnome.org) et KDE (http://www.kde.org).
Avoir un serveur graphique et un gestionnaire de fenêtre est obligatoire pour travailler "en mode graphique" ; mais on n’est
pas obligé d’avoir un bureau ! Certains gestionnaires de fenêtre font aussi office de bureau minimaliste (par exemple
Windows Maker affiche un menu de lancement rapide). Normalement, l’utilisateur peut choisir n’importe quelle
combinaison de gestionnaire de fenêtres et de bureau, mais certains bureaux recommandent un gestionnaire de fenêtre
particulier (par exemple, Gnome recommande Sawfish pour tirer parti de certaines fonctions avançées et pour pouvoir
intégrer l’outil de configuration du bureau et l’outil de configuration du gestionnaire de fenêtre dans une seule interface).
Dans cette formation, nous documentons le couple Gnome / Sawfish (bureau et gestionnaire de fenêtre). Pour les débutants
en Linux qui suivent cette formation, nous leurs conseillons de suivre ces choix, et, quand ils auront plus d’expérience avec
Linux en général et Debian en particulier, ils pourront essayer d’autres bureaux et d’autres gestionnaires de fenêtres et
choisir celui qui leur convient le mieux !Figure 31. Screenshot de Gnome et SawfishChapitre 31. Passer en Sid ?
Le choix
Comme expliqué au chapitre La distribution Debian, il existe 3 versions de Debian, dont deux seulement sont utilisables
pour un usage courant :
• la version stable, appelée Woody ;
• la version unstable, appelée Sid.
Les caractéristiques de chaque version sont détaillées dans le tableau Les trois versions de Debian.
Ceux qui ont suivi cette formation depuis le début ont installé une Woody. Il va falloir maintenant choisir entre rester en
Woody ou passer en Sid.
La Sid a un fonctionnement très différent de la Woody. Les packages de la Woody ne sont mis-à-jour
qu’exceptionnellement :
• lors de la découverte d’une faille de sécurité : une package corrigé est alors mis à disposition sur le serveur
security.debian.org par l’équipe sécurité de Debian ;
• à l’occasion d’une révision de la version stable (par exemple passage de la version 3.0 release 1 à la version 3.0 release
2) pour corriger des problèmes de dépendances ou des problèmes très particuliers (mais pas pour corriger des bugs
logiciels qui n’affectent pas la sécurité).
Au contraire, la Sid est en évolution permanente ! Les développeurs Debian mettent à jour les packages de la Sid très
régulièrement à l’occasion de la sortie d’une nouvelle version d’un programme ou pour corriger des bugs. Ils mettent
également à jour les packages quand une faille de sécurité est découverte.
Le tableau ci-dessous est conçu pour vous aider à faire le bon choix :
Tableau 31-1. Choix Woody ou Sid
Woody Sid
Avantages Mises à jour des packages rares et très
encadrées (donc pas de nécessité d’avoir
une connexion Internet rapide).
Packages plus nombreux et très récents.
Serveur graphique récent qui supporte
les cartes graphiques récentes.
Inconvénients Packages vieux, ce qui est criant pour les
applications graphiques, mais pas très
gênant pour les serveurs et les
applications en console. Serveur
graphique vieux qui ne supporte pas les
cartes graphiques trop récentes.
Mises à jour incessantes (donc nécessité
d’avoir une connexion rapide à Internet
type ADSL ou câble). Packages parfois
défectueux (mais rapidement réparés).
Profil d’utilisation Les machines serveur qui n’ont pas
besoin d’applications graphiques ; les
ordinateurs personnels qui n’ont pas de
carte graphique trop récente et/ou pas de
connexion rapide à Internet ; les
utilisateurs qui débutent sous Linux.
Pour les utilisateurs qui ont déjà un peu
d’expérience de Linux et qui ont une
connexion rapide à Internet et/ou qui ont
une carte graphique récente.
120Chapitre 31. Passer en Sid ?
Attention
Vous pouvez facilement passer de Woody à Sid ; mais vous ne pourrez que difficilement revenir en
Woody ensuite.
Si vous choisissez de rester en Woody, passez directement au chapitre suivant Installer le serveur graphique et suivez la
Méthode Woody dans la suite de cette formation. Vous pourrez toujours passer en Sid ultérieurement en suivant la section
ci-dessous.
Si vous choisissez de passer en Sid, continuez ce chapitre jusqu’à la fin et suivez la Méthode Sid dans la suite de cette
formation.
La Sid
Passer de Woody à Sid
Changer la source des packages
Editez le fichier /etc/apt/sources.list. Je suppose dans ce paragraphe que votre système est configuré pour aller
chercher les packages sur un miroir Debian et non sur des CDs. Si vous utilisez le miroir Debian français, votre fichier doit
donc ressembler à ceci :
deb http://ftp.fr.debian.org/debian woody main contrib non-free
deb http://ftp.fr.debian.org/debian-non-US woody/non-US main contrib non-free
deb http://security.debian.org/ woody/updates main contrib non-free
Pour passer en Sid, modifiez le fichier pour qu’il ressemble à l’exemple ci-dessous (on garde la ligne contenant les mises à
jour de sécurité de la version stable de Debian) :
deb http://ftp.fr.debian.org/debian sid main contrib non-free
deb http://ftp.fr.debian.org/debian-non-US sid/non-US main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
Mettre à jour les packages
Et c’est parti pour la grande mise à jour : pratiquement tous les packages vont être upgradés ! Pour passer de Woody à Sid,
il est préférable d’utiliser la commande apt-get dist-upgrade au lieu de la commande apt-get upgrade qui est utilisée
habituellement :
# apt-get update
# apt-get dist-upgrade
Pendant la mise à jour, vous aurez beaucoup de questions sur la configuration des packages. Sauf si vous avez de bonnes
raisons de faire autrement, répondez en suivant le choix proposé par défaut en appuyant simplement sur Entrée.
J’attire cependant votre attention sur un certain nombre de questions de la même forme qui concernent la mise à jour de
fichiers de configuration, comme par exemple ci-dessous pour le fichier /etc/pam/other :
Configuration file ‘/etc/pam.d/other’
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer’s version
N or O : keep your currently-installed version
121Chapitre 31. Passer en Sid ?
D : show the differences between the versions
3 or T : show a thre way difference between current, older,
and new versions of the file
M : Do a 3 way merge between current, older,
and new versions of the file [Very Experimental]
Z : start a new shell to examine the situation
The default action is to keep your current version.
*** /etc/pam.d/other (Y/I/N/O/D/Z) [default=N] ?
Dans ce genre de question, vous avez donc le choix entre :
• N : garder votre fichier de configuration actuel, qui n’est pas forcémment le mieux adapté à la nouvelle version (c’est le
choix par défaut) ;
• Y : installer le fichier de configuration livré dans le nouveau package, ce qui écrasera les personnalisations que vous avez
pu faire sur le fichier de configuration actuel.
Je vous conseille de répondre Y quand il s’agit d’un fichier de configuration que vous n’avez jamais modifié (ce qui est le
cas dans l’exemple ci-dessus) et de répondre N quand il s’agit d’un fichier de configuration que vous avez personnalisé (par
exemple le fichier /etc/vim/vimrc).
Dans ce genre de grosses mises à jour, il arrive que la procédure apt-get dist-upgrade s’interrompe en cours de route sur
une erreur. Contentez-vous de la relançer à l’identique :
# apt-get dist-upgrade
Déplacer les fichiers de configuration de zsh
Comme indiqué par un message lors de la mise à jour des packages, l’emplacement des fichiers de configuration de la
nouvelle version de zsh n’est plus /etc/ mais /etc/zsh/ ; vous devez donc déplaçer vos fichiers de configuration :
# cd /etc/
# mv zshrc zshenv zlogin zlogout zsh/
Réécrire le MBR
J’ai remarqué qu’un passage en Sid corrompait le MBR... ce qui implique que le système ne pourra plus booter sur le
disque dur au prochain redémarrage ! Pour éviter cela, réécrivez le MBR en exécutant LILO sans modifier sa configuration
:
# lilo
[TODO : comprendre pourquoi !]
Du bon usage de la Sid
Fréquence conseillée des mises à jour
La mise à jour est terminée ? Bienvenue dans la Sid ! Vous venez de découvrir une autre grande force de Debian : passer à
une version supérieure sans même rebooter la machine !
Comme expliqué au début de ce chapitre, la Sid est en évolution permanente ! Il faut donc mettre à jour son système
régulièrement pour rester en phase avec les évolutions... mais sans passer sa vie à faire des upgrades, qui nécessitent
parfois des adaptations et introduisent parfois des packages défectueux.
122Chapitre 31. Passer en Sid ?
Je vous conseille donc de mettre à jour votre Sid :
• en temps normal, une fois par semaine, pour rester en phase avec les évolutions ;
• quand une faille de sécurité est corrigée dans la Sid, tel qu’annonçée dans la mailing-list debian-security-announce.
Regarder les bugs connus avant de mettre à jour
Pour éviter d’installer des packages défectueux sur votre Sid, vous pouvez regarder dans le système de gestion des bugs de
Debian (alias BTS, Bug Tracking System) si les packages que vous vous apprêtez à installer n’ont pas de bugs critiques
déjà reférencés. Plutôt que de faire cela à la main, installez un outil qui liste automatiquement les bugs critiques avant
d’installer les nouveaux packages, et, si des bugs critiques sont référencés, qui vous demande de confirmer ou non la mise
à jour. Cet outil est contenu dans le package apt-listbugs :
# apt-get install apt-listbugs
Mettre à jour
Pour mettre à jour une Sid, suivez la procédure classique :
# apt-get update
# apt-get upgrade
Lors de l’exécution de la commande apt-get upgrade, si vous avez installé l’outil apt-listbugs, il vous affichera la liste des
bugs critiques référencés pour les packages que vous vous apprêtez à mettre à jour, et, si des bugs critiques sont référencés,
il vous proposera alors de continuer ou d’abandonner la mise à jour.
123Chapitre 32. Installer le serveur graphique
Préliminaires
L’installation du serveur graphique n’est pas une étape facile, surtout si vous avez une carte graphique dernier cri ou
exotique. Pour que le serveur graphique puisse se lancer, il faut qu’il connaisse les caractéristiques de :
• votre clavier,
• votre souris,
• votre carte graphique (c’est le plus difficile),
• votre écran.
Cordialement
L'équipe Parisdepannage.fr
Hors ligne
2008 Parisdepannage |Plan du site|Forums |Blog|Lexique ![]()