GUIDE DE SURVIE DU DÉBUTANT SOUS LINUX

 

Toutes les informations sont données sous toutes réserves : une erreur, une faute de frappe, ou un cas particulier peuvent avoir été oubliés et avoir des conséquences fâcheuses. Toutes les opérations que vous ferez sur votre machine sont sous votre entière responsabilité. Je ne suis pas l'auteur de cette page, je ne vous serais donc que d'un faible secours en cas de besoin !

N'oubliez pas non plus les deux commandes de base man et info. Il suffit de taper « info commande_inconnue ». L'utilisation d'info est un peu complexe au début. Quelques astuces : faire défiler la page : <Espace>. Page suivante : « n » (next). Page précédente : « p » Ouvrir un chapitre : « m <Entrée> ».

Pour plus de détails : « man man » et « info info ».

-------------------------------- 

Où suis-je ?

Normalement, après une installation réussie, Linux tourne, mais sans utilisateur défini. Vous devez voir une invitation à taper votre identifiant (login). L'utilisateur principal s'appelle "root" (racine) (Ne pas confondre avec le répertoire racine, à l'origine de toute l'arborescence des fichiers!) Tapez "root", puis validez. Ensuite, on vous demande un mot de passe (password). Inventez en un (si ce n'est déjà fait lors de l'installation), tapez le une fois, puis confirmez.

A ce moment, vous êtes logé en tant que root. Vous êtes sur une console , dans un "shell", c'est à dire un interpréteur de commandes (La tendance des distributions modernes est de vous démarrer directement le mode graphique). Vous devez voir une invite se terminant par # (spécifique du super-utilisateur). Cette invite est souvent représentée par "%" dans les docs. Il est bien évident qu'il ne faut pas reproduire ce signe lorsque vous tapez une commande.

Quelques exemples de commandes :

"date" (ne pas taper les guillemets !)

"factor 12" factorise 12

"cal", "cal 12 1999" ou "cal 2000" : et voilà des calendriers !!

« echo 2+3|bc » doit vous renvoyer « 5 ». Pas besoin de calculette. Marche aussi comme ceci : « echo $((2+3)) ».

  

J'ai du courrier

     Généralement, vous trouverez le message « you have new mail » dès votre connexion. Pour voir votre courrier, tapez tout simplement : « mail ».

Vous verrez une liste de messages. Pour en lire un, tapez son numéro, puis « entrée ». Pour le détruire : « delete le _numéro ». Quitter : « q ».

Plus de détails : « man mail ».

Ces messages sont dans le fichier /var/spool/mail/news. Par la suite, vous pourrez faire pointer votre client mail graphique sur ce répertoire pour les lire plus confortablement.

  

Les messages de démarrage ont défilé trop vite ! Je voudrais les relire.

 "dmesg". Ça défile encore trop vite ! J'ai raté le début !

Pas de panique : "dmesg|less", puis les flèches haut et bas. "q" pour quitter. Vous venez de faire une commande très puissante : un tube (pipe). La redirection du résultat de dmesg vers le programme d'affichage less.

Plus simple : essayez la combinaison <Maj-PageHaute>. Vous devriez vous retrouver dans le texte au dessus de la ligne de commande (la simple flèche haute vous aurait rappelé les dernières commandes).

Vous pourrez lire plein d'informations sur la version du noyau, les disques, les ports série ou le driver de carte son...

D'autres infos hyper intéressantes : lisez donc /var/log/messages. Pour ne voir que la fin (ce qui vous intéresse) : "tail /var/log/messages". Encore mieux : voir les messages système en temps réel :"tail -f /var/log/messages" (« Ctrl-c » pour quitter). Cette commande est hyper-intéressante lorsque vous êtes confronté à un problème inexplicable : path erronné...

D'une manière générale, il y a beaucoup d'informations intéressantes dans /var/log.

Attention !

Pendant le boot, vous verrez parfois le message indiquant que le disque a été mounté un nombre maximal de fois et que la vérification est forcée (« disk has reached maximal count - check forced »). La machine s'arrête alors un certain temps. N'éteignez surtout pas. Attendez simplement que la vérification du disque soit terminée. Cette vérification se fait automatiquement tous les X démarrages. L'intervalle peut être changé avec tune2fs.

 

 

Je n'arrive plus à démarrer MS-Windows !

 

Linux étant bien élevé, il permet le démarrage des autres OS, mais comme sa bonne éducation a des limites, il se paramètre comme OS par défaut.

Si vous utilisez lilo, vous devez voir au démarrage s'inscrire sur l'écran "LILO boot:". A ce moment, appuyez vite sur <Tab>. S'il s'inscrit "dos" ou « windows », ou quelque chose comme ça, c'est que lilo connaît votre partition dos, et en tapant "dos" à l'invite, dos/windows démarrera.

Si l'installation automatique de lilo n'a installé que Linux, éditez le fichier /etc/lilo.conf/.

Vous devriez y trouver quelque chose comme ceci :

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

vga=normal

default=linux #changer si vous voulez windows par défaut

keytable=/boot/fr-latin1.klt # vous permet de taper avec le bon clavier déjà installé.

prompt

timeout=50 #temporisation avant le démarrage automatique

message=/boot/message # message intéressant à afficher

other=/dev/hda1 #la partition win.

label=windows # c'est le nom qui apparaît pour booter windows.

table=/dev/hda

image=/boot/vmlinuz

label=linux # c'est le nom qui apparaît pour booter linux.

root=/dev/hda3 # la partition linux.

initrd=/boot/initrd.img

append="" #options possibles

read-only

Rajoutez les lignes nécessaires, enregistrez, puis tapez « lilo » pour que les modifications soient prises en compte.

(pour en savoir plus :"man lilo").

 

Astuce : pour redémarrer automatiquement en mode Windows depuis Linux avec lilo, tapez « lilo -R windows;reboot », en supposant que « windows » est bien le nom que vous avez donné comme nom de démarrage de Windows.

 

Autre astuce : si votre système ne boote plus (ou Windows a effacé Lilo en se réinstallant), démarrez à partir d'une disquette ou d'un cdrom, montez votre partition racine dans un répertoire quelconque du système provisoire, réparez votre /etc/lilo.conf si nécessaire, puis tapez « lilo -r le_répertoire_quelconque ».

Si vous voulez être moderne, lilo a un successeur en la personne de chos. 2 avantages : il est plus joli et on n'a pas besoin de taper de texte pour choisir son OS : sélection avec les flèches. Il se configure à la main (dans /etc/chos.conf) ou avec vchos. Attention à avoir une disquette de boot sous la main; parce que chez moi, ça fait un joli kernel panic sur une machine.

Si vous voulez être puriste, utilisez GRUB, le boot loader 100% GNU. La sélection se fait également dans un menu.

Si vous utilisez loadlin, un utilitaire qui vous permet de lancer Linux à partir de DOS, la question ne se pose pas.

 

 

Linux ne trouve que 15 ou 64 Mo de mémoire vive

 

...et j'en ai davantage !

Cela se détecte par la commande "free".

Si votre mémoire reste limitée à 64 Mo, vous devez lancer Linux à partir de Lilo en tapant « linux mem=128M ». Pour automatiser la chose, éditez le /etc/lilo.conf et rajoutez dans la section qui lance Linux la ligne

« append « mem=128M » » (ne tapez que les guillemet qui encadrent mem). Enregistrez et tapez « lilo ».

Autre piège : les PC dont le BIOS permet le trou de mémoire entre 15 et 16 Mo (pour certaines vieilles cartes graphiques ISA ou VESA). Si vous activez cette fonction, Linux ne trouvera que 15 Mo.

 

 

Je veux faire une disquette de secours

 

Essayez "mkbootdisk". Si ce programme est présent sur votre machine, vous êtes sauvé. (en fait : "mkbootdisk --device /dev/fd0 2.2.15 " si votre lecteur de disquettes est le premier et que vous avez une copie du noyau en /boot/vmlinuz-2.2.15)

Au prochain boot, introduisez la disquette avant de démarrer (à condition que votre BIOS soit bien réglé pour le boot sur disquette), et à l'invite de LILO, tapez "rescue" pour démarrer sur la disquette, ou "linux" pour démarrer sur le disque dur (tout ceci concerne RedHat).

Pour faire une copie binaire exacte (génération de disquette d'installation) : "dd if=fichier_sur le disque_dur of=/dev/fd0" (if=input file, of=output file).

Je crois que la disquette de boot ne fonctionne pas si vous avez un disque UDMA 66.

 

 

Quelles commandes peuvent faire quelque chose ?

 

Les principales commandes sont dans /bin, /sbin (les commandes du chef), /usr/bin, /usr/sbin, /usr/X11R6/bin et /usr/local/bin. Allez donc voir les noms des fichiers qui y sont présents ("cd /bin", puis "ls"). Si vous aimez l'aventure, tapez un nom qui sonne bien. Si ça ne donne rien, tentez "man macommande". Ça peut vous donner plein de renseignements.

Mieux : tapez une lettre au hasard, puis 2 fois sur <Tab>. Vous verrez apparaître toutes les commandes commençant par cette lettre. Ceci n'est pas valable dans tous les shells. connaître votre shell : "echo $SHELL".

Pour lancer une commande, mieux vaut la faire suivre de & si son action doit être permanente. Cela permet de la lancer en tâche de fond et de ne pas mobiliser une console ("updatedb &"). Attention ! La fermeture de la console fermera la programme. L'espace avant le & est facultatif.

Si vous voulez récupérer l'usage d'une console occupée par un programme, tapez <Ctrl z>, puis "bg" (background). Votre programme retournera à l'arrière plan, d'où il n'aurait jamais du partir. Pour le ramener en avant plan :"fg".

Sinon, les principales commandes (il y en a entre 1000 et 2000 sur un Linux moyen) sont "ls" (liste des fichiers=dir sous DOS), "cd" (change directory), "cp" copie un fichier, "mkdir" (make directory), "rm" =remove ("rm -rf monrépertoire" efface un répertoire plein), "rmdir" (enlève un répertoire vide), "mv" =move, déplace ou renomme ("mv ancienfichier nouveaufichier "), "vi" (édite ou crée un fichier texte), "find", "whereis" ou "locate" (recherche de fichier), "grep " (recherche de chaîne dans les fichiers),"chown" (changement de propriétaire), "chmod" (changement des autorisations à un fichier), "tar " pour (dés)archiver, "gzip " pour (dé)zipper, "bzip2 " quand c'est zipppé en bz2, "ln -s " crée un lien symbolique ("ln -s fichiercible lien) ", "cat", qui envoie quelque chose vers quelque part (l'écran par défaut), et bien sûr "man" (manuel) et « info » .

Pour man, tapez "man lacommandequejeveuxconnaître". Si vous ne connaissez pas le nom de la commande qui fait ce que vous voulez, tapez "makewhatis" (une fois pour toutes), puis "man -k lemotcléquejecherche". Quand vous aurez KDE2, tapez en URL de Konqueror « #lacommande ». La page man ou info s'affichera dans Konqueror avec des liens hypertexte. On n'arrête pas le progrès.

La commande "locate" (recherche de fichiers) est un peu particulière : elle s'appuie sur une base de données remise à jour la nuit (!) grâce au système anacron. Si vous voulez forcer la mise à jour : "updatedb". Les recherches sont ensuite beaucoup plus rapides et faciles (pas besoin de caractères joker). Cette base de données est en fait le fichier /var/lib/slocate/slocate.db (normal, c'est un fichier variable).

À l'inverse, si vous voulez connaître l'emplacement exact d'une commande : « type la_commande ».

 

 

Quelques astuces pour taper dans le shell bash :

 

En mode Emacs (vérifiez par « set -o).

<Tab> : complète la commande

<CTRL-U> : efface tout ce qui est a gauche du curseur

<CTRL-A> : début de ligne.

<CTRL-E> : fin de ligne (merci à T. Stoehr)

<CTRL-W> : efface le mot à gauche du curseur

<Esc B> ou <Alt-B : recule d'un mot

En mode vi (« set -o vi ») : utilisez les commandes de vi pour activer un mode commande ou un mode insertion.

Autres astuces: « man bash ».

 

 

Les utilisateurs

 

Linux est multi-utilisateurs. Même si vous êtes seul, il est indispensable de créer au moins un compte utilisateur. La raison en est simple ; le chef (root) peut tout faire, y compris planter la machine (par exemple en dézippant un fichier dans un disque plein) ou tout effacer ("rm /*" au lieu de "rm *"). Les puristes vous diront même qu'il est déconseillé de lancer X sous root (car X accède au matériel, et a le pouvoir de tout bloquer, ce qu'il ne se gène pas pour faire).

Vous verrez que pour effectuer les commandes, il est facile de lancer le compte "root" sans avoir besoin de quitter votre compte utilisateur.

"adduser duduche". Cette commande crée en même temps un répertoire /home/duduche (noté ~/ dans les docs), dans lequel Duduche aura ses fichiers. Les autres (les membres du groupe, ou tous les autres) ne pourront pas les lire ou les modifier, sauf s'il leur en donne le droit. En fait, "adduser" est un script qui appelle "useradd" et crée en plus le home du nouvel utilisateur.

Le /home/duduche contiendra à sa création un certain nombre de fichiers cachés (commençant par "."), qui pourront être édités selon les besoins. Ces fichiers sont des copies de ceux contenus dans /etc/skel. Si vous voulez faire des modifications qui concerneront tous les nouveaux utilisateurs (wm par défaut, alias, path ...), éditez plutôt ces fichiers (en tant que root).

Les utilisateurs sont enregistrés dans /etc/passwd.

Sans autre précision, ils appartiennent au groupe par défaut, appelé "users". (Il y a 3 niveaux de droits : lire, écrire et exécuter, pour trois niveaux d'utilisateurs : moi, le groupe, et tous, soit 9 combinaisons possibles pour un fichier).

Si votre commande "adduser" (ou "useradd") ne fonctionne plus, vérifiez s'il n'existe pas un /etc/pwd.lock, et détruisez le ("rm /etc/pwd.lock").

Retirer un utilisateur et tous ses documents : « userdel -r duduche ».

Quels sont les utilisateurs actuellement connectés ? "who".

 

 

Les groupes

 

Créer un groupe : "groupadd le_nouveau_groupe". Ce nouveau groupe est maintenant enregistré dans /etc/group.

Ajouter l'utilisateur bebert au groupe nouveau_groupe : " gpasswd -a bebert nouveau_groupe"

Identifier les groupes auxquels appartient l'utilisateur : "groups bebert"

Changer un fichier de groupe : "chgrp groupe-cible fichier". Ce n'est possible que si le propriétaire qui lance la commande appartient aux 2 groupes (source et cible).

 

 

Les droits

 

Si vous faites un "ls -l" sur un fichier quelconque, vous verrez des détails insoupçonnés sur votre fichier :

-rw-r--r-- 1 bebert users 231473 nov 2 1998 snapshot02.gif

le premier tiret signifie qu'il s'agit d'un fichier simple (remplacé par d pour un répertoire)

viennent ensuite 3 groupes de rwx (r=read, w=write, x=execute). Le premier concerne le propriétaire (u=utilisateur), de deuxième concerne le groupe et le troisième le reste du monde. Le cas classique est le fichier sur lequel l'utilisateur a tous les droits, le groupe seulement la lecture et le reste du monde rien du tout. Cela donne "rwxr-x---".

Pour tout compliquer, il existe un équivalent chiffré :

Le premier groupe de lettres rwx correspond aux centaines, le deuxième aux dizaines et le dernier aux unités.

Dans ce système, r vaut 4, w vaut 2 et x vaut 1

Dans notre exemple, rwxr-x--- vaut 750.

Si vous voulez attribuer vous-même des propriétés, faites "chmod 777 le_fichier_que_je donne_a_tout_le_monde".

Pour compliquer encore plus, il existe des bits qui donnent des caractères particuliers aux fichiers :

Le setuid, qui donne les droits du propriétaire à un autre utilisateur.

Exemple : faites « ls -l /usr/bin/passwd ». Le résultat donne :

-r-s--x--x 1 root root 22656 oct 24 1999 /usr/bin/passwd*

Vous constatez un « s » dans les droits utilisateurs. Cela signifie qu'un utilisateur quelconque peut utiliser ce programme et obtenir le même résultat que s'il était root, c'est à dire écrire dans le fichier /etc/passwd, réservé au root. Les changements peuvent se faire mar « chmod +s », ou « chmod g-s », ou toute commande adaptée à vos besoins. Attention ! Un fichier setuid root est un gros trou de sécurité.

Enfin, le sticky-bit (t) permet d'empêcher l'effacement d'un fichier, même situé dans un répertoire ouvert à tous.

Plus de détails : « man chmod ».

 

 

Comment changer de console virtuelle (sans avoir lancé X Window)?

 

En mode console, tapez <Alt-F2>, et, miracle, vous voyez une nouvelle console apparaître. Vous pourrez y lancer le même compte, ou celui d'un autre utilisateur. Ça marche généralement jusqu'à F6.

Pour revenir sur votre premier compte, tapez <Alt-F1>. Vous venez de réaliser une chose impossible sur les OS grand public habituels : lancer plusieurs utilisateurs simultanément. Vous voyez que ça valait le coup d'installer Linux !

Pour info, maintenant que vous êtes un simple utilisateur, votre invite se termine par $.

 

 

Comment changer d'utilisateur?

 

"logout" ou <Ctrl-d> quitte votre compte actuel. Sinon, lancez un deuxième terminal par <Alt-F2>, et répondez à la demande de login. Vous pourrez rebasculer sur la première console par <Alt-F1>.

Pour passer provisoirement en mode super-utilisateur sur la même console : "su". Pour passer provisoirement sur un autre compte non root : "su autreutilisateur". Cette possibilité est très intéressante : vous lancez un utilisateur normal pour votre travail ordinaire, et, si vous avez besoin de faire un réglage : "su ". Si vous voulez aller directement dans le répertoire du chef en devenant le chef, "su -". Si vous voulez devenir un utilisateur ordinaire : "su - bebert". Si vous oubliez le "-", le système refusera de changer d'utilisateur au motif que vous êtes dans le répertoire du chef.

Attention ! Si vous êtes passé de duduche à Bebert par « su - Bebert », ne repassez pas à duduche par « su », mais par « logout » (=<Ctrl-d>) ou « exit ».

 

 

Comment changer de mot de passe ?

 

"passwd duduche" sous root ou "passwd" tout court sous le compte de duduche.

 

 

Ma commande est inconnue (ou ne fonctionne pas) !

 

Attention aux majuscules et aux minuscules, aux espaces, aux tirets et aux points (Syntaxe habituelle : "commande espace tiret option espace fichier_source espace fichier_cible").

Une commande qui fonctionne ne renvoie souvent rien. Vous n'aurez un message au prompt que si la commande échoue.

Sinon, la commande n'existe peut-être pas, ou alors elle n'est pas dans le chemin de recherche (le PATH). Cherchez la déjà par un "find / -name macommande" (vous avez droit aux jokers : « '*' » remplace tout plein de caractères, « '?' » en remplace un et un seul). Si elle existe, mais pas au bon endroit, tapez la avec son chemin entier : "/usr/local/bin/macommande" par exemple, ou bien "cd /lerepertoireoùestmacommande", puis "./macommande" (contrairement à DOS, le répertoire courant n'est pas dans le path, il faut taper "./"). Sinon, enrichissez le path (dans /etc/profile).

Pour voir le PATH : "echo $PATH".

Pour enrichir le path : "PATH=nouveaupath:$PATH". N'oubliez pas": $PATH" sinon le path que vous vouliez rajouter remplace l'ancien et toutes vos commandes deviendront inopérantes. Pour l'enrichir définitivement, éditez le fichier /etc/profile.

Autre possibilité, le fichier existe, mais n'est pas exécutable. Faire "chmod +x monfichier". Ou bien, il ne vous appartient pas. Demandez un chown ou un chmod au root.

Encore plus fort (il faut reconnaître que Linux n'a pas son pareil pour nous compliquer la vie) : si la commande se situe sur un disque mounté sans les droits d'exécution (ce qui est la valeur par défaut), ça ne marche pas. Éditez le fichier /etc/fstab et rajoutez-y "exec" sur la ligne du disque. Pour vérifier les droits d'un disque mounté, tapez « mount ». S'il est mounté avec le valeur « default », la commande devrait vous renvoyer « noexec ».

De plus en plus fort : si le cdrom est gravé en Rockridge, seul le root peut y accéder, sauf si ...vous rajoutez "norock" au /etc/fstab (vous n'aviez pas deviné tout seul ??).

Si le /etc/fstab vous rebute, vous pourrez vous rabattre sur un programme graphique comme kfstab, bientôt en standard.

Vous pouvez récupérer les commandes précédentes par la flèche haute. C'est quand même plus facile que de tout retaper ! Les 500 dernières commandes sont dans ~/.bash_history. Astuce : pour ne pas farfouiller 1/4 d'heure dans les dernières commandes, tapez "!debutdelacommande" (ex: "!mou"). Cela vous tapera automatiquement la commande complète telle que vous l'avez tapée la dernière fois (ex "mount -t iso9660.....").

Encore plus fort : la recherche incrémentale inverse : Tapez « Ctrl-r ». Un prompt spécial apparaît. Ensuite, saisissez un morceau de la commande souhaitée. Dès la première lettre saisie, le shell fait automatiquement la recherche dans l'historique et vous propose en temps réel la dernière commande complète comportant cette lettre. Complétez avec d'autres lettres si nécessaire.

Autre possibilité : la commande « history » affiche l'historique des commandes. Un tube, et vous atteignez facilement la commande recherchée : « history|grep un_morceau_de_l_ancienne_commande ».

Plus vicieux : si vous tentez d'effacer un fichier qui commence par "-", son nom sera considéré comme une option. Vous pouvez faire "rm -- -lenomdufichier" ou "rm ./-lenomdufichier".

 

 

Les répertoires, comment ça marche ?

 

Faites "ls", et vous avez la liste des fichiers et répertoires du répertoire courant (dans notre exemple, "ls" dans /home donne "duduche").

Pour voir les fichiers cachés : "ls -a". (ils commencent par un point).

Pour avoir des détails : "ls -l" vous donne le propriétaire et les droits, et sur quoi ils pointent si c'est un lien. Astuce : "ls -l monfichier" donne les caractéristiques d'un seul fichier.

Vous voulez différencier les différentes sortes de fichiers ? "ls --color". Vous voulez que, durant cette session, votre "ls" soit toujours en couleurs ? "alias ls='ls --color'". Attention aux quotes (apostrophes bizarres qui s'obtiennent par « <AltGr-7> » sur un clavier Français).Vous voulez que votre alias soit activé pour toutes les sessions ? Insérez le dans /etc/bashrc.

Votre écran n'est pas assez grand pour voir tous les noms? Faites un tube : "ls|less" ou "ls|more".

Pour changer de répertoire : "cd duduche"" vous amène dans le répertoire duduche, lui-même situé dans le répertoire courant. Sinon, tapez le chemin complet : "cd /home/duduche".

Pour remonter d'un niveau : "cd .."(ne pas oublier l'espace). Plus simple : « s » pour supérieur comme alias sur certaines distributions (Mandrake).

Pour retourner chez soi (home) : "cd" tout court.

Pour aller au répertoire précédent : « cd - ». Idéal pour faire des allers-retours entre deux répertoires.

Copier un fichier : "cp fichiersource fichiercible" fait une copie du fichier fichiersource au fichier fichiercible. "mv fichiersource fichiercible" remplace fichiersource par fichiercible (permet les changements de nom ou d'emplacement).

Changer la date d'un fichier : « touch -m 05041020 fichier_a_changer_de_date » attribue le 4 Mai à 10 h 20 à votre fichier.

 

 

A quoi servent tous ces répertoires ?

 

C'est un gros problème lorsque l'on débute sous Linux : les arborescences varient d'une distribution à l'autre. Si vous disposez d'un bouquin sur Slackware et d'une Redhat sur votre micro, il faudra "traduire" les chemins (la commande "find" sera utile !!).

Grossièrement :

-/bin et /sbin : programmes exécutables de base.

-/dev : les périphériques. Un certain nombre de ces fichiers sont des liens symboliques vers les vrais fichiers utilisés par le système : /dev/mouse > /dev/ttyS0 (souris com1) ou /dev/psaux (souris ps2), /dev/cdrom >/dev/hdb (cdrom IDE), /dev/modem > /dev/ttySX... Cela permet aux applications de ne pas se préoccuper du système : les appels aux périphériques sont redirigés aux bons endroits.

Si vous avez besoin de créer un descripteur : commande mknod (maniement compliqué, et rarement utile pour une utilisation de base).

-/usr : les exécutables ordinaires (/usr/X11R6/bin), les sources (/usr/src) et leurs librairies (/usr/lib)

-/var : des fichiers de taille variable. On y trouve souvent des paramétrages et des librairies de programmes.

-/etc : les paramétrages : fstab pour les systèmes de fichiers, inittab pour le script de démarrage (runlevel=5 pour le démarrage en mode graphique), dosemu.conf, wine.conf, lilo.conf (pour paramètrer le mode de démarrage de LILO : délai, nom du noyau à lancer par défaut en premier...), /etc/rc.d/rc.local pour les programmes à lancer automatiquement au démarrage, /etc/rc.d/rc.serial pour les paramétrages du port série...NB : les distributions non basées sur Red Hat sautent le répertoire rc.d.

-/lib : les bibliothèques (librairies) utilisées par les programmes.

-/proc : vous n'avez rien à y faire. Permet entre autres de connaître les ressources utilisées par les différents périphériques (mémoire, irq, DMA)

-/boot : dans Redhat : le noyau (directement dans la racine sous Slackware). Il s'appelle vmlinuz (noyau compacté) ou kernel-2.x.xx. ou n'importe comment d'autre, pourvu que ça corresponde au paramétrages du système de boot (lilo ou chos).. Si vous bootez par loadlin (depuis dos), ne cherchez pas le noyau ici, il est sur la partition DOS.

-/root : le home du super-utilisateur

-/home/xxx : les répertoires personnels des utilisateurs.

-/mnt : les disques que vous voulez rattacher à votre arborescence : /mnt/cdrom, /mnt/floppy... Notez que, si ça vous chante, vous pouvez les mounter n'importe où ailleurs et sous n'importe quel nom (ce que font certaines distributions : /cdrom et /floppy).

Attention, il y a des pièges ! Tout plein de répertoires portent le même nom, mais avec un chemin différent (bin, lib, etc et d'autres). Lorsque vous repérez un fichier important, notez en le chemin par écrit (du moins au début).

 

 

Je ne sais pas éditer les fichiers de paramétrage

 

Pas de problème : "vi /etc/monfichierquejeveuxmodifier" (prononcez "vi-aïe").

Si le nom est correct, vous trouverez un texte plein d'explications, précédées par des # (non exécutées). Sinon, vous trouverez un fichier vide, que vous venez de créer.

Pour être sûr de bien taper les noms de fichiers, laissez linux faire ! Tapez "vi /etc/monf <tab>". Si le fichier est le seul à commencer comme ça, le nom va se compléter tout seul. Magique, non ? Ça marche aussi pour les commandes (Ça s'appelle l'auto-complétion).

Encore plus simple : si vous avez surligné le nom du fichier trouvé par un "locate" ou un "ls", un simple clic sur le bouton central de la souris (ou les boutons D et G si vous avez accepté cette émulation pour une souris 2 boutons) fait un superbe "coller".

Pour toute modification, commentez la ligne à modifier ("#"), puis recopiez la avec vos paramètres. Vous pourrez plus facilement revenir à la version précédente si ça ne marche pas. Autre méthode, les copies de secours des fichiers, souvent automatiques (terminaison ~)

vi vous fait peur ? C'est vrai qu'il est plutôt moche, mais il marche très bien, même quand rien ne marche. La plupart du temps, vous pouvez vous en sortir avec 4 commandes seulement :

Pour écrire : <Esc> puis "i" (=mode insertion). Dans certaines versions, la touche <inser> marche pareil. Pour effacer : <Esc> puis "x" (ou la touche <Eff> en mode insertion, parfois). Pour quitter sans sauver : « <Esc>: q! ». Pour quitter en sauvant : « <Esc>: wq! » (ou « <Esc><Esc>x ») -Attention, ces commandes se tapent l'une à la suite de l'autre.

Si vous avez accroché à ces commandes, en voici quelques autres :

Copier / coller une ligne : <Esc> puis <Maj-y> puis <p>. Le <Maj>, ou le redoublement de la lettre s'applique à la ligne entière.

Effacer une ligne :<Esc> puis "dd".

Aller en fin de ligne : « $ ». Début de ligne : « 0 »(zero).

Astuce : ne retapez pas <Esc> à chaque fois. Il suffit que vous soyez en mode commande pour enchaîner toutes ces commandes.

Chercher un mot : "/lemotquejecherche". occurrence suivante : « n ». Pareil avec less ou man. Vous avez un historique des recherches avec la flèche <Haut>.

Toujours pas convaincu ? Alors lancez Midnight Commander ("mc"), il contient un éditeur de fichiers compréhensible. MC fonctionne aussi bien en mode console et est présent sur à peu près toutes les distributions. De plus, il sait travailler avec les fichiers zip, tar, gz, rpm et même HTML.

Sinon, essayez emacs, puis sous X, kedit, gnotepad et plein d'autres.

Encore plus simple :

"echo lacommandequejerajoute >> lefichierquejerenseigne"

 

 

Trouver une chaîne de caractères :

 

« find repertoire_ou_je_cherche -name '*'|xargs grep la_chaine_que_je_cherche »

 

 

Je voudrais lire mes fichiers de paramétrage (et les autres) depuis MS-Windows

 

Il ne faut plus utiliser fsdext2 , mais explore2fs ,programme composé d'un seul fichier pour win 9x ou NT, et qui se lance sans aucun paramétrage et qui n'interfère pas avec votre autre système. Ensuite, vous pouvez voir (et éventuellement écrire) vos fichiers texte avec notepad ou wordpad (mieux), vos fichiers gif ou jpg ou parcourir les arborescences.

 

 

Je ne trouve pas mon cdrom !

 

Et pourtant, il fonctionne, puisqu'il m'a servi à installer Linux.

Normal. Il n'est pas mounté (=Attaché, pour parler français). Vous pouvez le vérifier en tapant "mount " qui vous donne la liste des disques mountés.

Il faut créer un répertoire, dans lequel apparaîtra le cdrom lorsqu'il sera mounté. La plupart des distributions créent un répertoire /mnt/cdrom ou /cdrom. S'il y en a un, utilisez le.

Au prompt, tapez :

"mount -t iso9660 /dev/cdrom /mnt/cdrom" (ou bien "/cdrom" selon le répertoire que vous aurez créé).

Si vous n'obtenez pas de message d'erreur, faites "cd /mnt/cdrom", puis "ls" ou "ls /mnt/cdrom", et vous devriez voir le contenu du cdrom.

Pour éjecter le cdrom, sortez du répertoire de montage, quittez toutes les applications lancées depuis ce répertoire, puis faites "umount /mnt/cdrom", puis appuyez sur le bouton d'éjection du CDROM (ou tapez "eject").

Astuce : « umount /mnt/cdrom && eject ». Le && vérifie la réussite de la première commande. Une astuce à réutiliser dans d'autres circonstances.

Si ça ne marche pas, il faut vérifier l'existence de "/dev/cdrom" ("ls -l /dev/cdrom"), qui n'est rien d'autre qu'un pointeur vers /dev/mondisque (par exemple /dev/hdb pour un cdrom monté en 2° sur la première nappe ide (généralement D sous dos), ou /dev/scd1 : 2° scsi)

Une fois que tout ça marche, faites "vi /etc/fstab".

Vous devez voir une ligne qui concerne votre cdrom, du genre :

"/dev/cdrom /mnt/cdrom iso9660 noauto,ro,user 0 0"

Le iso9660 est le système de fichiers standard des cdrom. "noauto" signifie que le cdrom ne sera pas mounté automatiquement au démarrage de Linux, "ro" signifie "lecture seule" (read only). Pensez à y rajouter "exec" si vous voulez que l'on puisse exécuter les programmes directement.

Si vous n'avez pas de /dev/cdrom, il est bon d'en créer un par "ln -s /dev/lebondisque /dev/cdrom".

Si vous avez un /dev/cdrom, mais qu'il pointe sur un mauvais disque, détruisez le sans pitié (« rm /dev/cdrom »), puis recréez en un bon (commande précédente).

Une fois le fstab correctement renseigné (sans avoir besoin de rebouter), il suffira de taper "mount /mnt/cdrom", et le tour sera joué.

Si vous êtes malin, créez un petit fichier de texte (disons "mountcdrom") contenant :

#!/bin/bash #cette ligne renseigne le système sur votre interpréteur de commandes

mount /mnt/cdrom

Rendez le exécutable ("chmod +x mountcdrom"). Une fois sous X, un clic sur ce fichier ou son raccourci mountera le cdrom. KDE et Gnome font ça en mode graphique. Ce truc peut être appliqué à n'importe quelle autre commande.

Sous Redhat en mode graphique, le control-panel peut écrire le /etc/fstab à votre place et faire les mountages (méfiez vous de la commande "format", qui formatte, donc efface les disques sans prévenir !!). Kfstab le fait très bien aussi.

Attention ! Le mountage n'est possible que si vous ne vous trouvez pas dans le répertoire où vous voulez mounter ("device is busy"). Il peut exister des fichiers dans le répertoire de mountage, mais ils seront inaccessibles tant que le disque est mounté.

L'état de mountage des disques est enregistré dans /etc/mtab. Vous n'avez pas à y toucher.

Pour que les utilisateurs ordinaires puissent mounter le cdrom, vous devez rajouter "users" (le nom du groupe par défaut) et "unhide" à la ligne "cdrom" du "fstab".

Ça donne : "/dev/cdrom /mnt/cdrom iso9660 noauto,ro,users,unhide". Tant que vous y êtes, "exec" et "norock" peuvent servir.

Encore un piège : si vous avez mal booté (en général par loadlin à partir de win95), votre cdrom peut ne pas être détecté par le BIOS (voir dmesg). Dans ce cas, relancez loadlin à partir de dos, ou boutez à partir de LILO.

Dernier piège : le mountage n'est possible que si le système de fichiers utilisé (iso9660) est connu du noyau. Si le message d'erreur indique "file system non supported by kernel", recompilez ou lancez le module ("modprobe isofs")!

 

 

Disque dur

 

Disque UDMA 66

Vous allez avoir un problème dès l'installation.

Dès le début (Mandrake), passez en mode expert. Tapez : « linux ide2=0xac00,0xb003 ide3=0xb800,0xbc03 » (ces valeurs sont valables pour une BE6).

Ensuite, dites que vous avez du SCSI, et retapez la même chose. Votre disque apparaîtra comme hde (Les 4 premières lettres sont réservées aux 4 premiers connecteurs IDE). (D'après Xavier, sur fcolc).

NB : j'ai eu beaucoup de courrier sur cette installation. Il semble que ça ne marche pas vraiment. Il semble que la Mandrake 7.1, à sortir, et la SuSE 6.3 et + intègrent le support DMA 66 nativement.

Autre possibilité, installez votre disque avec une nappe IDE simple, installez Linux, recompilez le noyau avec le support UDMA 66.

 

 

Optimiser l'accès 32 bits UDMA

 

La plupart des distribs réglent l'accès disque dur sur 16 bits.

Vous pouvez vérifier avec la commande : « hdparm -c /dev/hda «

Le débit obtenu peut être vérifié par : « hdparm -t /dev/hda »

Vous forcez l'accès 32 bits par : « hdparm -c 1 -d 1 /dev/hda » (manoeuvre inverse : mettre 0 au lieu de 1).

Vérifiez le nouveau débit. Chez moi, je passe de 3.29 MB/sec à 12.55 MB/sec. Ça vaut le coup, et ce n'est pas cher.

Tant que vous y êtes, mettez carrément « hdparm -c 1 -d 1 -k 1 /dev/hda » dans un fichier de démarrage, comme /etc/rc.d/rc.local.

Attention ! Ces manipulations sont dangereuses, particulièrement le mode DMA. Elles peuvent sur certaines machines ralentir les accès, ou totalement corrompre le disque ou la table de partitions. Faire une sauvegarde générale avant !!

 

Le swap

     Les commandes sont mkswap et swapon. Plus de détails : notre copain man.

Astuce : si vous avez 2 disques, mettez le swap sur l'autre disque. Vous accélérerez nettement le système (un disque lit pendant que l'autre écrit).

 

 

Je ne trouve pas ma disquette !

 

Pareil que le cdrom. La différence est le nom (fd0), et le type de fichier : vfat pour le format win95, ext2 pour le format Linux (ex : « mount -t vfat /dev/fd0 /mnt/floppy »).

Pour formatter une disquette : "mkdosfs /dev/fd0" pour DOS ou "mke2fs" pour linux. Sinon, les outils en mode graphique de X.

Pour DOS, vous pouvez aussi installer les mtools, et taper les commandes standards de DOS en rajoutant "m" devant ("mcopy", « mformat a: »...)

Pour copier un fichier vers la disquette : "cat monfichier >/dev/fd0" (le signe ">" fait une redirection).

Le fichier est plus gros que la disquette ? Ce n'est pas grave ! Faites « tar cvMf /dev/fd0 mongrosfichier » (rajoutez « z » si vous voulez la compression en plus ; le M signifie multi et l'ordre des lettres n'a pas d'importance). Suivez les instructions. (La disquette ne doit pas être mountée et n'a pas besoin d'être formattée). Ne vous affolez pas si, ensuite, vous ne pouvez pas mounter ces disquettes.

Pour restaurer les données : placez vous dans le répertoire de destination (« cd le_rep »), et lancez « tar xvMf /dev/fd0 » avec la disquette n°1 dans le lecteur. Rajoutez « z » pour dézipper le cas échéant, ou « y » pour du bz2. Suivez ensuite les instructions.

Autre possibilité : la commande split pour couper un fichier en rondelles : « split -b 1400k fichier_a_couper nom_final ».

Pour restaurer : « cat nom_finala > fichier_a_couper », puis « cat nom_finalb >> fichier_a_couper ».

ATTENTION ! Sur les PC, il faut umounter la disquette avant de l'éjecter si elle était mountée !!

Astuce ! pour formater bas niveau une disquette : « fdformat /dev/fd0H1440 ». Faites ensuite un formatage haut niveau normal.

Re-astuce ! pour formater des disquettes à plus de 1,44Mo :

« mknod /dev/fd0H1600 b 2 125 »

« mknod /dev/fd0H1680 b 2 44 »

« mknod /dev/fd0H1722 b 2 60 »

puis « fdformat /dev/fd0H1680 » par exemple.

Formatez haut niveau ensuite.

(astuce glanée sur fr.comp.os.linux.configuration)

 

 

Je n'arrive pas à umounter le cdrom ou la disquette

 

Quittez les programmes que vous avez lancés en étant placé dans le répertoire de mountage. Placez vous plus haut dans l'arborescence (cd ..).

Vous avez peut-être lancé un programme ou X en étant placé dans le répertoire de mountage. Dans ce cas, quittez le programme ou X, quittez le répertoire et vous pouvez umounter.

Pour savoir qui se sert de votre cd rom :

"fuser -vm /mnt/cdrom/"

Pour savoir quel est le processus qui l'utilise : « lsof ».

Pour le démonter en force :

"fuser -kvm /mnt/cdrom/" (tue les process qui accèdent au répertoire).

Si un autre ordinateur a mounté votre disque par NFS, il faudra d'abord qu'il le démonte, puis le démonter en local par "umount -avt nonfs /mnt/cdrom". Autre possibilité (moins élégante) : arrêter NFS.

Autre possibilité : une opération est en suspens (par exemple une écriture sur la disquette, faite provisoirement dans un cache), et le seul fait de fermer un xterm ou un file manager (par exemple kfm) ne réalise pas l'écriture. Il faut alors revenir dans le répertoire monté, et en sortir proprement pour obliger l'opération à se terminer. Vous pouvez également forcer les écritures en suspens sur le disque avec la commande « sync ».

Encore une possibilité : si votre cdrom est monté automatiquement au démarrage et qu'il est présent dans le tiroir, vous ne pourrez pas le démonter (ce qui peut être un avantage si vous ne voulez pas qu'on vous le vole). Pour éviter cet ennui dont l'origine est difficlile à déterminer, rajoutez « noauto » dans le /etc/fstab ou bien démarrez sans cdrom dans le tiroir.

Pour gagner du temps, tout ce qui le veut bien peut être démounté d'un seul coup en tapant simplement « umount -a ».

Pour démonter et éjecter un une seule opération : « eject » (si le démontage est possible).

 

retour - sommaire