Cours Linux-Mandrake 8.1




Table des Matières











1)PRÉSENTATION DE LINUX

2)INSTALLATION DE POSTES SOUS LINUX MANDRAKE 8.1 3)PREMIER LANCEMENT;MAIS QUE FAIT'IL ???

4)NOTIONS GÉNÉRALES 5)INTERFACE GRAPHIQUE 6)UTILISER LE SYSTÈME 7)GÉRER LES LOGICIELS ET LES DONNÉES 8)GÉRER LE SYSTÈME



9)ANNEXE; Licence de cette documentation



















LINUX MANDRAKE 8.1

Installation et utilisation

par Jean-Sébastien HUBERT

dernières modifications le vendredi 12 avril 2002
























  1. 1)PRÉSENTATION DE LINUX


Définition de Linux;

Linux est un système d'exploitation multi-utilisateurs et multitâche qui peut être installé sur plusieurs plates-formes différentes (Intel, Apple, DEC, Sparc, etc.).

Il est conforme à la norme POSIX et peut fonctionner sans problèmes avec d'autres systèmes d'exploitation comme Apple, Microsoft et Novell.

Le système d'exploitation Linux est libre. Il peut être copié et redistribué gratuitement.

Le code source est également disponible pour tous de la même manière.

Source:Linux Magazine France mai 2001

site: http://www.linuxmag-france.org


Définition d'une distribution;

Une distribution Linux est un regroupement de Logiciels (libres ou non) gravitants autour de Linux

Les distributions actuelles inclus des procédures d'installation simplifiées, une gestion des logiciels, un support technique.

Les distributions sont principalement composées de logiciels libres (sous licence G.P.L ou L.G.P.L) et sont en grande majorité librement téléchargeables sur Internet.

Les « packs » vendus dans le commerce ajoutent des logiciels propriétaires ainsi qu'un support technique et une documentation papier.


Linux est sous Licence G.P.L version 2 (General Public License) disponible ici; http//www.gnu.org

Cette licence permet la libre redistribution des sources et vous OBLIGE à redistribuer le logiciel au moins sous forme de sources si vous souhaitez vous aussi diffuser le logiciel concerné.

Selon cette licence, il vous est interdit de redistribuer uniquement des binaires, les sources du logiciel modifié doivent pouvoir être obtenus gratuitement par toute personne en faisant la demande (le plus souvent sous forme de fichiers à télécharger ), ainsi le logiciel libre se diffuse sans perte de droits pour quiconque.





















  1. 2)INSTALLATION DE POSTES SOUS LINUX MANDRAKE 8.1

Avec ou sans la présence d'un autre système d'exploitation et sur plate-forme i586


Si un autre système est installé;


Si Windows95/98/Me/NT4/2000/XP est installé sur votre machine, vous avez plusieurs solutions pour installer Linux;

a/ Vous possédez PartitionMagic ou un autre logiciel de gestion de partitions.

Dans ce cas, réduisez la partition Windows pour laisser de la place sur votre disque dur.

b/ Vous n'avez rien du tout :-(

Si votre partition est formatée en Fat/Fat32, défragementez votre disque dur puis opérez un scandisk sur celui-ci et vous pourrez ensuite commencer l'installation de Linux.

Si votre partition est formatée en NTFS , votre seule alternative est ... d'obtenir un utilitaire de partitionnement qui peut réduire ce type de partition. Le logiciel PartitionMagic à partir de la version 4 sait faire cela mais c'est un outil payant.


Note; Une fois que l'installation de Linux sera achevée, le lancement de Windows et Linux sera géré par LILO ou GRUB (utilitaires de lancement pour Linux).



  1. 2.1/ Démarrez...

... la machine à partir du CD-rom N°1 de Linux-Mandrake. Un invité graphique

doit apparaître.

Appuyez sur ENTER pour démarrer l'installation ou F1 pour obtenir un mode spécial (installation en mode texte, démarrage d'urgence etc.)




Si le cd-rom ne veut pas se lancer, vous devrez modifier dans les réglages de votre BIOS l'ordre de lancement des périphériques (disquette puis cd-rom puis disque dur).

En fait, le Bios cherche à lancer un système dans un ordre prédéfini (d'abord il cherche dans le lecteur de disquette, puis soit sur le disque dur soit sur le cd-rom) et il arrive que le système à lancé soit d'abord recherché sur le disque dur, d'ou l'intérêt de modifier les réglages du BIOS pour qu'il cherche en premier lieu sur le Cd-rom.

Il arrive aussi qu'aucun système ne puisse être lancé du cd-rom.

Dans ce cas, il va falloir créer une disquette qui aura pour rôle de lancer le cd-rom (voir la méthode d'installation depuis Windows ci-après).


Sous Dos,

Solution 1; Sans créer de disquette de démarrage et en supposant que le cd-rom est identifié par la lettre D, faites;

C:\ > D:

D:\ > cd dosutils\autoboot

D:\dosutils\autoboot\ > autoboot.bat


Solution 2; en supposant que le cd-rom est nommé D, faites;

D:\> dosutils\rawrite.exe -f images\xxxxx.img -d A

xxxxxx.img peut être;

cdrom.img, dans ce cas, l'installation aura lieu depuis le cd-rom.

network.img, l'installation se fera via le réseau, évidemment il vaut mieux avoir une connexion haut-débit ou être très très très patient (et avoir des actions chez France-Telecom).

other.img, installation avec des pilotes bizarres.

pcmcia.img, installation à l'aide de cartes pcmcia.

Démarrez ensuite avec la disquette en laissant le cd-rom1 dans le lecteur.


Sous Windows,

Après avoir inséré le cd-rom, explorez celui-ci et allez dans le répertoire dosutils.

Lancez ensuite le programme nommé « rawwrite.exe ». Cet utilitaire va vous permettre de transférer une image sur une disquette.



Insérez une disquette vierge.

Choisissez « Ouvrir » à partir de rawwrite et sélectionnez l'image nommée d:\images\cdrom.img (en considérant que la lettre D représente le lecteur de cd-rom)

Une fois l'image écrite sur la disquette, redémarrez avec celle-ci en laissant le cd-rom dans le lecteur.


  1. 2.2/ Questions préliminaires

Le programme va vous solliciter pour la langue à employer ainsi que la classe d'installation: Recommandée ou Expert (celle qui est décrite dans ce cours chapitre).

Choisissez « Expert ».

Il vous sera demandé si vous possédez des périphériques SCSI. Cette question est posée uniquement pour que vous puissiez en ajouter manuellement, notamment si le programme n'en a pas détecté.

En cas de doute, faites confiance au système (enfin... pas trop quand même:).

Ensuite viendra la configuration de la souris.

Si vous possédez une souris à molette et que pendant les essais, le curseur «part dans tous les sens», essayez de toucher la molette, ceci règle le problème (sauf si vous avez choisi la mauvaise souris).

Si votre souris n'est pas listée et qu'elle possède une molette, dans la plupart des cas celle-ci fonctionne parfaitement en choisissant le modèle « souris standard à molette ».

Vous aurez ensuite à choisir le type de clavier: Ce choix vous sera proposé en rapport avec la langue d'installation.

Vous devez ensuite choisir le niveau de sécurité.

On y distingue trois degrés;Faible, Moyen et Élevé.

Le niveau Faible est l'équivalent du niveau de sécurité par défaut de WindowsNT, c'est à dire très très faible. Par exemple, les utilisateurs pourront explorer le répertoire du voisin, ce qui pose dans le cas d'une machine multi-utilisateurs un vrai problème de confidentialité mais qui, pour une machine de bureau, n'est pas un problème primordial.

Le niveau Moyen est bien plus sécurisé, dans ce cas un utilisateur n'aura pas accès au répertoire personnel d'un autre et les droits seront mieux répartis; le système ne sera modifiable que par le super-utilisateur et par lui seul.

Le niveau Élevé est adapté soit aux paranoïaques (et on ne l'est jamais assez) soit à une installation type serveur. Dans les autres cas, le degré Moyen est un choix judicieux.


  1. 2.3/ Partitionnement du Disque Dur

L'utilitaire de Mandrake, nommé DiskDrake vous permet de créer des partitions de tout type. Sachez que Linux peut être installé sur des partitions formatées en Fat/Fat32 mais pas NTFS (WindowsNT4/2000/XP).

Noms des périphériques de stockage sous Linux

Linux nomme différemment les disques durs et autres périphériques de stockage par rapport à Windows.

Par exemple, un disque dur sera nommé C, D ou E par Dos/Windows alors qu'il s'appellera hda1 ou hdb2 sous Linux.

En fait les noms de périphériques sous attribués de façon rigoureuse;

hd signifie « périphérique IDE » et ils sont ensuite classés par nappe.

hda signifie « périphérique appartenant à la nappe IDE1 ».

hda2 signifie « partition 2 du périphérique appartenant à la nappe IDE1 ».

Par exemple, votre premier disque dur IDE s'appellera hda, sa première partition hda1 .

Si vous avez un second disque sur la même nappe, il se nommera hdb etc.

Cela s'applique à tout périphérique IDE (Zip interne, Cd-rom/DVD-rom).

Concernant les périphériques SCSI, le nom attribué a pour schéma sd au lieu de hd ( sda1 sdc2 etc.)


Choix du Système de fichier

Il est vivement conseillé d'opter pour le système de fichiers natif de Linux; Ext2fs.

Ext2fs est un système de fichier qui permet de profiter des avantages qu'offre Linux en matière de sécurité concernant les accès aux fichiers et répertoires (droits utilisateur, groupe, propriétaire, sticky bit, etc... )

Notez que si vous possédez un gros disque dur et que vous n'appréciez pas les « scandisk » interminables, vous pouvez utiliser non pas Ext2 mais Ext3 ou ReiserFS.

Ces autres systèmes de fichiers ont un avantage par rapport à Ext2, ils sont « journalisés » c'est à dire que lors d'un arrêt brutal de la machine (panne de courant etc.), seuls les données en cours d'utilisation lors de l'arrêt seront vérifiées et non la totalité du disque comme cela est le cas avec Ext2.

La principale différence entre ces deux autres systèmes de fichiers est d'ordre technique;

ReiserFS;

Quotas très difficiles à mettre en place

Problèmes de pertes de données lorsque le disque est plein

Les ACL ne sont pas supportés.

Excellentes performances en écriture


Ext3;

Passage d'Ext2 à Ext3 très facile

Support des ACL

Quotas disponibles


On remarque d'après les divers tests disponibles sur Internet que ReiserFS est très bien adapté à des serveurs faisant beaucoup de lecture/écriture mais qu'il montre de grandes faiblesses dès qu'il s'agit d'une utilisation courante (Quotas, ACL, compatibilité Ext2).

Il est possible que quelques informations soient erronées notamment du fait que ces deux systèmes de fichiers évoluent mais aujourd'hui, si vous souhaitez un système de fichier journalisé, mieux vaut opter pour Ext3.


Sur un système ayant un disque dur de faible capacité (<10Go), le système de fichier journalisé n'a pas grand intérêt, préférez Ext2fs. Mais pour un serveur ayant des disques de grandes capacités, les systèmes de fichiers journalisés sont une nécessité.


Création des partitions

Vous devez avoir au minimum 2 partitions; L'une pour la «racine» notée « / » (prononcée slash) et l'autre pour la partition d'échange nommée Swap.

Il est cependant conseillé d'avoir 3 voir 4 partitions;

La partition de Swap d'une taille de 128 à 256 Mo, généralement le double de la mémoire vive.

La partition / qui est la racine du système.

La partition /home qui contient des données personnelles de chaque utilisateur travaillant sur le poste.

La partition /usr qui contient la quasi-totalité des logiciels installés par la distribution.

En cas de problème (réinstallation du système, corruption du système de fichier ), vous aurez moins de risque de pertes de données en ayant 4 partitions faites comme indiquées ci-dessus.

Après avoir créé le type de partition (type Swap pour la partition d'échange, type ext2 pour les autres), cliquez sur TERMINER.



Le programme d'installation va vous proposer de formater et de vérifier les bloques défectueux. En cas de réinstallation du système, ne formatez que la racine « / » et non /home ou /root (si vous tenez à vos données, évidemment:-). Pour une première installation, formatez et faites une détection des bloques défectueux.

L'installation va ensuite commencer, vous verrez apparaître les noms des logiciels copiés sur le disque dur.

Pour une installation de Linux Mandrake 8.1, celle-ci peut varier de 500 Mo (système minimum mais assez complet ) à 2.5 Go (installation de la totalité des packages).


  1. 2.4/ Grandes classes d'installation

Depuis Linux-Mandrake8.0, le choix des paquetages à installer est plus efficace, vous pouvez choisir entre plusieurs grands groupes de paquetages parmi;

Station de travail bureautique, Jeux, Multimédia, Internet, ordinateur réseau (client), Configuration, Applications scientifiques, Utilitaires console, Développement, Documentation, Web/Ftp, E-mail GroupWare News, Base de données, Firewall-routeur, Dns-Nis, Serveur Réseau, Station de travail KDE, Station de travail Gnome, Autres environnements de bureau.


Si vous cochez par la suite la case « Sélection individuelle des paquetages », vous pourrez obtenir un résumé de chaque logiciel ainsi que le sélectionner ou non pour l'installation.

Notez que si par la suite, vous voulez installer la sélection des paquetages sur un autre poste, vous pouvez enregistrer ce choix sur disquette (icône « Charger/Sauvegarder sur disquette »).

Une fois vos choix terminés, lancez l'installation des paquetages :)



  1. 2.5/ Allez boire un café (ou faites une pause)

Sur un PC 400Mhz 192Mo de mémoire, l'installation des trois cd-roms (2.5 Go de logiciels installés) de la version de téléchargement a duré 50 minutes. Évidemment, sur un PC plus puissant ou avec moins de paquetages, le temps peut considérablement varier.


  1. 2.6/ Mot de passe ROOT

Conseils;

C'est une étape indispensable qui a causé le plus grand malheur de certains.

ROOT est l'équivalent de l'administrateur système sous WindowsNT mais sa puissance va même plus loin. En effet le système ne vous interdira jamais rien (même l'effacement du noyau ! Ou d'un fichier soit-disant verrouillé pour ne pas être effacé ).

Selon le niveau de sécurité que vous avez choisi, le système sera plus ou moins exigeant et n'hésitera pas à vous le rappeler vivement.

On ne le répétera jamais assez mais le mot de passe pour ROOT ne doit pas être facile à trouver. Pas de code comme 123456 ou AZERTY, il doit être un mélange de minuscules, de majuscules et de chiffres.

TRES IMPORTANT;

Le compte ROOT ne doit être utilisé QUE POUR LA MAINTENANCE et JAMAIS

pour une utilisation quotidienne. En effet les pouvoirs sont si grands qu'en cas de fausse manipulation ou de blague (faire un « rm -rf / » en ROOT efface la totalité du système sans vous demander confirmation, c'est d'ailleurs un blague bien connue... imaginez que vous ayez accès à une partition Windows... celle-ci y passera aussi, si elle est montée évidemment ).

Et personne n'est à l'abri d'une telle catastrophe, absolument personne, et encore moins les professionnels :-)

Deplus, si vous travaillez quotidiennement en ROOT, il se peut qu'un jour un script anodin cache de méchantes surprises (formatage de vos partitions, crash du disque dur etc.). La sécurité au quotidien parait lourde et peu importante jusqu'au jour où le pire vous arrive.

Utilisez toujours un compte utilisateur, ceci est certes un peu plus embêtant mais il constitue le premier pas vers une bonne sécurisation.

Autre exemple; un virus. Si celui-ci est exécuté en ROOT, tout est permis. Mais si il est lancé avec les droits d'un utilisateur, les dommages resteront locaux (d'où l'intérêt de faire des sauvegardes du système de façon régulière ).

Durant l'installation, après la copie des paquetages, une boite de dialogue va apparaître pour vous demander le mot de passe de ROOT ainsi que la méthode d'authentification.

Concernant la procédure d'authentification, choisissez les fichiers locaux (les mots de passe se trouverons dans le fichier /etc/shadow)


  1. 2.7/ Ajout de nouveaux utilisateurs

Étant donné que le compte ROOT doit être réservé uniquement aux taches de maintenance de votre ordinateur, créez dès maintenant un ou plusieurs compte utilisateurs.

Par la suite, il sera tout aussi facile d'ajouter/retirer des utilisateurs mais comme cela vous est proposé à l'installation, prenez le temps de les créer.


  1. 2.8/ Configuration du réseau

Avant toute chose, sachez que les Winmodems (cartes modems internes PCI) ne sont pas ou très peu supportés par Linux car les constructeurs ne fournissent pas les pilotes de périphériques pour Linux.

Dans les autres cas, l'utilisation de modems, cartes réseau, modems USB Adsl ou Câble ne devrait pas poser de problèmes particuliers.

Évitez tout de même les cartes sur port ISA, elles doivent être configurées « à la main ».



Nous prendrons ici le cas d'une connexion en réseau local.

Sélectionnez « Connexion LAN ».

Le programme devrait ensuite détecter votre carte réseau et vous donner le modèle.

Il procédera ensuite à un test de celle-ci.

Vous aurez ensuite à donner les renseignements classiques comme l'adresse IP, le masque Réseau, le mode d'obtention de l'adresse IP (statique, bootp ou dhcp), le nom de la machine, le DNS, la passerelle etc.

Dans le cas de réseaux gérés par des serveurs WindowsNT avec DHCP, il se peut que ce serveur ne fournisse pas (pour une raison inconnue...) l'adresse de la passerelle et des DNS: dans ce cas il faudra les entrer « à la main ».


  1. 2.9/ Résumé et configuration de l'imprimante

Après la configuration du réseau devrait apparaître un résumé des choix concernant le clavier, le type de souris etc.

C'est à ce point de l'installation que vous pourrez configurer votre imprimante.

Pour configurer votre imprimante, vous avez le choix entre trois types de serveurs; CUPS (Common Unix Printing Sytem), LPD (Linux Printing Deamon) et LPRng (LPR new generation). Nous ne parlerons pas de « Print Don't Queue » qui signifie littéralement « imprimer sans mise en file d'attente ».

Le choix peut sembler inutile pourtant ces trois serveurs sont relativement différents.

CUPS est très utilisé pour gérer des « pools d'impression », entendez par là que lorsque vous souhaitez imprimer un document, vous envoyez votre requête vers le pool d'impression et la première imprimante libre faisant partie de ce « groupe » prendra en charge d'imprimer votre document.

Le grand avantage de CUPS est qu'il peut être entièrement configuré via un navigateur web (adresse: http: //Adresse _De_La_Machine:631 ).

LPD est un ancien serveur d'impression qui, même si il est relativement peu gourmand en ressources, va être à terme remplacé par CUPS ou LPRng.

LPRng est une évolution du serveur LPR de Berkley. Il est flexible, très polyvalent, possède toutes les fonctions de CUPS mais la simple vue de la documentation ferait fuir n'importe quelle personne ayant autre chose à faire.

Bref, si vous souhaitez un serveur d'impression mono-poste ou réseau, mieux vaut opter pour CUPS; facile à installer, disposant d'une interface Web pour la configuration/administration et d'une foule d'autres outils d'administration (QTcups pour ne citer que lui).


Lorsque vous aurez choisi le serveur d'impression, il vous sera demandé le type d'imprimante, sa connexion (câble parallèle, réseau, via Samba) puis vous reviendrez au résumé afin de confirmer votre choix.


  1. 2.10/ Configuration des services au démarrage

L'avantage de Linux par rapport à Windows est qu'il n'est pas nécessaire de redémarrer la machine à chaque modification du système.

Les « services » ou « démons » sont le plus souvent des scripts qui activent à la demande des programmes.

Avant le premier démarrage, vous aurez la possibilité de choisir les démons à démarrer.

N'hésitez pas à faire un tri dans ces services, certains n'étants pas nécessaires pour l'utilisation que vous souhaitez faire de Linux.






Voici une liste de quelques services;

Les services propres à la Distribution Mandrake sont en italique.


ADSL: activation des scripts de connexion/déconnexion à l'ADSL

ANACRON: Gestion de tâches programmées si la machine n'est pas active en permanence.

APMD: Pour les ordinateurs portables, ce service surveille l'état des batteries et peut arrêter la machine en cas de batteries faibles.

CROND: CRON Deamon sert à la gestion des tâches programmées si la machine est active en permanence.

CUPS: Serveur d'impression CUPS configurable via une interface Web.

FETCHMAIL: permet de recevoir son courrier électronique à intervalles réguliers en utilisant les protocoles POP3 et IMAP4.

GPM: permet l'utilisation de la souris en mode console et autorise le «copier-coller» vers ou en provenance d'un terminal.

HARDDRAKE: Outils permettant de configurer de nouveaux périphériques.

HTTPD: Ce n'est rien de moins que le très connu serveur Web Apache

IPCHAINS: Utilisé pour la gestion du FireWall dans les noyaux de la branche 2.2, pour plus d'infos consultez la page man correspondante.

IPTABLES: idem qu'IPCHAINS mais utilisé pour la série des noyaux 2.4.

KEYTABLE: Configuration du clavier.

KHEADER: Régénération du header /boot/kernel.h

LINUXCONF: Ce démon reconfigure de temps à autre le système pour qu'il soit en accord avec les réglages de Linuxconf.

LPD: Serveur d'impression d'ancienne génération.

LPD est progressivement remplacé par CUPS (Common Unix Printing System ).

NAMED: Utilisé comme «serveur» de nom, il transforme un nom en adresse IP, il s'agit ici de BIND.

NETFS: Monte et démonte les partitions type NFS (Network File System ), Samba (SMB), et NCP (Netware).

NETWORK: Activation/arrêt des interfaces réseau.

NUMLOCK: Active le pavé numérique.

PORTMAP: Le portmappeur gère les connexions type RPC utilisées par NFS (Network File System) et NIS (Network Information Service), indispensable si la machine doit être le serveur gérant ces protocoles.

POSTFIX: Agent de transport de courrier électronique (MTA;Mail Transport Agent) pour l'échange d'emails entre machines, équivalent de Sendmail mais plus facilement configurable.

PROFTPD: Serveur FTP. Sa configuration est relativement simple et il permet de mettre en place un serveur bien sécurisé et souple. Il est vivement conseillé d'utiliser ProftpD en lieu et place de wu-ftpd qui lui est bien moins souple et dont la réputation est entachée par de trop nombreuses failles de sécurité. Ce serveur peut très bien se passer d'Xinetd pour tourner.

RANDOM: Pour une meilleure génération de nombres aléatoires, indispensable:-)

RSTATD: démon utilisé par Rstat; permet d'obtenir les performances d'une machine sur le réseau.

RUNSERSD: Le protocole Rusers permet aux utilisateurs de connaître tous les utilisateurs connectés et ayant des stations supportant ce protocole.

RWHOD: Protocole pour obtenir la liste des utilisateurs connectés sur une même machine depuis un poste distant (même chose que Finger). RWHOD doit tourner sur la machine cible.

SENDMAIL: Le Mail Transport Agent le plus connu au monde et le pire à configurer.

SOUND : Lance le chargement du module son. Sur les Mandrake actuelles (à partir de la version 7.1 ) ALSA est utilisé et donne des performances identiques à celles obtenues sous Windows (et même parfois meilleures:-).

SQUID: ce service est un proxy. Facile à mettre en place et performant.

SSHD: Serveur OpenSSH (shell sécurisé). Il se pose en remplaçant des services tel telnet, ftp etc.

L'avantage de SSH est qu'il peut encapsuler n'importe quel protocole dans un tunnel crypté.

SYMPA: Serveur de liste de diffusion. Il existe d'autres serveurs tel que Majordomo ou le très célèbre Mailman.

SYSLOG: Ce service est très important, en effet c'est lui qui s'occupe de gérer les messages provenant d'autres services. Il devient rapidement indispensable ne serait-ce que pour être informé de tel ou tel problème, de telle connexion, tentative d'intrusion. C'est un système central de réceptions de données (stockées dans /var/log/* ).

USB: Utilisé pour charger les modules USB.

WEBMIN: Outil d'administration à distance par interface Web. Il permet de configurer de façon très complète un système Linux quelque soit la distribution.

XFS: X Font Server; serveur de polices pour X; si vous voulez avoir une interface graphique il est INDISPENSABLE d'avoir ce service actif à moins que vous ayez configuré les chemins des polices dans le fichier /etc/X11/XF86Config (XFree3.3.6) ou /etc/X11/XF86Config-4 (Xfree4.x.x).

XINETD: c'est un service important même si il est possible de s'en passer, en effet c'est lui qui autorise ou non l'accès à FTP, TelNet, POP, UUCP etc... Il primordiale de bien configurer ce service avant toute mise en réseau pour des problèmes évidents de sécurité. Dans le cas contraire il vaut mieux ne pas activer ce service.

Il gère des services comme WU-ftp; Serveur FTP configurable facilement via Linuxconf etc...


Cette Liste de services n'est pas complète et peut varier considérablement selon la classe d'installation et la distribution (Mandrake, Debian, Slackware, RedHat etc...).

Chaque distribution a ses « petites » habitudes. Par exemple Mandrake incorpore depuis la version 7.1 les très performants modules son ALSA.


IMPORTANT;

Lorsque vous effectuez des modifications de configuration, par exemple fermer l'accès FTP de votre machine, il est nécessaire de « redémarrer » le service.

Pour cela, assurez-vous d'avoir les droits suffisants et dans une console ou un Xterm

faites;

service proftpd stop

la syntaxe de service est la suivante ;

service <NomDuService > Action Action peut être; start , restart ou stop.


  1. 2.11/ Disquette de démarrage

Ayez toujours le réflexe de faire une disquette de démarrage, elle vous permettra d'amorcer le système si le chargeur de démarrage situé sur le disque dur est effacé.

Cette disquette est primordiale si vous installez Linux en cohabitation avec d'autres systèmes d'exploitation.

Prenez la précaution de tester cette disquette pour vous assurez de pouvoir lancer le système avec.

Notez que les systèmes comme MS Windows98 ont tendance à écraser le Master Boot Record lors d'une réinstallation.


  1. 2.12/ Chargeur de démarrage

Les chargeurs de démarrage servent ni plus ni moins qu'à lancer le noyau Linux ou d'autres systèmes déjà installés (BeOS, Windows9x/NT, OS/2 etc...). Le plus connu et le plus utilisé de ces chargeurs est LILO (LInux LOader), il permet de démarrer Linux avec quelques paramètres comme le temps avant lancement, une protection par mot de passe, choisir le noyau à lancer, la RAM à prendre en compte, la partition active, le niveau d'exécution etc...

Il existe bien d'autres chargeurs, dont GRUB.

Celui-ci s'avère parfois indispensable si LILO ne peut démarrer le système pour une raison ou pour une autre (d'o ù l'intérêt d'avoir préalablement créé une disquette de démarrage).


Comme vous pouvez le voir sur l'image ci-dessous, vous avez le choix entre trois chargeurs;

Grub, Lilo mode graphique et Lilo mode texte.

même si cela est « moins beau », je recommande de mettre soit Grub soit Lilo en mode texte.

Pourquoi ne pas utiliser le mode graphique?

Réponse; lent et vraiment inutile même si cela est très joli.

L'avantage du mode texte est qu'il est clair et concis mais c'est une simple histoire de goût.

Si vous voulez installer LILO en mode graphique, notez bien que pour ajouter des paramètres au lancement, il faut presser la touche ESC à l'invité de démarrage.


C'est à ce niveau (image ci-dessus) que vous allez configurer le chargeur pour qu'il puisse démarrer un autre système d'exploitation si il y en a un.

Par défaut, si Windows95/98/Me sont installés, ils sont automatiquement inclus dans les systèmes à démarrer. Mais pour WindowsNT (4/2000/XP), ce n'est pas certain selon que la partition concernée est formatée en Fat32 ou Ntfs.

Pour y remédier, validez à ce menu. Vous aurez ensuite un autre menu vous permettant de configurer non plus le nom du chargeur mais ce qu'il va démarrer (c'est un instant cruciale de l'installation même si le système fait les 95% du travail pour vous).



L'image ci-dessus vous montre la boite permettant d'ajouter/retirer des systèmes.

Si vous remarquez qu'un autre système d'exploitation ne s'y trouve pas et qu'il doit y être, cliquez sur « Ajouter » et remplissez les champs demandés (périphérique de démarrage, alias).

Si, par exemple, vous avez installé Windows2000 précédemment, il se trouve certainement sur la première partition (/dev/hda1 ou /dev/sda1 selon l'architecture de votre ordinateur).

Si vous ne savez pas, retournez à « Partitionnement des disques », DiskDrake vous permet d'obtenir le nom des partitions. Pour y retourner, cliquez sur l'étoile verte correspondante au partitionnement.

Note; « linux-nonfb » signifie « lancer linux sans frame-buffer », linux démarrera alors en mode texte.


  1. 2.13/ Configuration de Xwindow

Xwindow est le système graphique de Linux, celui-là réuni la gestion de votre carte graphique, l'accélération 2D/3D et des API (interface pour les applications).

Xwindow se charge de transmettre les informations provenant de votre clavier, de votre souris etc...

Il est aussi très axé réseau. En effet, vous pouvez obtenir l'affichage généré par une station sur l'écran d'une autre.

Contrairement à des systèmes comme Windows ou MacOS, Xwindow n'est pas « monolithique », en effet celui-ci n'inclus pas de gestionnaire de fenêtres ou de « bureaux », ce n'est pas un environnement pour l'utilisateur, contrairement à un système comme Windows.

C'est pourquoi Linux est si riche; libre à vous de choisir votre propre gestionnaire de fenêtres (Enlightenment, Sawfish, Kdm, WindowMaker etc.), votre environnement (Gnome, KDE, KDE2 ).

L'installation de Xwindow ne pose pas EN THÉORIE de problèmes, sauf évidemment si votre carte graphique n'est pas supportée.

Les Cartes les plus connues (ATI, Matrox, Nvidia) sont très bien supportées et certains constructeurs (Nvidia, Matrox) contribuent et/ou fournissent les drivers pour Xfree4.1 directement sur leur site respectif.

Si votre carte ne semble pas supportée, choisissez un pilote « SVGA », celui-ci marche dans 95% des cas. Il sera toujours tant ensuite de trouver le bon pilote ou serveur X sur le site Web du constructeur de la carte.

La liste des constructeurs de cartes fournissants les pilotes pour Xfree86; Nvidia, Matrox.

Toutefois, les cartes ATI sont supportées mais vous n'obtiendrez pas les mêmes performances notamment en 3D.

L'installateur vous demandera de tester votre carte en fonction de la résolution, du nombre de couleurs.

Fait nouveau, vous pouvez choisir entre Xfree3.3.6 et Xfree4.1

La différence est de taille car Xfree4.1 apporte l'accélération 2D/3D en natif, il est plus modulaire (un driver=un module) et vous permet de profiter des drivers « closed source » fournis par les constructeurs tels que Nvidia (pour les TNT, GeForce ) qui sont de la même qualité que ceux développés pour les systèmes comme Windows ou MacOS.

D'un autre coté, Xfree3.3.6 supporte plus de cartes graphiques, notamment des versions plus anciennes.

Personnellement, Xfree4.1 est plus léger, plus rapide et aussi stable que Xfree3.3.6

Le passage à Xfree4.1, si votre carte est supportée, est une très bonne chose.

Note TRES IMPORTANTE concernant les pilotes NVIDIA;

Sur le site du constructeur, vous pouvez télécharger les drivers pour les cartes à base de TNT, TNT2, GeForce/2/3 etc.

D'après mes tests, ces pilotes sont très très instables lorsque l'on « permute » d'une session à une autre et peuvent complètement paralyser le noyau. Ceci est à une partie des pilotes qui se chargent en tant que modules et peuvent donc accéder directement à la mémoire utilisée par le noyau, ce qui est très dangereux sans de nombreux tests de stabilité (ce qui à l'heure actuelle n'a pas été la priorité de NVIDIA).

Pour une installation dont la stabilité prime, évitez à tout prix ces pilotes!

Les pilotes « libres » fournis par le Projet Xfree86 sont eux bien plus stables même si ils ne supportent pas aussi bien l'accélération 3D matérielle.

Mais pour une utilisation axée Jeux 3D OpenGL, les pilotes NVIDIA sont parfaits.


  1. 2.14/ Disquette d'auto-installation et fin de l'installation

Si vous devez faire une installation IDENTIQUE de Linux Mandrake sur plusieurs postes, la disquette d'auto-réplication vous permettra d'installer un système avec les mêmes options sans repasser par les divers menus; Installez Linux-Mandrake sur une machine et toutes les autres auront les mêmes réglages, c'est un gain de temps appréciable surtout si vous avez autre chose à faire:-)

Notez que pour faire cette disquette d'auto-réplication, il faut cliquer sur « Avancer » dans la dernière boite de dialogue vous signalant que l'installation est terminée (image ci-après).



A ce stade, vous pouvez aussi conserver sur disquette la liste des paquetages que vous avez sélectionné.



Vous pouvez maintenant retirer le CD (celui-ci doit être éjecté automatiquement)

et profiter de Linux :-)


























  1. 3)PREMIER LANCEMENT;MAIS QUE FAIT'IL ???


Il est important de savoir décrypter les messages au démarrage du système, et cela pour de nombreuses raisons; Vous êtes curieux, vous ne connaissez pas vraiment la machine (mémoire, disque dur, périphériques ), vous avez un problème et n'en connaissez pas la cause.

Le lancement du noyau est une source très importante d'informations et vous permettra souvent de résoudre certains problèmes.

Les logs de démarrage du kernel sont dans /var/log/kernel/ et une autre partie dans /var/log/boot.log

Vous obtiendrez par exemple la fréquence EXACTE de votre processeur, la Ram disponible, le nom et les caractéristiques des périphériques détectés, le nombre de partitions par disque, le temps qu'il fait chez vous...

Lors du démarrage, voici ce qu'il se passe;

Lancement du noyau et détection des périphériques

Montage de la partition racine en lecture seule

lancement du premier script /etc/rc.d/rc.sysinit

Message de bienvenue (Welcome to Linux Mandrake)

Chargement des polices de caractères pour la console

Affichage du niveau d'exécution (Runlevel)

Configuration des paramètres du noyau (heure, type de clavier, activation de la Partition de swap )

Vérification si le disque racine a été démonté normalement

Configuration des périphériques Plug&Play

Activation des quotas disque

Montage du disque racine en lecture-écriture

Copie de ces événements dans le répertoire /var/log

Chargement des modules

Vérification si les autres périphériques de stockage ont bien été démontés.

Activation des quotas pour les autres périphériques de stockage.

Lancement du script /etc/rc.d/rc

Ce script est chargé de lancer/arrêter les services lors du changement de runlevel mais il est aussi responsable de réglages basiques de la machine, comme déterminer son nom (hostname).

Lancement du script /etc/rc.d/rc.local

Ce script est le dernier à être lancé, il DOIT être utilisé pour y mettre vos propres réglages comme la sauvegarde de votre répertoire de travail etc.


Selon le niveau d'exécution par défaut (paramétrable par Lilo de façon manuelle ou automatique), vous arriverez soit sur un invité en mode console, soit en mode graphique.

Ensuite vous devez vous authentifier, Linux consultera le fichier /etc/shadow, contrôlera votre login , votre mot de passe et vous donnera l'accès au poste et au réseau défini.

Techniquement, l'authentification se passe comme suit;

Le programme /sbin/unix_chkpwd, qui possède les droits ROOT pour son exécution, lance une routine de cryptage non-bijectif de votre mot de passe (MD5), ensuite il consulte le fichier /etc/shadow (qui n'est disponible en lecture/écriture que pour ROOT, mais comme /sbin/unix_chkpwd a les droits ROOT pour son exécution, cela ne pause pas de problème ) et si votre mot de passe crypté correspond à celui du fichier /etc/shadow, vous serez authentifié sur la machine.











  1. 4)NOTIONS GÉNÉRALES


    1. 4.1/ Organisation de l'arborescence sous Linux

L'arborescence des répertoires sous Linux peut avoir deux aspects;

Soit elle respecte la convention FHS (Filesystem Hierarchy Standard)

Soit elle s'appuie sur une arborescence « type RedHat », Mandrake utilise ce standard.

Voici les répertoires;

/bin

/boot

/dev

/etc

/home

/lib

/lost+found

/mnt

/opt

/proc

/root

/sbin

/tmp

/usr

/var


/bin contient une partie des binaires utilisés par le shell (comme ls, df) et le shell lui-même (le plus souvent bash); ce répertoire est accessible en lecture/exécution pour tous les utilisateurs.


/boot regroupe le noyau Linux (nommé vmlinuz-2.x.x-yz) ainsi que le lien symbolique vers celui-ci (vmlinuz)


/dev comprend TOUTES les entrées de périphériques. Depuis Linux-Mandrake8.1, les entrées sont créés dynamiquement grâce à devfs.


/etc comprend tous les fichiers de configuration du système (configuration matérielle, mots de passe, groupe, paramètres des services , scripts d'initialisation etc...)


/home inclus la totalité des comptes utilisateurs, par exemple /home/toto est le répertoire de travail par défaut de toto; il possède tous les droits dans ce répertoire, et c'est dans ce dossier que sont enregistrés ses réglages locaux. Il est conseillé de mettre ce répertoire en tant que partition, ce qui permettra en cas de réinstallation du système, de sauvegarder tous les paramètres locaux.


/lib; librairies partagées et modules du noyau.


/mnt est un répertoire spécial car c'est dans celui-ci qu'apparaîtront les périphériques de stockage « montés », par exemple /mnt/floppy est vide si la disquette n'est pas montée et si celle-ci l'est, /mnt/floppy contient les fichiers présents sur la disquette.


/opt est le répertoire destiné à l'installation de logiciels « hors distribution » comme StarOffice.


/proc est un dossier utilisé pour obtenir des informations sur le système et sur sa configuration. En effet dans ce répertoire nous pouvons trouver la fréquence du processeur, les périphériques PCI détectés, des renseignements sur les contrôleurs de disque.

Beaucoup de programmes qui font appels à l'état du système (charge processeur etc...) utilisent directement ce répertoire «virtuel»


/root est le répertoire personnel du super-utilisateur ROOT (administrateur)


/sbin contient des binaires essentiels destinés au ROOT, certains sont des commandes sensibles, autant pour la sécurité générale que pour l'intégrité de la machine.


/tmp est le répertoire temporaire; Celui-ci doit avoir le bit «sticky» qui entraîne que si un utilisateur crée un fichier ou un répertoire dans /tmp, il sera le seul à pouvoir l'effacer ou le lire.


/usr contient une très grande partie du système; logiciels, librairies, binaires, Xfree etc...


/var est le répertoire qui rassemble les logs de différents services, il contient aussi la file d'impression, les données du serveur web Apache...


    1. 4.2/ Quelques définitions

Display ;

Le serveur X, comme tout serveur, admet plusieurs connexions simultanées.

L'identifiant de chaque connexion est appelé display.

Par défaut, si aucune session X n'est lancée et que vous tapez startx dans un terminal, vous allez démarrer par défaut en display:0

pour choisir le display de démarrage, voici la syntaxe;

startx -- :B B étant le numéro de display (de 0 à 4 par défaut sur une Mandrake)

On peut tout aussi bien configurer le serveur X pour qu'il accepte 10, 20 voir 60 displays simultanés (machine musclée recommandée)


Ext2fs ;

Extended File system version 2 est le système de fichier natif de Linux.

Il permet de profiter des permissions de tout Unix qui se respect (droits utilisateurs, groupe, autre etc...). Ext2 n'est pas un système de fichier journalisé et il n'a pas besoin d'être «défragmenté», contrairement au système Vfat propre à Windows9x/Me


G.P.L;

General Public licence, c'est sous cette licence qu'est distribué Linux.

Elle garantie la diffusion de Linux sous forme de code source et contribue donc à la diffusion des logiciels à code source ouvert.

Tout programme ou application utilisant un programme sous cette licence doit être redistribué sous cette même licence, ce qui entraîne une «propagation» des logiciels à code source ouvert.

Le texte de cette licence est disponible sur le site http://www.gnu.org , il existe des versions traduites mais seule la version anglaise est validée.


Kernel;

La traduction est «noyau», Linux est le noyau, rien de plus, rien de moins. C'est souvent par abus de langage que l'on nomme Linux un ensemble de logiciels gravitant autour de Linux.

Linux fait partie de la grande famille des noyaux Unix monolithiques, par opposition aux micro-noyaux, complètement modulaires (comme les *BSD ou HURD).


Lilo;

LInux LOader est un petit programme qui, lors du démarrage de l'ordinateur, permet de lancer indifféremment et avec de nombreuses options Linux, Windows, BeOS etc...

Lilo est placé dans le MBR et si un autre système est déjà installé, risque d'être écrasé. Dans ce cas, une disquette de démarrage est indispensable pour pouvoir redémarrer Linux.

Pour restaurer Lilo si celui-ci a été effacé, démarrez Linux (par une disquette), ensuite connectez-vous en ROOT et faites simplement lilo





Pid ;

Process ID; numéro attribué par linux à un programme en cours d'exécution.


ReiserFS;

Système de fichiers de plus en plus utilisé sous Linux car il est journalisé.

Ce système de fichiers est évidemment INDISPENSABLE pour les serveurs à moyenne ou haute disponibilité.

Les performances de ce système sont identiques à celles obtenues avec Ext2.

Il existe aujourd'hui d'autres systèmes de fichiers, citons Ext3, Jfs et Xfs.


Rpm;

RedHat Package Manager est un utilitaire très puissant qui permet d'installer des logiciels et de les désinstaller en toute simplicité. Le grand avantage de ce système est qu'il gère automatiquement les dépendances entre applications ainsi que les remises à jour, ce qui permet d'avoir un meilleur contrôle du système.

De nombreuses distributions Linux utilisent ce système de packages, parmi celles-ci nous trouvons RedHat, Mandrake, Suse, Conectiva.

D'autres distributions comme Debian utilisent un système très proche nommé Deb.


RunLevel;

Niveau d'exécution; il existe sous Linux sept niveaux d'exécution.

Le niveau 1 équivaut au mode «mono-utilisateur», toutes les connexions réseau sont coupées, un seul terminal est disponible. Ce niveau est utilisé en cas d'alerte grave de sécurité (intrusions multiples, tentatives de surcharge du système ).

Le niveau 3 correspond au mode «réseau et mutli-utilisateurs» sans interface graphique, utilisé lorsque la machine doit assumer la fonction de serveur et ne doit donc pas utiliser des ressources pour l'interface graphique.

Le niveau 5 correspond au mode «multi-utilisateurs, réseau, graphique», une bonne partie des ressources est utilisée pour l'interface graphique, le multimédia etc...

Le niveau 6 provoque le redémarrage de la machine.

Le niveau 0 entraîne l'arrêt de la machine.

Les autres niveaux d'exécution sont personnalisables et dépendent de la distribution.


Système de fichiers ;

Un système de fichiers est une organisation pour retrouver des données.

L'action de formater une disquette ou un disque dur entraîne que le système d'exploitation créé une organisation logique (index, découpage du disque en bloques appelés clusters).


Xwindow ;

Xwindow est l'interface graphique utilisée sous Linux.

Il permet de gérer la carte graphique ainsi que quelques fonctions de base disponibles dans la Xlib.

Xwindow est un système client-serveur, si vous désirez lancer une session X,vous devrez d'abord lancer le serveur de polices (xfs) puis vous connecter en tant que client.

Dans la pratique, Xfs est démarré en runlevel 3 et 5. Le runlevel 5 provoque aussi l'activation de l'invité graphique de login (Kdm, Gdm ou Xdm selon la configuration).

Vous pouvez tout aussi bien lancer plusieurs sessions simultanées et y accéder via les combinaisons de touches Ctrl+Alt+F7 jusqu'à Ctrl+Alt+F10.

Pour les dernières versions de Xwindow (Xfree), http://www.xfree.org









    1. 4.3/ Droits d'accès sous Linux; Répertoires et Fichiers

Linux, comme tout Unix, gère les droits d'accès sur les fichiers et répertoires.

Pour que Linux puisse utiliser de façon complète la gestion des droits, il est indispensable de l'avoir préalablement installé sur un système de fichier adapté. Tout comme WindowsNT qui ne peut pas gérer les droits d'accès avec un système de fichier FAT/FAT32, Linux doit impérativement être mis en place sur un système de fichiers de type Ext2, Ext3, ReiserFS ou Minix.

Il est évident qu'installer Linux sur un système FAT équivaut à ne pas « protéger » le système et peut donc souvent causer des catastrophes.

Nous considérerons que le système de fichiers utilisé est Ext2, Ext3 ou ReiserFS.

Pour informations, ReiserFS (au même titre qu'Ext3) est un système de fichiers journalisé, donc très bien adapté aux serveurs à haute disponibilité.

L'avantage d'un système de fichiers journalisé est qu'en cas d'arrêt brutal de la machine (coupure de courant, plantage à cause d'un problème matériel), seuls les fichiers qui étaient en cours de traitement seront vérifiés.

Dans un système de fichier non-journalisé (comme Ext2 ), la vérification des erreurs se fait sur la totalité des fichiers, ce qui provoque un redémarrage bien plus lent.


Voici une liste des principaux systèmes de fichiers journalisés supportés par Linux-Mandrake 8.1;

ReiserFS, Ext3, Xfs, Jfs.

Liste des systèmes de fichiers non-journalisés;

Ext2, Minix, Vfat.


Linux supporte le système de fichier natif de WindowsNT4/2000/Xp, c'est à dire NTFS mais seulement en lecture (cas des noyaux de Linux-Mandrake) car l'écriture provoque une corruption du système de fichiers qui a pour conséquence l'impossibilité pour WindowsNT4/2000/XP de démarrer.

Pour que vous puissiez écrire sur une partition NTFS, il faudra recompiler un noyau avec le paramètre NTFS disponible en lecture/écriture et non en lecture seule comme cela est le cas pour les noyaux fournis pour Linux-Mandrake.

Il existe aussi un projet ( http://linux-ntfs.sf.net ) qui permet de corriger un système de fichiers NTFS « corrompu » par une écriture à partir de Linux.


Les permissions de fichiers sont regroupés ainsi;

lecture-écriture-exécution pour l'utilisateur propriétaire du fichier (owner)

lecture-écriture-exécution pour le groupe propriétaire du fichier

lecture-écriture-exécution pour les autres.


Les permissions de répertoires sont regroupés ainsi;

lister-écrire-accéder pour l'utilisateur propriétaire du répertoire

lister-écrire-accéder pour le groupe propriétaire du répertoire

lister-écrire-accéder pour les autres.


bit Uid; le programme s'exécute avec les droits du propriétaire.

bit Gid; le programme est lancé avec les droits du groupe.

Sticky bit (bit s); utilisé pour le répertoire /tmp; seul le propriétaire du fichier pourra l'effacer, même si tout le monde a le droit de lire/écrire dans le répertoire qui le contient. Appliqué à un programme, celui-ci reste dans le swap après exécution.


Les droits sont en fait représentés par des nombres.

Tableau récapitulatif pour les droits sur fichiers;


Lire

Écrire

Exécution

Spécial

Utilisateur

400

200

100

Suid=4000

Groupe

40

20

10

Gid=2000

Autres

4

2

1

StickyBit=1000





Tableau récapitulatif pour les droits sur répertoires;


Lister le contenu

Écrire

Accéder au contenu

Spécial

Utilisateur

400

200

100

Suid=4000

Groupe

40

20

10

Gid=2000

Autres

4

2

1

StickyBit=1000


Le changement des droits sur un répertoire ou un fichier ne pose pas de problèmes en mode graphique (en utilisant Konqueror, Gmc ou Nautilus).

Dans un terminal par contre, vous devrez utiliser la commande chmod

Par exemple, si vous souhaitez que seul ROOT puisse utiliser la carte son de tel ou tel ordinateur vous devrez faire dans un terminal;

chmod 755 /dev/mixer

le chiffre 755 est en fait une somme des « droits », par exemple si nous voulons que le propriétaire puisse lire/écrire/exécuter, il faut additionner les chiffres 400+200+100=700

Pour que le groupe puisse uniquement lire et exécuter, il faut additionner 40+10=50

Pour que « tous les autres » puissent seulement lire et exécuter, il faut additionner 4+1=5

Pour obtenir le « nombre final », nous additionnons les droits de l'utilisateur, du groupe et des « autres », ici nous obtenons 700+50+5=755

Pour ajouter des bits (ou flags) spéciaux, il suffit de les additionner.

Par exemple, pour mettre le « Suid bit » à /dev/mixer (aucun intérêt car /dev/mixer est un périphérique et non un programme), il suffit de faire chmod 4755 /dev/mixer


Conseil;

Si vous travaillez avec deux comptes (ROOT et toto) et que de temps à autre vous copiez des données de ROOT vers toto, celui-ci ne pourra pas modifier ou même lire ce que ROOT a écrit dans le répertoire /home/toto à cause de problèmes de droits.

Pour résoudre ce problème simplement, nous allons changer de façon récursive le propriétaire des fichiers contenus dans /home/toto.

Ouvrez un terminal,connectez vous en ROOT et faites;

chown -R toto.toto /home/toto

Tous les fichiers et répertoires de /home/toto auront comme utilisateur toto et comme groupe toto, vous n'aurez donc plus de problèmes avec certains fichiers appartenant à ROOT.

Syntaxe; chown -R utilisateur.groupe répertoireAchanger


    1. 4.4/ Présentation du Shell BASH

Le shell est certainement l'outil le plus important sous Linux, grâce à lui vous aurez accès sans la moindre interface graphique à l'ensemble du système; du contrôle des processus, des ressources et de l'activité du réseau jusqu'à la configuration fine du système.

Le Shell qui fait office de standard dans toutes les distributions linux est BASH (interpréteur de commandes Boune-Again SH ell). Les bases du Shell ne sont pas indispensables pour un simple utilisateur mais elles peuvent se révéler très intéressante pour explorer ce système d'exploitation et ses avantages.

Pour obtenir le manuel complet (environ 4500 lignes, soit 80 pages format A4) et en français de bash, un simple

man bash

dans un terminal fera apparaître la documentation, certes très longue mais complète.

man bash | col -b > monfichier.txt

formatera la documentation et la copiera dans le fichier nommé monfichier.txt

Pour obtenir la liste de quelques commandes courantes, passez à la section suivantes.

Voici les caractéristiques de Bash;

Complétion des exécutables, fichiers, répertoires, variables d'environnement, noms de machines, noms d'utilisateurs.

Compatibilité SH.

Incorporation de fonctionnalités issues de Ksh et Csh.

Conformité aux spécifications IEEE pour les shells et outils Posix (IEEE 1003.2)


Complétion;

La complétion (ajouter automatiquement la suite d'un mot) s'active par la touche TAB. Ainsi, si l'on cherche tous les exécutables commençants par gnu, tapez gnu puis la touche TAB pour voir apparaître la liste des exécutables possibles.



La complétion, selon qu'il faille trouver des fichiers, des exécutables ou des utilisateurs, utilise cette syntaxe;

-pour compléter des exécutables, entrez quelques lettres puis pressez TAB.

-pour compléter des fichiers/répertoires, entrez un nom d'exécutable puis commencez à ajouter en option les premières lettres du fichier/répertoire recherché, exemple;

ls /home/moi/tm puis pression de TAB

-pour compléter les noms de machines, faites

@ puis pressez TAB

-pour compléter des noms d'utilisateurs, faire

~ (tilde) puis appuyez sur TAB

-enfin, pour compléter un nom de variable d'environnement, faites

$ (dollar) puis TAB

Évidemment, si vous ajoutez des caractères, la complétion sera plus précise.

$P puis TAB; affiche toutes les variables commençants par P.




Historique;

Bash archive en mode interactif toutes les commandes qui lui sont passées et cela afin que vous puissiez les réutiliser.

Pour se déplacer dans l'historique qui par défaut est le fichier texte nommé

votre_répertoire_personnel/ .bash_history utilisez les flèches haut et bas.

Pour rechercher une expression régulière dans l'historique, faites Ctrl+r puis entrez l'expression à rechercher.

Alias;

Cette fonction permet de complètement personnaliser et optimiser l'utilisation du Shell.

par exemple, si vous souhaitez qu'à chaque fois que vous allez entrer la commande moi des informations complètes sur vous soient affichées, faites ceci;

alias moi='echo "Informations sur moi" ;echo $PWD;echo $OSTYPE;uname -a;echo $USER'

vous obtiendrez ainsi, lorsque la commande moi sera tapée, toutes les informations ci-dessous;

votre répertoire actuel de travail, le type de machine, votre nom d'utilisateur.

Pour obtenir tous les alias, exécutez la commande alias sans argument.

pour efface un alias, lancez la commande unalias nom_de_l'alias. Dans le cas présent unalias moi effacera la commande moi.

Si vous souhaitez sauvegarder vos alias même après que vous soyez déconnecté, vous devrez ajouter la commande dans le fichier nommé /home/VOTRE_NOM_D'UTILISATEUR/.bashrc

vous verrez que plusieurs alias sont déjà définis dans ce fichier de configuration du shell.

Si vous voulez définir de nouveaux alias pour tous les utilisateurs (alias généraux), ajoutez-les dans le fichier nommé /etc/profile.d/alias.sh

Jobs;

Les « jobs » sont les processus lancés depuis le shell, pour obtenir la liste des jobs exécutés depuis le terminal en cours, lancez simplement la commande;

jobs

Les tâches peuvent appartenir à deux grandes catégories; celles qui sont lancées en premier plan, et les tâches de fond.

Pour lancer une tache en premier plan (ce qui entraîne le gèle du shell tant que la tâche n'est pas terminée) faites;

nom_de_la_tâche

Pour lancer une tâche en arrière-plan, faire;

nom_de_la_tâche &

Pour geler une tâche en premier plan, faites Ctrl+Z

Pour la débloquer, tapez fg

Pour la faire passer en arrière-plan faites bg

Pour interrompre une tâche en premier plan, faites Ctrl+C

Si vous avez geler plusieurs tâches dans un même shell, vous pouvez les faire passer en premier plan avec la commande fg %n ou n est le numéro de job (1 pour le premier job gelé, 2 pour le deuxième etc.)

De même, si vous souhaitez passer la tâche 3 gelée en arrière-plan, faites bg %3

Redirections et tubes;

les symboles < et > représentent les redirections de flux.

Pour les tubes (pipes), le caractère utilisé est |

Les redirections sont utilisées pour envoyer des données d'un endroit à un autre, que cela soit une chaîne de caractères vers un fichier etc.

Les tubes sont utilisés pour envoyer le résultat d'une commande vers une autre, par exemple afficher un texte et à travers un tube, le filtré pour extraire des chaines.

exemples;

less < /usr/share/doc/kdoc/README envoi le contenu du fichier README vers l'exécutable less

cat /dev/fd0 > /tmp/image.img envoi tout le contenu de la disquette (cat /dev/fd0) vers un fichier nommé image.img

ls -l | less envoi l'affichage de la commande de listage vers l'afficheur less.

ls -l | grep a envoi l'affichage de la commande de listage et afficher tous les fichiers/répertoires contenant la lettre a.

    1. 4.5/ Quelques Commandes

Le but de ce paragraphe est de lister les commandes shell les plus utilisées et les plus utiles.

Toutes ces commandes sont disponibles sous le shell standard de Linux; Bash

Elles sont présentes dans les répertoires /bin et /sbin

Pour tester ces commandes, lancez un terminal :-)

les commandes shell ont toutes cette syntaxe; nom_commande -o -p -q ou o,p et q sont des options pour la commande nom_commande .


adduser; ajoute un utilisateur au système

cd; (change directory) utilisée pour changer de répertoire.

df; (Disk Free) donne l'espace disque disponible pour TOUS les périphériques montés sur le système.

exit; (sortie)permet de se déconnecter d'un terminal.

halt; arrête le système.

init; pour changer de niveau d'exécution.

kill; commande pour mettre fin à un processus (il faut connaître le numéro du processus nommé PID).

killall; commande pour mettre fin à un processus (exemple; killall gnumeric) .

linuxconf; lance l'outils de configuration du système (gestion des utilisateurs, des quotas, des disques, du réseau ).

ls; (list)envoie la liste des répertoires dans la position courante.

reboot; redémarre le système

rm; (remove)efface un fichier/répertoire

passwd; change le mot de passe de l'utilisateur. Si vous êtes root, passwd user change le mot de passe de l'utilisateur user.

ps; (process)envoie la liste des processus.

pstree; (process tree)envoie la liste des processus organisés sous forme d'arbre.

rpm; commande de gestion des paquetages Red-Hat.

startx; lance l'interface graphique si le service XFS (X Font Server) est lancé.

tar; commande TRÈS utilisée, elle sert à compresser/décompresser des données.

uname; donne des informations sur le type de noyau.

userdel; efface l'utilisateur. Syntaxe; userdel nom_utilisateur .


Voici le détail de quelques commandes très couramment utilisées ;

init 0; arrêt de la machine.

init 1; mode mono-utilisateur.

init 3; mode réseau non-graphique.

init 5; mode réseau graphique.

init 6; redémarrage de la machine.

mc; lance le logiciel Midnight Commander, pour naviguer plus facilement dans l'arborescence.

runlevel; savoir en quel niveau d'exécution nous sommes (1, 2, 5 etc..)

startx; lance le serveur graphique dans le display 0

startx -- :1; lance le serveur graphique dans le display 1

su; pour se connecter en ROOT sur le terminal en cours.

su toto; pour se connecté en tant qu'utilisateur toto

tar -zxvf Fichiercompressé.tgz; décompresse une archive de type tgz (ou tar.gz)

tar -Ixvf Fichiercompressé.tbz2; décompresse une archive de type tbz2 (ou tar.bz2)

tar -vzc -file=MonArchive.tgz leRépertoireAcompresser; compresse le répertoire leRépertoireAcompresser dans l'archive MonArchive.tgz


Plus de détails sur quelques commandes;


cat Nomdufichier;

Envoi l'intérieur du fichier Nomdufichier vers la sortie standard, ici le terminal.

Nomdufichier peut très bien être un périphérique, par exemple /dev/fd0 (disquette 1)


date;

Affiche la date et l'heure de la station


eject NomPériphérique;

Si le périphérique peut être éjecté (cd-rom, zip etc.) il sera automatiquement démonté puis éjecté.

eject /dev/cdrom; éjection du cdrom

eject; éjection du cd-rom

Si la commande eject n'a pas d'argument, par défaut le cd-rom sera éjecté.


grep chaineàrechercher;

recherche dans l'entrée standard la chaîne chaineàrechercher

remarque;en combinant les commandes cat et grep, on peut réaliser des filtres comme trouver la ligne ou est enregistré le mot de passe de root;

passez en root et faites;

cat /etc/shadow | grep root

vous devriez obtenir un affichage proche de celui-ci;

root:$9$7akF4il0$jlSoHq.1vixI.qIùn8dn70:11450:0:99999:7:::

Vous avez trouvez la ligne contenant la chaîne root dans le fichier /etc/shadow

le signe | est un « pipe » ou tuyau.


init numéro;

change de niveau d'exécution (détail dans la sous-section « Quelques définitions »)

init 0 arrête le système

init 1 passe en mode mono-utilisateur

init 6 redémarre le système


kill pid;

cette commande va envoyer un signal d'arrêt à un processus (un programme en cours d'exécution). Le pid est un numéro qui correspond au numéro attribué à un processus pour l'identifier.

Par exemple kill 1520 va envoyer un « term signal » au processus portant le numéro 1520.

Si vous ajoutez cette option; kill -9 1520, vous allez envoyer un « kill signal » au processus numéro 1520; le « kill signal » va arrêter autoritairement le processus.


killall nomduprocessus;

va arrêter tous les processus portant le nom nomduprocessus.

Par exemple killall kdeinit va arrêter tous les processus portant ce nom.

killall -9 kdeinit va les arrêter autoritairement.


ls;

Affiche la liste des fichiers et répertoires du répertoire courant.


lsmod;

Affiche la liste des modules chargés dans le noyau.


mkdir nomdurépertoire;

cette commande va créer le répertoire nommé nomdurépertoire.


mke2fs device;

Formate le périphérique device en système de fichier ext2 (système de fichier natif de linux)

mke2fs /dev/hda1 formate la première partition du disque dur en ext2.


modprobe module;

charge le module module dans le noyau.

Il faut savoir que Linux n'a pas toutes les fonctions possibles, c'est pourquoi à part sont disponibles des modules, des « bouts » de noyau chargeables à la demande.

Par exemple si vous souhaitez utiliser le système de fichier NTFS (partitions WindowsNT4), vous devez faire modprobe ntfs.

modprobe -r ntfs va « décharger » le module, la fonction de lecture de ntfs ne sera donc plus disponible.

ATTENTION; NTFS est supporté en lecture mais si vous tentez d'écrire avec Linux sur du Ntfs vous risquez de ne plus pouvoir redémarrer WindowsNT !

Sachez que les modules accèdent à la mémoire du noyau, ils peuvent donc entraîner le crash total de celui-ci.


ps;

Va afficher la liste des pid (processus ) de l'utilisateur.

Pour obtenir la liste de tous les processus (avec leur pid respectif) faites

ps -A


mount NomPériphérique RépertoireCible;

Va monter un périphérique et afficher son contenu dans RépertoireCible

mount /dev/hda1 /mnt/disk; montage de la première partition du premier disque dur et affichage de sont contenu dans le répertoire /mnt/disk.


|;

ce signe est un « pipe » ou tuyau en français, il faut considérer cela comme un passage des données d'une commande vers une autre, par exemple la série de commandes;

cat /etc/shadow | grep root

va envoyer le contenu du fichier shadow à travers le tuyau vers la commande grep qui va rechercher la chaîne « root ».


rm nomdufichier ;

cette commande va effacer le fichier nommé nomdufichier

pour effacer le fichier sans confirmation faites rm -f nomdufichier

si vous souhaitez effacer un répertoire faites rm -rf nomdurépertoire

ATTENTION, cette commande est très dangereuse, surtout si vous êtes en ROOT, vous

pouvez par mégarde effacer complètement le système si le nom du répertoire est / (la racine)


rpm;

commande de gestion des paquetages rpm, le détail des commandes est précisé dans la sous-section « RPM ou comment se simplifier la vie ».


service NomDuService type;

Va démarrer, redémarrer ou arrêter un service.

type peut être; start (démarrer), restart (redémarrer), stop (arrêter)

par exemple service network stop va arrêter les connexions réseau.

service webmin restart va redémarrer webmin (administration à distance par interface web)


su nomutilisateur ;

Permet de changer d'identité sans se reconnecter.

Si vous êtes utilisateur et que vous souhaitez obtenir les droits root, faites su.

Le mot de passe root vous sera demandé et après confirmation, vous serez considéré comme connecté en root.


umount NomPériphérique ou RépertoireCible;

Va démonter le périphérique NomPériphérique, pour cela il faut soit donner le nom du périphérique, soit le répertoire dans lequel il s'affiche

umount /mnt/disk

umount /dev/hda1; ces deux commandes sont identiques, elles vont "forcer Linux" à ignorer la première partition du premier disque dur, cette partition ne sera donc plus accessible tant qu'elle ne sera pas montée.


    1. 4.6/ Notions de programmation

Le Shell outre ses fonctionnalitées en mode interactif constitue un langage de programmation à part entière et ayant pour but d'aider à la maintenance du système et à l'automatisation de taches répétitives, comme par exemple la sauvegarde à chaque démarrage de la machine de documents, ou l'envoi d'un mail à l'administrateur dès que la personne TOTO se connecte.

Si vous souhaitez obtenir le maximum d'informations de référence sur la programmation Shell, reportez-vous au manuel de Bash (man bash).

Avant touche chose;

Sous Linux, les scripts shell (fichiers contenant des commandes devant être exécutées par le shell) doivent au minimum se présenter ainsi;

#/bin/sh


Enchaînement de commandes;

#/bin/sh

infos=$(cat /etc/passwd | grep $USER);

echo "Fait-il beau aujourd'hui $USER ? ";

echo "Tes infos;$infos";


Le script ci-dessus lance les commandes cat /etc/passwd | grep $USER c'est-à-dire extrait dans le fichier /etc/passwd la ligne contenant votre nom d'utilisateur (variable $USER) et copie le résultat sous forme de chaîne de caractère vers la variable infos.

ensuite, echo "Fait-il... ?"; vous demande si ... il faut beau :) en vous nommant par votre nom d'utilisateur.

Enfin, vos informations sont affichées grâce à la dernière ligne.

L'enchaînement séquentiel des commandes s'effectue par le caractère " ; " (tout comme cela est le cas dans les langages comme le C/C++/Java).

Autres enchaînements;

comande1 || commande2 (prononcé commande1 OU commande2)

commande2 est exécutée uniquement si commande1 transmet une valeur de retour non-nulle (une erreur s'est produite).

commande1 && commande2 (prononcé commande1 ET commande2)

commande2 est lancée uniquement si commande1 renvoie une valeur nulle (donc commande1 s'est terminée sans erreurs).





Variables;

Contrairement à d'autres langages qui exigent de typer les variables et de parfois réserver de l'espace mémoire pour celles-ci, le Shell ne nécessite pour l'utilisation des variables NI typage, NI initialisation, NI réservation de mémoire.

Les variables peuvent contenir des chaînes de caractère, des listes, des nombres etc.

voici un exemple de script;

#/bin/sh

moi=$USER;

jour=$(date +%A);

up=uptime;

echo "Je suis $moi et nous sommes $jour";

Description; la variable USER va être copiée dans moi et le résultat de la commande date +%A va être stocké dans la variable jour.

Enfin, echo "Je suis ... $jour"; va afficher les informations.

On s'aperçoit donc que pour afficher le contenu d'une variable, il faut la précéder du signe $ et pour obtenir le résultat d'une commande et le mettre dans une variable, il faut que cette commande soit entre $( ..... )

Enfin, même si cela n'est pas indispensable, chaque ligne peut se terminer par un point virgule, comme cela est le cas pour d'autres langages comme le C/C++.


Structures de contrôle;

Comme tout langage qui se respecte, Bash dispose des principales structures de contrôle à savoir;

if ... then ... else ... fi

for ... do ... done

while ... do ... done

until ... do ... done

case


Syntaxe pour if ... then ... else .. fi;

if [expression1]; then

code à lancer si expression1 est vérifiée

else

sinon, lancer ce code

fi


Syntaxe pour for ... do ... done;

for nom [in mots]; do

code à lancer de nom à mots

done

exemple (un peu plus parlant);


#/bin/sh

compteur=1;

for nom in $(ls /etc/); do

echo "($compteur) $nom";

compteur=$[compteur+1];

done;











Le script précédent va afficher tous les fichiers présents dans le répertoire /etc et devant chaque fichier, son numéro (capture d'écran ci-dessous).

En fait, la variable nom va prendre successivement les valeurs renvoyées par " ls /etc " soit tous les noms de fichiers de ce répertoire, par exemple "alias" puis "alias.db" etc. et à chaque boucle, l'affichage du nom de fichier traité et son numéro seront montrés à l'écran. Enfin la variable compteur sera incrémentée de 1.




La programmation Shell étant un domaine trop vaste à traiter, si vous souhaitez obtenir plus de détails reportez-vous à la documentation qui même si elle parait gigantesque, n'est pas trop compliquée.

Calcul;

Si vous souhaitez faire des calculs dans vos scripts, la syntaxe est la suivante;

$[expression] comme l'exemple précédent le montre avec la variable compteur et son incrémentation.

D'autre par, si vous avez besoin de traitements plus complexes, utilisez la commande bc.




































  1. 5)INTERFACE GRAPHIQUE


    1. 5.1/ Premier lancement

Si vous lancez la machine en runlevel 5, l'invité graphique va apparaître automatiquement (kdm par défaut).

Si par contre vous démarrez en runlevel 3, il faudra configurer deux choses;

1)l'environnement de travail (Gnome, KDE etc...)

2)le numéro de Display

Si vous souhaitez lancer une session X (graphique) à partir d'un terminal, il faudra adopter cette syntaxe;

startx

cette commande lancera une session X en Display0 (première connexion) et lancera par défaut KDE2.

Si vous souhaitez lancer une autre session X, tapez cela;

startx -- :1

Vous lancerez alors une nouvelle session X en Display1 (deuxième connexion) et KDE2 démarrera une nouvelle fois.

Note:

la session en Display0 est accessible par les touches Ctrl+Alt+F7

la session en Display1 est accessible par les touches Ctrl+Alt+F8 etc.

les terminaux vont de Ctrl+Alt+F1 à Ctrl+Alt+F6 et les sessions graphiques (Display) de Ctrl+Alt+F7 à Ctrl+Alt+F10


Pour l'environnement de travail par défaut, vous devrez créer un fichier nommé . xsession dans votre répertoire personnel (/home/grosminet par exemple) et mettez les lignes suivantes;

#!/bin/sh

#ceci est un commentaire

#démarrer kde

startkde

#gnome-session


puis faites dans un terminal;

chmod 755 /home/votrelogin/.xsession ceci donnera l'autorisation d'exécution pour le script.


si vous souhaitez démarrer gnome par défaut, vous devrez simplement mettre un # devant startkde et enlever le # devant gnome-session


Pour le display, une fois le fichier .xsession configuré, faites

startx (démarrage de X en display :0)

startx -- :1 (démarrage de X en display :1)

etc...


NOTE;J'ai créé un petit programme en C qui automatise tout cela,

il est inclus dans les cours disponibles sur http://gcutter.multimania.com/cours


    1. 5.2/ Architecture de X et display

Le système Xwindow est basé sur une relation client-serveur.

Ainsi, pour «lancer» une session X, il faut se connecter en tant que client.

C'est pourquoi vous devez choisir un identifiant (le display) pour que le serveur X puisse vous reconnaître.

Sous Linux Mandrake 8.1, les display sont accessibles à partir des touches Ctrl+Alt+F7 (display 0) jusqu'à Ctrl+Alt+F10 (display 3).

les terminaux sont eux accessibles de Ctrl+Alt+F1 à Ctrl+Alt+F6

Contrairement à Windows, Xwindow est une sur-couche à Linux. En conséquent si Xwindow plante, Linux ne sera pas affecté et vous pourrez « reprendre » le contrôle du système via un telnet ou tout autre moyen de contrôle distant.

  1. 6)UTILISER LE SYSTÈME


    1. 6.1/ Démarrage (Lilo)

LILO (LInux LOader) est un petit programme qui a pour but de démarrer le noyau Linux.

Mais il peut tout aussi bien démarrer d'autres systèmes comme Windows9x ou encore BeOS.

Lorsque l'installation est terminée, LILO se charge dans le MBR (Master Boot Record) pour qu'à chaque redémarrage, un menu puisse vous permettre de lancer Linux ou tout autre système d'exploitation déjà installé.

Il est à noter que Windows, lors de défragmentations ou de réinstallations, écrase le MBR, vous ne pouvez donc plus démarrer Linux.

La solution est d'avoir créé une disquette de démarrage (proposée à l'installation ou disponible dans DrakConf), de démarrer Linux depuis cette disquette. Une fois le système démarré, connectez-vous en ROOT et dans un terminal, faites;

lilo

vous devriez obtenir ensuite un affichage vous renseignant sur les systèmes disponibles, par exemple

windows *

linux22

linux24

l'affichage précédent signifie que LILO pourra démarrer trois systèmes;

linux22, linux24 et windows

l'étoile signifie que par défaut, Windows sera lancé.

Il est à noter que LILO admet des options, par exemple si vous souhaitez lancer « linux22 » vous taperez simplement « linux22 », mais si vous faites ceci; « linux22 3», vous lancerez linux22 en runlevel 3 (donc niveau d'exécution Multi-Utilisateurs et réseau mais sans l'interface graphique par défaut)


    1. 6.2/ Se connecter

Sous Linux, un utilisateur est authentifiable par deux choses; son login et son mot de passe.

Le nom d'utilisateur (login) sert à vous identifier sur le système et le mot de passe (password) à confirmer votre identité.

Lorsque vous souhaitez utiliser Linux, vous DEVEZ être identifié, c'est à dire posséder un login et un mot de passe.

Sur le système, il existe un « compte » différent des autres; ROOT

Celui-ci a tous les « pouvoirs » et ne doit être utilisé que pour la maintenance du système.

Durant l'installation, vous avez certainement créé de nouveaux comptes utilisateurs ayant chacun un login et un mot de passe.

La première étape pour utiliser Linux est de se connecter (login+password).

Note;

Vous pouvez vous connecter soit en mode console (non graphique, avec un pingouin dessiné en caractères ascii) soit en mode graphique (avec des icônes pour identifier chaque utilisateur).

Pour passer « d'une connexion à l'autre », utilisez la combinaison de touches Ctrl+Alt+F1 jusqu'à Ctrl+Alt+F12. Par défaut, la première session graphique est accessible par Ctrl+Alt+F7.


    1. 6.3/ Montage/Démontage des périphériques

L'action de « monter » un périphérique signifie que le noyau va pouvoir y avoir accès, ainsi que n'importe quel programme (sous réserve de droits d'accès suffisants).

L'action de « démonter » un périphérique signifie que le noyau va « ignorer » celui-là, il ne sera plus accessible par aucun moyen que ce soit.

Les environnements actuels (Gnome, KDE, KDE2) permettent une plus grande simplicité dans le « montage/démontage » de périphériques.

Il existe aussi des utilitaires (supermount) qui montent et démontent les périphériques de façon transparente mais l'action de monter/démonter à la main présente pourtant un certain intérêt, notamment un total contrôle du système (seul tel utilisateur pourra éjecter le Zip ou le cd-rom, tel autre ne pourra pas monter la partition Windows etc.)

Sous Gnome (gmc ou Nautilus) ou KDE2 (Konqueror), il suffit de faire un clique droit de souris pour obtenir les options « monter/démonter/éjecter »


En mode console par contre, il faut utiliser des commandes spécifiques;

mount

umount

eject


Note ;

les données concernant le type de périphérique et le système de fichiers sont contenues dans le fichier de configuration nommé /etc/fstab

Vous pouvez le modifier soit directement, soit utiliser le logiciel Linuxconf section «file system» puis «access local drive».

Si un périphérique (partition, lecteur Zip ou autre) n'est pas renseigné dans /etc/fstab, vous pouvez toutefois le monter grâce à la commande suivante;

mount -t fs_type /dev/nom /mnt/repertoire

exemple;

mount -t ntfs /dev/hda1 /mnt/disk

la commande ci-dessus va monter la première partition du premier disque qui est formattée en NFTS dans le répertoire /mnt/disk

fs_type peut être; nfts, reiserfs, ext2, ext3, xfs, vfat, iso9660, minix etc.

par la suite, pour démonter le système de fichiers, un simple umount /mnt/disk suffira.


ASTUCES;

Si vous souhaitez créer une « image » d'un périphérique, par exemple sauvegarder une disquette de démarrage en tant que fichier et pouvoir la restaurer au cas ou, procédez ainsi;

cat nom_périphérique > nom_fichier

exemple;

cat /dev/fd0 > /home/js/image_disquette.img

ces commandes vont créer une « image » de la totalité de la disquette et la copier dans le fichier /home/js/image_disquette.img

Si par la suite vous souhaitez transférer cette image vers une disquette, faites;

cat /home/js/image_disquette.img > /dev/fd0

Une technique très intéressante (si vous avez assez de place) consiste à copier les images des cd-roms de votre distribution et de pouvoir y accéder comme si il s'agissait de périphériques ordinaires.

Étape 1; créez l'image de votre cd-rom par cette commande; cat /dev/cdrom > /mnt/image.iso

Étape 2; déclarez que cette image est comme un périphérique. manuellement cela donne;

mount -o loop /mnt/image.iso /mnt/disk

a ce moment, vous pourrez accéder librement à cette image comme si il s'agissait d'un cd-rom classique.

Si vous souhaitez « automatiser » cela, lancez linuxconf (si celui-ci est en anglais, installez le paquetage français nommé linuxconf-lang-fr par la commande urpmi linuxconf-lang-fr)


Une fois linuxconf lancé, allez dans « Systèmes de fichiers » -> « accéder au disque local » -> « ajouter »



Entrez ensuite le nom du fichier image dans la section « partition » et le point de montage dans la section « point de montage », n'oubliez pas de préciser le type de système de fichiers parmi ceux proposés. Si un type manque (ntfs, ext3) précisez à la main.


Dans l'onglet « Autres. » il faudra mettre ces options dans le champ « Autres options »;

o,loop

Validez et le tour est joué, l'image sera telle un véritable périphérique!


Note concernant l'accès aux partitions Fat/Fat32 (Windows);

Étant donné que ces systèmes de fichiers ne permettent pas la mise en place de droits d'accès aux fichiers/répertoires aussi poussés que ceux des systèmes de fichiers natifs de Linux (voir section « Partitionnement du disque dur »), on procède par la méthode des umask; c'est à dire des droits d'accès par défaut.

Si vous utilisez Linuxconf, toujours dans « Systèmes de fichiers » -> « accéder au disque local » -> « Ajouter » vous pourrez ajouter une partition formatée en Fat/Fat32.


Comme pour une partition classique, indiquez la partition (ici /dev/hda1), le type de système de fichiers (ici vfat), le point de montage (ici /mnt/windows) .

Pour configurer l'umask, allez dans « Options Dos »

Dans le champ « id d'util. par défaut », entrez le nom de l'utilisateur qui possédera tous les fichiers/répertoires de la partition.

Dans le champ « id de groupe par défaut », entrez le nom du groupe qui détiendra tous les fichiers/répertoires de la partition.

Dans « permission par défaut », entrez la solution de [777- valeur octale des droits d'accès] (voir section « Droits d'accès sous Linux; Répertoires et Fichiers »).

exemple; si vous souhaitez que l'utilisateur ai tous les droits, et que le groupe et les autres n'aient que les droits en lecture/exécution, il faudra entrer le résultat de 777-755 soit 022 .

Si vous voulez que tout le monde ai tous les droits, entrez la solution de 777-777 soit 0.

Concernant le champ « mode de traduction », il est utilisé car les systèmes Unix et Windows n'emploient pas les mêmes caractères pour marquer les fins de lignes dans les fichiers texte.

Si vous choisissez le mode de traduction « binaire », les fichiers ne seront jamais convertis. Étant donné que les éditeurs de texte actuels traitent indifféremment les fichiers texte Windows/Unix, il vaut mieux laissez le mode binaire.


    1. 6.4/ Éditeurs de texte

Il existe de très nombreux éditeurs de texte sous Linux, tant en mode graphique qu'en mode terminal. Parmi ceux-ci nous citerons VI, Emacs, Joe; ceux-ci fonctionnent en mode terminal.

Gedit, Nedit, Xemacs; ceux-ci fonctionnent en mode graphique.

Voici quelques commandes pour VI;

Pour éditer un texte, en mode console, tapez

vi votreTexte

Il est à noter que VI dispose de deux modes de fonctionnement; mode commande et mode édition.

Éditer le texte;

touche « Inser »

Passer en mode «commande»;

Ctrl+C

Quitter sans modifier le texte; Passer en mode commande et faire

:q!

Quitter et sauvegarder les changements; Passer en mode commande et faire

:w

Pour les allergiques à VI et à Emacs, l'utilisation de joe est conseillée car il possède une documentation très claire, son utilisation est instinctive et il est peu gourmand en ressources.


    1. 6.5/ Utilisation de Midnight Commander

Midnight Commander est outil qui vous aidera à gérer vos fichiers en mode console.

Avec cet outil très polyvalent et vraiment pratique vous pourrez;

Explorer l'arborescence, gérer vos fichiers/répertoires, compresser/décompresser/voir le contenu d'archives, gérer les droits d'accès, se connecter sur des serveurs ftp, opérer des « undelete » pour retrouver vos données perdues, éditer/afficher des fichiers texte/html/pdf, rechercher des fichier/leur contenu etc.

Pour lancer Midnight Commander, entrez dans un terminal et faites simplement;

mc

si il n'est pas installé, un simple urpmi mc dans un terminal l'installera automatiquement.


MC dispose de deux « menus » principaux; celui accessible via la touche F2 qui permet de compresser le répertoire courant et la touche F9 qui donne accès au menu haut, c'est à partir de celui-ci que vous pourrez copier des fichiers/répertoires, changer les droits d'accès simplement, etc.

L'utilisation en mode exploration est très intuitive; par exemple si vous mettez en surveillance une archive et que vous pressez la touche « ENTER », vous l'explorerez comme si il s'agissait d'un simple répertoire et cela de façon totalement transparente. Pour les paquetages RPM, vous aurez l'affichage des informations contenues ainsi que la liste des fichiers inclus dans le RPM.

MC est donc un outil idéale pour ceux qui sont fatigués d'utiliser en permanence les commandes et qui souhaitent un visuel un peu plus convivial.


    1. 6.6/ Arrêt et redémarrage

Pour arrêter le système, vous avez plusieurs commandes équivalentes,

ouvrez un terminal et faites;

halt

ou

shutdown -h now

ou

init 0


Pour redémarrer le système, vous disposez aussi de plusieurs possibilités,

ouvrez un terminal et faites;

reboot

ou

init 6

ou

shutdown -r now


Pour redémarrer le système en forçant le contrôle du système de fichiers (fsck=équivalent à scandisk)

faites;

shutdown -Fr now

Pour arrêter la machine et forcer le fsck au prochain démarrage, faites;

shutdown -Fh now


Évidemment, vous pouvez aussi arrêter/redémarrer le système à partir de l'invité graphique (nommé soit KDM, soit GDM) ou dès que vous vous déconnectez de votre session Gnome ou KDE.


    1. 6.7/ Liste des outils disponibles

Étant donné le nombre d'outils de configuration disponibles sur le système, voici une liste des principaux utilitaires avec une rapide description de chacun d'entre eux.

Outils spécifiques à Linux-Mandrake;

-adduserdrake (ajout d'utilisateurs)

-drakconf (centre de contrôle pour gérer la configuration de la distribution)

-drakfont (gestion et importation de polices, y compris celles de Windows)

-drakfloppy (création de disquettes de démarrage)

-drakautoinst (création d'une disquette d'auto-installation)

-drakboot (configuration du démarreur; Lilo et Grub)

-drakbug_report (obtenir des informations sur votre système en cas de rapport de bug)

-drakfw (assistant de configuration de votre bureau)

-drakgw (partage de connexion internet)

-draknet (configuration du réseau)

-draksec (modification du niveau de sécurité)

-draksync (synchronisation entre stations, utilisé pour mettre à jour votre site web avec la copie contenue sur votre machine)

-drakxconf (menu regroupant les principaux outils de configuration, très proche de drakconf mais comportant d'autres options comme l'ajout d'utilisateurs)

-harddrake (détection et configuration du matériel)

-lspcidrake (informations sur votre matériel pci et affichage du module correspondant)

-keyboarddrake (configuration du clavier)

-mousedrake (configuration de la souris)

-userdrake (gestion des utilisateurs)

-wizdrake (outil de configuration de serveur, les modules sont nommés wizards_lib*)

-XFdrake (configuration de la carte graphique)


Outils plus standards: Linuxconf;

Linuxconf est disponible sur d'autres distributions comme RedHat, Conectiva etc.

C'est un bon outil de configuration qui fonctionne aussi bien en mode console qu'en mode graphique (avec l'extension « gnome-linuxconf »)

L'avantage de Linuxconf est qu'il dispose de très nombreuses fonctions et qu'il existe depuis plus longtemps que les outils drake* mais il arrive que Linuxconf configure « mal » le système. La raison est simple: Linuxconf se considère sous RedHat-linux et la moindre incompatibilité entraîne des problèmes. Il arrive aussi que les outils Mandrake configurent eux aussi assez mal le système (c'est rare mais cela arrive).

Par défaut, tous les modules (options) ne sont pas affichés. Pour en ajouter/retirer, allez dans l'onglet « contrôler » puis « administration de linuxconf » et enfin dans « Configurer les modules de linuxconf », vous aurez ainsi la possibilité d'ajouter des modules et donc d'étoffer les possibilités de configuration.


Outils plus standards: Webmin;

Webmin est un système assez particulier; tout est configuré via un navigateur web (Konqueror, Galeon, Mozilla, Netscape). Webmin est un serveur accessible uniquement via une interface web.

Pour l'installer, faites urpmi webmin puis démarrez-le par service webmin restart

Ensuite, lancez un navigateur et entrez l'url suivant; https://127.0.0.1:10000

Vous arriverez à une interface web vous demandant une authentification.

Comme Linuxconf, Webmin dispose de modules qui permettent d'étendre ses fonctions.

Cet outil possède trois grands avantages; Il existe sur de très nombreuses plates-formes (allez dans « Configuration de Webmin » -> « Système d'exploitation » pour voir le nombre de systèmes gérés (Solaris, Caldera OpenLinux, Redhat linux, Slackware, Debian, Suse, Corel-linux, Turbo-linux, Cobalt-linux, FreeBSD, OpenBSD, NetBSD, HP-UX, SGI Irix, IBM AIX, SCO, MacOS X etc.), il permet une bonne configuration du système et étant basé sur une interface web, il est idéale pour la configuration à distance. Le point négatif est la configuration du matériel, qui se résume à la gestion des partitions.

En résumé;

Outils Mandrake; Configurer le matériel, un serveur (de façon grossière d'ou la nécessiter de retoucher la configuration par la suite, avec webmin par exemple)

Linuxconf; Gérer les utilisateurs (locaux, pop etc.), l'ajout/retrait de partitions

Webmin; tout le reste

Note;

Il arrive parfois qu'une configuration « à la main » soit plus efficace (comme configurer le serveur ftp), n'hésitez pas à dégrossir le travail avec l'un des outils précédents et fignoler manuellement (en éditant les fichiers de configuration) si vous avez le temps et surtout l'envie. Cela s'applique surtout à la mise en place de services réseau comme les serveurs DNS, SMTP, Web et FTP. Dans une utilisation courante et mono-utilisateur, les trois utilitaires précédents sont suffisants.















































  1. 7)GÉRER LES LOGICIELS ET LES DONNÉES


  1. 7.1/ TAR.GZ et TAR.BZ2

Se sont de simples formats de compression et d'archivage. Le format TAR.GZ utilise l'outil d'archivage TAR et compresse celui-ci avec GZ (cousin du format ZIP, mais qui ne peut compresser qu'un seul fichier). Le format TAR.BZ2 utilise lui aussi l'outil d'archivage TAR et compresse celui-ci avec BZIP2 qui est un format de compression extrêmement bien adapté aux sources de programmes. Lorsque vous trouvez sur Internet des logiciels au format tar.gz ou tar.bz2, préférez les formats RPM (Distributions Redhat, Mandrake, Conectiva, Suse) ou DEB (Distributions Debian, Corel-linux) car ils inclus de nombreuses fonctionnalités notamment la gestion des dépendances (tel logiciel a besoin de tel autre pour fonctionner, l'installation et la désinstallation sont très simples et propres, pas de programmes qui restent sur le disque inutilement après une désinstallation) etc.


Voici les commandes principales pour manipuler les archives TAR.GZ et TAR.BZ2 ;

Extraire une archive TAR;

tar -xvf monarchive.tar

Décompresser une archive TAR.GZ;

tar -zxvf monachivecompressee.tar.gz

note; l'extension tar.gz peut parfois être .tgz, mais cela ne change évidemment rien.

Décompresser une archive TAR.BZ2;

tar -jxvf monarchivecompressee.tar.bz2

note; l'extension .tar.bz2 peut parfois être .tbz2

Lister le contenu d'une archive NON COMPRESSEE;

tar -tf monarchive.tar


Explication concernant les commandes;

-x signifie "eXtraction de l'archive"

-v signifie "Verbose mode; traduit par mode bavard"

-f signifie "Spécifie que l'on opère sur un Fichier"

-z signifie "utilisation de G Zip/GunZip"

-j signifie "utilisation de Bzip2/Bunzip2"

-t signifie "Liste le contenu d'une archive"


Autres commandes;

tar -vzc --file= Monarchive.tar.gz /home/Mestrucs

va créer une archive nommée Monarchive.tar.gz dans le répertoire courant et qui contiendra le répertoire /home/Mestrucs

tar -vjc --file= Monarchive.tar.bz2 /home/Mestrucs

Idem mais l'archive utilisera bzip2 pour la compression.

tar -vc --file= Monarchive.tar /home/Mestrucs

Idem sauf que dans ce cas il n'y a pas de compression, uniquement un archivage.


Installation d'un logiciel obtenu sous forme d'archive;

1)Décompressez l'archive votre_archive.tar.? (« ? » peut être « gz » ou « bz2 »).

2)Entrez dans le répertoire créé avec la commande cd votre_archive.

3)Faites ./configure (configuration du logiciel par rapport à votre environnement, voir 6 pour quelques détails).

4)Si aucune erreur n'a été générée (quel veinard(e) !) faites make install (compilation et installation).

5)Pour désinstaller le Logiciel, débrouillez-vous ou utilisez RPM.

6)Pour installer le logiciel dans un répertoire particulier faites ./configure --prefix=répertoire par exemple ./configure prefix=/home/moncompte/tmp .





  1. 7.2/ RPM ou comment se simplifier la vie

Comme vous l'avez remarqué précédemment, le format TAR présente de nombreux inconvénients pour l'installation de logiciels ainsi que pour la maintenance du système. Devant ce problème, la société RedHat a conçue un nouveau format pour distribuer des logiciels; RPM (Redhat Package Manager).

Ce format inclus; la gestion de signature GPG (pour s'assurer de l'origine des paquetages), la gestion des dépendances, la facilité d'installation/désinstallation etc.


Le seul nom d'un paquetage RPM vous donne une foule de renseignements;

exemple pour un paquetage nommé; htmldoc-1.8.18-3mdk .i586 .rpm

Signifie que le logiciel se nomme htmldoc, qu'il en est à la version 1.8.18, il a été créé pour la distribution Mandrake pour la 3ème fois (3mdk) et a été compilé pour les processeurs Intel i586 (Pentium et plus).

autre exemple; sylpheed-0.7.4-5cl.src.rpm

Signifie que le logiciel se nomme Sylpheed (un excellent client mail et news :) , qu'il en est à la version 0.7.4, il a été créé pour la distribution Conectiva-linux pour la 5ème fois (5cl) et est fourni sous forme de sources (src).

La forme générale d'un paquetage est de la forme;

NomDuLogiciel- version-NuméroDeConstruction.Architecture .rpm où Architecture peut être i386, i486, i586, i686, ppc, noarch (architecture indifférente), alpha etc.


Voici les commandes principales pour manipuler les paquetages RPM;

Installer un paquetage;

rpm -ivh monpackage.rpm

Installer un paquetage source;

rpm --rebuild monpackage.src.rpm

ensuite allez dans /usr/src/RPM/RPM/votrearchitecture/ pour trouver le/les paquetage binaire prêt(s) à être installé(s) avec le traditionnel "rpm -Uvh monpackage.architecture.rpm".

Mettre à jour un paquetage;

rpm -Uvh monpackagemisajour.rpm

Désinstaller un paquetage;

rpm -e monpackageavirer.rpm

Forcer une installation (ignorer les dépendances);

rpm -ivh --nodeps monlogiciel.rpm

Ignorer les erreurs et forcer l'installation;

rpm -ivh --nodeps --force monlogiciel.rpm

Forcer une désinstallation (attention, après avoir retiré le paquetage, d'autres logiciels risquent de ne plus fonctionner)

rpm -e --nodeps monlogicielavirer.rpm


Commandes informatives;

Savoir si le paquetage truc.rpm est installé;

rpm -q truc

Avoir la liste de tous les paquetages installés contenant "gcc";

rpm -qa | grep gcc

Avoir les renseignements sur un paquetage installé;

rpm -qi paquetage

Avoir la liste des fichiers que contient un paquetage installé;

rpm -ql paquetage

Savoir à quel paquetage installé appartient un fichier;

rpm -qf emplacementdufichier/fichier. Exemple; rpm -qf /usr/bin/gcc

Obtenir le contenu d'un paquetage non installé;

rpm -qpl nomdupackage.rpm

Afficher les informations d'un paquetage non installé;

rpm -qpi nomdupackage.rpm

Obtenir les dépendances d'un paquetage non installé;

rpm -qpR nomdupackage.rpm


Contrôler l'attribut de la totalité des fichiers installés sur le système (fichiers manquants, différence de droits etc);

rpm -Va

Pour d'autres commandes, un classique "man rpm" vous donnera tous les renseignements nécessaires.


Signification des options ;

-i signifie "I nstallation"

-h signifie "Afficher des # (hash) pour montrer la progression de l'installation"

-U signifie "Upgrade, on remplace les fichiers par des version plus récentes"

-v signifie "Verbose, mode bavard"

-e signifie "Erase, effacement"

-q signifie "Query, Va lancer une requête sur la base de données rpm"

la combinaison de la commande -q avec d'autres change leur signification, ainsi -qi ne lancera pas une installation mais une demande d'informations.


IMPORTANT; Il peut arriver que la base de données RPM soit corrompue (plantage en cours d'écriture, arrêt volontaire de rpm durant une phase d'écriture etc.) dans ce cas vous devrez « reconstruire » la base par la commande suivante;

rpm rebuilddb

Durant cette reconstruction qui peut durer plusieurs minutes (selon la taille de la base et la puissance de l'ordinateur) n'interrompez pas la commande.

ASTUCE; Si vous souhaitez extraire les sources d'un rpm-source, lancez la commande suivante;

rpm -ivh nom_du_logiciel.src.rpm

les sources se trouveront dans le répertoire /usr/src/RPM/SOURCES


































Utilisation des outils fournis par Linux-Mandrake pour utiliser les RPMs ;

urpmi est un programme permettant l'installation de logiciels

urpme permet la désinstallation.

urpmf sert à obtenir des informations.

urpmq est utilisé pour la recherche de paquetages.


Commandes utilisant ces outils;

Installation d'un paquetage avec, si nécessaire, tous les paquetages qui en dépendent;

urpmi monpaquetage

Idem mais sans demande de confirmation pour l'installation des paquetages dépendants;

urpmi --auto monpaquetage

Idem qu'au dessus mais en ignorant les éventuelles erreurs;

urpmi --force --auto monpaquetage

Installation de tous les paquetage dont le nom correspond;

urpmi -a monpack

Désinstallation d'un paquetage avec si nécessaire, tous les paquetages qui en dépendent;

urpme monpackage

Idem mais sans demander confirmation;

urpme --auto monpackage

Idem mais en ignorant les éventuelles erreurs;

urpme --auto --force monpackage

Affiche tous les paquetages contenant "gcc";

urpmf gcc

Affiche tous les paquetages dont le résumé contient "gcc";

urpmf --summary gcc

Obtenir la liste des paquetages qui contiennent dans leur description "gnome";

urpmf --description gnome

Obtenir la liste de ce qu'a besoin un paquetage installé;

urpmf --requires monpaquetage

Lister ce qu'apporte le paquetage installé;

urpmf --provides monpackage

Savoir si le paquetage existe dans votre distribution (ou sur une source configurée, par exemple un accès ftp);

urpmq -rg nomdupackage

Obtenir le nom des paquetages dépendants d'un paquetage non installé;

urpmq -d nompackage

urpmq -dr nomdupackage (l'option -r donne en plus les numéros de versions)


NOTE;

Il existe des logiciels en mode graphique pour gérer les paquetages, citons parmi les meilleurs;

kpackage (nécessite KDE ou KDE2), gnorpm (nécessite Gnome) et linuxconf (nécessite le module de gestion des rpm). Il existe aussi rpmdrake qui est une interface graphique d'urpm*.



ASTUCE;

Au cours de testes pour configurer urpmi (via l'utilitaire rpmdrake), il s'est avéré que celui-ci entraînait le plantage de rpmdrake si celui-ci devait passer à travers un proxy pour récupérer des paquetages. Le problème étant assez embêtant voici un script perl permettant de « nettoyer » le système. Après avoir lancé ce script, vous devrez reconfigurer les sources pour urpmi (cela vous sera demandé dès le lancement de rpmdrake).

Ce script est de ma composition et est totalement libre de droits (étant donné sa très faible taille).

ATTENTION; Ne faites cela que si rpmdrake plante!!!!






Voici le code, le fichier se nomme del_urpmi.pl et doit être présent dans le cours version numérique;


#!/usr/bin/perl

#admet que le cd-rom est /mnt/cdrom

use English;


if ($EUID!=0) {

print "Connectez vous en ROOT!\n";

exit;

}


print "Lancer la réinstallation de urpmi?\no/N?\n";


$reponse=<STDIN>;

chomp($reponse); #pour enlever le saut de ligne

if ($reponse ne "o" and $reponse ne "O")

{

print "Opération annulée!\n";

exit;

}

print "Effacement des données de urpmi...\n";

system("rm","-rf","/etc/urpmi/*");

system("rm","-rf","/var/lib/urpmi/*");

print "Désinstallation du paquetage...\n";

system("rpm","-e","--nodeps","urpmi");

system("eject","/mnt/cdrom");

print "Veuillez mettre le premier cd-rom puis pressez ENTER\n";

$reponse=<STDIN>;

print "installation de urpmi...\n";

system("mount","/mnt/cdrom");

system("rpm","-ivh","/mnt/cdrom/Mandrake/RPMS/urpmi-*");

print "Réinstallation terminée!\n";










Il existe des logiciels en mode graphique pour gérer les paquetages, citons parmi les meilleurs;

kpackage (nécessite KDE ou KDE2), gnorpm (nécessite Gnome) et linuxconf (nécessite le module de gestion des rpm). Il existe aussi rpmdrake qui est une interface graphique d'urpm*.
















  1. 8)GÉRER LE SYSTÈME


    1. 8.1/ Introduction au « Mandrake Control Center » alias DrakConf

Drakconf est un utilitaire développé par Mandrake qui a pour but de simplifier la configuration de Linux. Alors qu'il est parfois indispensable de modifier des fichiers de configuration à la main, drakconf permet de centralisé la configuration générale de Linux sous une forme plus conviviale et qui peut fonctionner aussi bien en mode graphique qu'en mode console.

Ce logiciel pourrait être comparé au « panneau de configuration » de Windows. Pour qui ne désirent pas configurer très finement le système, DrakConf se montre d'une remarquable simplicité d'utilisation et d'une grande efficacité.

L'intérêt d'un tel utilitaire n'est pourtant pas, pour le connaisseur, évident. Mais il permet toutefois de configurer très rapidement un système ou tout au moins d'éviter de tout configurer à la main.

Il est conseillé d'installer drakconf et linuxconf, qui sont deux outils qui se complètent très bien et qui tous deux fonctionnent avec ou sans interface graphique.

Vous pouvez aussi très bien installer, en lieu et place de DrakConf+LinuxConf le fantastique utilitaire qu'est Webmin (configuration à travers une simple interface Web).


Pour lancer drakconf, ouvrez un terminal et tapez simplement;

drakconf

Il doit aussi exister une icône dans le « bureau » de votre environnement (KDE ou Gnome) ou dans le menu de démarrage de la barre d'outils de KDE2 (appelée Kicker) ou Gnome; Menu « Configuration » puis « Autre » et enfin « Panneau de Contrôle de Mandrake ».


Selon la version de votre distribution, Drakconf vous proposera de configurer via ses modules;

Le matériel (carte son, carte réseau).

Le serveur X (résolution, nombre de couleurs, type d'écran, type de carte graphique).

Les services à lancer lors du démarrage du système.

Les imprimantes via les serveurs d'impression CUPS, LPD ou LPRng.

La gestion des utilisateurs.

Le réseau et le type de connexion (ADSL, local, modem).

Le Chargeur de démarrage.

La gestion des disques (partitionnement, partage Samba ou NFS).


Linuxconf quant à lui ne fait pas partie que de la distribution Mandrake, il est disponible pour pratiquement toutes les distributions.

Une partie de la configuration peut être gérée par Linuxconf, parfois plus pointu dans les réglages du système.


    1. 8.2/ Configuration des services

Vous avez trois solutions pour configurer les services au démarrage de la machine;

Utiliser un utilitaire dédié comme tksysV

Utiliser Drakconf

Changer les liens symboliques à la main

Dans le cas présent, nous utiliserons Drakconf, qui est très bien conçu même si il est incomplet.

Lancez DrakConf (tapez drakconf dans un Xterminal ou lancez le par un raccourci présent sur le bureau).

Choisissez ensuite l'option « Services au démarrage », vous accéderez aux divers services et pourrez en ajouter ou en retirer simplement en cochant/décochant les services.

Lorsque vous choisissez les services à amorcer, sachez que cela est uniquement valable en Runlevel 3 et Runlevel 5.

Pour démarrer un service manuellement, entrez dans un terminal et faites;

service NomDuService Action

Action peut être start stop ou restart




    1. 8.3/ Configuration des imprimantes

Nous parlerons ici uniquement des imprimantes locales, la configuration des imprimante réseau nécessitants des paramètres que seul l'administrateur système est à même de vous donner.

En premier lieu, sachez que trois systèmes d'impression sont utilisés sous Linux-Mandrake 8.1;

lpd; système d'impression standard utilisé depuis quelques années déjà.

LPRng; évolution de lpd, ayant de nombreuses fonctions supplémentaires.

CUPS; système d'impression conçu par easysoftware ( http://www.easysw.com )

Mon choix va ici directement pour CUPS qui outre sa facilité de configuration (par de très nombreux utilitaires comme Printerdrake ou via Interface Web) est très polyvalent et est utilisé aussi bien pour un serveur d'impression « de bureau » que réseau.

Pour configurer une imprimante locale/réseau, lancez DrakConf puis sélectionnez « Matériel -> Imprimante ».



Choisissez « ajouter » ou sélectionnez une imprimante si celle-ci existe déjà pour la modifier.



Vous avez le choix entre imprimante « locale », « sur serveur CUPS distant », « serveur LPD distant », « imprimante réseau » et enfin « SMB ou Windows 95/98/NT ».

La connexion « imprimante réseau » nécessite que vous connaissiez l'adresse IP l'imprimante.

La connexion « SMB ou Windows 95/98/NT » est plus complexe car vous devez avoir configuré Samba en tant que client pour accéder à une imprimante située dans un réseau contrôlé par un contrôleur de domaine WindowsNT ou Samba.

Samba est un système qui fait tout simplement croire aux autres stations tournants sous Windows que votre poste est un poste Windows, ce qui permet une parfaite intégration de Linux dans un environnement hétérogène. L'avantage de ce système est que vous avez accès à toutes les ressources qu'aurait un poste Windows; Partage d'imprimantes, de disques, envoi de messages à travers le réseau etc.

C'est un avantage énorme car le serveur Samba peut aussi émuler un contrôleur principal de domaine (CPD) et donc permettre de se passer totalement d'une station WindowsNT server.


Choisissez l'option « imprimante locale » (pour une connexion traditionnelle par port parallèle ou USB) puis printerdrake vous demandera quelques renseignements notamment le nom de l'imprimante, la file d'impression. Si vous disposez d'une seule imprimante, laissez ces champs vides ou tout au moins le champs « file d'impression » qui sera automatiquement défini.

Ensuite vous aurez à choisir le type d'imprimante parmi toutes celles disponibles.

Enfin, vous pourrez contrôler la configuration de celle-ci en imprimant des pages de tests.

Si vous n'êtes pas satisfait de ces pages, il vous sera proposer de sélectionner un autre pilote pour l'imprimante.


Note; Si vous éprouvez des problèmes à configurer une imprimante à l'aide de Printerdrake, assurez-vous que CUPS est activé en tant que démon (regardez dans DrakConf; option « Système » puis « Services » et contrôlez que la case « au démarrage » en face de CUPS est cochez et que celui-ci est actif).

Ensuite, ouvrez un navigateur web (Mozilla, Konqueror ou Galeon) et entrez cette adresse;

http://127.0.0.1:631



Vous arriverez ensuite à l'interface Web de configuration de CUPS et vous pourrez ajouter une imprimante locale ou réseau ainsi que des pools d'impressions directement par cette interface.

L'intérêt d'un tel système de configuration est que vous pouvez configurer à distance n'importe quelle station linux o ù que vous soyez sur un réseau pourvue que vous connaissiez l'adresse IP de la machine à administrer.


    1. 8.4/ Configuration de Xwindow

Pour configurer Xwindow, nous utiliserons un utilitaire présent uniquement sous Mandrake, à savoir XFdrake. Pour lancer XFdrake, allez dans un terminal puis tapez

XFdrake

Si vous êtes en mode graphique, xfdrake se lancera en mode graphique, dans le cas contraire vous aurez une interface légèrement différente.

Vous pouvez spécifier la résolution ainsi que le nombre de couleurs à utiliser.

XFdrake vous permettra ensuite de tester cette configuration, cette étape est vivement conseillée car on ne peut jamais être totalement certain de la configuration est correcte.

Si par la suite, vous rencontrez des problèmes (écran ne supportant pas une résolution trop élevée, carte graphique non prise en charge, résolution indisponible) vous aurez l'écran ci-après qui vous permettra de modifiez quelques paramètres.


NOTE IMPORTANTE;

Si votre ordinateur dispose de cartes SIS, les drivers pour Xfree4.x.x ne semblent pas fonctionner correctement, pour y remédier vous devrez modifier le nombre de couleurs de l'affichage, car tous les modes ne sont pas supportés. Si vous souhaitez un serveur X optimisé, plus rapide mais assez instable et ne supportant pas l'anti-aliasing allez sur le site web de SIS ( http://sis.com.tw ) pour obtenir le serveur XFree fait par le constructeur.


    1. 8.5/ Configuration du système par Linuxconf

Linuxconf possède des fonctions complémentaires à DrakConf et il permet de configurer assez finement le système. En effet Linuxconf est un assemblage de modules qui chacun permet de configurer telle ou telle partie du système.

Linuxconf est très efficace dans la configuration; du réseau, de la gestion des utilisateurs et des groupes, la gestion des systèmes de fichiers (ajout, modification, retrait des périphériques de stockage ) etc.

Car Linuxconf est un logiciel très complet, certaines fonctions sont aussi gérées par Drakconf.


Voici un tableau comparatif retraçant les capacités des deux logiciels;

Type de configuration

Linuxconf

DrakConf

Gestion des utilisateurs;

Très bien

Bien

Configuration du réseau;

Bien

Bien

Gestion des systèmes de fichier;

Très bien

Bien

Gestion du niveau de démarrage et configuration de lilo ou Grub;

Très bien

Excellent

Gestion des services de démarrage;

Incomplet

Bien

Configuration du matériel (son, carte graphique);

Très limité

Très bien

Gestion de l'impression;

moyen et incomplet

Très bien

Configuration des menus;

Inexistant

Bien

Gestion des packages;

moyen

Bien


Ce tableau est valable pour Linux-Mandrake8.1 et celui-ci est susceptible d'évoluer très rapidement, chaque nouvelle version de la distribution incluant de très nombreuses améliorations mais DrakConf reste un outils qui doit être utilisé conjointement avec Linuxconf si vous voulez plus qu'une simple configuration de base de la machine. Certes Linuxconf est plus axé « connaisseurs » que Drakconf mais lorsque vous aurez l'habitude d'utiliser le système, vous vous apercevrez qu'il est parfois indispensable.

    1. 8.6/ Introduction à Webmin

Webmin est un outils très puissant vous permettant de configurer au même titre que Linuxconf ou DrakConf votre système.

La véritable nouveauté de Webmin est qu'il permet de gérer votre système à distance via un simple navigateur web comme Netscape Navigator, Internet Explorer ou Mozilla.

Le seul impératif étant que votre butineur puisse gérer le SSL (Secure Socket Layer), système de cryptage utilisé pour les payements en ligne et assurant un minimum de sécurité sur la transmission des données.

Webmin fonctionne en tant que service, il doit être activé au démarrage de la machine pour qu'il puisse écouter une éventuelle connexion.

Par défaut le port d'écoute est 10000.

Après avoir installé webmin sur la machine à administrer, lancez un navigateur d'un autre poste et entrez cette adresse dans le champs URL.

https://L'adresse_de_votre_machine:10000

«https» signifie que vous allez passer en SSL (cryptage) et « :10000 » que vous allez vous connecter au port 10000.



Dès que la connexion aura réussi, il vous sera demander d'accepter un certificat puis vous devrez entrer votre login et votre mot-de-passe.

Par défaut le login est root et le mot de passe est... le mot de passe de root :)

Si l'authentification a réussi, vous arriverez dans un menu vous permettant de configurer la quasi-totalité de votre système; de la gestion des processus aux partitions des disques jusqu'à la configuration d'Apache (serveur web).

Webmin est si complet qu'il peut être utilisé en local pour configurer la machine, pour cela il suffit de lancer un navigateur web (à l'heure actuelle Netscape, Mozilla, Konqueror et Galeon supportent le protocole SSL) et d'entrer dans le champs URL; https://127.0.0.1:10000

Vous accéderez à la configuration de votre machine.


    1. 8.7/ Utilisation de SSH

SSH (Secure SHell) est un programme utilisé pour se connecter à une machine distante et pour

y exécuter des commandes. Le but est à terme de remplacer rlogin et rsh (remote login et remote shell) et d'apporter le cryptage de données échangées entre deux machines appartenant à un réseau non-sécurisé. Les connexions X11 et le transfert (forwarding) de ports TCP/IP peuvent être effectués pour passer à travers le tunnel de communication.

Pour les stations Linux, l'implémentation du protocole SSH se nomme OpenSSH .

Notez qu'il existe deux versions du standard SSH; SSH1 et SSH2.

Actuellement il est vivement conseillé d'utiliser le second (SSH2) car il dispose d'une conception plus solide et donc plus sécurisé. Le logiciel OpenSSH supporte les deux versions.


Précision concernant la paire de clef privée/publique ;

Ce système est basé sur l'utilisation de clefs dites asymétriques ;

La clef publique est une clef asymétrique, la clef privée est quant à elle symétrique.

La définition du système des clefs privées/publiques est le suivant ;

Ce qui est chiffré avec la clef publique ne peut être déchiffré qu'avec la clef privée correspondante. Il n'est pas possible dans un temps humainement calculable de dériver la clef privée à partir de la clef publique. (source; Linux-magazine HS n°10 février-mars 2002, page 70)

Mise en place de votre serveur SSH avec authentification par mot de passe ;

Lancez un terminal et en ROOT, faites;

urpmi openssh-2.2.9p2 openssh-server openssh-clients

service sshd start

Cette action va démarrer le serveur SSH (qui par défaut écoute sur le port 22) et vous permettra à l'avenir d'accéder à votre machine.

Pour informations, le fichier de configuration du serveur est /etc/ssh/sshd_config.

Par défaut l'accès rhost est désactivé mais la majorité des autres services (X11 forwarding, authentification par mot de passe, transfert de ports) sont disponibles.

pour vous connecter sur le serveur, utilisez soit le programme nommé gnome-telnet soit la syntaxe suivante; ssh login@ip_machine

Par exemple dans mon cas, et sachant que je veux me connecter sur ma machine, la syntaxe sera;

ssh js@127.0.0.1



NOTE;

Si vous obtenez un jour ce message;

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED ! @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

etc.

Deux cas sont alors possibles; Soit le serveur auquel vous souhaitez accéder a été modifié (changement de clefs, remplacement du serveur) soit vous êtes en présence d'une attaque de type « man in the middle » c'est à dire un détournement de votre connexion.

le fingerprint (empreinte) de la nouvelle clef vous sera transmis à la fin du message d'avertissement et vous devrez contacter l'administrateur système pour qu'il vous confirme que ce fingerprint est bien celui de son serveur et non celui d'un autre.


Une fois connecté au serveur, vous pourrez accéder aux ressources de la machine distante et si votre connexion le permet, vous aurez la possibilité de lancer des applications graphiques à travers le réseau et cela de façon très simple; un appel de gedit en mode console lancera par exemple l'affichage sur votre station alors que le processus sera géré sur le serveur. Assurez-vous toutefois que l'option X11Forwarding est bien à Yes dans le fichier de configuration /etc/ssh/sshd_config



  1. 9)ANNEXE; Licence de cette documentation


Cette documentation est librement redistribuable et modifiable si toutefois vous respectez les termes de cette licence à savoir;


1/ Il vous est permis de distribuer cette documentation numérique sous quelque forme que ce soit et quelqu'en soit la finalité sauf dans les cas suivants;

Vous souhaitez vendre cette documentation sans que l'auteur soit cité.

Vous voulez retirer du document la licence en annexe.

Vous voulez publier cette documentation dans un ouvrage.

Toutefois dans le cas de support de cours pour des formations, il vous est permis d'utiliser cette documentation. Le seul impératif étant de ne pas modifier cet annexe et de prévenir l'auteur par courrier, téléphone ou e-mail (ça fait toujours plaisir de savoir que l'on utilise mon travail).

L'auteur ainsi que cette présente licence doivent figurés dans l'imprimé et dans le document numérique pour qu'il n'y ai aucune ambiguïté sur l'identité de l'auteur.

Si vous souhaitez distribuer le contenu (format numérique) celui-ci doit être mis à disposition sans aucun surcoût à quiconque en faisant la demande. il doit y avoir au minimum un lien sur une page web permettant de le télécharger directement sans limitation.


2/ Si vous souhaitez faire des modifications de ce document, vous devez ajouter votre nom à la fin de cet annexe en précisant que vous l'avez modifié et qu'en conséquent l'auteur n'est en aucune manière responsable des modifications effectuées. Notez que les modifications ne vous donnent pas le droit de modifier la présente licence.

Si malgré tout vous souhaitez vendre ce contenu avec ou sans vos modifications avec une autre licence, veuillez contacter l'auteur original.


3/ Si vous avez modifié ce document, la licence de la nouvelle version doit rester la même, il ne vous est pas permis de modifier cette licence et cela pour en garantir la libre distribution.

Vous devez aussi fournir la documentation originale gratuitement et sans aucune modification si la demande vous est faite et dans un format modifiable sans surcoût lié à l'achat d'un logiciel spécifique. Les formats de distribution autorisés sont; StarOffice/Openoffice, Html, Texte, RTF, Tex, Latex, Kword ou tout autre logiciel pouvant être obtenu gratuitement et étant disponible pour le système d'exploitation Linux au minimum.

Si vous souhaitez mettre à disposition d'autres formats (Pdf, Doc etc.) il faut qu'au moins l'un des formats cités précédemment soit disponible. Préférez le format d'origine; StarOffice5.



Auteur Original;

Jean-Sébastien HUBERT < jshubert@netcourrier.com >

format d'origine de la documentation; document StarWriter 5 (StarOffice 6 Linux)

librement téléchargeable dans d'autres formats (html, pdf) sur

http://gcutter.multimania.com/cours

copyleft décembre 2001


Numéro de version ;

Révision n°5 ( 10 avril 2002 à 00:47) avec ajout de sections, fusion avec l'annexe, et modification de licence.

Version Libre et Gratuite


Modifications ;

Mettez ici votre nom, votre email

47