Dans cette partie, je considère que l'étape
d'installation est réalisée, et que la plupart des périphériques
(au moins pour le démarrage et l'affichage) sont configurés.
Je ne reviendrai sur certains points que lorsque ce sera nécessaire.
Je tiens surtout à présenter un aperçu des commandes
de bases de type UNIX, et à donner des trucs et conseils que
le débutant pourra tester rapidement, et ainsi vérifier la
puissance de Linux.
Fichiers
COMMANDES
(résumé de commandes utiles et utilisées...)
|
|
|
|
Avant de commencer, je
rappelle que Linux respecte la casse, c'est-à-dire que les majuscules/minuscules
ainsi que les espaces sont très importants pour lui : ls=/=Ls=/=lS=/=LS
et cd /etc/lib=/=cd/etc/lib. On veillera à toujours vérifier
ces détails en premier si quelque chose ne fonctionne pas, car
c'est l'erreur de base !
Modes console et interfaces graphiques
Linux incite, et oblige parfois, à
utiliser la ligne de commande beaucoup plus souvent que sous Windaube,
avec sa programmation batch sous DOS. De plus, celle-ci est beaucoup
plus puissante et souple que sous l'OS du Bill Gâte (Voir Rubrique
Pratique).
Ses fonctionnalités mutli-utilisateurs
ne sont pas à prouver, puisque l'on peut se connecter et travailler
à plusieurs sur la même bécane, avec les consoles
virtuelles : sur la première console, un tel va compiler les
sources d'un prog, sur la deuxième, un autre utilisateur peut
extraire des fichiers audio d'un disque, etc...
Même l'arrivée d'interfaces
graphiques au point (avec encore quelques bugs) comme KDE2 et Gnome,
ne met pas en péril les jours du mode console, du terminal, et
des "consoles vituelles". Mais quelle est la
différence entre ces trois termes me direz-vous ?
Les systèmes dérivés
d'UNIX sont en général administrés avec un clavier
et ce fameux "mode console", sans interface graphique digne de ce nom
: c'est la venue de Linux vers le grand public qui a fait qu'elles ont
été beaucoup développées ces dernières
années. Aujourd'hui, le serveur graphique X Window est au point,
on a un gestionnaire de connection, qui nous donne la possibilité
de démarrer en mode console ou sous l'un des nombreux bureaux
graphiques, tout en nous demandant de nous identifier et de taper notre
mot de passe. Mais avant, il fallait taper le "startx" à la main...
Lorsque l'on est sous KDE2, pour ne
citer que lui, et que l'on veut retourner en mode console, on peut :
1)
Faire la combinaison Alt+Ctrl+F1 pour se
retrouver dans l'une des 6 consoles virtuelles disponibles (de
Alt+F1 à
Alt+F6 pour
basculer de l'une à l'autre), taper son identité
et son mot de passe. ATTENTION, l'interface
graphique reste "chargée", et il faut éviter de faire
une mise à jour de packages de bibliothèques graphiques
ou de KDE2 dans ce mode de console virtuelle.
Pour revenir, il
faut faire : Alt+F7.
2) Carrément
quitter l'environnement graphique, en cliquant sur le bouton "K" (bouton
"démarrer" de Win98), et une fois dans le gestionnaire de connexion,
choisir le mode console.
Dans
ce mode, on pourra réaliser une mise à jour de gestionnaire
de fenêtres ou de bibliothèques graphiques.
Pour démarrer alors le bureau graphique, on tapera
: startx
Notez que l'on peutchoisir
le nombre de couleurs au démarrage du serveur graphique avec
: startx -- bpp 16
(pour le mode 16 bits) ou startx --bpp
32 (32 bits, millions de couleurs).
3)
Ouvir un terminal, en cliquant sur son icône dans la barre du
bureau. On est alors en "mode console", mais toujours sous X Window.
Si on veut éviter
de cliquer sur le bouton "K" puis faire "Quitter l'environnement", on
ouvre un terminal, et on saisit : /sbin/init
3
init 3
signifie "niveau d'exécution 3", qui correspond au mode console.
Le mode graphique étant le niveau d'exécution 5, pour
revenir au login de connexion graphique, on tapera :
/sbin/init 5
En cas de blocage sérieux, on peut
tuer le serveur graphique, et revenir ainsi au mode console avec la
combinaison :
Ctrl+Alt+Backspace
Backspace étant la touche d'effacement DELETE (flèche
au-dessus de la touche ENTREE). Attention, il m'est arrivé plusieurs
fois que même cette manip' n'arrive pas à me faire revenir
en mode console : il faut alors faire un reset "sauvage".
Commandes de base
Nous allons voir ici les premières
commandes à découvrir pour commencer à se familiariser
avec l'emploi des lignes de commandes. Comment lister les fichiers
d'un répertoire, savoir où l'on se trouve dans l'arborescence,
copier, renommer des fichiers...
On commence par ouvrir un terminal, ou bien on se connecte
en mode console, ça n'a pas d'importance.
Première chose, vérifier la version du
noyau linux. Pour cela, on tape à l'invite du prompt
# :
uname -sr
qui affiche une sortie du genre : Linux-2.2.17
pwd
nous renvoie le nom du répertoire dans lequel on se situe, ce
qui est très utile, surtout au début lorsqu'on est un
peu perdu dans l'arborescence...
cd..
(ou cd ..
selon les distribs')
permet de remonter d'un niveau dans l'arborescence, comme sous DOS.
et cd /etc/lib nous dirige
dans le répertoire /lib, qui
se situe lui-même dans /etc ( / étant
la racine, le plus haut niveau de l'arborescence linux ).
ls
nous liste les fichiers présents
dans le répertoire courant (équivalent à dir
sous DOS)
Si on veut le détail des fichiers, on utilisera :
ls -l
Si on a un /
à
la fin, c'est un répertoire
Si on a un
* à
la fin, c'est un programme exécutable
Si on a un
@ à
la fin, c'est un lien symbolique
Si on a un
. au début,
c'est un fichier caché Si on veut voir tous les
fichiers cachés, on tapera :
ls -a
Pour obtenir de la documentation sur
une commande ou un programme, il y a les pages man. On tape
dans un terminal :
man
nomduprog
ex. : man
cdrecord ou man
ls pour obtenir de l'aide sur le prog cdrecord
ou la commande ls
mkdir SAFE
crée un répertoire SAFE, dans le répertoire courant.
rmdir
SAFE le supprime.
rm
*.txt supprime du répertoire
courant tous les fichiers ayant l'extension .txt
mv
linux linux.old renomme linux en
linux.old
cp
test.wav /root/Desktop copie
le fichier test.wav du répertoire courant vers /root/Desktop
(sur le bureau) Attention
: pour copier un répertoire, il faut ajouter l'option -r,
et je conseille de lire l'aide de cette commande avec :
man cp
cp -r /root/Desktop/SITE /root/Dektop/net copiera
le dossier SITE
situé dans
/root/Desktop vers
le répertoire net,
situé lui aussi dans /root/Desktop,
et ce même si on exécute cette
commande depuis un autre répertoire, puisqu'on lui indique le
chemin entier !
Donc si on
est déjà dans /root/Desktop,
on tapera seulement: cp -r
SITE net
Pour rechercher un fichier, on
tape dans un terminal : kfind
et on a une interface graphique
"habituelle" pour lancer la recherche.
On peut aussi taper : locate
montruc, pour une recherche quelconque
(pas toujours de réponse), et type monprog dans
le cas d'une recherche d'un exécutable...
Installation de progs'
avec RPM et tar
Pour installer et gérer au mieux l'ensemble des packages
RPM, on peut utiliser la ligne de commande, très puissante.
Pour installer un paquetage exemple.rpm,
on tape :
rpm -ivh exemple.rpm
-i
pour installation,
-v et
-h pour afficher
la progression des opérations, ainsi que les noms des fichiers
installés.
Pour faire une mise à
jour, la commande est : rpm -Uvh exemple.rpm
rpm possède beaucoup
d'options, les plus intéressantes étant :
-test pour
tester sans vraiment réaliser l'installation ou la mise à
jour.
-force pour
forcer l'installation malgré les problèmes ou les fichiers
déjà existants.
-nodeps
pour forcer l'installation malgré les problèmes de dépendances.
Pour désinstaller un logiciel
: (pas d'option --force ou --nodeps pour
la désinstallation)
rpm -evh exemple.rpm
Pour mettre à jour un ensemble
de fichiers *.rpm, on fait :
rpm -Uvh --force
--nodeps *.rpm
rpm --rebuilddb
pour reconstruire la base de données des paquetages rpm.
Pour interroger cette base de données,
dans le but de savoir si un paquetage est installé, on tape :
rpm -qa pour
avoir la liste de tous les paquetages installés (il y en a beaucoup
!)
rpm -qa | grep kde
, pour avoir la liste des paquetages contenant "kde" dans
leur nom.
Parfois, il peut y avoir des
problèmes, c'est pourquoi je recommande aux débutants
l'emploi des gestionnaires de paquetages, qui permettent d'installer,
vérifier, mettre à jour les paquetages. Dans une console,
on lance : kpackage,
et on a une interface assez intuitive pour faire les manips'. L'autre
prog' utile est rpmdrake lancé avec : rpmdrake
On peut aussi récupérer les archives de progs'
sous la forme compressée *.tar.gz (format le plus utlisé)
Pour installer une application :
On décompresse l'archive dans le répertoire
courant avec : tar -xzvf nomprog.tar.gz (ou
bien tar -xIvf si
c'est un fichier *.tar.bzip2)
et en général, on a les scripts de compilation
et d'installation prêts à l'emploi :
./configure, puis make
et make install devraient faire le travail
sans problème. Dans tous les cas, lisez les fichiers texte README
ou INSTALL, présents dans le dossier contenant les fichiers décompactés
au préalable.
Variable d'environnement
: le PATH
Le PATH est appelé variable
d'environnement, car il renferme les chemins des répertoires
dans lesquels le système ira chercher quand on appelera une commande.
Par exemple, je viens de me lancer
dans la programmation C. Le corps du programme est enregistré
dans un fichier texte "pur" (codé en ASCII), puis celui-ci
est compilé pour être transcrit en langage compréhensible
par l'ordos (avec des 0 et des 1), et on récupère un programme
exécutable en sortie. Le problème, c'est qu'au début,
il me disait ne pas trouver mon_prog, et donc rien ne se passait.
En tapant un echo$PATH
dans une console, il me renvoie la liste : /sbin : /usr/sbin
: /bin : /usr/bin etc...qui correspondent aux répertoires dans
lesquels l'ordinateur cherche les programmes par défaut. Donc,
soit je m'amuse à copier à chaque fois (trop lourd !)
mon_prog dans l'un des répertoires de la liste du PATH,
soit je m'arrange pour que mon répertoire de travail apparaisse
dans le PATH : c'est bien sûr cette solution qu'il faut adopter.
On peut simplement saisir dans une
console la commande : PATH="/sbin:/bin:/usr/sbin....:/root/Ccoding"
pour ajouter le rép. /root/Ccoding au PATH,
mais cette solultion est temporaire, et au prochain démarrage,
tout sera à refaire : moyennement pratique dirons-nous...
Pour enregistrer définitivement
/root/Ccoding dans le PATH, il suffit d'éditer le fichier /root/.bashrc
(fichier caché à cause du . ), et d'ajouter notre
rép. de travail à la suite de la ligne : PATH=/sbin:/bin:/usr/sbin....:/root/Ccoding.
On enregistre avec ces modifs, et normalement, ce devrait être
bon...
Attention, on peut
faire cette manip' pour tous les utilisateurs ou pour chacun seulement.
Voir dans les fichiers /etc/.profile et
/user/.bashrc...
Rechercher une chaîne de caractères
Toujours en travaillant sur le C, j'avais besoin de
trouver un fichier *.h (bibliothèques
contenant des fonctions prêtes à l'emploi), nécessaire
aux fonctions mathématiques. En fait, je voulais savoir quels
fichiers sur les dizaines que contient le répertoire /usr/include,
renfermaient la chaîne de caractère "sqrt" (fonction
racine carrée en maths...). La tâche est énorme
si on doit tous les ouvrir et les lire ! Mais heureusement, vous avez
choisi Linux, et là il est plus qu'utile. On peut lancer une
commande qui va faire le boulot à notre place :
grep sqrt /usr/include/*.*
qui nous donne en sortie la liste des fichiers contenant le mot "sqrt".
Tout simplement génial !
Commandes "matériel"
Ce que j'entends par commandes "matériel",
ce sont des commandes qui vont soit vous renseigner, soit vous permettre
de régler, d'optimiser votre matériel. C'est très
utile, même quand on débute.
Commençons par le commencement : quand vous
bootez votre bécane, Linux affiche une masse d'infos liées
à la détection de vos périphériques divers,
mais vous n'avez pas le temps de tout lire...
Une fois loggé, ouvrez un terminal et tapez
:
dmesg
qui doit vous renvoyer exactement tout ce qui s'affiche lors du démarrage.
Si vous souhaitez faire défiler tout ça, tapez plutôt
:
dmesg | more
(le signe
| est obtenu avec
Alt Gr+ touche 6)
On peut alors constater la détection
du processeur, son type, sa fréquence, la quantité de mémoire
RAM, des infos sur les partititons, les lecteurs DVD, les périphériques
SCSI et autres graveurs, les ports de COM et USB...
Si vous souhaitez imprimer la sortie
de dmesg, ce n'est pas possible depuis le terminal, mais on peut
rediriger
la sortie, vers un fichier texte par exemple :
dmesg
> test.txt
Le fichier test.txt sera évidemment créé dans le
répertoire courant.
( dmesg > /root/Desktop/test.txt pour
le créer sur le bureau)
Après avoir lu et relu ces infos de démarrage
quelques fois, tout s'éclaircira dans votre esprit... du moins pour
cette question-là ! ;-))
Linux permet d'obtenir rapidement d'autres
infos sur les IRQ utilisés, les entrées/sorties...
En géneral, ces informations
sont regroupées dans le répertoire /proc
: cat
/proc/interrupts nous
liste les IRQ, tandis que cat
/proc/ioports nous renseigne sur
les entrées/sorties utilisées.
Si vous voulez réunir
ces informations, tapez : lsdev
(pour liste des devices ("appareil" en Anglais)).
On aura alors la liste du matériel
connecté à la machine, avec les infos de DMA, les IRQ, les
entrées/sorties...
cat
/proc/meminfo vous renseigne sur
les différents types de mémoires de votre machine
(swap, RAM,...)
Vous pouvez explorez ce répertoire
/proc pour
découvrir de quoi il en retourne dans sa totalité.
Autre commande utile, c'est : fdisk
-l qui permet de visualiser le partitionnenment de
son dique dur, avec partition racine /, /home, le swap, ainsi que les
partitions Windows.
hda1 pour la première partition
du premier dique dur IDE
hda2 pour la deuxième partition
du premier dique dur IDE
hdb1 pour la première partition
du second disque dur IDE
sda1 pour le premier périphérique
SCSI... même si ça semble hard au début,
on a tôt fait de comprendre, à force de réinstallations
et de progression dans le système.
La liste des devices (appareils) se trouve dans
le répertoire /dev (il y a
fd0 lecteur de disquette, hdc
lecteur CDROM en IDE...)
Enfin, en cas de problème avec votre carte son, et
si vous souhaiter identifier votre chipset son, taper dans un terminal
:
lspci -n et on regarde de plus près la ligne
contenant le numéro 1274 : PID:1274:es1371
signifie que le chip son est un Ensoniq
1371.
lspci -v
affiche la liste des périphériques connectés sur
les bus PCI. Pour lancer l'outil de configuration de la carte son : sndconfig
en mode console, et suivez les instructions...
free
nous donne la quantité de RAM libre/utilisée, ainsi que
le swap libre/utilisé : free -mt
par exemple
df
nous renvoie la liste des partitions du disque dur, avec le % utilisé/libre
de chaque partition, et du
(disque used) un état des lieux plus précis sur la répartition
de l'espace disque entre les répertoires...
lsdev renvoie
la liste des périphériques tels que les chipsets de la
carte mère, les bus PCI...
Activer les modes DMA
et 32 bits (avec la Mandrake
8.0, ces modes sont normalement activés par défaut)
Pour vraiment optimiser son matériel dès ses
débuts sous linux, il faut activer les modes DMA ( Direct Memory
Access) et 32 bits du disque dur et du lecteur CDROM, à condition
que ceux-ci supportent bien évidemment ces modes de fonctionnement.
On va utiliser le prog' hdparm.
Pour tester la vitesse actuelle du disque dur, on tape dans
un terminal :
hdparm -t /dev/hda
( /dev/hda pour le disque dur et /dev/hdc
pour le lecteur CDROM)
L'option
-t permet
de mesurer la vitesse (temps de lecture pour 64 Mo de données).
Notez ce temps obtenu. hdparm -i /dev/hda
affiche les infos à propos du mode DMA. Notez où se trouve
la petite étoile, ceci indique le mode dans lequel vous êtes
actuellement (*udma2 ou bien*pio3...).
Maintenant, on va demander au système
si le mode DMA est actif ou non, avec :
hdparm -d /dev/hda renvoie
un truc du genre using_dma=on/off
(1 ou 0), c'est assez explicite.
Si la réponse est
0 (off), tapez
alors : hdparm
-d1 /dev/hda pour activer le mode DMA (
hdparm -d0 /dev/hda
pour le désactiver) On peut alors mesurer de nouveau la vitesse
du lecteur avec : hdparm -t /dev/hda
qui indique normalement un gain de vitesse assez important, par rapport
à la première mesure (chez moi, je passe de 13 sec pour
lire 64 Mo à 4 ou 5 sec ! Notez que ce gain n'est pas identique
partout, et que le lecteur CDROM indique un gain beaucoup moins important).
En tapant :
hdparm -i /dev/hda,
on voit que le mode utilisé a changé (perso, je suis en
udma4...).
Pour le mode 32 bits, qui ne correspond
pas vraiment à un échange en 32 bits au niveau du
disque dur, on utilise l'option -c :
hdparm -c /dev/hda renvoie
une sortie du genre : I/Osupport=on/off (32 ou
16 bits)
Pour l'activer :
hdparm -c1 /dev/hda et
hdparm -c0 /dev/hda
pour le désactiver. On peut faire un petit script pour n'avoir
qu'à cliquer sur une icône pour activer ces modes, mais
le plus simple est de les faire charger au démarrage. Pour cela,
on ajoute la ligne suivante, à l'aide d'un éditeur, dans
le fichier /etc/rc.d/rc.sysinit
:
hdparm -d1 -c1 /dev/hda /dev/hdc
pour activer les modes DMA et 32 bits du
disque dur et du lecteur CDROM.
Le problème, c'est que certains matériels
ne supportent pas l'activation de ces modes (surtout le DMA) trop tôt
dans la procédure de démarrage, et que l'on peut avoir
des lignes décalées ou des blocages à ce niveau.
L'autre solution pour activer les modes DMA et 32 bits
dès le démarrage, non pas du système, mais de l'environnement
graphique KDE, c'est le dossier /root/.kde/Autostart.
Il suffit de faire un script bash comme ci-dessous, et de le
placer dans ce dossier pour activer les modes DMA et 32 bits des lecteurs.
Pour ce faire, on ouvre un éditeur de texte quelconque, et on
tape :
#!/bin/bash
#activation des modes DMA et 32 bits
pour les deux lecteurs
hdparm -d1c1 /dev/hda /dev/hdc
#c'est tout !
Il suffit alors d'enregistrer ce fichier
sous le nom DMA par exemple, et de le rendre exécutable avec
:
chmod +x DMA
On le copie alors
dans le dossier /root/.kde/Autostart et
le tour est joué !
Autres commandes et trucs utiles
Si l'utilisation de la ligne de commande, dans un terminal
ou en mode console, se révèle être un outil puissant
et souple, il faut reconnaître que se taper des longues lignes de
commandes à la main n'est pas toujours réjouissant. Heureusement,
Linux est très bien fait, et avec un peu d'habitude, on se se rend
compte que ça peut finalement aller beaucoup plus vite qu'on le
pense.
Il y a tout d'abord la fonctionnalité de complémentation
(je crois que c'est le nom...). Imaginons que j'ai un dossier Momo
dans mon répertoire /root, contenant deux fichiers nommés
video.mpg et son.wav. J'ouvre un terminal, et je tape
: cd /r puis j'appuie sur la touche TAB,
qui va faire chercher la suite à l'interpréteur de commande
(le shell). Donc /root va s'afficher,
j'appuie à nouveau sur TAB puis
un M et encore sur TAB,
qui va compléter pour avoir /root/Momo.
Je refais la manip en tapant à
la suite /v et l'interpréteur va
lui-même compléter en affichant : /root/Momo/video.mpg.
Attention, si j'ai
deux fichiers commençant par un v, il y a un bip qui m'annonce
que l'interpréteur ne peut choisir, et il faut alors compléter
manuellement la ligne jusqu'à ce que l'interpréteur puisse
trouver le fichier voulu.
Rassurez-vous, c'est carrément moins complexe que
ça en a l'air, et en l'expérimentant un peu, ça rentre
tout seul. C'est bien sûr beaucoup plus pratique quand on a de longs
noms de fichiers, ou de longues lignes de commandes à taper.
De même que sous DOS, on peut rappeller les commandes
utilisées récemment. Sauf que sous l'environnement Microsofteux,
on ne peut avoir qu'un très bref historique des commandes, puisque
seule la dernière saisie est retenue. Sous Linux, c'est vraiment
autre chose. Si, dans un terminal, on appuie sur les touches HAUT
et BAS des curseurs, on a les dernières
commandes saisies, et on s'aperçoit que l'on peut remonter jusqu'à
très loin, en tout cas, beaucoup plus loin que DOS ne le permet.
Utilisez cette fonctionnalité pour ne pas avoir à retaper
sans cesse les mêmes commandes. C'est vraiment génial !
Les alias
Autre astuce pratique, les alias. Ils permettent de ne pas
taper toute une ligne de commande, en utilisant une sorte de "commande-raccourci".
Par exemple, pour graver une suite de fichiers *.wav, la
commande est :
cdrecord -v -dao -pad
dev=3,0 speed=8 track*.cdda.wav
Dans un terminal, je tape : alias
cdr ='cdrecord -v -dao -pad dev=3,0 speed=8 track*.cdda.wav' et
j'appuie sur la touche ENTRER.
Maintenant, lorsque je voudrai utiliser
la commande de gravure, je taperai : cdr
au lieu de la longue ligne ci-dessus.
Attention, après redémarrage
de la bécane, ces alias ne sont plus valables, à moins
de les enregistrer dans le fichier /etc/.bashrc. C'est un fichier caché
que l'on édite, et auquel on ajoute les lignes de définitions
des alias. On enregistre, et on peut vérifier avec la commande
: alias ,
la liste de tous les raccourcis définis en tant qu'alias. Pour
en supprimer un, on tape : unaliasnomdealias.
Les processus
Lorsqu'on lance un programme, on dit qu'un processus est
en cours. Tous les processus sont parents de deux processus principaux,
idle
et init. Une même application peut avoir plusieurs processus
actifs. Pour visualiser tous les processus, on tape dans un terminal :
ps aux qui
va donc lister tous les processus en cours d'éxecution. On note
la présence d'une colonne PID (Processus ID), qui identifie le
processus par un numéro. On peut le visualiser sous la forme
d'une arborescence avec : pstree
-cp et ainsi comprendre les différents
liens de "parenté" entre eux.
On peut aussi lancer KPM
( KDE Processsus Manager) pour avoir une interface graphique nous donnant
des infos sur les processus en cours, avec : kpm
dans une console, ou bien Bouton K/Application/Surveillance/Gestion
des processus. Là,
les processus sont listés, avec leur PID, et indication de leur
taux d'occupation CPU, mémoire, etc... Pour en stopper un, on
fait clic-droit dessus, puis Terminer.
Si on a un prog' bloqué, on
peut :
- Lancer KPM, cliquer dans
la liste sur le processus qui nous intéresse, puis faire Ctrl+T
(ou bien Signal puis Terminer dans le menu en haut), pour lui envoyer
un signal TERM (comme TERMINER). Dans certains
cas, ce n'est pas suffisant, il faut TUER le processus, avec kill.
- Lister les processus en cours,
et identifier le numéro de celui qui nous intéresse :
les noms sont suffisamment explicites. On peut alors tuer ce processus
avec la commannde kill
(tuer en English) : (man kill
pour avoir des infos)
kill 1235
provoque l'arrêt du processus identifié
par le PID 1235 (équivalent au signal TERM)
kill -9 1235
provoque un arrêt brutal du processus
identifié par le PID 1235, à n'utiliser qu'en cas de blocage
sévère... killall nomprog
tue tous les processus d'une application
nomprog qui en compte plusieurs.
- Cliquer sur l'icône XKill
du bureau (avec un croix rouge), puis cliquer sur la fenêtre de
l'application récalcitrante, si celle-ci s'éxecute en
mode graphique bien sûr. Il en résulte la disparition pure
et simple dudit programme, et avec ps aux,
on peut vérifier que le processus n'est plus en cours.
Enfin, pour savoir quel processus utilise le CDROM
par exemple : /sbin/fuser -v /mnt/cdrom
Experience
On va maintenant observer la charge de travail de la bécane
dans une situation multitâche.
On aura besoin de la commande :
xosview
qui lance une sorte de moniteur système,
nous renseignant en temps réel sur la charge du CPU, la charge
moyenne du système, la mémoire libre/utilisée,
et le swap libre/utilisé, l'utilisation du disque dur (en octects/sec.),
et les interruptions. On peut aussi visualiser l'utilisation de la batterie
avec : xosview +battery
Il y a quelques autres options, consultables
avec : man xosview. On lance dans un terminal la commande
xosview, ainsi
que le test en lecture/écriture du disque dur, avec :
hdparm -t /dev/hda
et pendant l'éxecution de la commande, on observe dans la petite
fenêtre de xosview, ce qui se passe. On a des mouvements
des graphiques qui indiquent qu'il y a bien travail de la machine (le
contraire serait inquiétant !).
Sur ma bécane, j'ai 256Mo
de RAM et un swap de 128 Mo. La plupart du temps, le swap est très
peu utilisé, car il y a déjà pas mal de RAM qui
peut prendre en charge une partie du boulot. La question est de savoir
à partir de quel niveau de travail le swap est-il sollicité.
Pour répondre à
cela, il suffit de lancer plusieurs programmes en même temps et
d'observer avec xosview quand le swap va commencer à être
utilisé. Perso, il faut que je lance deux animations 3D à
calculer avec Blender, le gestionnaire de packages kpackage, plusieurs
parties de LBreakout (casse-brique), pour que xosview
m'indique une sollicitation du swap, ce qui montre bien que Linux est
vraiment mutlitâche et très puissant, puisque Win n'arrive
pas à avoir autant de programmes ouverts simultanément
sans planter. Bien sûr avec 64 Mo de RAM, le swap sera utilisé
bien avant d'avoir lancé autant de progs', mais ça donne
déjà une bonne idée de la situation.
Autre commande pas mal : top
qui donne en temps réel, avec rafraîchissement, l'activité
du processeur, la liste des tâches les plus intenses, et en haut
en gras, le nombre de processus en cours, avec leur PID (identifiant),
ceux qui sont actifs et ceux qui "dorment"... Il est paramétrable
: possibilité de régler le délai de rafraîchissement,
etc... voir man top.
Vérification du disque
Tout comme sous Win avec Scandisk, on a sous Linux,
des outils de vérification et de réparation des disques comme
fsck ou badblocks.
Lors d'un reboot sauvage ou autre coupure malencontreuse,
il faut que le système de fichiers du disque soit vérifié,
et ceci se passe comme sous Win, lors du démarrage qui suit l'accident.
Une fois, il m'est arrivé que ce prog' fsck, n'arrive
pas au terme de sa mission, me laissant dans un embarras certain. La
machine me conseille alors d'éxecuter fsck en mode console,
ce que j'ai fait avec la commande :
fsck -A -t ext2 /dev/hda2
-t
spécifie le système de fichiers
(ici ext2) et -A
permet de consulter /etc/fstab (fichier
d'informations de partititon) pour voir tous les types de systèmes
de fichiers à vérifier, et /dev/hda2,
la partition à vérifier.
(! Attention, lors du démarrage
de Linux, on est en clavier américain, donc gaffe à l'emplacement
des lettres ! )
Concernant
le programme badblocks, il sert comme son
nom l'indique à vérifier la présence de blocs endommagés
sur le disque. Il est fortement recommandé de lire les pages
man avec man badblocks, car il existe plusieurs
options, dont certaines peuvent endommager le disque, notamment l'option
-w qui réalise un test de lecture/écriture en effaçant
les données présentes.
L'option -n
réalise un test de lecture/écriture, mais la partition
ne doit pas être mountée...
Généralement, on utilisera
la commande badblocks
-vs /dev/hda1
qui permet de vérifier et d'afficher le résultat (avec
la progression des blocs vérifiés) sur la première
partition du premier disque. On peut également régler
le nombre de "passes" à effectuer avant d'arrêter
la manip, avec l'option -p.
Les messages d'erreur
Sous Linux, il est aisé de rechercher l'origine
d'un blocage ou d'un problème quelconque. Ce qui ne signifie
pas qu'il est facile de réparer, mais cela permet de retrouver
les messages d'erreur, et avec le temps et l'expérience, de savoir
les interpréter pour mieux les gérer. Ce sont donc les
fichiers .log qui vont nous intéresser. Ces fichiers journaux
listent les messages envoyés au système.
Le fichier qui nous en dira beaucoup est le fichier
/var/log/messages, appelé aussi
syslog qui contient tous les messages envoyés au système
depuis le démarrage de la machine. On peut l'éditer simplement,
et ainsi le consulter à tout moment. Les problèmes y sont
répertoriés dans l'ordre chronologique.
On peut faire en sorte que ces messages arrivent dans
un terminal, pour les traiter dès leur apparition. Ainsi, on
tapera dans un terminal que l'on laissera ouvert, la commande :
tail -f /var/log/messages
tail (queue=fin)
indique de n'envoyer dans le terminal que la fin du fichier /var/log/messages,
pour éviter d'encombrer inutilement la console avec les messages
vieux de deux jours.
Maintenant, dès qu'un message est ajouté
à /var/log/messages, il apparaît en même temps dans
la console.
Sommaire
|