Sommaire


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...)

Modes console et interfaces graphiques 

Commandes de bases 

Commandes "matériel"

 

 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