Aller plus loin avec Linux
Découvrir GNU/Linux - Aller plus loin
Tout sur Linux ;-)
Aller un peu plus loin
Maintenant que vous êtes plus familier avec le manchot, poussons un peu plus loin l'exploration.
Connexion en mode texte, ou "de l'utilité de connaître quelques notions de shell"
Lorsqu'on parle de shell, il n'est pas question de partir ramasser des coquillages (shell en anglais) mais de vous parler de la ligne de commande de Linux (équivalent à l'environnement du mode DOS dans les systèmes Microsoft). Votre distribution vous propose un certain nombre d'outils graphiques ô combien plus conviviaux que la ligne de commande. Toutefois dans certaines situations, il vous sera bien utile de savoir utiliser quelques commandes de base pour manipuler les fichiers, obtenir des informations sur votre système, arrêter un programme...
Pour plus d'informations, lisez la fiche "la ligne de commandes" ou encore l'excellent ;) article sur le shell de Léa ; voici en avant-première quelques commandes indispensables à connaître :
Commande Linux | équivalent MS-DOS | à quoi ça sert |
cd | cd | change le répertoire courant. |
ls | dir | affiche le contenu d'un répertoire |
cp | copy xcopy |
copie un ou plusieurs fichiers usage : cp source destination pour copier un répertoire : cp -R rep_source destination |
rm | del | efface un ou plusieurs fichiers |
rm -rf | deltree | efface un répertoire et son contenu |
mkdir | md | crée un répertoire |
rmdir | rm | efface un répertoire s'il est vide |
mv | ren move |
déplace ou renomme un fichier usage : mv source destination |
man | help | affiche l'aide concernant une commande particulière |
cat | type | affiche un fichier à l'écran |
Explorer le manchot
Comme on vous l'a déjà conseillé, il est souvent fort utile de connaître quelques commandes en ligne. De la même façon, vous gagnerez du temps si vous avez un minimum de connaissance sur l'arborescence d'un système Linux. En clair, ne pas avoir à chercher 2 heures un fichier :-). Cette arborescence respecte une certaine logique et les répertoires de la racine ont chacun leur rôle.
L'arborescence
Sous Linux, ou tout autre Unix d'ailleurs, il n'y a pas de lettre représentant le disque dur comme le C: de Windows/DOS.
De plus, le signe '\' est remplacé par '/' pour séparer les répertoires.
Il y a une seule arborescence, qui débute à la "racine", notée '/', et tous les disques durs/partitions apparaissent dans cette arborescence avec leur contenu de façon transparente comme un répertoire.
Les périphériques
De plus, tout périphérique est identifié à un fichier qui se trouve dans le répertoire /dev (comme device, périphérique en anglais). Par exemple, le disque maître du deuxième port IDE est identifié par /dev/hdc, sa deuxième partition par /dev/hdc2.
Le lecteur de disquette est représenté par /dev/fd0, etc.
Les partitions / les points de montage
Les partitions que l'on va créer sur les disques durs seront attachées à des répertoires de l'arborescence, ou "points de montage". C'est ce qu'on appelle "monter une partition". Le point de montage est un simple répertoire, vide avant le montage, et qui après le montage, représente le contenu de la partition montée.
Par exemple, supposons que nous ayons créé une partition /dev/hda2
(premier disque IDE, 2ème partition) pour contenir le système. On montera cette partition (automatiquement, heureusement !) dans le répertoire racine /
. Si la partition /dev/hda3
est destinée à contenir les données utilisateur, on la montera dans le point de montage (=répertoire) /home
. On verra le contenu de cette partition dans le répertoire /home
comme si c'était n'importe quel autre répertoire, alors que physiquement les données sont sur une autre partition.
De même, pour accéder à la disquette, on montera le périphérique /dev/fd0
dans le point de montage /mnt/floppy
ou /floppy
(selon la distribution) et pour accéder au CD-ROM, on montera le périphérique /dev/cdrom
dans le point de montage /mnt/cdrom
ou /cdrom
.
Vous trouverez plus d'information sur ce point dans l'article Partitionnement.
Les répertoires standards
Linux possède des répertoires "spéciaux" à la racine (un peu comme le C:\windows), qui sont classiques dans les systèmes Unix et peuvent ou non représenter un point de montage pour une partition.
On a déjà vu par exemple le répertoire spécial /dev où tous les périphériques sont répertoriés en tant que fichiers, ou encore le répertoire /home qui contient les données personnelles des utilisateurs.
Chacun des répertoires ci-dessous peut être soit un simple répertoire dans la partition racine, soit le point de montage d'une autre partition, mais dans tous les cas le résultat est le même : des fichiers dans des répertoires.
Les répertoires standards de Linux sont :
/ |
La racine du système = la base. |
/bin |
Programmes nécessaires au boot, et disponibles ensuite à tous les utilisateurs. On y trouve la plupart des commandes unix de base. |
/boot |
Fichiers utilisés pour amorcer le noyau. |
/dev |
Tous les périphériques. Le repertoire est en général géré dynamiquement par le système. |
/etc |
Fichiers de configuration du système. |
/home |
Tous les répertoires personnels des utilisateurs et de certains services comme le FTP, le serveur Web, Samba, etc. |
/lib |
Bibliothèques et modules (comme les DLL de Windows) nécessaires au boot. |
/media |
Points de montages des médias amovibles qui se montent automatiquement (typiquement les périphériques USB). |
/mnt |
Points de montages des périphériques (ou /mnt/cdrom, /mnt/floppy, /mnt/zip, etc.). |
/opt |
Dans ce répertoire (optionnel), on peut ajouter des logiciels afin qu'ils ne s'installent pas dans les répertoires système. Peu utilisé, sauf par certaines applications commerciales. |
/proc et /sys |
Fichiers d'information sur la configuration système (les fichiers sont générés dynamiquement, pas de modifications possibles). Les fichiers dans ce répertoire n'existent pas sur le disque, c'est Linux qui les crée en temps réel lorsque vous en avez besoin. |
/root |
Répertoire home de l'administrateur |
/sbin |
Programmes nécessaires au boot, disponibles au root uniquement |
/tmp |
Fichiers temporaires |
/usr |
Programmes, données, accessibles par les utilisateurs et non nécessaires lors du boot. |
/var |
Fichiers de log, spool d'impression, de mail, bases de données etc. En général, fichiers qui changent tout le temps ( variable, d'ou le nom /var ). |
Ces répertoires sont généralement présents sur toutes les distributions GNU/Linux. Il peut y en avoir éventuellement quelques uns en plus suivant les distributions.
LSB, FHS
Vous entendrez peut-être parler de FHS ou de LSB. Kesako ? LSB (Linux Standard Base) se base sur FHS (Filesystem Hierarchy Standard) afin de définir la manière dont les fichiers doivent être organisés sur le disque dur, la présence et les noms de certains fichiers et répertoires, etc. afin que les différentes distributions de Linux soient compatibles entre-elles, pour faciliter notamment l'installation d'un logiciel sur toute distribution. Les distributions récentes respectent assez bien la LSB, mais des efforts restent à faire afin de pouvoir installer un paquet .rpm de Mandriva sur une Fedora (et vice versa).
Équipons le manchot : installation de logiciels
Pour installer un logiciel sous GNU/Linux, vous aurez plusieurs méthodes à disposition que nous allons classer de la plus conviviale à la plus ardue :
- l'installation de paquets livrés avec votre distribution (fichiers *.rpm, *.deb, *.tgz) : savez-vous que la plupart des logiciels libres dont vous aurez besoin sont sur les CD/DVD ou les dépôts (miroirs ou repositories) de votre distribution ? Pour les installer, utilisez donc les interfaces graphiques (gdebi, kpackage, rpmdrake ou drakrpm, aptitude, synaptic... selon les distributions).
- l'installation d'autres packages (téléchargés, etc.). Pour la simplicité, préférez les packages dits "binaires", c'est à dire déjà compilés.
- l'utilisation des interfaces graphiques : gdebi, kpackage, rpmdrake, synaptic... Pas de surprise, la souris suffira et en un clic votre programme sera installé
- la ligne de commande : une fois bien assimilé, ce mode d'installation peut s'avérer encore plus rapide. Sous Debian et Ubuntu, utilisez
apt-get
; sous Mandriva,urpmi
, sous Red Hat et Fedora,yum
. - la compilation des sources : le fin du fin ! La méthode préférée des puristes et qui vous permettra d'optimiser votre programme à votre configuration matérielle.
Pour tout savoir sur l'installation de logiciels, voir la documentation Installer un logiciel sous GNU/Linux.
Le manchot me parle : où retrouver les informations disponibles ?
• Souvent vous aurez ce genre de message sur votre console :You have new mail in /var/spool/mail/root
En effet, le système communique avec ses utilisateurs au moyen de courriers électroniques envoyés sur une boîte aux lettres locale. Il fournit des infos concernant l'état des services réseau, des infos sur la sécurité. (Il est d'ailleurs possible de choisir le type d'infos ainsi envoyées). Pour les consulter, on utilise la commande mail
comme ci-dessous :
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/root": 1 message 1 new
>N 1 root@pingu.linuxerie Wed Sep 25 04:02 80/2205 "LogWatch for pingu"
Par exemple, ici vous avez un nouveau mail (signalé par N
). Pour le lire, c'est simple il suffit de taper son numéro après le prompt ?
. Pour les effacer, on tapera d
suivi du numéro de mail. Pour quitter, on tape q
(plus d'infos avec man mail
).
Si consulter vos mails de cette façon vous rebute (et j'avoue qu'il y a de quoi ;-), vous pouvez configurer votre client de mails graphique (Kmail, Sylpheed, Mozilla Thunderbird, Evolution, Balsa...) afin qu'il récupère les mails de la boîte locale, et vous les présente ainsi dans son interface.
• Vous avez besoin d'informations sur votre système et votre manchot vous en a délivrées au démarrage... Ca va un peu vite non ? Qu'à cela ne tienne, vous pouvez retrouver ces infos en tapant la commande dmesg
. Il y a plus d'informations que peut n'en contenir l'écran ? essayez la commande "dmesg | less
"...
• Des informations très intéressantes se trouvent dans le fichier /var/log/messages
(messages du noyau, lancement de drivers, etc.). Consultez-le aussi en cas de problème.
• Le répertoire /var/log
contient aussi d'autres fichiers du même genre, comme par exemple les messages du serveur X (couche graphique), que vous pouvez consulter si le mode graphique refuse de démarrer.
• Pour des informations plus détaillées (matériel, système, mémoire...) jetez un oeil sur l'excellent article de Jonesy, explorer sa configuration.
Connectez-vous !
Rendez-vous dans les rubriques de Léa concernant le Matériel et le Réseau.
GNU/Linux cohabite avec Windows et Mac OS
Comme vu dans le paragraphe consacré au gestionnaire de démarrage, il vous est possible de conserver des systèmes d'exploitation différents sur votre machine. Vous pouvez choisir celui que vous allez démarrer. Il vous est également possible d'accéder à partir de Microsoft Windows à vos données Linux. Il existe pour cela un utilitaire très simple, à installer sur Windows : explore2fs.
Le contraire est également possible. Il vous est possible d'accéder à vos données Microsoft Windows en étant sous Linux. En général, c'est fait automatiquement à l'installation avec une distribution grand public telle qu'Ubuntu ou Mandriva.
Sinon, pour mettre à disposition ces données, on utilise la commande mount déjà rencontrée :
root@pingu# mount -t vfat /dev/hda3 /mnt/windows
où /dev/hda3 est la partition contenant Windows.
Vous pouvez également ajouter ces informations dans le fichier /etc/fstab de la manière suivante :
root@pingu#cat /etc/fstab
...
/dev/hdc3 /mnt/windows vfat defaults 1 2
NTFS a lontemps posé problème, car le pilote NTFS de Linux ne savait accéder aux partitions NTFS uniquement en lecture seule. Il fallait alors prévoir une partition en FAT32 afin de pouvoir "envoyer" des informations dessus depuis GNU/Linux qui pouvaient être relues sous Windows... Depuis 2007, le projet ntfs-3g permet de lire et écrire sur les partitions NTFS sans problème. Il est installé par défaut dans les distributions majeures.
Afin d'accéder aux données Mac OS depuis Linux, le cas ressemble au cas NTFS décrit ci-dessus. Soit votre disque est formaté au format HFS. Dans ce cas, Linux saura y accéder sans problème (remplacez le vfat ci-dessus par hfs). Mais les MacOS récents formatent les partitions dans le nouveau format HFS+ par défaut. Si vous êtes dans ce cas, le pilote HFS+ pour Linux étant encore au stade du développement, vous devrez prévoir une partition d'échange au format HFS afin de pouvoir "envoyer" des informations dessus depuis Linux qui pourront être relues sous Mac OS, et utiliser les hfsplus-utils qui permettent de lire les partitions HFS+.
Autre possibilité : vous disposez de logiciels développés pour Windows et vous souhaitez pouvoir continuer à les utiliser. C'est possible grâce à des logiciels tels que Wine. Il s'agit d'un programme qui émule Windows (c'est à dire qu'il simule son fonctionnement). Tous les programmes ne fonctionnent pas, mais il peut être intéressant de tester celui qui vous intéresse (pour information, Microsoft Word, Excel et PowerPoint fonctionnent, Lotus Notes, etc.). S'ils ne fonctionnent pas, essayez avec la toute dernière version de Wine...
Il est également possible d'émuler des systèmes entiers tels que Windows ou Mac OS X en utilisant des émulateurs hébergés par votre Linux. On citera notamment Qemu, VirtualBox et Xen. Voir les documentations concernant les émulateurs et la documentation Essayer GNU/Linux sans l'installer. On citera également un émulateur DOS, Dosemu. Si vous utilisez un ordinateur Apple, vous pouvez lancer Mac OS sous Linux, et cela fonctionne très bien. Utilisez pour cela MacOnLinux.
Remarque : Si vous souhaitez passer en douceur au monde du libre, n'oubliez pas qu'il existe des logiciels libres développés pour Windows et/ou Mac OS. Une liste non exhaustive des logiciels les plus connus :
- Outils bureautique : OpenOffice.org
- Navigateur Internet : Mozilla Firefox
- Messagerie : Mozilla Thunderbird
- graphisme : GIMP
- sécurité : GnuPG
- serveur Web : Apache
- etc.
Vous pouvez retrouver encore plus de logiciels libres pour Windows ou Mac OS sur l'excellent site Framasoft et sur la compilation GNU Win II, que nous vous conseillons fortement de télécharger et de partager si vous avez une connexion à haut débit.
Administrez votre machine
L'utilisation du shell
On l'a déjà dit, il existe de nombreux outils de configuration en mode graphique pour le système. Toutefois connaître les bases de la ligne de comande pourra vous dépanner en cas de dysfonctionnement de l'interface graphique, ou tout simplement vous permettra de répondre à cette grande question "dis Nux, comment tu marches ?":). Ci-dessous quelques liens indispensables :
- les entrailles du shell
- Catégorie:Trucs Shell pour mieux comprendre ou faciliter le travail
- les bases de la programmation du shell
Les programmes exécutables
Avant d'aborder les programmes exécutables, une précision sur les chemins d'un fichier. Il y a en effet 2 façons de nommer un fichier et son chemin. Pour illustrer cet exemple, je pars du principe que je me situe dans le répertoire /home/anne
et je veux décrire le fichier /home/anne/essai/doc :
- chemin absolu : je décris tout le chemin pour arriver jusqu'au fichier, en partant de la racine "/". Donc dans mon exemple, j'ai
/home/anne/essai/doc
- chemin relatif : je décris le chemin pour arriver jusqu'au fichier, en partant de ma position actuelle. Donc dans mon exemple, j'ai
essai/doc
Remarque : dans un chemin, le "." désigne le répertoire courant et ".." le répertoire juste au-dessus (appelé aussi répertoire père).
Lorsque vous souhaitez exécuter un programme, en plus des droits vous devrez porter attention à une variable d'environnement importante : PATH. En effet, lorsque vous voulez lister le contenu d'un répertoire, vous tapez ls
et non pas /usr/bin/ls
. Car le shell consulte le contenu de la variable PATH. PATH est la variable qui contient tous les chemins dans lesquels le shell va aller chercher votre commande.
Exemple :
anne@pingu$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin
Donc si lorsque vous tapez une commande, le shell vous renvoie le message "bash: truc: command not found
", vous avez 2 cas de figure : soit la commande n'existe pas, soit le chemin de la commande ne figure pas dans PATH. Si vous voulez absolument exécuter truc
sans modifier PATH, il suffit de préciser le chemin de la commande.
Astuces :
- pour savoir où se situe une commande, utilisez
whereis
Exemple :anne@pingu$ whereis ls
ls: /bin/ls - la plupart des commandes de base se trouvent dans
/bin
et/usr/bin
pour les commandes utilisateurs et/sbin
et/usr/sbin
pour les commandes administrateur.
Commandes de base de l'administration système
Ci-dessous une série de commandes de base. Pour plus de précisions sur la syntaxe, consulter la documentation de la commande : taper dans une console :
$ man nom_de_la_commande
Rôle | Commande | Exemple |
Pour obtenir la date système, ou privilège réservé à root, modifier cette date | date | root@pingu# date mar déc 3 13:54:33 CET 2002 |
Pour connaître la place disque utilisée par un fichier, un répertoire | du | root@pingu# du -ks /home/anne 388420 /home/anne |
Pour connaître la place disponible dans un système de fichiers | df |
root@pingu# df Système de fichiers 1K-blocs Utilisé Disponible U.% Monté sur /dev/hdc3 4031560 107780 3718980 3% / /dev/hdc1 198313 9181 178878 5% /boot /dev/hda7 3968852 3219768 547472 86% /home |
Monter / démonter un système de fichiers (mettre à disposition les données) - opération à effectuer pour accéder notamment au contenu d'un CD-ROM ou une disquette | mount umount |
root@pingu# mount /dev/cdrom /mnt/cdrom |
Pour formater une partition, une disquette, c'est-à-dire créer un système de fichiers (ici ext2 ou ext3) | mkfs.ext2 mkfs.ext3 |
root@pingu# mkfs.ext2 /dev/floopy root@pingu# mkfs.ext3 /dev/hda3 |
Créer un utilisateur, un groupe | useradd groupadd |
root@pingu# useradd anne root@pingu# groupadd utilisateur |
Pour gérer en ligne de commande le démarrage ou l'arrêt d'un service |
service chkconfig |
root@pingu# service samba start root@pingu# /etc/init.d/samba start root@pingu# service samba stop root@pingu# chkconfig --level 2345 samba on |
Pour réaliser des sauvegardes compressées ou non de mes données. | tar | root@pingu# tar cvzf /home/anne anne.tar.gz root@pingu# tar xvzf anne.tar.gz |
Pour lister les processus tournant sur ma machine | ps |
root@pingu# ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND ... root 524 0.0 0.2 1336 356 ? S Dec02 0:00 klogd -x rpc 533 0.0 0.3 1484 432 ? S Dec02 0:00 portmap rpcuser 552 0.0 0.4 1528 544 ? S Dec02 0:00 rpc.statd ... |
Ceci précisé, et même s'il est extrêmement utile de connaître les commandes en ligne, vous avez des outils graphiques à votre disposition pour administrer votre machine. L'un des plus répandus et des plus complets est sans doute webmin. Il vous permet d'administrer votre machine soit en local, soit à distance au moyen d'un navigateur.
Automatiser le montage des systèmes de fichiers (périphériques fixes ou amovibles)
Dans les commandes déjà évoquées à plusieurs reprises figure la commande mount. On a vu qu'elle permettait de monter un système de fichiers et donc de mettre à disposition les données du système de fichiers.
Le fichier /etc/fstab vous permet d'automatiser dès le démarrage de la machine le montage des systèmes de fichier, avec la possibilité d'utiliser toutes les options de la commande (montage en lecture seule, type de système de fichiers, ...).
Le fichier est également utilisable pour les supports dits amovibles comme les CD-ROM et les disquettes. On a recours pour cela à supermount ou d'autres outils plus modernes (hal).
Le noyau Linux
Une fois que vous vous êtes familiarisé avec l'environnement Linux, vous êtes fin prêt pour découvrir toutes les arcanes du noyau Linux. Vous aurez besoin de recompiler le noyau pour changer de version (correction de trous de sécurité, prise en charge de nouveaux drivers), parce que vous ajoutez un nouveau matériel non pris en charge par votre noyau ou tout simplement pour pouvoir dire "je l'ai fait !" :)). Il paraît même que cela provoque du plaisir à certains geeks ;)
Pour tout savoir de la compilation étape par étape, consultez l'article sur le noyau (kernel) de Linux.
Matériel
Cette partie n'est qu'un survol de quelques docs que l'on trouve sur Léa sur le sujet. Vous en voulez plus ? Rendez-vous dans la rubrique Matériel.
Vidéo
- la 3D =>voir l'article Cartes video Nvidia, Cartes video ATI, autre article sur les cartes ATI, etc.
- plusieurs moniteurs/cartes graphiques ? lisez l'article sur le multihead.
- télé (logiciels, etc.), pilote, modules.conf
Stockage
- installer un zip //, scsi ou usb (modprobe, etc.) + cf la Catégorie:Trucs & astuces
- adaptateur flash/usb, pour les clefs USB, ainsi que les adaptateurs USB compact flash, etc.
- aujourd'hui tous les périphériques de stockage USB fonctionnent sans problème avec Linux et de manière automatique
Impression
Suivez tout d'abord la procédure d'installation de votre distribution. En cas de problème, lisez les articles suivants :
- installer une imprimante
- Imprimantes HP (les mieux reconnues sous Linux, car HP développe des drivers libres permettant à notre OS préféré d'en utiliser toutes les fonctionnalités)
KDE dispose dans le panneau de configuration d'outils graphiques pour gérer les imprimantes. Utilisez-les pour plus de simplicité ! Ils fonctionnent avec les 2 systèmes d'impression rencontrés, à savoir CUPS (Mandriva...) et lpr (autres distributions).
Multimédia
- Les cartes radio
- Les scanners Scanners sur interface USB, parallèle, & SCSI.
- Les tablettes graphiques Wacom, Acecad Flair...
- Les webcams.
- Les joysticks.
Laptops et PDA
- EEE PC
- Nokia N900
- palm, zaurus (voir l'article flash usb)... laptops : voir le site Tuxmobil (anciennement Mobilix).
Prêt ? Partez !!!
Voilà globalement terminée notre présentation de GNU/Linux. Vous êtes maintenant prêts à exploiter toutes les possibilités du manchot. Que peut-on attendre de Linux en tant qu'environement de travail ? Enormément !!!
Découvrir GNU/Linux, la suite : vous sont présentées les sources d'aide essentielles à connaitre pour progresser sur votre OS préféré.
@ Retour à la rubrique Découvrir GNU/Linux
Copyright
© 01/12/2002 Jean-Christophe Cardot et Anne Nicolas
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique, Contexte non commercial 2.0 : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ |