Pour l'instant, vous n'avez qu'un seul compte sur votre machine Linux: Celui de l'administrateur système. Son mot de passe (s'il y en a un) est celui que vous avez défini au moment de l'utilisation. Ne le perdez pas !
Vous tapez donc:
root
(puis evidemment "return")
Linux vous demande le mot de passe, que vous tapez "à l'aveuglette",
sécurité oblige.
Vous avez maintenant le "prompt", dont la forme est variable suivant
votre configuration. Linux attend une commande. Notez le dernier caractère
du prompt. Normalement un dièse. Il signifie que vous êtes
l'utilisateur "root", celui qui a tous les droits sur la machine.
Commencez par créer un compte utilisateur qui vous permettra
de faire vos premiers essais.
Explication:
L'utilisateur "root" a tous les droits sur votre machine Linux. Ca
a des avantages, mais aussi des inconvénients: Linux n'autorisera
pas un utilisateur ordinaire à faire de grosses erreurs, par contre,
il fera docilement tout ce que "root" lui demandera, même si les
conséquences en sont catastrophiques !
Donc entrons la commande:
adduser toto
Linux pose alors des questions diverses, selon la version que vous
employez. Répondez de votre mieux, ou validez les options par défaut
en appuyant sur "enter", on pourra toujours supprimer ce compte plus tard.
Donnez aussi un "mot de passe" à toto. Si Linux ne vous le demande
pas automatiquement, lancez la commande:
passwd toto
Passons maintenant sur un autre "terminal virtuel".
alt+F2
On y voit une autre "banière de login", "logons" nous sur le
compte que nous fenons de créer:
login: toto
passwd: xxxxxxx
Cette fois-ci le prompt se termine par "$". Toto est un utilisateur
ordinaire. Sauf s'il est très fort, ses erreurs ne toucheront que
les fichiers dont il est propriétaire et ne perturberont pas la
machine.
Essayons tout de suite:
Il ne faut jamais éteindre Linux directement par le bouton marche-arrêt,
ni par le bouton reset. Il faut envoyer la commande "halt" (pour un arrêt
définitif) ou "reboot" ou "shutdown -r now".
Toto pourrait-il arrêter la machine ?
Normalement non. (Encore que sur ma Slackware de mon portable, il puisse
le faire en rusant et en appuyant simultanément sur "alt-ctl-del".
Comme je suis le seul à utiliser mon portable, je n'ai pas désactivé,
pour des raisons qui me regardent, cette possibilité qui serait
inacceptable sur un réseau)
Essayons:
reboot
Linux répond:
>reboot: command not found
Normal: La commande en question est cachée à un endroit
qui n'est accessible qu'à "root".
Comme il faut maintenant que vous appreniez à fermer proprement
votre système Linux, nous allons essayer de nouveau à partir
du compte "root".
Revenons sur le terminal de "root":
alt+F1
reboot
(ou, si ça ne marche pas, "shutdown -r now")
À tout de suite ...
Ca y est ? Vous êtes revenus ?
Bravo, vous savez maintenant changer de compte utilisateur, et éteindre
et relancer proprement votre machine Linux. Pour l'éteindre sans
la relancer, ce sera la commande:
"halt"
ou
"shutdown -h now".
Vous attendrez le message "system is halted" avant d'éteindre
le courant.
Et en cas de panne de secteur, me direz-vous, est-ce que tout sera fichu
? Dois-je obligatoirement acheter un onduleur ?
Non, ce n'est pas à ce point là. Il n'empêche que
les extinctions brutales font toujours des dégâts. Ils sont
généralement récupérables, mais vous risquez
au minimum des pertes de données. C'est donc à éviter
dans toute la mesure du possible.
Notez dès à présent la différence entre
les deux commandes "shutdown". C'est souvent comme ça avec Linux,
chaque commande a de nombreuses options.
Regardons cela de plus près, mais d'abord relogons-nous sous
le compte utilisateur:
login: toto
password: xxxxxx
Puis regardons la documentation de la commande "shutdown":
>man shutdown
La documentation est décompactée puis affichée
avec toutes les explications sur les différents paramètres
possibles. Notez qu'elle est très complète ... et très
complexe aussi. Il n'empêche que c'est la première chose à
regarder quand on cherche des précisions.
Faites-la défiler avec les touches de défilement, puis
sortons-en en appuyant sur la touche Q (comme quit).
L'écran est un peu encombré, nettoyons-le avec la commande:
>clear
Appuyons maintenant deux fois sur la touche flèche_haut du clavier,
puis deux fois sur la touche flèche_bas. Vous avez compris: Chaque
terminal conserve un "historique" qui évite de retaper plusieurs
fois les commandes dont la syntaxe est longue ou compliquée.
Vous rêvez maintenant de découvrir l'environnement graphique
?
Allons-y.
La commande pour lancer l'environnement graphique est:
>startx
Faites-le à partir du compte "toto".
Vous êtes en présence d'un superbe "clicodrôme" que
je vous laisse un peu découvrir. Certaines options ne fonctionneront
pas, soit parce que vous ne les avez pas encore installées, soit
parce qu'elles sont réservées à "root".
Je vous vois réfléchir: "Et si je lançais "startx"
à partir du compte root" ?
C'est la bonne réponse, mais c'est une mauvaise idée.
À partir du compte "root", si vous cliquez là où il
ne faut pas, ce sera tant pis pour vous ! Alors qu'à partir du compte
"toto", vous ne risquez rien.
En gros, votre "clicodrôme" Linux ressemble sans doute beaucoup
à celui qui vous connaissez déjà avec Windows ou Mac.
Vous devriez donc vous y retrouver facilement.
Deux choses cependant risquent de vous surprendre:
Où en sommes-nous des utilisateurs sur cette machine ?
>who
nous donne la réponse, avec le numéro de terminal qu'ils
utilisent.
Et moi, dans cet liste, sur quel compte et quel terminal suis-je en
ce moment ?
>who am i
nous donne la réponse.
Et dans quel répertoire du disque suis-je ?
>pwd (pour Print Working Directory)
La réponse devrait-être:
/home/toto
C'est à dire le répertoire personnel de toto.
NB: Si la réponse est /root, vous êtes en ce moment en
train de faire vos expériences sur le compte root, et ça,
ce n'est pas bien du tout ! Changez vite de terminal.
Allons maintenant visiter un peu le disque dur:
Remontons d'un cran dans l'arborescence:
>cd .. (pour Choose Directory, .. veut dire "parent")
puis regardons ce qu'il y a à cet étage:
ls (pour LiSte)
on voit un répertoire, celui dont nous venons.
Remontons à la racine:
>cd ..
(On aurait pu aussi taper "cd /")
>ls
On obtient toutes les branches de l'arborescence.
Essayons d'aller voir ce qu'il y a dans le répertoire de root
(toujours à partir du compte utilisateur):
>cd root
puis
>ls
Linux répond:
Permission denied
Vous n'êtes pas "root", vous n'avez pas à voir son répertoire,
sécurité oblige ! Mais bon, nous savons que vous êtes
*aussi* root ! Alors obtenons cette permission:
>su root (pour Swap User)
>password: yyyyyy (J'espère que vous avez donné un mot
de passe à root ?)
Le $ du prompt se transforme en dièse, vous êtes maintenant
root. Maintenant, la commande ls fonctionne et vous montre les fichiers
de root (pour autant qu'il y en ait).
Quittons ce compte root si dangereux:
>exit
et allons voir ce qu'il y a dans le répertoire dédié
à la configuration:
>cd /etc
>ls
suivant la version du shell que vous utilisez et sa configuration,
il est possible que tout s'affiche ou que vous obteniez un long défilement.
Dans les deux cas, si on veut voir les détails, la solution
est la même:
>ls -l | less
Ce qui signifie:
LiSte, option longue, transmise pour affichage au programme "less".
Sur un clavier français, la barre verticale (pipe) s'obtient
en appuyant simulatanément sur les touches:
AltGr et 6
Comme tout à l'heure, on arrête l'affichage produit par
le programme "less" en appuyant sur la touche Q.
Précisons un peu notre recherche en ne listant que les fichiers
commençant par les lettres "fs":
>ls -l fs*
On devrait obtenir au moins une ligne ressemblant à la suivante:
-rw-r--r-- 1 root root 220 Jul 20 19:56 fstab
Qu'est ce que ça signifie ?
Ce fichier s'appelle fstab, il a été modifié pour
la dernière fois sur ma machine le 20 juillet à 19 heures
56, il appartient à l'utilisateur root et au groupe root. Le "1"
correspond à une histoire de liens dont nous n'avons pas besoin
ici. En gros, ce fichier n'est connu de la machine que sous un seul nom,
le sien.
Ce qui est très important de comprendre, pour le néophyte
sous Linux (ou Unix), ce sont les signes cabalistiques de gauche:
-rw-r--r--
Le premier tiret signifie que c'est un fichier "ordinaire" (ça
pourrait être un répertoire (d comme directory) ou un lien
(l)).
Le groupe suivant "rw-" signifie que le propriétaire (donc root) peut le lire (read), l'écrire ou le modifier (write), mais pas l'exécuter (il y aurait un "x").
Le groupe suivant "r--" précise les droits des membres du groupe "root", autres que root lui même. Ils n'ont le droit que de lire le fichier.
Le dernier groupe 'r--" donne les droits de "tous les autres", donc de toto. Ils peuvent lire le fichier, mais c'est tout.
En cas de besoin, on peut évidemment modifier ces droits, changer les groupes et les propriétaires, mais ces détails seront pour un autre document.
Essayons simplement d'en savoir plus sur ce fichier:
>file fstab
Linux répond:
ASCII text
C'est donc affichable, et comme c'est court, 220 octets dans mon cas,
pas besoin du programme d'affichage "less":
>cat fstab
Voilà, vous êtes en train de visualiser le fichier qui
contient la liste de partitions qui est utilisée au démarrage.
Nous verrons aussi, mais dans un autre document, comment modifier un
fichier.
Essayons maintenant d'accéder à notre partition msdos.
Il faudrait d'abord se souvenir de l'endroit où nous l'avons
"montée".
>mount
me répond (ça peut être légèrement
différent chez vous):
/dev/hda3 on / type ext2 (rw)
none on /proc type proc (rw)
/dev/hda1 on /dos type msdos (rw)
C'est la dernière ligne qui compte pour notre question:
la première partition de mon disque dur (/dev/hda1) est de type
msdos. Elle est montée en lecture et en écriture (rw) à
l'emplacement /dos.
Allons y:
cd /dos
ls
me donne le répertoire racine de ma partition msdos.
Si tel n'était pas le cas, il faudrait d'abord que je "monte"
ma partition msdos à cet endroit:
mount -t msdos /dev/hda1 /dos
ou plus simplement, car Linux reconnaît habituellement tout seul
les partitions au format msdos:
mount /dev/hda1 /dos
Utiliser "vfat" à la place de "msdos" s'il faut gérer
les noms longs (partitions MS-Windows 95).
Inversement, si votre lecteur de CDrom est monté, vous ne pouvez
plus extraire le CDrom. Pour le faire, il faudrait d'abord le "démonter"
avant d'enlever le CDrom.
Comme d'habitude,
>man mount
vous en dira plus (et peut-être même plus que vous ne souhaitez
en savoir) sur ce sujet.
Dans le cas d'une disquette, je pourrais physiquement extraire une disquette montée dans le système de fichiers, parce que le bouton d'extraction n'est pas assez malin pour voir le danger, mais ça ficherait une pagaille terrible.
Donc, à la différence de ce qui peut se passer avec msdos,
interdiction d'enlever une disquette avant de l'avoir "démontée"
proprement avant.
commande:
umount /dev/fd0
Inversement, inutile d'essayer de la lire sans l'avoir montée
avant par la commande:
mount /dev/fd0 /floppy
(en supposant que le répertoire sous lequel vous souhaitez voir
apparaître le contenu de votre disquette existe et s'appelle: /floppy)
Voilà, pour une première visite, c'est déjà pas mal. Pour aller plus loin, il faudra explorer d'autres documents. Mais avant de nous quitter, apprenons-en un peu plus sur l'aide de Linux, à travers un dernier exemple.
J'aimerais bien savoir combien il me reste d'espace libre sur ma partition
Linux, mais je ne connais pas la commande idoine. Comment faire ?
Il doit bien y avoir une page de manuel (man) à ce sujet quelque
part, mais où ?
Réfléchissons un peu. Les pages sont en anglais, avec
un peu de chance et quelques essais sur quelques mots clés, on devrait
y arriver !
Essayons la commande:
>apropos free
La réponse, dans un fenêtre "less" est fort longue et
toxique. Elle contient toutes les entrées de manuels qui contiennent
le mot "free" !
Mais précisions un peu maintenant en faisant un recherche dans
le programme "less": tapons le signe de recherche de less suivi du mot
"disk"
/disk
Le résultat qui s'affiche nous aide beaucoup plus:
df (1) summarize free disk space
sortons maintenant de cet écran "less"
>q
puis affichons à la place la page de manuel de cette commande:
man df
C'est bien la commande qu'il nous faut:
>df
nous donne l'espace disque disponible sur les différentes partitions
actuellement montées.
Tiens, pendant que nous y sommes, où se trouve cette commande
sur le disque dur ?
find / -name "df" -print
nous donne la réponse.
(Toutefois ça risque d'être un peu long, car find va explorer
toute l'arborescence, y compris la partition msdos et le cdrom s'ils vous
ne les avez pas "démontés" ! Mieux vaudrait utiliser "locate".)
Et où se trouvent les fichiers de tous ces manuels ?
find / -name "*man*" -print
affichera tous les fichiers dont le nom contient la chaine "man", mais
la réponse risque de défiler à toute vitesse !
find / -name "*man*" -print | less
ou
find / -name "*man*" -print | more
vous donneront la réponse de manière plus lisible.
(Le deuxième affiche les résultats au fur et à
mesure, mais en contrepartie on ne peut pas faire scroller l'écran
vers le haut, seulement vers le bas, en appuyant sur la flèche_bas
ou sur la barre d'espace).
Vous pouvez continuer à explorer encore un peu le disque dur. Profitez-en pour remarquer que Linux fait la distinction entre majuscules et minuscules. Si vous tentez de lancer un programme nommé "Xconfigurator" en tapant "xconfigurator". Remarquez aussi qu'on peut donner des noms longs aux fichiers et que les fichiers cachés sont ceux dont le nom commence par un point.
Pour terminer et nous changer un peu les idées, explorons un
peu plus le disque dur (!), toujours à partir du compte "toto",
pour éviter une fausse manipulation qui serait dramatique, mais
cette fois-ci d'une façon plus conviviale:
On peut pour cela soit retourner dans l'environnement graphique, et
essayer un programme du genre Xfm, soit lancer par la commande "mc" le
programme "Midnight Commander", s'il faisait partie des utilitaires de
la distribution.
Alors pourquoi toute cette visite en mode texte, vous demandez-vous ? Parce que, si c'est vous qui devez gérer votre système, vous aurez sans doute très vite besoin de savoir faire ce genre de choses.
Quand vous aurez fini, n'oubliez pas d'éteindre Linux proprement,
à partir d'une cession "root". Par exemple en faisant:
alt+F5
(ou alt+shift+F5 si vous êtes sous Xwindow)
login: root
password: xxxxxx
halt