CHAPITRE 10▲
Pour aller plus loin
Ce chapitre est un complément plus technique sur GNU/Linux. Sa compréhension et sa lecture ne sont absolument pas nécessaires pour une utilisation quotidienne et sereine de votre système d'exploitation . Cependant, si le cour vous en dit et si la curiosité vous démange, je suis persuadé que vous trouverez, dans cette partie, une mine d'informations intéressantes. Vous voulez devenir un expert de GNU/Linux ? Ce chapitre est la première marche à gravir !
10.1 À quoi sert réellement un système d'exploita- tion ?▲
Il exploite ! Oui, mais « qui » allez-vous me dire ? En fait, il s'agit plutôt de « quoi » : l'OS? exploite votre matériel.
Essayons d'imaginer le contraire : si le système d'exploitation? n'existait pas, tous les logiciels devraient être conçus pour tous les types de matériel. c'est-à-dire que chaque programmeur devrait prendre en compte l'ensemble du matériel - carte graphique, type de mémoire RAM, disque dur, processeur. . .
- ainsi que tous les périphériques - clavier, souris, écran, imprimante. . . - ex- istant ou ayant existé. À chaque sortie d'un nouveau matériel - ce qui arrive par centaines quotidiennement - il faudrait alors le prendre en compte et sortir une nouvelle version de chaque logiciel !
J'ajouterais également que cela prendrait une place en mémoire non néglige- able et énormément de temps puisque ce travail serait dupliqué pour chaque logiciel ! Infernal, n'est-ce pas ? C'est donc la fonction principale d'un système
d'exploitation? : il offre une double interface entre ce qui est capable de di-
aloguer dans la même langue que le matériel - les drivers? - et les logiciels
installés sur la machine. Les logiciels installés, par conséquent « se foutent (307) complètement » du type de matériel installé sur votre ordinateur : ils en- voient des instructions comme « affiche-moi cela », « fais ceci » et le système
d'exploitation?, par le biais des drivers?, fournit la bonne traduction dépendant
du matériel. Le schéma 10.1 - fort simplifié - montre ce fonctionnement.
Cette explication vous permettra de mieux comprendre ce qui suit.
10.2 Driver, kernel et démarrage. . .▲
À l'installation d'Ubuntu, un programme répondant au nom de Grub, est placé au début de votre disque dur, dans le le secteur d'amorçage? par dé-
faut. C'est lui qui va vous permettre de choisir, au démarrage, le système que vous souhaitez utiliser - pour garder Windows par exemple. Si vous choisis-
sez Ubuntu, Grub va alors charger le kernel?. Il contrôle les périphériques, la
mémoire, le réseau, le bon déroulement des programmes. . . Par dessus arrivent
les outils GNU, qui permettent vraiment d'utiliser la machine : manipuler des fichiers, faire des calculs. . .
Le noyau? Linux contrôlant le matériel, c'est lui qui intègre les drivers?. Comme le noyau? est Libre, il peut se compiler avec les drivers? que l'on souhaite. Mais pas de panique, votre distribution Ubuntu a un noyau? Linux compilé avec le maximum de drivers? accessibles par ce que l'on appelle des
« modules (308) », il est donc très rare d'avoir à chercher et compiler un module soi- même. En revanche, les constructeurs ne se précipitent pas pour programmer
des drivers? pour GNU/Linux, ni même pour fournir des spécifications perme-
ttant de les développer. Il arrive donc que certains matériels ne soient pas bien gérés par GNU/Linux, voire pas gérés du tout - souvent des périphériques
USB peu communs, ou certaines cartes Wi-Fi?. Mais rassurez-vous, il y a tout
de même énormément de matériels compatibles, et l'on a parfois la bonne sur- prise de voir un périphérique sans drivers? pour XP/Vista marcher comme un
charme sur Ubuntu (309) .
Sur la page http://doc.ubuntu-fr.org/materiel, vous trou-
verez comment résoudre les problèmes si l'un des composants de votre ordinateur n'est pas reconnu, ou comment optimiser l'utilisation de certains périphériques.
10.3 L'arborescence des fichiers▲
Un disque dur est un élément matériel qui est généralement placé à l'in- térieur de l'ordinateur. C'est un périphérique de stockage magnétique qui va garder, même ordinateur éteint, tous vos documents, mais aussi le système
d'exploitation? et les fichiers nécessaires à la bonne marche de votre machine.
L'arborescence des fichiers est leur organisation sur le disque dur. Si vous utilisez Windows, vous savez certainement que les fichiers se placent dans des répertoires (310) .
Voici un petit cours de rattrapage pour les retardataires :
On pourrait prendre l'exemple d'une armoire contenant des tiroirs. Une armoire immense car chaque tiroir pourra contenir un ou plusieurs sous-tiroirs, et ainsi de suite (311) . . . Pour accéder aux vêtements - les fichiers - il va falloir tout d'abord ouvrir les portes de l'armoire / (312) . Ensuite, vous devrez ouvrir un tiroir A - équivalent à un dossier - pour avoir accès aux autres tiroirs et vêtements situés dans celui-ci et ainsi de suite. On ouvrira donc un - ou plusieurs - tiroir(s) pour accéder aux vêtements que vous porterez aujourd'hui ! Par analogie, si je veux accéder aux fichiers contenus dans mon bureau, la méthode « longue », puisque vous voyez directement les fichiers sur votre bureau virtuel, serait : ouvrir /, puis naviguer dans le dossier home, puis naviguer dans le dossier à votre nom de compte utilisateur, et enfin à naviguer dans Bureau.
On obtient ainsi le schéma 10.2.
Pour accéder à ces fichiers et ces dossiers, on utilisera donc ce que l'on appelle un « chemin » : /home/NomDeCompteUtilisateur/Bureau où NomDe- CompteUtilisateur dépend de votre installation.
Attention, sous les systèmes Unix, le caractère de séparation des
dossiers est le / et non \ comme sous Windows.
Maintenant que vous avez compris à quoi correspondent un dossier et un fichier et comment les nommer, voyons comment s'organisent les fichiers sous Linux.
La base, vous l'aurez compris, est /. On va y trouver un certain nombre de dossiers, que nous survolerons - simple curiosité - par la suite. En effet, Ubuntu ne vous demandera jamais, si vous installez tous les logiciels par Synaptic ou
« Ajoutez/supprimer. . . » - cf. sections 4.4.2 et 4.4 - où les installer. Il se débrouillera tout seul. Sachez juste que votre dossier personnel, une fois con- necté, se situe dans /home comme nous le reverrons un peu plus loin.
J'attire également votre attention sur un point : sous Windows, vous savez que les différentes partitions des disques - voir la section 2.3.4 concernant l'in- stallation pour obtenir une explication succincte de ce qu'est une partition - se nomment C:\, D:\. . . (313) tout comme le lecteur de DVD/CD-ROM, la clef USB. . . Cependant, nous avons pu voir que sous Ubuntu, tout commence avec la partition racine /.
Comment peut-on alors accéder à nos autres partitions, notamment les par- titions Windows si vous avez gardé votre ancien système d'exploitation? ? En
fait, lors de l'installation, vous rappelez-vous de la partie « Point de montage » ? C'est ici où vous avez modifié ou laissé les choix par défaut concernant ce que l'on appelle le « montage » d'une partition. Monter une partition, c'est lier un dossier à une partition. Par défaut, ces dossiers se trouvent dans /media - il y a donc un dossier media dans /. Par exemple, si j'ai monté ma partition C :\ de Windows dans /media/windows - il y a donc, pour clarifier une fois encore, un dossier windows contenu dans un dossier media, lui-même contenu dans / - chaque fois que j'enregistrerai dans /media/windows ou un de ses sous-dossiers, j'enregistrerai en fait sur la partition C:\. De même avec une clef USB ou en- core en lisant un lecteur de DVD/CD-ROM.
Cependant, vous ne serez pas obligé d'aller à chaque fois dans /media/UnDossier pour lire vos partitions Windows ou bien d'autres partitions/disque dur de votre ordinateur (314) . Le fait d'avoir choisi comme point de montage un dossier contenu dans /media revient à créer des « signets systèmes » - voir la section sur les fenêtres et signets en 6.3. Cela les rend alors directement disponibles dans le menu Raccourcis - cf. section 3.4.2 développant les menus - le panneau latéral de Nautilus (315) ou encore le Bureau, cf. section 3.3 ! Vous n'aurez ainsi plus jamais de problème en ajoutant un disque dur ou lecteur à votre PC !
Pour les clefs USB, les disques durs externes ou les lecteurs de
DVD/CD-ROM, l'icône? n'apparaît que si une clef est branchée,
le disque dur alimenté ou un disque inséré, pratique non ?
Voici pour information quelques explications sur les différents dossiers indis- pensables dans / :
- /bin : Contient les programmes systèmes importants.
- /boot : Les fichiers utiles au démarrage du système
- /dev : Contient des fichiers factices permettant de communiquer avec vos périphériques.
- /etc : Ici se trouvent la plupart des fichiers de configuration du système.
- /home : Contient les dossiers personnels des utilisateurs. Chacun y pos- sède - comme expliqué plus haut - un dossier à son nom avec ses fichiers personnels.
- /lib : Contient les librairies - bibliothèques - utiles au système.
- /media : Comme expliqué précédemment, les dossiers contenus correspon- dent aux accès de montage des périphériques de stockage.
- /opt : A un peu la même fonction que /usr , sauf que certains l'utilisent pour les programmes qu'ils compilent eux-mêmes et qui ne sont logique- ment pas aussi intégrés qu'un logiciel disponible dans les sources de logi- ciels - cf. section 4.5.
- /proc : Ce dossier contient des fichiers et dossiers virtuels qui correspon- dent à l'état du système en temps réel : processus - programmes - lancés, occupation mémoire, RAM disponible, etc
- /root : C'est le /home de l'administrateur ! Ce dernier est séparé pour des questions de sécurité. Cependant, si vous avez bien suivi jusqu'ici, il n'y a pas de compte root à proprement parler sur Ubuntu. Ce répertoire existe donc seulement pour assurer la compatibilité avec les autres distributions GNU/Linux.
- /sbin : A un peu la même fonction que /bin, sauf que tous les programmes issus ne sont accessibles qu'à l'administrateur, ou aux amis de root sur Ubuntu.
- /tmp : Comme son nom l'indique, ici sont stockés les fichiers temporaires utiles aux programmes en cours d'exécution. Ce dossier est vidé à chaque redémarrage.
- /usr : Dossier important, contenant tous les programmes et les biblio- thèques installés.
- /var : Dossier contenant tout ce qui est variable au système. Par exemple, les fameux fichiers « log » enregistrant ce qui se passe sur votre système, utiles quand quelque chose ne fonctionne plus par exemple - contenus dans /var/log/ .
Dernier point : Comme nous l'avons vu, les partitions sont montées dans des
dossiers. GNU/Linux nomme les partitions sda1 pour la partition 1 du premier disque IDE - encore appelé ATA et plus récemment renommé en PATA - ou encore SCSI (SATA) ou périphérique de stockage externe (usb), sda2 pour la deuxième, sdb1 pour la première partition du deuxième disque (b), etc. Au
démarrage d'Ubuntu, ce dernier ouvre un fichier texte brut? nommé /etc/fstab
dans lequel il trouve les correspondances entre les disques durs et les dossiers où ils doivent être montés - le système étant légèrement plus complexe aujour- d'hui pour certifier que même si vous changiez l'ordre de vos disques durs ou que vous insériez différentes clefs, ceux-ci retrouvent toujours les bonnes cor- respondances, dans le même ordre. Cela se fait par le biais d'UUID - suite de chiffres et de lettres permettant une identification unique - et de label.
10.4 Où sont enregistrées mes préférences ?▲
Vous avez sûrement remarqué que deux utilisateurs - Ségolène et Nicolas ;-)
- ne voudront pas du même thème? de bureau. De plus, la configuration des
logiciels - contacts, messagerie, navigateur, etc. - ainsi que des barres d'outils, par exemple, sera différente. . . Et pourtant, tout ce beau monde se connecte sur le même système - la démocratie - et chacun retrouve les préférences qu'il avait paramétrées. Comment cela est-il possible ?
En fait, si vous affichez les fichiers cachés de votre dossier personnel - cf. la section 6.27.14 - vous retrouverez énormément de dossiers cachés, avec comme nom, celui d'un logiciel que vous utilisez. Eh bien c'est là que sont stockées vos préférences. Notez également que s'y trouvent les préférences de session GNOME. Par exemple, vous trouverez un dossier .evolution où sont enreg-
istrés - dans des fichiers de texte brut?, le plus souvent - vos paramètres
de messagerie comme ceux du logiciel de messagerie Évolution. Quand Sé- golène se connecte, ce logiciel va chercher ses paramètres personnels dans
/home/segolene/.evolution/ alors que pour Nicolas, il les recherchera dans
/home/nicolas/.evolution/ .
D'autres paramètres de configuration, mais plus globaux eux, sont enreg- istrés dans le dossier /etc. Ceux-ci sont communs à tous les utilisateurs (316) - par exemple, si un logiciel A a besoin d'un logiciel B pour fonctionner, il y enregistrera le chemin vers le logiciel B pour l'exécuter.
En somme, tout ceci signifie que si vous avez créé /home sur une partition séparée, et que vous formatez / , vous retrouverez lors d'une prochaine réin- stallation, tous vos paramètres à l'identique, si vous gardez le même nom de compte bien entendu.
10.5 Différences entre serveur graphique, environ- nement de bureau et gestionnaire de fenêtres▲
Nous allons maintenant entrer dans la partie la plus intéressante d'Ubuntu, qui vous a peut être fait choisir ce système après avoir vu des captures d'écran : le serveur graphique ! Eh oui, sous GNU/Linux, la partie graphique est un serveur, qui se nomme X (317) . Cela date des serveurs Unix, qui étaient constitués d'une grosse machine distribuant les programmes à des terminaux. Cette con- figuration possède des avantages - comme lancer des programmes sous le nom d'un autre utilisateur, y accéder depuis une autre machine. . . - mais introduit également une certaine lourdeur, heureusement invisible sur une machine mod- erne.
Sous Ubuntu, c'est le serveur graphique nommé Xorg qui va s'occuper de choisir la bonne résolution pour votre écran, contrôler la souris et l'affichage des pro- grammes. Mais ce n'est pas lui qui s'occupe des bordures de fenêtre, des menus, des lanceurs : cette tâche est confiée au gestionnaire de fenêtres.
Un gestionnaire de fenêtre - comme Metacity, Kwin, iceWM, Xfwm, fluxbox. . .
- est un programme qui contrôle l'apparence des fenêtres et apporte les moyens par lesquels l'utilisateur peut interagir avec elles. Celui-ci est très lié à l'environ- nement de bureau - GNOME, KDE, Xfce, FluxBox, E17, Window Maker. . . -
qui apporte une interface plus complète au système d'exploitation? ainsi qu'un
ensemble d'utilitaires et d'applications intégrés. Et qu'est-ce qui différencie ces environnements de bureau ? La philosophie (318) !
GNOME se veut « simple d'utilisation », c'est-à-dire qu'une application fait une seule chose, mais la fait bien. Les options paramétrables de chaque application restent limitées afin de ne pas noyer l'utilisateur dans des réglages dont il n'aurait jamais à se soucier.
KDE se veut plus « complet(-xe) (319) ». L'application qui peut graver vos don- nées est tout aussi capable de lire vos vidéos et musiques ainsi que de redimensionner vos images. De plus, les applications sont beaucoup plus paramétrables par le biais des menus d'options, même si vous n'aurez certainement jamais à toucher la plupart de celles-ci (320) !
Xfce, lui, se veut plus léger et peut tourner sur des configurations modestes comparées aux deux mastodontes précédents.
FluxBox vise la même cible, en étant plus léger encore.
Window Maker est plus pour les personnes voulant vraiment tout paramétrer sur leur bureau. Il permet de vraiment avoir exactement la présentation désirée, mais au prix de beaucoup de temps passé à la configurer.
Vous pouvez voir dans la collection d'images 10.3 un exemple pour chacun de ces environnements.
Il existe des dizaines d'environnements de bureaux, et deux proposent même un environnement de bureau complet - c'est-à-dire des applications spécifique- ment à destination de cet environnement avec une philosophie, des interac- tions et une présentation homogène - comme GNOME (321) , interface par défaut d'Ubuntu. Le choix de l'une ou l'autre des interfaces graphiques disponibles dépend uniquement de vos goûts personnels. En effet, dès le système installé, vous pourrez utiliser les mêmes logiciels (322) .
Vous pourrez également changer par la suite d'environnement graphique et en avoir plusieurs installés simultanément. C'est la liberté de choix ! À l'écran de connexion, vous pourrez choisir votre environnement de bureau. Et tout cela repose, une fois encore, sur le serveur X (323) - Xorg sur Ubuntu - qui se charge de l'affichage. Au démarrage de votre interface graphique, Xorg démarre - et le curseur en forme de roue qui tourne apparaît - en lisant la configuration
qui se trouve dans le fichier texte brut? /etc/X11/xorg.conf , puis GDM (324) qui
vous permet de choisir l'utilisateur et l'interface à utiliser. Vous pouvez alors
(a) Gnome(b) KDE
(c) XFCE (d) Windows Maker
choisir entre plusieurs environnements, si vous les avez installés sur votre ma- chine. Enfin, l'environnement de bureau sélectionné se lance - GNOME, par exemple.
Pour faire votre choix d'environnement graphique, vous pouvez consulter les sites web de chacun des environnements cités ci-dessous :
GNOME : http://www.gnomefr.org
KDE : http://fr.kde.org
Xfce : http://www.xfce.org/
FluxBox : http://fluxbox.sourceforge.net
E17 : http://www.enlightenment.org
Window Maker : http://www.windowmaker.info
Ce livre, comme vous avez pu le constater, ne s'applique qu'à
GNOME, mais une fois que vous maîtriserez cet environnement, vous n'aurez aucun mal à en changer.
10.6 Quelles différences entre Ubuntu / Kubuntu / Edubuntu / Xubuntu ?▲
Ceci est directement relié à la notion précédente d'environnement de bureau. Ubuntu propose par défaut l'environnement graphique GNOME, Kubuntu pro- pose quant à lui KDE, Xubuntu propose l'environnement Xfce. Edubuntu, lui, propose l'environnement GNOME agrémenté d'une sélection de logiciels dédiés au monde de l'éducation. Il ne faut pas oublier non plus Ubuntu Studio, s'ap- puyant également sur GNOME, mais orienté vers la création professionnelle audio, vidéo et graphique, et optimisé avec un noyau temps réel.
Attention, seules les distributions Ubuntu, Kubuntu et Ubuntu Mobile Edi- tion sont officiellement supportées par Canonical. Xubuntu est le résultat d'un travail purement bénévole et communautaire mais reste très lié à Canonical, tout comme Edubuntu, Ubuntu Studio ou encore la version spécialisée dans les écrans de tailles réduites : Ubuntu Netbook Remix. Grâce au succès de Ubuntu, de nombreux dérivés existent - logique, puisque le code source est accessible et réutilisable par qui le souhaite - et peut donner des distributions orientées vers des utilisations très spécialisées comme Ubuntu Christian Edition et son adversaire : Ubuntu Satanic Edition. . . Néanmoins, ces autres dérivés de la dis- tribution Ubuntu sont plus éloignés de la fondation mère, ce qui ne garantit pas un aussi bon suivi que pour les autres distributions. De plus, ils sont plus ou moins évolués - Ubuntu Satanic Edition, contrairement à Ubuntu Christian
Edition, est tout simplement Ubuntu avec un papier peint et un thème? dif-
férents. Vous pouvez consulter les sites de ces distributions dérivées, il en existe évidemment beaucoup d'autres. Voici les adresses des distributions officielles ou, comme indiqué précédemment, très proches de la fondation Ubuntu :
Ubuntu : http://www.ubuntu.com.
Communauté française : http://www.ubuntu-fr.org.
Kubuntu : http://www.kubuntu.com.
Communauté française : http://www.kubuntu-fr.org (325) .
Ubuntu Mobile Edition : http://www.ubuntu.com/products/mobile
Xubuntu : http://www.xubuntu.com Edubuntu : http://www.edubuntu.com Ubuntu Studio : http://ubuntustudio.com
Ubuntu Netbook Remix : http://www.canonical.com/projects/ubuntu/
nbr
10.7 GTK, Qt, les bibliothèques, c'est quoi ?▲
Pour programmer, les codeurs utilisent des bibliothèques, qui sont en quelque sorte des bouts de programmes tout prêts, ce qui évite par exemple de pro- grammer un sélecteur de fichier à chaque fois. C'est grâce à ce système que vous retrouvez toujours les mêmes formes de boutons, par exemple. Les bib- liothèques les plus importantes sont GTK et Qt, utilisées respectivement par GNOME et KDE. Les bibliothèques ont un peu la fonction des DLL de Win- dows.
Lorsque vous installez un programme, il aura besoin de certaines biblio- thèques pour fonctionner. Rassurez vous, les bibliothèques s'installent toutes seules lorsque vous sélectionnez un programme dans Synaptic. Et pas de pro- lifération de différentes versions comme sous Windows, Ubuntu se charge de coordonner tout ce petit monde sans même que vous ayez à y réfléchir (326) ! Cette magie s'opère grâce à un outil Debian appelé APT. Synaptic et le pro- gramme « Logithèque Ubuntu » ne sont que des interfaces graphiques s'ap- puyant sur apt . Les sources de logiciels - vous vous souvenez, les adresses
web où l'on va chercher les logiciels - sont listées dans le fichier texte brut?
/etc/apt/sources.list .
Ce système de bibliothèques partagées permet de lancer un programme KDE dans GNOME, et inversement, ou d'utiliser un programme GNOME dans un autre environnement comme Xfce. Cependant, à l'installation d'un seul logiciel KDE, par exemple, dans GNOME, vous installez la quasi-totalité des
bibliothèques KDE, d'une taille de 150 Mio, environ, avec la traduction ! C'est la raison pour laquelle je vous signale à chaque fois, dans le chapitre 8 concernant les logiciels si le programme est orienté KDE. Notez que l'inverse est également vrai - installation d'une application GNOME dans KDE.
10.8 Compléments sur les utilisateurs et les droits▲
Nous avons vu que, historiquement, les systèmes Unix étaient de grosses machines pour plusieurs utilisateurs. GNU/Linux a gardé cette architecture, ce qui le dote d'une gestion des droits et des utilisateurs très avancée.
Nous avons déjà souligné plusieurs fois que chaque utilisateur possède sa petite maison, protégée par son mot de passe, où il peut faire ce qu'il veut : ce dossier /home/NomUtilisateur .
Par défaut, vous n'êtes pas administrateur de la machine, c'est le fameux root qui a ce privilège. Ubuntu a la particularité d'avoir le compte root désactivé. C'est le premier utilisateur créé sur le système qui a accès aux droits d'admin- istrateur avec son propre mot de passe et la commande sudo .
Comme la philosophie de GNU/Linux est « tout est fichier », les fichiers doivent être bien gardés entre utilisateurs pour éviter les bêtises.
Un fichier ou un dossier peut donc avoir une combinaison de 3 droits : lecture, écriture et exécution. Il porte aussi le nom de son propriétaire et de son groupe de propriétaires. Voyons un fichier avec la commande ls -l - -l comme long - qui permet de lister le dossier courant avec un maximum d'informations. Notez que ces informations se retrouvent bien évidemment en mode graphique avec le navigateur de fichier Nautilus :
-rwxr-xr- 1 proprio groupe1 20325 2006-11-12 11:21 Coucou
Nous avons toutes les informations sur le fichier :
- Le premier tiret de la ligne indique que c'est un fichier. S'il s'agit d'un dossier, le tiret est remplacé par la lettre d et dans le cas d'un lien - sorte de raccourci - par la lettre l.
- Ensuite il y a trois groupements de trois caractères (rwx, r-x, r-) : ce sont les groupements de permission :
- r (readable) signifie que l'on peut lire le fichier ou lire le contenu d'un dossier.
- w (writeable) que l'on peut modifier le fichier ou créer / modifier les permissions ou supprimer des fichiers d'un dossier.
- x (executable) que l'on peut exécuter le fichier ou naviguer dans le dossier (double-clic dans Nautilus).
Le premier groupement correspond aux droits du propriétaire (user), le second aux droits du groupe propriétaire (group) et le troisième aux autres (others).
Si une lettre est placée, alors l'utilisateur concerné a le droit accordé. Si, à contrario, celle-ci est absente, alors il n'a pas accès au droit concerné.
- Nous avons après le nom du propriétaire du fichier, le groupe auquel appartient le fichier, puis la taille, la date/heure de dernière modification et enfin le nom du fichier lui même.
Dans notre exemple, le fichier - premier caractère - - nommé Coucou est pour
l'utilisateur proprio accessible en lecture, écriture et exécution (rwx). Pour les membres du groupe « groupe1 », celui-ci est accessible seulement en lecture et en exécution (r-x), donc la modification du fichier leur est interdite. Enfin, les autres peuvent seulement y avoir accès en lecture seule (r-). Tout est clair ?
GNU/Linux a donc une gestion des droits évoluée et simple à mettre en place. Notons surtout la particularité du droit d'exécution, qui indique si l'on a affaire à un programme ou un script. Ce droit est très pratique car il évite, par exemple, que vous exécutiez vos virus mail en pièces jointes, car ceux-ci n'ont pas le droit d'être utilisés comme programme et sont considérés comme des données.
Le système de droits permet une grande modularité dans l'accès à vos don- nées si vous êtes plusieurs à utiliser l'ordinateur.
Dans la pratique, pas d'affolement, Ubuntu donne les bons droits à chaque fichier ! Vous n'aurez donc pas à vous en occuper ! Si,
dans le cas contraire, vous voulez vous en mêler, la fenêtre « Pro- priétés » accessible par un clic-droit sur un fichier ou sur un dossier permet de les modifier, si vous êtes propriétaire de ceux-ci. De plus, l'application « Utilisateurs et groupes » vous permet d'ajouter des utilisateurs, des groupes et de gérer leurs droits facilement.
10.9 Un shell, ça console ?▲
La partie qui fâche. La console?, le fameux « Ah ouais ! Mais Linux c'est en mode texte ? ».
Je pense que vous avez déjà compris au travers de ce livre que celle-ci n'est absolument pas obligatoire pour une utilisation quotidienne. Cependant,
comme je l'ai déjà souligné précédemment, la console? permet de faire des actions sur son système beaucoup plus rapidement. Vous trouverez la plupart du temps sur l'Internet? des lignes de commande, car c'est souvent plus simple que d'expliquer la même manipulation via une interface graphique, et beaucoup plus sûr, car on a confirmation du bon fonc- tionnement des commandes, donc une source d'erreur moindre.
La console? vous servira également à configurer plus finement certains paramètres
de votre système et de vos applications ; bref elle seule vous permet d'accéder à tous les secrets en tant qu'administrateur (327) - par la commande sudo si vous vous souvenez du premier chapitre de ce livre ! Mais faites attention car cela pourrait vous amener à casser votre système.
Comme je l'ai indiqué à de nombreuses reprises, tous les paramétrages et préférences sont stockés dans des fichiers de texte brut?. C'est-à-dire qu'avec
un simple éditeur de texte, il est possible, lorsque l'on connaît la syntaxe du fichier, de modifier ceux-ci. Cela est bien plus rapide d'effectuer ces change- ments par ligne de commande (328) que de le faire de manière graphique, et c'est logiquement cette manière de faire qui est préférée lorsqu'on en a l'habitude. De plus, un grand nombre d'actions plus ou moins complexes peuvent s'exécuter à partir de scripts (329) : par exemple, sauvegarde automatique de votre système, tri dans les dossiers par mots clefs, etc. Tout ceci est éditable en ligne de com-
mande parce que ces fichiers sont écrits en texte brut?. On peut y effectuer très
simplement des actions très puissantes.
La console? ressemble à une fenêtre MS-DOS, mais ne vous y trompez pas,
elle est bien plus performante. Dans celle-ci, s'exécute un programme, appelé shell (330) - bash la plupart du temps, mais il en existe d'autres comme zsh, csh, ksh, dash. . . - qui vous permettra d'entrer des commandes. Vous pouvez lancer des programmes en tapant leur nom, bien utile quand il y a une erreur
car celle-ci sera indiquée dans la console?.
Un terminal?, lui, est une application qui permet d'ouvrir une console. Le terminal? par défaut d'Ubuntu se nomme gnome-terminal et exécute bash qui
?
propose la complétion automatique, c'est-à-dire qu'avec la touche TAB (331) ,
vous pouvez compléter ce que vous tapez, très utile pour naviguer ? ?
borescence. On peut même améliorer celle-ci, cf. section 6.29.
Vous pouvez trouver sur la documentation du site Ubuntu-fr une bonne introduction à l'utilisation de la ligne de commande - du plus simple au plus complexe :
10.10 Les run levels▲
10.10.1 Signification▲
Le run level, ou niveau de fonctionnement, est une fonction utilisée par le système d'init - système V - notamment lors du démarrage de votre système.
Il existe différents run levels, qui correspondent chacun à un ensemble d'ap- plications et de services? à mettre en marche et à arrêter. Ainsi, quand le
système est démarré, il passe par le run level 1 puis par le run level 2, et il est possible de configurer les applications et démons? (332) qui seront lancés ou
arrêtés à ce moment. Il existe en tout six run levels. Sous Ubuntu (333) , les run levels se répartissent ainsi - à quelques différences près :
S : Runlevel d'initialisation minimale de tous les runlevels (vérification de l'in- tégrité des systèmes de fichiers par exemple)
0 : Arrêt
1 : Mode mono-utilisateur
2 : Mode multi-utilisateurs (sans NFS)
3 : Mode multi-utilisateurs
4 : Inutilisé
5 : Mode multi-utilisateurs avec serveur graphique
6 : Redémarrage
Les run levels 0, 1 et 6 sont plus ou moins standardisés et communs à tous les systèmes appliquant le système V. Lorsque vous démarrez votre système en
« Safe-Mode » - deuxième ligne de Grub - vous lancez en fait le runlevel S. Lors d'un démarrage « normal », vous passez les niveaux 1, 2, puis 5 lorsque GDM se lance. Notons qu'il n'y a pas de hiérarchie ni de chronologie dans les run levels : il n'est pas nécessaire de passer par 3 pour aller de 2 à 5, par exemple. Les niveaux utilisés pour un fonctionnement continu de la machine - excluant donc ceux permettant de la redémarrer ou de l'arrêter - vont donc de un à cinq, et il est possible de passer de l'un à l'autre. Pour cela, une simple commande telle sudo init 3 fonctionne, mais faites attention à bien avoir enregistré vos données, car aucune confirmation n'est demandée !
Par défaut, sur la plupart des systèmes issus de Debian comme Ubuntu, le runlevel par défaut est le runlevel 5 lorsque l'interface graphique est lancée.
10.10.2 Les scripts▲
C'est bien beau tout cela, mais à quoi cela sert ?
Tous les services? et applications qui doivent être démarrés ou arrêtés lors
d'un passage d'un run level à un autre le sont à partir de scripts. Ceux-ci sont regroupés dans le dossier /etc/init.d/ . Ces scripts reçoivent un paramètre qui peut être start, stop, restart, etc.
Ils ont généralement la structure suivante :
#!/bin/sh case $1 in start) . . . . . . .# commandes pour démarrer le service ;; stop) . . . .# commandes pour arrêter le service ;; restart) # commandes pour redémarrer le service par arrêt et redémarrage !
$0 stop sleep 1
$0 start
;;
esac
À chaque niveau correspond un dossier - typiquement /etc/rc.d/rc2.d pour le niveau 2 - contenant des liens symboliques - en quelque sorte, des raccourcis
- vers les fichiers scripts de /etc/init.d/ . Ces liens symboliques portent des noms commençant par la lettre S ou K, suivie d'un numéro de deux chiffres.
Voici ce qui se passe lors d'un changement de run level dans le cas, par exemple, d'un passage du niveau 5 au niveau 3 par la commande sudo init 3
:
- Les scripts dont le nom commence par un K situés dans le dossier cor- respondant au niveau de fonctionnement courant - ici 5 - sont lancés dans l'ordre décroissant des numéros avec le paramètre stop, ce qui a
normalement pour effet d'arrêter le service? correspondant.
- Les scripts du nouveau niveau - ici 3 - qui commencent par S sont activés
- dans l'ordre croissant des numéros - avec le paramètre start.
Nous comprenons donc maintenant que les numéros correspondent à une pri- orité permettant de démarrer un service? avant un autre - par exemple, il est
préférable de démarrer Xorg avant GDM. . .
Maintenant, si vous êtes curieux, vous pouvez allez voir quels services?
sont démarrés à quel niveau de fonctionnement sur votre ordinateur - clic- droit sur un service?, puis propriétés - et désactiver ceux qui ne vous sont pas
nécessaires (334) : par exemple, le gestionnaire d'imprimante HP si vous n'avez pas d'imprimante de cette marque. Pour s'adonner à ces optimisations, une seule
direction : Système ? Administration ? Services.