GUIDE DE SURVIE DU DÉBUTANT SOUS LINUX

Document écrit par G.DELAFOND (g.delafond@medsyn.fr).

Version du 20/08/2001 (page garantie sans image .gif)

Index


1. Introduction

 Ce texte est une sorte de faq (frequently asked questions), qui s'adresse aux débutants qui ont réussi à installer GNU/LINUX, ce fantastique OS libre et gratuit, et qui ne savent pas comment s'y prendre ensuite (on pourrait appeler cela la post-installation). Il s'agit essentiellement de « recettes » pour se dépatouiller dans les situations les plus fréquentes sans passer des nuits entières à potasser des docs incompréhensibles, de préférence en anglais.

Toutes les informations sont données sous toutes réserves : une erreur, une faute de frappe, ou un cas particulier peuvent avoir été oubliés et avoir des conséquences fâcheuses. Toutes les opérations que vous ferez sur votre machine sont sous votre entière responsabilité.

Il devient suffisamment complet pour servir de base à des formations de niveau débutant et moyen, comme j'ai déjà eu l'occasion d'en faire (me contacter en cas de besoin).

Il est le produit au départ d'une seule personne, mais devient au cours des contributions des Linuxiens (entre autres, J-P.R, Charles Vidal, Amaury, David Trystram, Jean-Bernard JACQUET, Etienne Herlent, Pierre Couvy,Thibaut Cousin...) un travail collectif. Qu'ils en soient ici remerciés. Procurez-vous les mises à jour sur http://www.medsyn.fr/perso/g.delafond/survie.htm.

La partie matérielle ne concerne que la plate-forme Intel 386, un peu MacIntosh, Sparc et Alpha. Je n'ai pas de machine pour l'élargir à d'autres configurations. Si vous avez une machine disponible quelque temps (un AS 390 par exemple ;-))

Vous pouvez le redistribuer librement sous forme électronique, ou mieux, faire des liens du fait de sa grande évolutivité. Si vous voulez le distribuer sous forme papier, veuillez me contacter. Je crois que des traductions sont en cours.

Des versions pdf et postscript compilées par Claude Mahé sont disponibles sur

http://www.uppp.free.fr/survie.pdf et .ps ainsi qu'une version .pdf sur

ftp://ftp.linux-france.org/pub/article/cesar/Survie_Linux.pdf.gz par Cesar Alexanian.

Une version Mobipocket (Psion, Palm et WinCE) mise en forme par Nicolas Robaux se trouve sur

http://www.robaux.com/ebooksurvie.htm

Il est rédigé par un non-informaticien, et il ne prétend pas résoudre toutes les questions. Il existe de très bons livres pour ça. Prenez-en un très gros. 1 000 pages semble un minimum pour pouvoir aborder correctement tous les sujets (« le système Linux » des éditions O'Reilly a une excellente réputation).

Si vous êtes Parisien, je peux vous prêter des livres (près de 100 titres). Voyez la page http://www.medsyn.fr/perso/g.delafond/bibliotheque.html.


2. Utiliser ce guide

Il s'agit d'une TRÈS LONGUE et unique page HTML sans image. Ce format est voulu : facile et rapide à télécharger, lisible avec tout Browser y compris en mode texte, facile à imprimer (les URL sont lisibles en clair afin d'être utilisables en format papier).

Pour chercher un renseignement, vous pouvez soit utiliser l'index, soit utiliser simplement la fonction Chercher de votre navigateur.


3. Trouver de l'aide ailleurs

Avant de poster une question dans un newsgroup, assurez-vous qu'elle n'est pas posée régulièrement en consultant les arthives (http://groups.google.com/), et lisez les how-to ( http://www.linux-center.org/fr/informations/doc-french/index.html), le guide du rootard http://www.freenix.org/unix/linux/Guide et les faq disponibles avec la plupart des distributions (les répertoires /usr/share/doc et /usr/lib/X11/doc sont souvent pleins de bonnes choses). Pour les renseignements « système », vous avez un répertoire Documentation dans les sources du kernel (/usr/src/linux/Documentation/). Beaucoup de bonnes choses sur la faq de fcolc (fr.comp.os.linux.configuration) : http://www.linux-france.org/article/fcol-faq/.

Un bon site portail pour les docs en français : http://linuxdoc.free.fr.

Pour les Macs : http://www.linux-france.org/article/materiel/mac et http://perso.easynet.fr/~eherlent/linuxmac_FAQ.html

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

Pour plus de détails : « man man » et « info info ». Ne vous trompez pas ! « man woman » donne un résultat surprenant ;-).

Astuce : lorsque vous êtes dans man, tapez « h », vous aurez l'aide de less, qui est le programme qui affiche par défaut vos pages man. Vous saurez ainsi comment chercher un mot, vous déplacer, etc. Pour imprimer un man, « man date | lpr ».

Autre astuce : dans kde2, vous tapez « #commande_inconnue » dans la barre d'URL de Konqueror, et vous aurez le man dans la fenêtre de navigation, avec de la couleur et des hyperliens. Tapez « info:/commande_incompréhensible » et vous aurez la page d'info en html.

Vérifiez que vous disposez de la toute dernière version de Linux, les différents problèmes étant réglés au fur et à mesure des nouvelles versions (Actuellement RedHat 7.1 et Mandrake 8.0, Suse 7.1, Slackware 8.0, Debian 2.2, Caldera 2.4 avec Xfree 3.3.6 -ou 4.1, et le kernel 2.2.19 ou 2.4.9). Ne confondez pas la version de Linux (le kernel, ou noyau) et celle de la distribution.

Vous trouverez ci-dessous des renseignements sur :

L'installation

Choix d'une distribution, Commencer l'installation, Le disque dur et les partitions, Le choix des paquetages, Le mode graphique, Le boot

Les premiers pas de l'administrateur:

Login, mail, messages système, démarrer Windows ou Linux, la mémoire vive, faire une disquette de boot, trouver les commandes, astuces bash, les utilisateurs, mot de passe, les groupes, les droits, les consoles, faire fonctionner les commandes, les répertoires, éditer les fichiers, trouver une chaîne, voir Linux depuis Windows ou MacOS

Les premiers pas de l'utilisateur de base

Démarrage, ligne de commande, mot de passe, espace de travail, souris, clavier, fichiers, droits, système, extinction

Les périphériques :

Cd-rom, disque dur, disquette, démountage, modem, ADSL, Numeris, câble, son, CD­-audio, vinyl, Imprimante, souris, zip, ls 120, MO-Drive, télé, joystick, Psion et PDA, Scanner, USB, Clavier, Partition Windows, DVD, graveur, automontage, portable, fax, Minitel, Wacom, appareil photo, webcam

L'ordinateur portable :

Généralités, modem, Infra-rouge, Le PCMCIA, L'économie d'énergie

Gérer la machine :

Débloquer, espace libre, Faire de la place, changer la priorité, libérer de la RAM, mettre à l'heure, se déloguer sans arrêter un programme, paramètrer le démarrage, lancer un service, version, récupérer un fichier effacé, réparer les partitions, défragmenter, redimensionner, polices françaises, linuxconf, webmin

Le mode graphique :

Lancer X, lancer X automatiquement, les Window managers, les X terms, les résolutions, les couleurs, régler le centrage, les ascenseurs X, changer de console graphique, lancer un programme en tant qu'invité, quitter X, la 3D, le double écran, la sortie Télé, le DivX .

Le réseau :

La carte réseau, L'adresse IP, Les routes, Telnet, Exporter l'affichage, Session X distante, le null modem, la passerelle réseau, ip-aliasing, nfs, ftp, imprimer, Samba, MacIntosh, ipchains, NIS, Minitel, Fax, Transmettre du texte, Transmettre du son, Scanner en réseau, Apache, Réseau à distance, VNC, Internet, Mail par telnet, ICQ

La sécurité

La sécurité, J'ai perdu mon mot de passe

Configuration des logiciels :

Installer un programme, Les programmes à problème, Ça ne marche pas, Dosemu, Wine, Mac-on-Linux

Améliorer un programme, Traduire

Compiler le noyau:

Pourquoi, comment


4. L'installation

Choix d'une distribution

Les images iso à télécharger et des commentaires sur chacune d'elles sur http://www.linuxiso.org

Tout dépend de votre matériel et de ce que vous voulez faire. Les distributions généralistes se présentent généralement sous la forme d'un (ou plusieurs) cd-rom. Elles contiennent énormément de programmes préconfigurés et sont munies d'un système d'installation souvent perfectionné, intégrant un partitionneur de disque dur. Si vous avec un PC moderne de type Pentium (et clones) avec cd-rom, la plupart des grandes distributions conviendront (RedHat, Suse, Mandrake, Debian, Slackware,...).

Si vous avez un PC plus ancien (486), faites attention à ne pas prendre une distribution compilée spécialement pour Pentium (Suse, Mandrake). Prenez plutôt une Debian ou une Slackware. Vous pouvez aussi télécharger une distribution de Mandrake compilée spécialement pour 486.

Si vous avez un Mac, voyez du côté de linuxppc ou Suse. Les dernières versions seraient assez faciles à installer.

Si vous avez un Alpha, vous avez Red Hat ou Suse et sur Sparc, vous avez Red Hat.

Si vous n'avez pas de lecteur de cd-rom, vous pouvez en emprunter un le temps de l'installation, ou bien faire une installation par réseau (le réseau peut être de type Ethernet ou un simple câble Null-modem série ou Null-printer parallèle (câble pour transferts de fichiers). Dans ce cas, vous devez aussi avoir sous la main une machine Linux contenant un cdrom d'installation et vous y donnant accès par nfs. Vous pouvez aussi installer par ftp dans certains cas. Excellente liaison indispensable !!

Autre possibilité : certaines distributions comme Slackware ou Debian sont prévues pour être tronçonnées en disquettes, et un PC sous DOS pourra facilement générer les (nombreuses !) disquettes nécessaires à l'installation.

Le choix peut aussi porter sur le support où vous comptez réaliser l'installation. Par exemple, certaines distributions acceptent de s'installer sur une partition DOS/Windows (système UMSDOS). C'est moins bien, mais c'est plus simple. Certaines sont même faites pour cela : winLinux, DosLinux. Il existe aussi une distribution faite pour s'installer sur une disquette zip (Zipslack). C'est commode, mais avec 100 Mo, on ne fait plus grand-chose de nos jours.

Le choix peut aussi porter sur la place dont vous disposez. Les Suse Mandrake RedHat et apparentées sont de vrais mastodontes. Généralement, l'installation est tout simplement impossible en dessous de 200 ou 300 Mo. Rabattez-vous sur les distributions plus modulaires : slackware ou Debian (qui permettent de descendre jusqu'à 20 à 40 Mo). Le même problème se pose si votre RAM est trop exiguë (Les dernières Slack ne s'installent pas avec 8Mo de RAM, et la plupart des grosses distributions peinent avec 16 Mo. Mandrake a besoin de 48 Mo).

Le choix peut aussi être de...ne pas installer Linux sur un disque. Certaines distributions s'exécutent directement depuis le support d'installation en mémoire vive (dans un ramdisk). C'est le cas essentiellement des micro-distributions (microlinux, tomsrtbt à http://www.toms.net/rb/, linuxrouteur à http://www.linuxrouter.org, de mininux qui supporte le système Reiserfs http://mininux.free.fr) ou de l'inégalable Demolinux (un cdrom entier à votre disposition en quelques minutes).

Commencer l'installation

Sur PC

Commencez à faire un tour dans le BIOS du PC (touche <Suppr> ou <F2> ou autre chose pendant le début du démarrage selon votre PC)

Si vous ne savez vraiment pas comment faire, essayez de démarrer en ayant débranché le disque dur. Désactivez la protection anti-virus, sinon vous risqueriez de ne pas pouvoir écrire votre système de boot. Ensuite, choisissez la manière dont votre ordinateur doit démarrer pour l'installation (disquette ou cdrom, option possible à partir des Pentium 150)

Rappelons que le BIOS des PC est un petit programme incorporé à la carte-mère, dont le rôle est de gérer le matériel et le démarrage : nombre, emplacement et type des disques, IRQ, mémoire vive, disque à démarrer...

Il y a plusieurs manières de démarrer l'installation.

-À partir d'une disquette de boot. Celle-ci est peut-être fournie avec la distribution ou bien à faire soi-même. Lisez les instructions écrites sur le cdrom. Sur certaines distributions, il en faudra deux. Pour générer la disquette sous DOS, il faudra utiliser le programme rawrite, ou bien dd sous Linux. (« dd if=fichier_image of=/dev/fd0 bs=512 »)

Pour info, ces programmes sont capables de copier une « image » de disquette présente sur un disque à l'identique sur une disquette.

Si vous n'avez pas de cdrom sur la machine, c'est la seule méthode envisageable.

Bootez ensuite sur la disquette et suivez les instructions.

-À partir du cdrom. La plupart des distributions sont sur un cdrom bootable. Si votre PC accepte de booter sur cdrom, vous insérez le cdrom et vous démarrez. Enfantin.

-À partir de DOS/Windows. La plupart des distributions ont un programme DOS capable de démarrer l'installation. Sous RedHat, c'est autoboot.exe dans \dosutils. Sur Mdk 8.0, ne cherchez pas, il a été oublié.

Sur Alpha et Sparc (D'après Yann Morere)

Pour l'installation (et surtout le boot à partir de disquette) il faut créer deux disquettes de démarrage pour une RedHat 6.0 et une seule pour une RedHat 6.2. L'une d'elle est le boot disk et l'autre le root disk. La procédure de création des disquettes est la même que pour l'installation sur un PC. On peut utiliser rawrite. Les deux images boot et root doivent se trouver dans le répertoire images.

Lors du premier démarrage, insérer la disquette boot et, après les tests de la machine, interrompre le boot par STOP-A. Attention si on a un clavier Qwerty, il faut taper STOP-Q. Pour la station alpha un bon vieux CTRL-C fera l'affaire.

Sun Sparc IPX

Ensuite taper n et se laisser guider par les menus. Normalement pour booter sur la disquette vous devrez taper une commande comme : « boot floppy ».

Sun Sparc Classic

Il suffir de taper : «  boot floppy ». Sinon la commande « help » vous donne toute l'aide nécessaire.

La station va redémarrer et booter sur la disquette, elle va charger le noyau et va ensuite vous demander la disquette root. Insérez-la et appuyez sur <Enter>. Normalement votre Linux est démarré et il ne vous reste plus qu'à l'installer. La suite de l'installation est la même que pour un PC.

Si votre ancien OS boote malgré tout, il faut interrompre le boot n tapant lors du démarrage <STOP-A>. Attention, si on a un clavier Qwerty, il faut taper STOP-Q. Ensuite se laisser guider par les menus. (n pour le nouveau menu).

Ensuite, pour booter la machine, il faut taper une des commandes suivantes :

AlphaServer

Comme pour les Sun j'ai réalisé l'installation à partir du net avec une connexion FTP à partie des deux disquettes de boot et root (faites à partir de rawrite). Ensuite il suffit de démarrer la station avec la disquette boot dans le lecteur. Après ses premiers tests vous avez l'invite > > > et vous allez indiquer que vous voulez booter sur la disquette par la commande « b dva0 ». Si vous désirez plus d'informations, faites « help boot ». Ensuite il y a un accès sur la disquette, il s'agit du chargeur aboot qui démarre. Ce dernier vous rend la main par aboot> et la vous répondez <0> (ceci est la configuration qui charge le noyau de la disquette).

Lors du partitionnement du disque de boot, il faut faire attention, si vous choisissez d'installer aboot, de commencer la première partition au cylindre 2. En effet aboot s'installe sur le premier cylindre.

Aboot charge alors le noyau, et cela peut être très long (on peut même penser que c'est planté : 25min) puis le noyau se charge. Une nouvelle invite vous propose de remplacer la disquette boot par la disquette root ce que vous vous empressez de faire. Le noyau finit de booter et vous arrivez sur la page d'accueil d'installation de la distribution. Il ne vous reste plus qu'à faire l'installation comme avec un PC.

Si vous êtes moins chanceux et que vous installez à partir du CD-Rom (dkaxxx ou xxx vaut 400 500 suivant l'ID SCSI du CD-Rom) il vous faudra entrer la ligne de commande suivante :

> > >boot dkaxxx -fi /kernels/generic.gz -fl root=/dev/scd0, bootdevice=/dev/sr0

Le disque dur et les partitions

Probablement le problème le plus complexe. Tout d'abord, remettons les pendules à l'heure. Sous Windows, c'est plus simple...parce qu'on l'installe sur un disque vierge. Partitionner un disque dur « à chaud », c'est à dire sans détruire les données qui s'y trouvent est une opération délicate, et s'arranger pour installer un deuxième système et une méthode de démarrage permettant de choisir le système à démarrer est un autre défi (que Linux relève avec panache).

Rappelons qu'une partition est une zone du disque physiquement distincte des autres (contrairement aux répertoires qui sont des entités logiques, mais n'ont pas d'existence physique). Chaque partition porte un système de fichiers, qui permet d'écrire des données faciles à retrouver (ex : vfat pour Windows, ext2 pour Linux, etc.).

Les partitions du disque des PC

Le BIOS des PC est capable de gérer 4 partitions par disque, pas une de plus. Ces partitions peuvent s'appeler primaires ou étendues. Les partitions primaires sont indivisibles. La (seule possible) partition étendue peut être divisée en partitions logiques. Cette astuce permet de dépasser les 4 partitions autorisées par le BIOS.

Numérotation des partitions

Si votre disque dur est de type IDE, son nom commencera par hd. Le premier de la première nappe est hda, le deuxième hdb, le premier disque de la deuxième nappe hdc et le deuxième de la deuxième nappe hdd. Si vous avez des disques UDMA66 avec la nappe qui va bien, ça commence à hde. Dans l'état actuel des choses, il vaut mieux installer ces disques en IDE simple, c'est à dire avec une nappe ordinaire (numérotation IDE normale).Si votre disque est SCSI, il s'appelle sd???. Le premier est sda, le deuxième sdb, etc.

Si votre disque est partitionné, son nom ne change pas, pas plus que celui des suivants, mais on rajoute un numéro : sda1, hdb4, etc. La numérotation des partitions logiques commence à 5.

Comment partitionner ?

Si votre disque dur est vierge et que vous voulez Linux tout seul, vous pouvez lancer l'installation directement. S'il est vierge et que vous voulez Windows, commencez par partitionner avec fdisk sous DOS ou avec un microlinux (tomsrtbt), puis installez Windows sur la première partition, puis installez Linux.

Si votre disque dur contient déjà Windows, commencez par défragmenter Windows, ce qui aura pour effet de rassembler au début du disque tout Windows et libérera de la place pour partitionner, sauvegardez toutes vos données, puis tentez un partitionnement (fips sous DOS, ou Partition Magic). Vous pouvez sauter cette étape si votre distribution possède un partitionneur non destructeur intégré au processus d'installation.

Quelles partitions ?

Le minimum pour Linux est...1 partition. En fait, on en utilise souvent davantage.

La swap

Presque toutes les distributions vous obligent à utiliser une partition de swap (=fichier d'échange). Cette partition servira à écrire lorsque la mémoire vive déborde. Dans le temps, on disait que le swap devait faire le double de la taille de la RAM. Maintenant que le kernel a changé et que les RAM sont énormes ainsi que les disques durs, une fois la RAM est généralement suffisant. Idéalement placée vers le début du disque (pus rapide). hda5 est généralement un bon choix.

/

Ici se trouve la partition racine du système. Obligatoire. Plus ou moins grande selon ce que vous mettrez dessus. Sachez que la saturation de cette partition est dangereuse pour le système. Donc éviter tout ce qui peut grandir. Tous les répertoires ci-dessous se placeront ici si vous ne leur spécifiez pas de partition spécifique.

/boot

Il peut être bon que le système de démarrage soit sur une partition à part. Une bonne raison est l'utilisation d'un système de fichiers Reiserfs, qui n'est pas supporté par certains systèmes de boot. Donc un /boot en ext2, de très petite taille (8 Mo). Idéalement en début de disque (hda1). Cela rend possible le boot dans certains cas.

/home

Ici seront vos données. L'intérêt de les séparer physiquement est de pouvoir par exemple réinstaller Linux sans toucher à vos données. Donnez la taille que vous voulez. Le format peut être ext2 ou reiserfs (si votre noyau le supporte).

/usr

Ici seront installés les programmes. Cette partition doit être de grande taille (au moins 1 Go) si vous voulez beaucoup de programmes. Vous pouvez ne pas créer de /usr. Simplement, votre / sera plus grande. Et attention à ne pas installer trop de programmes qui satureraient alors /. Format ext2 ou reiserfs. (Cette partition est facultative)

/var

Sans doute une partition très utile. Votre système écrit régulièrement ici des données. Comme la partition racine (/) ne doit jamais saturer, il est prudent que les données changeantes soient sur une partition à part. Une centaine de Mo convient très bien. Beaucoup plus si vous voulez être un serveur apache. Format ext2 ou reiserfs. (Cette partition est facultative)

/root

Pour la même raison que /home, puisque /root est le /home du chef. Format ext2 ou reiserfs. (Cette partition est facultative)

En résumé, sachez que tous les répertoires qui n'ont pas une partition spécifique seront automatiquement installés dans la partition /.

Le choix des paquetages

Le système d'installation va ensuite vous proposer une incroyable quantité de logiciels à installer, généralement groupés par genre.

Si vous choisissez tout, l'installation pourrait prendre pas mal de temps (genre 1 ou 2 heures) et occuper 2 ou 3 Go de disque.

Si vous choisissez peu de choses, vous risquez d'être gêné aux entournures. Essayez de lire l'aide qui accompagne les paquetages. Une idée quand même : si vous comptez installer des logiciels distribués sous formes de source, vous devez avoir tous les outils de développement (langages de bibliothèques), dont le nom finit souvent pas dev ou devel. Ça occupe un gros volume, mais c'est assez fastidieux si vous voulez les installer ensuite à la main. Les autres programmes sont assez faciles à rajouter ultérieurement.

Une astuce : vous pouvez installer un minimum de choses afin de faire une première installation rapide. Regardez à la fin si tout marche comme vous voulez, et recommencez l'installation, cette fois complète. Vous n'aurez pas besoin de refaire l'opération délicate du partitionnement, puisqu'elle est déjà faite.

Le mode graphique

Votre logiciel d'installation devrait vous paramétrer plus ou moins automatiquement le mode graphique. Il se peut qu'il échoue. Dans ce cas, vous devriez avoir au moins un mode graphique qui fonctionne : le mode VGA 16 (640 x 480 en 16 couleurs). Ça vous donnera le temps pour installer mieux ensuite. Si le mode graphique passe bien les tests, vous devriez pouvoir accepter que le mode graphique démarre automatiquement au boot. Si lors du premier reboot, vous tombez sur quelque chose d'inutilisable (clignotements horribles, etc.), rebootez et signalez au gestionnaire de boot que vous voulez démarrer dans un niveau inférieur (tapez « linux 3 » à l'invite de LILO ou tapez « e » à l'invite de GRUB (reconnaissable à l'inscription « stage1 stage2 » ),et ajoutez « 3  » en fin de ligne. Sur certaines distributions (Debian) mettez plutôt « S  ». Vous arriverez en mode texte et aurez tout le temps pour faire un paramétrage manuel avec « xf86config » ou autre.

Le boot

Vers la fin de l'installation, le programme d'installation vous demandera où vous voulez installer le système de démarrage et peut-être quel programme de démarrage vous voulez utiliser.

L'emplacement du système de boot

Votre premier disque dur possède un secteur de boot, qui est automatiquement lu par le BIOS lors du démarrage (master boot record = mbr). C'est généralement ici que vous allez installer le programme de démarrage. Si vous avez plusieurs OS à démarrer, c'est à ce moment que vous devez les déclarer. Généralement, le programme d'installation les trouvera sans votre aide. Le disque dur possède également un secteur de boot par partition. Vous pouvez installer ici votre système de démarrage, mais sachez que vous aurez de toutes façons besoin d'un système de boot sur le mbr qui saura chercher ici le démarrage de Linux.

Si vous avez des disques SCSI et IDE dans la même machine, c'est toujours le mbr du premier disque IDE qui sera lu. Donc, pas d'installation sur le mbr du SCSI. De plus, Linux ne sait démarrer que sur les deux premiers disques. Or les disques IDE sont comptés en premier. Donc pas de Linux sur un disque SCSI si vous avez 2 disques IDE. Donc, généralement, acceptez le mbr. Sachez aussi que le processus d'installation de Windows efface le mbr, ce qui oblige dans une machine multi-boot, soit à installer Windows en premier, soit si l'on installe Linux en premier à avoir une disquette de boot sous la main pour pouvoir relancer Linux ultérieurement et reconstituer un secteur de démarrage en multi-boot.

Enfin, le commande magique pour restaurer un mbr défaillant (ou pour revenir à un DOS sans Linux) : « fdisk /mbr » sous DOS.

Le choix du logiciel de démarrage

Les distributions en proposent souvent plusieurs.

Lilo

C'est le système historique. Il a besoin de connaître l'emplacement physique des fichiers de démarrage (noyau). Souvent un bon choix, mais refuse de booter certaines machines.

Grub

Beaucoup plus puissant. Il est capable de monter les systèmes de fichiers et de chercher les fichiers à démarrer tout seul.

Loadlin

C'est un logiciel DOS qui sait booter Linux à partir de DOS/Windows. Pratique si vous utilisez surtout Windows.

Les autres

Rarement proposés lors de l'installation. Citons chos ou Xosl (démarreur graphique s'installant sous DOS).

Conclusions

Ceci n'est qu'un petit survol de l'installation de Linux, simplement destiné à aborder l'installation avec les notions de base et à vous faire éviter quelques pièges. Il y a souvent des surprises, pas toujours faciles à démêler, même pour un vieux routier. Lisez bien les explications qui accompagnent votre distribution. Ne vous découragez pas, le jeu en vaut la chandelle. Et dès que ça bootera proprement, passez à la suite...


5. Les premiers pas de l'administrateur

Où suis-je ?

Plusieurs cas sont possibles selon votre distribution et les options d'installation que vous avez choisies.

Premier cas : démarrage en mode texte.

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

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

Quelques exemples de commandes :

« date » (ne pas taper les guillemets !)

« factor 12 » factorise 12

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

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

Deuxième cas : login graphique.

Dans ce cas, vous avez un écran graphique qui vous demande qui vous êtes et votre mot de passe. Une fois validé, vous arrivez sous un Linux graphique. C'est plus long, mais c'est plus joli. Lorsque vous voudrez taper des commandes, vous pourrez soit lancer un xterm, c'est à dire une boîte permettant aussi bien la saisie de commandes que l'affichage du résultat (les menus de base de votre environnement graphique doivent vous mettre quelque part à disposition un moyen d'en lancer un facilement), soit basculer sur une console texte.

Dernier cas : votre système d'installation a prévu le système autologin (certaines distributions très récentes).

Dans ce cas, vous n'avez absolument rien à faire, le système tape les mots de passe à votre place pour l'utilisateur par défaut. Vous arrivez directement en mode de travail. Il va sans dire que ce mode de démarrage ne doit être employé que si la machine n'est pas accessible à des personnes indésirables.

J'ai du courrier

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

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

Plus de détails : « man mail ».

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

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

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

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

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

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

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

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

Attention !

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

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

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

Cas de Lilo

Si vous utilisez lilo, vous devez voir au démarrage s'inscrire sur l'écran « LILO boot: ». À ce moment, appuyez vite sur <Tab> (anciennes versions de lilo) ou choisissez dans le menu le bon système (nouvelle version). S'il s'inscrit « dos » ou « windows », ou quelque chose comme ça, c'est que lilo connaît votre partition DOS, et en tapant « dos » à l'invite, dos/windows démarrera.

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

Vous devriez y trouver quelque chose comme ceci :

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

vga=normal

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

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

prompt timeout=50 #temporisation avant le démarrage automatique

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

other=/dev/hda1 #la partition win.

label=windows # c'est le nom qui apparaît pour booter Windows. Ça pourrait être n'importe quoi d'autre.

table=/dev/hda

image=/boot/vmlinuz

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

root=/dev/hda3 # la partition Linux.

initrd=/boot/initrd.img

append="" #options possibles

read-only


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

(pour en savoir plus : « man lilo »).

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

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

Si vous voulez être moderne, lilo a un successeur en la personne de chos. 1 avantage : il est plus joli. Il se configure à la main (dans /etc/chos.conf) ou avec vchos. Attention à avoir une disquette de boot sous la main ; parce que chez moi, ça fait un joli kernel panic sur une machine.

Un autre boot loader sympa : xosl (http://www.xosl.org). S'installe sous DOS (une disquette freedos peut faire l'affaire).

Dernière nouvelle ! Les dernières versions de lilo ont maintenant un menu graphique (présent sur Mandrake 7.2). Contrepartie : la touche <Tab> ne fait plus rien. Du fait de la facilité d'édition à la volée de la ligne de commande et de sa compatibilité avec la nomenclature des disques avec celle de Linux, c'est notre meilleur choix. Autre nouveauté : lilo sait maintenant gérer le système Reiserfs.

Cas de Grub

Si vous voulez être puriste, utilisez GRUB, le boot loader 100% GNU (installé par défaut depuis Mandrake 7.1). La sélection se fait comme pour chos dans un menu en utilisant les flèches du clavier.

GRUB s'utilise assez différemment de Lilo.

La nomenclature des disques obéit à des règles différentes : premier disque (IDE ou SCSI, peu importe) : hd0, première partition : hd0,0.

Vous devez d'abord taper « grub ». Puis, à l'invite, tapez « find /boot/grub/stage1 ». Cela vous donne un résultat du genre « hd0,0 ». Notez-le bien, puis tapez « root (hd0,0) », puis « setup (hd0) » pour une installation sur le mbr du premier disque ou « setup (hdx,y) », avec x comme numéro de disque et y comme numéro de partition. Quittez par « quit ».

Si les réglages par défaut ne vous conviennent pas, éditez le fichier /boot/grub/menu.lst.

Il doit ressembler à quelque chose comme ça :

timeout 5 # le délai avant que ça ne démarre tout seul

color black/cyan yellow/cyan # les couleurs.

i18n (hd0,4)/boot/grub/messages # le fichier où se trouvent les messages dans votre langue.

keytable (hd0,4)/boot/fr-latin1.klt # la langue du clavier

default 0 # le système lancé par défaut à l'issue du timeout, ici le premier de la liste

title linux_2218 # le libellé de menu à choisir

kernel (hd0,4)/boot/vmlinuz-2.2.18 root=/dev/hda5 3 vga=0x318 # le « 3  » force le démarrage en init 3 et le « 0x318 » concerne le mode d'affichage, ici 1024x768 en 24 bits. On aurait pu mettre « ask », auquel cas vous auriez tapé « 0318 » quand on vous le demande.

title windows #le menu pour démarrer Windows.

root (hd0,0)

makeactive

chainloader +1



Astuce : contrairement à LILO, vous n'avez pas besoin de refaire la procédure d'installation de Grub si vous modifiez un simple réglage dans menu.lst. En effet, contrairement à LILO qui est obligé de connaître l'adresse physique sur le disque, GRUB est capable de monter le file system et il se contente de l'adresse logique (nom du fichier).

Autre astuce : si vous voulez ajouter un paramètre pendant le boot, tapez sur la touche « e ».

Cas de loadlin : comme loadlin est un utilitaire qui vous permet de lancer Linux à partir de DOS, il est bien évident que le boot de Windows n'est pas changé.

En revanche, vous pouvez démarrer Linux avec Loadlin sans lancer totalement Windows (gain de temps). Pour ceci, il vous faut faire un menu de démarrage.

Contenu de config.sys (d'après Jean-Pierre Vidal)

DEVICE=C:\WINDOWS\HIMEM.SYS

DEVICE=C:\WINDOWS\EMM386.EXE

[menu]

menuitem=WIN,Windows

menuitem=LINUX,Linux

menudefault=LINUX

[WIN]

device=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)

Country=033,850,C:\WINDOWS\COMMAND\country.sys

shell=C:\COMMAND.COM C:\ /E:4096 /p

lastdrive=z

[LINUX]

shell=c:\loadlin\loadlin.exe c:\loadlin\vmlinuz root=/dev/hda3 mem=128M

[common]

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

...et j'en ai davantage !

Cela se détecte par la commande « free ».

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

append= "mem=128M"

Enregistrez et tapez « lilo ».

Si vous utilisez Loadlin, voyez à la rubrique consacrée à Loadlin.

Important : ne mettez pas cette ligne n'importe où. Cherchez à comprendre la logique du fichier de configuration. « append » veut dire « ajouter à la fin ». Cette commande doit donc être dans le paragraphe qui va bien et après la commande qui lance Linux.

Astuce : pour savoir ce que le gestionnaire de boot a vraiment rajouté comme option, lisez donc le fichier /proc/cmdline.

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

Encore un piège : alors que Windows peut s'accommoder d'un mélange de type de RAM (EDO, etc.), Linux peut ne pas l'accepter.

Astuce : ne paniquez pas si free vous montre une toute petite quantité de mémoire libre. En fait, il garde un maximum d'infos dans des caches et ne libère cette mémoire que lorsqu'il y en a vraiment besoin (ligne buffers/cache). Plus de détails avec « cat /proc/meminfo ».

Je veux faire une disquette de secours

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

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

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

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

Sur Mandrake, votre cdrom d'installation peut très bien servir de disquette de boot.

Quelles commandes peuvent faire quelque chose ?

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

Mieux : tapez une lettre au hasard, puis 1 ou 2 fois sur <Tab> (selon version de BASH). Vous verrez apparaître toutes les commandes commençant par cette lettre. Encore mieux : tapez directement <Tab>. Vous verrez apparaître le nombre de commandes disponibles (souvent plus de 1 000). Acceptez de toutes les voir (« y »), et bon courage ! Ceci n'est pas valable dans tous les shells. Connaître votre shell : « echo $SHELL ».

Pour lancer une commande, mieux vaut la faire suivre de & si son action doit être permanente. Cela permet de la lancer en tâche de fond et de ne pas mobiliser une console (« updatedb & »). Attention ! La fermeture de la console fermera la programme. L'espace avant le & est facultatif. Il est déconseillé d'utiliser le & si cette commande renvoie des messages à la console. Cela risque de perturber votre travail ultérieur.

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

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

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

Bug dans Mandrake 7.2 :

Makewhatis cherche à travailler avec /usr/man au lieu de /usr/share/man et donc ne fonctionne pas (réparé dans 8.0 - vous voyez que ça sert, les rapports de bugs).

Solution : éditer à la main /usr/sbin/makewhatis (c'est un simple script shell) et remplacer le « DEFMANPATH= » par la bonne valeur

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

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

Quelques astuces pour taper dans le shell bash :

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

<Tab> : complète la commande

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

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

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

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

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

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

Autres astuces: « man bash ».

Une autre bonne lecture : Bash-Prog-Intro-HOWTO.html.

Les utilisateurs

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

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

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

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

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

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

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

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

Quels sont les utilisateurs actuellement connectés ? « who ». Qui suis-je ? « whoami ».

Comment changer d'utilisateur ?

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

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

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

Si vous voulez simplement lancer un programme sous le compte root : « su -c le_programme ». Répondez au mot de passe demandé, et c'est tout.

Comment changer de mot de passe ?

« passwd duduche » sous root ou « passwd » tout court sous le compte de duduche.

Les groupes

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

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

Identifier les groupes auxquels appartient l'utilisateur : « groups bebert »

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

Les droits

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

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

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

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

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

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

Dans ce système, r vaut 4, w vaut 2 et x vaut 1. Dans notre exemple, rwxr-x--- vaut 750.

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

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

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

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

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

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

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

Plus de détails : « man chmod ».

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

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

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

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

Ma commande est inconnue (ou ne fonctionne pas) !

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

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

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

Pour voir le PATH : « echo $PATH ».

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

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

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

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

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

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

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

Autre possibilité : la commande « history » affiche l'historique des commandes. Un tube, et vous atteignez facilement la commande recherchée : « history|grep un_morceau_de_l_ancienne_commande ». Une variante de history : « fc -l -10 » affiche les 10 dernières commandes (« man bash »).

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

Les répertoires, comment ça marche ?

Faites « ls », et vous avez la liste des fichiers et répertoires du répertoire courant (dans notre exemple, « ls » dans /home donne duduche/). Pour savoir quel est le répertoire courant : « pwd ».

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

Pour avoir des détails : « ls -l » vous donne le type de fichier, le propriétaire, les droits, et, si c'est un lien, la cible. Astuce : « ls -l monfichier » donne les caractéristiques d'un seul fichier.

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

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

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

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

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

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

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

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

À quoi servent tous ces répertoires ?

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

Grossièrement :

-/bin et /sbin : programmes exécutables de base (sbin=programmes du chef).

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

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

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

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

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

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

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

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

-/root : le home du super-utilisateur

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

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

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

Je ne sais pas éditer les fichiers de paramétrage :-(

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

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

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

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

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

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

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

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

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

Effacer une ligne :<Esc> puis « dd ».

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

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

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

Plus de détails : http://echo-linux.alienor.fr/articles/vi/vi.html.

Tous les détails sur VI en tapant <F1>.

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

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

Encore plus simple :

« echo lacommandequejerajoute >> lefichierquejerenseigne »

Trouver une chaîne de caractères :

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

Autre méthode :

« find . ­type f ­exec grep toto {} \; ­print >resultat.txt ». Dans cet exemple, on cherche la chaîne toto dans le répertoire courant (le point).

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

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

Pour les Mac, deux solutions s'offrent à vous. (Merci à Etienne Herlent pour tout ce qui concerne le Mac)

La première et la plus ancienne est d'utiliser LinuxDisks. LinuxDisks permet l'accès en lecture et écriture aux partitions ext2fs depuis MacOS. ATTENTION : il existe 2 versions de LinuxDisks :

- LinuxDisks.10d6 (http://www.linux-france.org/article/materiel/mac/tc/LinuxDisks.1.0d6.sit)

- LinuxDisks.10d7 (http://www.linux-france.org/article/materiel/mac/tc/LinuxDisks.1.0d7.sit).

La version 10d6 n'est utilisable qu'avec les distributions de Linux antérieures à la mi-1998 où le système de ficher était en big endian (MkLinux DR2, par exemple).

La version 10d7 n'est utilisable qu'avec les distributions récentes (postérieures à mi-1998, comme MkLinux DR3, Linux PPC R4 et suivantes, ext2fs en little endian).

Ne vous trompez pas de version au risque de perdre totalement le contenu de vos disques Linux.

La deuxième solution est d'utiliser MountX. À la différence de LinuxDisks, MountX ne permet que l'accès en lecture et uniquement sur les systèmes de fichier en little endian. MountX est disponible à http://calvaweb.calvacom.fr/bh40.

Les premiers pas de l'utilisateur

Admettons que vous n'êtes pas la personne qui a installé Linux sur la machine et que vous ne connaissez pas le mot de passe de root.

Admettons par ailleurs que vous avez déjà quelques notions d'informatique, par exemple issues du monde Windows.

Admettons enfin que votre administrateur vous ait fait une configuration aux petits oignons où tout fonctionne correctement et où les droits ont été bien attribués.

Eh bien, votre situation est plutôt bonne, j'ajouterais excellente


6. Les premiers pas de l'utilisateur de base

Le démarrage

Lorsque vous démarrez la machine, vous pouvez selon les cas arriver :

-sur une horrible ligne de commande marquée login. Tapez l'identifiant que l'administrateur vous a donné suivi de <Entrée>, puis le mot de passe suivi de <Entrée>. Si vous voulez le mode graphique, tapez « startx ».

-Sur un écran graphique où l'on vous demande votre identité et votre mot de passe. Même motif, même punition, mais sans Startx.

-Directement sur votre compte utilisateur et en mode graphique (système autologin). Vous n'aurez même pas de mot de passe à taper.

La ligne de commande

Si vous avez besoin de taper une commande (par exemple pour lancer un programme), vous avez plusieurs possibilités :

-passer sur une console de texte en faisant <Ctrl-Alt-F1>

-lancer un xterm (cherchez dans les menus) pour faire apparaître une console texte dans votre environnement graphique

-utiliser les astuces de votre environnement graphique (menu Exécuter, combinaison <Alt-F2>...)

Vous n'aurez généralement pas besoin de taper des commandes en entier (voir les astuces bash). Voyez aussi la rubrique sur les commandes.

Changer le mot de passe

Tapez « passwd <Entrée> », puis votre nouveau mot de passe (sachez que l'administrateur root pourra toujours aller chez vous).

L'espace de travail

Vous devriez avoir plusieurs écrans graphiques virtuels et plusieurs consoles de texte. Vous devriez également pouvoir travailler sur votre compte en utilisant n'importe quel autre ordinateur par des astuces d'exportation d'affichage. Vous pouvez changer la résolution en faisant <Ctrl-Alt-+> (le + du pavé numérique).

La souris

Si vous connaissez l'usage de la souris dans un autre environnement, vous ne serez pas dépaysé. La grosse différence vient du bouton central, standard sous Unix, et qui rend bien des services :

-Le copier-coller : vous surlignez en balayant une zone de texte bouton gauche enfoncé, et vous collez en cliquant du bouton central. TRÈS pratique.

-Les actions spécifiques ou les menus contextuels spéciaux : cliquez du bouton central sur la case d'agrandissement d'un programme sous KDE, cliquez du bouton central sur le bureau, sur un dossier dans Konqueror, bref, plein de fonctions en plus.

Il y a également des combinaisons Alt-bouton[gauche, central, droit].

Si vous n'avez pas de bouton central, vous devriez pouvoir l'émuler en cliquant simultanément sur les boutons gauche et droit. Si votre souris a une mollette, celle-ci devrait fonctionner dans à peu près tous les programmes et tenir lieu de bouton central en la cliquant.

Le clavier

Il fonctionne à peu près comme sur les autres systèmes. Il y a des différences au niveau de la gestion du VerrMaj, qui ne s'arrête que si l'on appuie une deuxième fois dessus, et qui ne s'applique généralement pas aux chiffres et à la ponctuation. En revanche, la combinaison <VerrMaj-Lettre_accentuée> donne une lettre accentuée majuscule. Vous aurez aussi des résultats intéressants avec la combinaison <AltGr-lettre_ordinaire>.

Les programmes

Vous devriez trouver facilement des programmes dans les menus du gestionnaire de bureau. Rien de différent des systèmes habituels. Si le programme dont vous avez besoin n'est pas installé et que vous n'avez pas l'administrateur sous la main, vous pouvez l'installer à partir des sources dans votre répertoire perso (il faudra simplement ajouter des « --prefix=/home/chez_moi » quand vous lancez le « ./configure »).

Les fichiers

Comme sur tout système informatique, les données sont situées dans des dossiers et répertoires sous la forme de fichiers. Ces fichiers peuvent porter toutes sortes de noms, mais évitez les espaces, tirets, points d'interrogation, étoiles, etc. Bref, surtout des caractères normaux. Sachez aussi que les caractères majuscules sont différents des minuscules pour le système.

Les droits de lecture/écriture

Grossièrement, vous pourrez lire ce qui se trouve sur le système, mais pas faire de modification. En revanche, vous ne pourrez pas lire ce qui se trouve chez les autres. Détails ici.

Sachez également que tous vos paramètres sont personnels. Vous pourrez changer les fonds d'écran, l'aspect des bordures de fenêtres, etc., cela ne gênera aucunement un autre utilisateur de la même machine qui l'utilise sous un autre compte. De plus, tous vos signets Internet, toutes vos adresses E-mail seront quelque part dans /home/chez_vous. Donc, un seul dossier à sauvegarder.

L'utilisation du système

L'administrateur devrait s'être arrangé pour que vous puissiez lire un cd-rom ou imprimer, aller sur Internet...ou non ! L'idéal si vous n'êtes pas un spécialiste est que le montage des disquettes et cdroms se fasse par automontage. Sachez simplement que les disques n'apparaissent pas en tant que tels, mais comme des dossiers accrochés à l'arborescence principale, généralement dans /mnt.

L'extinction

Vous ne devez JAMAIS éteindre l'ordinateur directement. Utilisez les menus pour quitter le système proprement.


7. Les périphériques

Je ne trouve pas mon cdrom !

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

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

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

Au prompt, tapez :

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

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

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

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

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

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

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

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

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

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

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

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

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

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

mount  /mnt/cdrom

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

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

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

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

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

Ça donne :

/dev/cdrom  /mnt/cdrom  iso9660   noauto,ro,users,unhide



Tant que vous y êtes, « exec » et « norock » peuvent servir.

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

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

Astuce !

Si votre cdrom est dma, vous pouves l'accélérer en tapant « hdparm -d1 -k1 /dev/hdc », en supposant qu'il soit dans ce cas en maître sur la 2° nappe.

Disque dur

Des informations intéressantes en faisant « cat /proc/ide/hda/settings » (disques IDE).

Disque UDMA 66

Ces disques sont gérés automatiquement dès l'installation par la plupart des distribs récentes.

Votre disque apparaîtra comme hde (Les 4 premières lettres sont réservées aux 4 premiers connecteurs IDE)

Disque UDMA 100 (D'après Pierre-Pilipp W. BRAUN)

Pour faire marcher un disque dur ata100 il faut que le noyau supporte le chipset pci ata100 de la carte mère.

« make menuconfig »

IDE, ATA and ATAPI block device > Generic PCI IDE bus master support > « sélectionner le chipset de la carte-mère »

Par exemple :

HPTblabla pour les cartes meres ABIT KT7-raid

VIA82CXXX pour les cartes-mères ASUS A7V et A7V133

Certaines distributions reconnaissent le ata100 dès l'installation : Redhat 7.1, Slackware-current (avec la disquette boot ata100 ou emuscsi), Mandrake 8.0, en fait, toutes les distribs qui ont le noyau 2.4.x OU un ancien noyau patché.

Optimiser l'accès 32 bits UDMA des disques IDE

La plupart des distribs règlent l'accès disque dur sur 16 bits pour les disques IDE.

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

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

Vous forcez l'accès 32 bits par : « hdparm -c 1 -d 1 /dev/hda » (manoeuvre inverse : mettre 0 au lieu de 1). Si ça ne marche pas, c'est que vous n'avez pas le support PCI bus-master DMA compilé dans le kernel.

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

Tant que vous y êtes, mettez carrément

hdparm  -X66 -c1 -d1 -m16 -k1 /dev/hda  

dans un fichier de démarrage, comme /etc/rc.d/rc.local.

Attention ! Ces manipulations sont dangereuses, particulièrement le mode DMA. Elles peuvent sur certaines machines ralentir les accès, ou totalement corrompre le disque ou la table de partitions, essentiellement avec un ancien chipset buggué. Vérifiez si vous n'avez pas un VIA VP2 en faisant « lspci -v ». Faire une sauvegarde générale avant !! Et lisez attentivement « man hdparm ».

Astuce : ça marche aussi sur les Mac.

Astuce pour récupérer un disque mal formaté :

Bootez sous Demolinux, tomsrtbt ou équivalent et tapez « dd if=/dev/zero of=/dev/hda ». Il sera tout beau tout neuf, prêt pour une nouvelle installation.

Le swap

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

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

Je ne trouve pas ma disquette !

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

Astuce : mettez « auto » dans votre fstab pour monter la disquette quel que soit son formatage.

Pour formater une disquette : « mkdosfs /dev/fd0 » pour DOS ou « mke2fs » pour Linux. Sinon, les outils en mode graphique de X.

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

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

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

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

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

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

ATTENTION ! Sur les PC, il faut umounter la disquette avant de l'éjecter si elle était mountée (sauf en cas d'utilisation d'un système d'automontage)!!

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

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

« mknod /dev/fd0H1600 b 2 125 »

« mknod /dev/fd0H1680 b 2 44 »

« mknod /dev/fd0H1722 b 2 60 »

puis « fdformat /dev/fd0H1680 » par exemple.

Formatez haut niveau ensuite.

(astuce glanée sur fr.comp.os.linux.configuration) Attention ! maintenant, c'est fd0u.

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

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

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

Pour savoir qui se sert de votre cd rom :

« fuser -vm /mnt/cdrom/ »

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

Pour le démonter en force :

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

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

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

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

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

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

Je ne trouve pas mon modem !

Sous X, dans la distribution Redhat, le modemtool lancé par le control-panel fait ce réglage très facilement.

Sinon, si c'est un modèle reconnu, vérifiez qu'il existe un fichier « /dev/modem » pointant sur « /dev/ttySx », où x vaut entre 0 et 3 (0 pour com1, 3 pour com4). « ls -l /dev/modem » devrait vous renseigner. S'il pointe vers un mauvais port série, détruisez-le (« rm /dev/modem »), et recréez-en un par « ln -s /dev/ttyS1 /dev/modem » par exemple. /dev/ttySx remplace maintenant /dev/cuax. Sur les noyaux 2.4, les ports série s'appellent /dev/tts. On n'arrête pas le progrès !

Si votre port série a un irq atypique (c'est souvent le cas pour les ttyS2 et les ttyS3), vérifiez que l'irq est bien affecté : « setserial /dev/ttySx ». Si l'irq ne correspond pas, faites « setserial /dev/ttySx IRQ y ». Si tout marche ensuite, recopiez cette ligne dans /etc/rc.d/rc.serial (les fichiers rc sont généralement des fichiers de paramétrages). Elle se lancera toute seule au prochain démarrage.

Pour lister les IRQ utilisées : « cat /proc/interrupts » (« cat » utilisé sans « > » dirige ses résultats vers la sortie standard, c'est à dire l'écran).

Si vous avez un « winmodem », sorte d'émulation Windows de modem, il existe des pilotes pour certaines marques, que vous pourrez trouver sur http://www.linmodems.org. Si vous ne trouvez pas votre bonheur, achetez un vrai modem.

Les chips Lucent ont un pilote spécial qui marche bien.

Les Kortex à base de PCTel aussi http://www.medres.ch/~jstifter/linux/pctel.html.

Les Olitec PCI ont un pilote précompilé pour certaines versions du noyau, ce qui fait qu'il ne vous servira sans doutes jamais à rien. Un superbe travail inutile.

Pour les fonctions spéciales (module autonome...), on commence à trouver des pilotes pour les US Robotics et Olitec (http://www.olitec.com et http://golix.free.fr). Pour les Self Memory, vous pouvez utiliser le programme kolitec (http://perso.wanadoo.fr/australia99/kolitec).

Pour les modems USB, créer un lien par « ln -s /dev/usb/ttyACM0 /dev/modem », puis « modprobe acm ».

ADSL

Il est possible d'utiliser un modem ADSL : voir là : http://infolibre.free.fr/adsl/adsl.html.

Les boitiers ADSL installés par France Telecom marchent sous Linux... La connexion s'effectue grâce au un client VPN,compatible avec les réseaux virtuels 95. Sous Linux le module pptp (remplacé maintenant par pppoe) se charge de ces connexions.

Je vous conseille une authentification CHAP, qui vous permettra d'accélérer les négociations PPP - Wanadoo s'attend à une authentification CHAP. (Infos piquées à Tranx Nouvel).

L'ADSL s'installe sur une carte réseau. Le programme pptp lance une connexion ppp, que vous pourrez voir par « ifconfig » (support ppp obligatoire dans le noyau). L'ADSL How-to est assez clair et complet.

Le modem Speedtouch USB Alcatel a un pilote ici : http://www.alcatel.com/consumer/dsl/tgz.htm. Les informations pour l'installer sont là : http://linux-usb.sourceforge.net/SpeedTouch/.

Un autre driver, developpé initialement par Benoit Papillault (et depuis rejoint par d'autres) est disponible ici : http://benoit.papillault.free.fr/speedtouch/user.html.

Celui ci, qui présente l'intérêt d'être sous licence GPL, fonctionne vraiment très bien, à partir du noyau 2.2.17 - et sans avoir à recompiler.

Pour Macintosh, rendez-vous sur le site http://guillaume.rince.free.fr/informatique/adsl/adsl.html

Modem Numeris

Bien entendu, vous pouvez aussi bénéficier de Numéris sous Linux.

Vous devriez vous en sortir avec kisdn.

Vos paramètres se trouveront dans /etc/isdn. La plupart des cartes sont supportées.

Les meilleures informations sont à http://www.linux-france.org/article/connex/ISDN

Internet par câble

Pour vous raccorder à NOOS et cie

La connexion par câble se fait par une carte ethernet munie d'une prise RJ45. Le « Modem-câble » auquel la carte réseau est raccordée est en fait un serveur DHCP.

Tout ce que vous avez à faire est de paramétrer votre carte réseau pour être client DHCP (avec linuxconf par exemple). Redémarrez le réseau par « /etc/rc.d/init.d/network restart ». Un « ifconfig » devrait vous montrer l'interface eth0 et son adresse IP.

Ensuite, configurez les serveurs DNS pour éviter de taper les IP. Écrivez quelque chose comme ça dans votre /etc/resolv.conf :

domain cybercable.fr

nameserver 212.198.0.66

nameserver 212.198.0.67

search cybercable.fr



Ensuite, les serveurs de mails entrants et sortants, serveurs de news en fonction des paramètres fournis par votre fournisseur d'accès au câble.

On me signale que Wanadoo câble ne nécessite que l'activation d'un client DHCP pump (en standard sous Debian). Tout est ensuite automatique.

La connexion câble peut très bien être partagée avec un réseau local par ipchains.

Et ma carte son ?

Cherchez un fichier son (« find / -name *.au » (ou .wav)). Placez-vous dans son répertoire (« cd »), puis tapez « cat fichierson.au >/dev/audio ». Autre possibilité : cherchez un fichier .wav et tapez « play monson.wav ». Il sort un son ? Bravo !

Il ne se passe rien ? Tant pis ! tapez « sndconfig » (RedHat), et suivez la procédure. Ça marche ? génial ! Toujours pas ? Il va falloir compiler le noyau (sauf pour alsa). Trouvez une bonne doc (kernel how-to). Attention ! La commande « sndconfig » ne marche que si votre carte son est compilée en module. Si vous la mettez directement dans le kernel, il faudra lui passer les IRQ (vous savez, le plug and play...) au boot. De plus, il faudra supprimer les références au son dans /etc/conf.modules.

Astuce ! Avant de lancer sndconfig, activez tous les périphériques que vous possédez : carte réseau, zip, modem, souris ..., de manière à ce que leur IRQ soit connue du système comme utilisée (vérifiez par « cat /proc/interrupts »). De cette manière, sndconfig attribuera une IRQ vraiment libre à votre carte son et vous ne risquez pas un conflit au prochain démarrage.

Si le son est faible, augmentez-le avec xmixer.

Si la carte son est en module, le fichier /etc/conf.modules devrait contenir quelque chose comme ça :

alias sound sb

pre-install sound insmod sound dmabuf=1

alias midi opl3

options opl3 io=0x388

options sb io=0x240 irq=5 dma=3 dma16=7 mpu_io=0x300

Piège sur SuSe : le /etc/conf.modules contient « alias char-major-14 off ». Remplacer off par sound.

Enlevez les # sur les lignes qui vous correspondent. Puis « modprobe sound ».

Si le pilote standard (OSS) ne vous plaît pas, essayez alsa. Il est nécessaire pour certains programmes, et, de plus, supporte le « full duplex » (son dans les 2 sens).

Configuration d'alsa

Procurez-vous la dernière version (0.9 beta actuellement) d'alsa à ftp://ftp.alsa-project.org/pub/driver/

Commencez par désactiver le module son s'il était installé (vérifiez par « lsmod », puis retirez-le par « modprobe -r le_module_de_son ». Sachez que le support son doit être activé dans le noyau, mais pas en module.

Mettez quelque part (/tmp ou /usr/src par exemple) les 3 fichiers archives (alsa-driver, alsa-lib et alsa-utils). Dézippez-les et placez-vous dans le répertoire alsa-driver. Faites le cérémonial classique : « ./configure && make && make install ». À ce moment, vous devriez avoir tout un tas de snd-xxx dans votre /lib/modules/2.???/misc/. Faites de même avec alsa-lib et alsa-utils.

Placez-vous dans alsa-driver, et tapez « ./snddevices » pour installer les /dev/xxx.

Faites ensuite « modprobe snd-card-ens1371 » (remplacez bien sûr la fin par votre modèle de carte son). Confirmez que tout va bien par « lsmod ». Réglez le son par « alsamixer ». N'oubliez pas de supprimer tous les « m » en haut de colonne en tapant sur « m » (m signifie muet). Complétez par « modprobe snd-pcm-oss » pour obtenir une compatibilité avec tous les programmes qui réclament OSS. Vous pouvez maintenant effacer les fichiers et répertoires qui vous ont servi à faire l'installation.

Modifiez la ligne du /etc/conf.modules, par exemple en la remplaçant par

alias  sound  snd-card-ens1371

Vous pouvez aussi demander à « alsaconf » de faire tout ça à votre place.

Attention ! Avant de conclure que ça ne marche pas, pensez à mettre le volume, et annuler le mute ! (amixer ou alsamixer).

Pour mémoriser les réglages d'alsa :

« alsactl store card1 » pour stocker les réglages dans /etc/asound.conf

puis les rappeler a chaque démarrage par

« alsactl restore card1 » (card1 pour la carte son numéro 1) - Merci à Michel Primout pour l'info.

Autre possibilité : le programme amixer, qui paramètre tous les réglages en ligne de commande (syntaxe « amixer set nom_du_groupe niveau »), où les valeurs de niveau sont entre 0 et 255, et « amixer groups » pour voir les noms de groupes disponibles. Plus de détails : « man amixer ». Il vous suffit de recopier la ligne qui va bien dans le fichier rc.locale pour que vos réglages soient restitués à chaque démarrage. (d'après Yves Schmitt).

Chez moi, cette manip a transformé ma SB 64 asthmatique en vraie carte son :-). Problème : alsamixer oublie les réglages d'une session à l'autre. Utilisez plutôt kmix (KDE). Merci à Thibaut COUSIN pour ces précisions.

Problème avec KDE : la gestion du son est réservée à arts, qui en monopolisant la carte son, empêche certains programmes qui ont besoin d'un accès direct au matériel de fonctionner. Avant de conclure que votre lecteur de mp3 ne fonctionne pas, essayez sous un environnement graphique non-KDE ou utilisez noatun.

Énormément d'explications sur le son (en anglais) ici : http://www.linuxsound.at.

Ça ne marche toujours pas ? Changez de carte son...

Enregistrer du son :

Beaucoup de programmes disponibles sur Internet. Grecord (de Gnome) est très simple et souvent pré installé (basé sur sox).

Et mes CD audio ?

Placez un CD dans le lecteur. Lancez un programme de lecture de CD (kscd, xplaycd, cdp...). Vérifiez qu'il pointe vers le bon disque (/dev/hdb p.ex). Il ne faut pas mounter le cdrom. Si ça ne marche pas, lisez les messages d'erreur (vous obtiendrez plus de messages exploitables si vous lancez le programme à partir d'un Xterm). À noter que tous les lecteurs de cd audio utilisent le système CDDB, ce qui vous permet de bénéficier de l'affichage des titres si vous êtes raccordé à Internet. Si les titres de votre disque sont inconnus, vous pouvez toujours les rajouter pour en faire profiter les autres.

Dernière minute ! CDDB refuse les connexions des lecteurs de CD non homologués. Ils conservent donc tout votre travail sans retour. Du fait de ce scandale, il faut boycotter CDDB.

Sachez aussi que pour les CD audio, la carte son n'a pas besoin d'être configurée si vous avez un lecteur qui intègre le décodeur CD-audio (le cas de la plupart des lecteurs de pc de bureau).

Et mes anciens vinyls ?

(Rubrique écrite par D.Trystram)

Un site de référence pour tout ce qui concerne le son sous Linux est http://www.linuxsound.at.

Pour numériser le son (et donc de la musique) sous Linux, le logiciel à utiliser est gramofile http://panic.et.tudelft.nl/~costar/gramofile. Il est nécessaire de se procurer un câble pour relier votre chaine stéréo à votre carte son (2 fils pour droit et gauche avec prise jack à la sortie de l'amplificateur [rec mais d'autres possibilités sont probablement utilisables, éviter toutefois les sorties frontales de l'amplificateur en général réservées aux casques] se terminant en 1 prise jack à connecter sur votre carte son).

Régler le niveau d'entrée avec xmixer (igain ainsi que les autres boutons de réglage de volumes) en s'aidant du vu-mètre d'enregistrement de gramofile (et en enregistrant vers un fichier ou /dev/null dans un premier temps). Tester donc. Les deux temps suivant consistent à découper le fichier (au format wav) d'une face en autant de fichier que de morceau, puis de filtrer (là encore faire des essais pour obtenir le résultat optimal). Enfin éventuellement vous pouvez les transformer en fichiers moins volumineux tel du mp3 (utiliser alors par exemple bladeenc http://bladeenc.cjb.net). Attention ! Comme toujours, ces copies ne sont autorisées qu'à titre personnel pour des sauvegardes. Sox permet aussi bon nombre de conversions par ailleurs.

Attention ! Gérer le son nécessite d'avoir pas mal d'espace disque. Le fichier wav d'une face de disque (33 tours) occupe environ 220 à 250 Mo, autant alors pour les fichiers fils découpés et filtrés ; les fichiers mp3 faisant alors 10 à 15 % de cette taille, soit 4 à 6 Mo pour un morceau de 3-4 minutes.

Et mon imprimante?

D'abord la connexion. Sous Linux, les ports parallèles s'appellent lp0, lp1... Depuis les noyaux 2.2, les numéros de lp ne dépendent plus de l'adresse, mais simplement de l'ordre dans lequel ils sont trouvés. Si vous n'en avez qu'un, il s'agira toujours de lp0.

Pour savoir si votre imprimante fonctionne : http://gatekeeper.picante.com/~gtaylor/pht/printer_list.cgi

Sur Redhat, lancez le printtool, disponible dans le control-panel. Si votre imprimante est listée, vous êtes sauvé ! Si c'est une win-imprimante, vous êtes foutu ! Autrement, vous devriez pouvoir au moins imprimer en mode texte en choisissant une imprimante dans la liste, par exemple en faisant « cat /etc/printcap >dev/lp0 ». Sur Corel et Suse, les utilitaires sont faciles à trouver et à utiliser.

La plupart des imprimantes ne reconnaissent pas le retour chariot comme une fin de ligne (phénomène des marches d'escalier) ni la fin de page. Le printtool y remédiera.

Le système BSD

D'une manière générale, sachez que c'est le fichier /etc/printcap qui enregistre les paramètres. Lisez un bon « Howto ».

Voici un exemple commenté :

##PRINTTOOL3## LOCAL  bjc600  360x360  a4  {}  BJC600  1  1 #ici est la résolution et la correction des marches d'escalier (pas de correction  =  8 au lieu du deuxième 1) et le signal de fin de page (pas de signal « {} » au lieu du deuxième 1)

bjc4300|lp:\ #le nom de votre imprimante. Tous les noms séparés par des | sont équivalents. « lp » est l'imprimante par défaut.

:sd=/var/spool/lpd/lp:\ #ici le répertoire de spool (file d'attente)

:mx#0:\ #ici la taille limite de fichier imprimable. 0=pas de limite.

:sh:\ #attention ! rien après les « \ », même pas d'espace  !!

:lp=/dev/lp0:\ #ici votre port parallèle

:if=/usr/local/bin/bj200-filter:

Vous constatez que le printcap fait appel à un filtre, bj200-filter, qui travaille avec magicfilter (il y a aussi apsfilter et d'autres). Ce filtre est un fichier capable de traduire les fichiers (jpg, ps,...) en langage imprimante, souvent en faisant appel à des ressources extérieures.

Voilà une partie du contenu du filtre bj200-filter :

#! /usr/local/bin/magicfilter

# PostScript

0%!filter/usr/bin/gs -q -dSAFER -dNOPAUSE -r360 -sDEVICE=bjc600 -sOutputFile=- -

Vous constatez que dans ce cas, il identifie un fichier comme PostScript quand il commence par « %! », qu'il invoque gs pour le traiter, avec comme type de device bjc600 (filtre commun à plusieurs modèles). Vous pouvez connaître tous les noms de filtres en tapant « gs -h ». Pour savoir lequel est bon pour vous, lisez la doc de GhostScript.

# TeX DVI0

\367\002 reject Cannot print DVI files on this printer.

# compress'd data

0 \037\235 pipe /bin/gzip -cdq

Un autre exemple de solution à un problème

Après avoir installé Corel Linux, j'ai rencontré le problème suivant lors de l'installation de mon imprimante Stylus Color (640) :

chaque impression commençait par : « No filename for parameters given. Assume stcany ».

Le problème a été résolu en éditant le fichier etc/printfilters/ps-to-printer.fpi

puis en inhibant la commande « echo » que ce fichier contenait ligne 73

(en ajoutant un # au début de cette ligne) et en enregistrant ce fichier ainsi modifié.

Cette solution à un problème concret (de Francis Lenne) ne vous concerne peut-être pas, mais elle a le mérite de montrer comment et où il faut creuser. L'avantage d'un système où tous les paramètres sont en mode texte permet à un individu pourvu d'un peu de jugeote et d'un bon éditeur de texte de corriger les erreurs des automates.

Lancer une impression : « lpr -Pbjc4300 fichier.ps ». Dans ce cas, votre imprimante s'appelle bjc4300 dans le /etc/printcap. Notez le P collé au nom de l'imprimante. L'imprimante lp est prise par défaut. Il suffit donc le plus souvent de faire « lpr fichier.ps ».

Pour savoir ce qui se passe au niveau des impressions : « lpq »

Pour lancer le support port parallèle : « modprobe lp ».

Pour activer le serveur d'impression : « lpc up lp » s'il n'a pas été lancé au démarrage.

Pour supprimer les impressions en attente : « lprm -a » (a pour all)

Arrêter une impression : « lpc -clean all ».

Démarrer le serveur d'impression à chaud : «  /etc/rc.d/init.d/lpd start » (Redhat). Marche aussi avec restart, status ou stop. Ce système peut être employé pour démarrer ou arrêter n'importe quel service à chaud. Certains reboutent pour faire ce genre de choses...

Si le port parallèle ne veut pas fonctionner, vérifiez que le /etc/conf.modules contient bien « alias parport_lowlevel parport_pc ».

Pour imprimer ce superbe document que vous venez de faire avec Star office ou WordPerfect, allez à la section des programmes à problèmes.

CUPS :

Certaines distributions remplacent le classique système d'impression BSD par CUPS (Common Unix Printing System). Eh bien, ça a l'air de fonctionner, puisque CUPS sur Mandrake 7.2 a été la première distrib Mandrake à installer correctement ma Canon BJ 4300 sans aucune bidouille. Astuce pour Staroffice à la rubrique Staroffice.

Pour la configuration « à la main », saisissez dans un navigateur « http://127.0.0.1:631 » (nécessite l'activation de la boucle locale lo).

Pour les imprimantes HP, il y a un pilote disponible à http://hpinkjet.sourceforge.net.

Et ma souris roulette ?

Si la souris (roulette ou non) se fige au lancement de X, vérifiez déjà qu'elle fonctionne en mode « console », tout simplement en la remuant. Si oui, vérifiez vers quoi pointe /dev/mouse (« ls -l /dev/mouse »). Vous devriez trouver dans XF86Config le même « device ». Sinon, changez-le !

Pour lancer correctement gpm, identifiez la bonne commande en faisant « gpm -t  ». Vous y trouverez votre type de souris. Lancez alors « gpm -t imps2 » par exemple, selon votre modèle.

Il existe aussi des conflits entre gpm (le gestionnaire de souris en mode console) et X.

Dans ce cas, désactivez-le en faisant « gpm -k » avant de lancer X. Sous Slackware, il y a un bug dans certaines livraisons : dans rc.local, on doit enlever le -R dans la ligne gpm -m /dev/mouse -t PS2.

Dans certains cas de figure, la souris se bloque en haut de l'écran au lancement de X. Ceci peut se résoudre en lançant « startx -kb », ou en décommentant XkbDisable dans le XF86Config. Dans ce cas, vous aurez sans doutes des problèmes avec le clavier sous X.

On trouve un programme nommé « imwheel » à http://jonatkins.org/imwheel/ (version 0.9.9 actuellement), qui intercepte les ascenseurs des programmes (du moins, ceux qui s'y prêtent), pourvu que le serveur soit Xfree 3.3.2 ou plus, et que le XF86Config soit bien renseigné (genre « Protocol IMPS/2 «  ou « Intellimouse «  et « ZAxisMapping 4 5 »...). Il ne faut pas accepter l'émulation 3 boutons, sinon la roulette ne marche pas. Le démarrage automatique se fait en rajoutant la ligne

exec  /répertoire_où_est-imwheel/imwheel -k

dans /etc/X11/xinit/xinitrc si vous démarrez par « startx » (profitez-en pour rajouter les programmes qui doivent démarrer automatiquement sous X).

Sous Xfree 4.0

Recopiez ces lignes au lieu des précédentes

Option "Device" "/dev/mouse"

Option "Protocol" "Auto"

Option "Buttons" "N"

Option "ZAxisMapping" "N1 N2"

Si vous démarrez X automatiquement, rajoutez « imwheel -k » dans /etc/X11/xdm/XSession. Le « -k » vérifie qu'une autre instance d'imwheel n'est pas active et la tue avant de relancer imwheel.

Cas des souris Logitech à logo noir : la roulette a besoin du programme Enable_Logitech_Wheel (à lancer dans xinit). Ensuite, ça marche comme une Mouseman. (merci à Jean-Noël Avila).

Exemple de la souris « Cordless Wheel Mouse » à roulette (merci à Claude Mahé) :

Section "InputDevice"

Driver "mouse" Identifier "Mouse[1]"

Option "BaudRate" "1200"

Option « Device" « /dev/psaux"

Option "Name" "CORDLESS WHEEL MOUSE"

Option "Protocol" "imps/2"

Option « Vendor" « LOGITECH"

Option "Buttons" "5"

Option "ZAxisMapping" "4 5"

EndSection

Astuce !! Si vous n'avez pas de souris ou pour toute autre raison, vous pouvez l'émuler sous X en tapant <Ctrl-Maj-VerrNum>. Ensuite, utilisez le pavé numérique pour déplacer le pointeur. Même commande pour annuler.

Problème de la souris invisible mais active (avec les cartes S3) : sw_cursor.

Dernière minute ! Il vaut mieux ne plus installer Imwheel, qui n'est qu'un pis-aller (il ne fait qu'intercepter les ascenseurs destinés aux flèches du clavier pour les rediriger vers la souris). Ce logiciel peut gêner les programmes qui gèrent nativement la souris roulette (la plupart des versions récentes). Dans ce cas, vous n'avez besoin que de ZAxisMapping.

Et mon zip !

Les périphériques de sauvegarde sont généralement supportés. Le Zip Iomega entre autres. Vous devez faire un « modprobe ppa » pour activer le module et renseigner le /etc/fstab, avec une ligne comme : « /dev/hdc /mnt/zip vfat noauto,users,defaults 0 0 » (si le zip est en 1er sur la deuxième nappe ide=« hdc ». Sinon, remplacez hdc par la bonne valeur, et si vous voulez que le groupe « users » puisse faire ce mountage). L'insertion du module se fera automatiquement si vous rajoutez dans votre /etc/conf.modules la ligne :

alias  block-major-8  ppa

(Vous déterminerez ce nombre en faisant un « ls -l /dev/sda4 », astuce de Christophe Demko). Pour les curieux, sachez que les descripteurs de périphériques sont de type bloc (disques, file systems) ou char (cartes son, TV...)

Ensuite, un « mount /mnt/zip » vous donnera accès au zip en lecture et écriture (si vous voulez l'exécution, rajoutez « exec », comme pour les cdrom).

Pour le zip parallèle, le noyau doit supporter le scsi (car ce zip fonctionne comme du scsi), le port parallèle et imm ou ppa. Sur les 2.2, l'imprimante peut fonctionner en même temps que le zip à condition que le module ppa ait été lancé avant le module imprimante. Faites « rmmod lp », puis « mount -t vfat /dev/sda4 /mnt/zip » après avoir créé un répertoire zip (« mkdir /mnt/zip »), puis à nouveau « modprobe lp ».

Il faut rajouter dans /etc/conf.modules :

alias  parport_lowlevel  parport_pc

options  parport_pc io=0x378,0x278  irq=7,auto «  #L'IRQ est obligatoire pour le zip.

Les nouveaux modèles de zip parallèle (depuis mi-98) utilisent imm au lieu de ppa.

Si votre zip est formaté en ext2, utilisez « sda1 » au lieu de « sda4 » (Windows commence ses formatages par la fin !).

Si après acceptation de « modprobe ppa » et détection du disque, le mountage est impossible, il s'agit sans doute d'un mauvais formatage, par exemple dû à l'outil standard de Windows. Reformatez-le avec l'outil Iomega sous Windows.

Autre possibilité : si vous avez une carte SCSI, tous les disques raccordés à cette carte seront numérotés avant le zip parallèle. Par exemple, si vous avez un disque dur SCSI, votre Zip s'appellera /dev/sdb4.

Pour savoir la liste des modules chargés : « lsmod ».

Quand votre zip parallèle fonctionnera correctement, vous pouvez toujours installer gtkzip, superbe petit programme qui fait plein d'opérations en mode graphique. Encore mieux : lomega (avec un « l », pas un « i »).

Si ça ne veut pas marcher malgré tout, il doit s'agir d'un problème de port parallèle, car ceux-ci ne sont pas semblables sur toutes les machines. Voir le zip-how-to.

Et si j'avais un LS 120 ?

Emmanuel Gaillard de l'ABUL nous donne la solution :

Celui-ci fonctionne sur Mandrake 7.0.2 mais pas avec Red-Hat 6.1. Il est utilisé comme un disque amovible vu qu'il est sur un port IDE.

Il est possible de booter dessus si le BIOS le reconnaît, mais une fois sous Linux on ne peut pas à ma connaissance s'en servir.

Je n'ai pas eu l'occasion d'essayer avec d'autres distribs.

Ex sous Mandrake 7.0.2 :

Créer un dossier /mnt/ls

Si le lecteur est en esclave sur le premier contrôleur ide, ajouter cette ligne dans /etc/fstab :

/dev/hdb  /mnt/ls  auto  sync,user,noauto,nosuid,nodev,unhide  0  0

Ensuite pour monter le lecteur, insérer indifféremment une disquette standard ou 120Mo et taper : « mount /mnt/ls »

Pire : le MO-Drive

Il s'agit d'une sorte de disquette japonaise de 640 Mo branchée sur PCMCIA. Ne me demandez aucun détail, la spécialiste du bidule est Emmanuelle.

-le driver s'appelle nsp_cs et a été fait par un japonais. On le trouve sur http://www.netlab.is.tsukuba.ac.jp/~yokota/izumi/ninja/

-il suffit ensuite de modifier la Makefile selon les instructions données (pour moi un noyau 2.2 et le chemin de mon répertoire pcmcia-<numero>) et de compiler. J'ai eu énormément de messages d'insultes mais il a compilé quand même.

-enfin, j'ai mis le nsp_cs.o ainsi compilé dans /lib/modules/<monnoyau>/pcmcia/ et modifié /etc/pcmcia/config en ajoutant les lignes données pour reconnaître la carte SCSI.

Le MO drive s'installe chez moi sur /dev/sda en type vfat, et ensuite je peux copier des fichiers dessus ou les lire comme n'importe quel répertoire.

Mon seul souci demeure une litanie de messages d'insultes au boot. Bien que je l'aie déclaré comme noauto dans /etc/fstab, il le charge quand même au démarrage. Si je ne mets pas de disque dedans, il se plaint d'une I/O erreur et de ne pouvoir lire la partition table (forcement), mais j'arrive ensuite à monter le mo drive sans trop d'erreurs. Par contre, si j'en mets un il plante lors du boot.

Même chose quand j'essaie de redémarrer ma carte PCMCIA par « /etc/rc.d/init.d/pcmcia restart », j'obtiens un plantage généralisé.

Et ma télé ?

Le pilote bttv disponible dans les kernels actuels supporte la plupart des cartes, et en SECAM, s'il vous plaît !! Lancez un programme comme xawtv http://www.strusel007.de/linux/xawtv/ (version 3.30) ou kwintv http://www.mathematik.uni-kl.de/~wenk/kwintv/ (version 0.8.5).

Votre fichier /etc/conf.modules (ou modules.conf) devrait contenir quelque chose comme ça :

alias char-major-81 bttv

pre-install bttv modprobe -k msp3400; modprobe -k tuner

options bttv radio=0 card=2 #vidmem=0xff0

options tuner type=3 debug=4

options msp3400 debug=2

Pour être sûr d'avoir le SECAM, vous pouvez mettre dans rc.local :

rmmod bttv

rmmod tuner

insmod tuner type=3

insmod bttv

Si vous voulez le plein écran, il vous faut la résolution 768x576.

Si vous aimez décoder, voyez du côté de Xawdecode.

Si votre carte TV est USB, je crois qu'il n'y a rien pour le moment.

Je veux jouer !

Autrement dit, comment installer mon joystick ?

Le descripteur de périphérique s'appelle /dev/js0. Si vous n'avez pas ce fichier, tapez « /dev/MAKEDEV js ». Déchargez le module son s'il était chargé. Rechargez-le avec l'adresse du joystick : « insmod es1371 joystick=0x200 » par exemple. Puis « insmod joystick », puis « insmod joy-sidewinder » (selon votre modèle).

Pour ne pas retaper tout ça à chaque fois, rajoutez l'option dans votre /etc/conf.modules :

option  sound  joystick=0x200

(à vérifier) + les alias qui vont bien (je n'ai pas de joystick pour tester).

Les conseils sur les « bâtons de joie » sont à : http://www.linuxgames.com/joystick.

Et mon pocket (Psion-Palm Pilot) ?

Installez p3nfs, et ça devrait pouvoir échanger des données. Le Palm pilot a aussi des utilitaires de transfert. Plus de renseignements sur http://www.medsyn.fr/perso/g.delafond/psilin/psiolinu.htm, où vous trouverez PsiLin, une interface graphique en GTK pour faire marcher tout ça en quelques clics de souris.

Vous y trouverez de quoi convertir les formats de fichiers (psionio, lpic2ps) ou sauvegarder votre Psion.

A noter que le Psion (3 ou 5) devient grâce à p3nfs un très bon terminal de votre console Linux.

Pour le Palm, il existe de nombreux softs de connexion. Si vous voulez une synchro avec StarOffice, faites comme suit :

1.Il faut d'abord installer (si ce n'est pas déjà fait) l'option complète de StarSchedule par le truchement de StarOffice Setup.

2.Une fois installé, il faut se rendre par l'explorer dans « StarSchedule », « source de données » et juste dessous il y a une position. À partir de cette position que j'ai renommé « Base de données » j'ai pu créer un utilisateur ( menu contextuel, « nouvel utilisateur »).

3.Il faut donner un nom de nouvel utilisateur, j'ai donné le même nom d'utilisateur qu'il y a dans mon Palm.

4.Une fois cet utilisateur créé, il faut maintenant s'occuper de la synchronisation. Pour ce faire j'ai utilisé le logiciel fourni par Palm Pilot (Hotsync 2.0). Lors de l'installation de SO, une position « StarSync » vient se rajouter à l'endroit suivant : 1 clic sur la petite icône Hotsync qui se situe en bas à droite de l'écran, un menu s'ouvre, aller sur « personnaliser », puis une boite de dialogue s'ouvre. A cet endroit on trouve les différentes opérations que fait le Palm pour synchroniser avec son logiciel. J'ai gelé toute les position à l'exception de « StarSync », « installation » et « système »

5.Il faut maintenant s'occuper du Palm lui même, en effet, dans le dossier Office51/ il y a un sous-dossier palmpilot et dans ce dossier il y a un fichier qu'il faut installer sur son Palm Pilot « starsync.prc ». Pour cette installation, Palm Pilot propose un petit logiciel permettant ce genre de manipulation.

6.Ça y est ! Tous les ingrédients sont prêts pour la 1ère synchronisation.

7.Toutes les données de mon Palm ont été récupérées, mon agenda, mes tâches, mon carnet d'adresses.

Merci à Éric BARONNET pour ces explications palmistes.

Et mon scanner ?

Installez Sane ( http://www.mostang.com/sane). Sane est un programme en deux parties : un backend serveur, qui pilote le scanner, et un frontend client, ou interface utilisateur (comme xsane sur http://www.wolfsburg.de/~rauch/sane/sane-xsane.html). Ainsi, même si vous avez plusieurs scanners différents, vous utiliserez toujours la même interface, disponible en mode texte et en mode graphique, et acceptant le mode réseau.

Scanner SCSI

Installez une vraie carte SCSI si vous ne disposez pas d'une des rares cartes propriétaires reconnues (UMAX, AGFA).

« insmod g_NCR5380 ncr_irq=255 ncr_addr=0x280 » (par exemple pour UMAX) ou « #insmod aha152x aha152x=0x140,10,7,1 » (pour Adaptec). Vérifiez le bon fonctionnement par « cat /proc/scsi/scsi ».

« find-scanner » > find-scanner: found scanner « UMAX Astra 1220S V1.3 » at device /dev/sg1 #(cette commande ne marche que pour les scans SCSI et apparentés)

« ln -s /dev/sgx /dev/scanner » #(remplacer x par 1 si c'est votre cas)

« chmod 777 /dev/sgx »

« chown root.users /dev/sgx »

« xscanimage »

Attention ! Si vous avez une carte SCSI d'une génération différente du scanner (par exemple SCSI2 pour le scan, SCSI3 pour la carte), il y a incompatibilité matérielle, et toute tentative de find-scanner risque de tout bloquer.

Astuce ! Pour forcer la détection d'un scanner SCSI non allumé lors du boot, « echo "scsi add-single-device 2 0 5 0" > /proc/scsi/scsi », avec dans ce cas 2=le bus SCSI et 5=l'identifiant du scanner sur la chaîne SCSI.

Un exemple de scanner récalcitrant (d'après Christophe Tronche)

J'ai un SnapScan 1236S et une adaptec 2940. Ça marche avec Sane... une fois qu'on a commenté les trois lignes de code qui lancent l'auto-test du scanner et dont l'effet net est de planter le driver SCSI (je crois qu'il y a le même problème avec la version non-SCSI).

Scanner USB

Deux bonnes pages en anglais  : http://michaelo.free.fr/linux/usbscanner.php3 et http://www.buzzard.org.uk/jonathan/scanners-usb.html.

Qui dit scanner USB sous Linux dit Epson. Si vous voulez tenter votre chance avec autre chose, voyez ci-dessous ce qui vous attend.

Vérifiez que l'USB fonctionne. Si ce n'est pas le cas, recompilez un kernel récent, à partir de 2.2.18 ou patché (modules usb et usb scanner). La commande « mount  » doit vous montrer l'usbfs (à condition que l'USBdevice file system de la section USB du kernel soit compilée).

Identifiez l'ID du vendor et du model en faisant « cat /proc/bus/usb/devices ».

Éditez votre /etc/modules.conf en y ajoutant les lignes suivantes (facultatif) :

options scanner vendor=0x04b8 product=0x0104

(mettez les chiffres que la commande précédente vous a montrés).

Éditez le /etc/sane.d/<vendor>.conf, en commentant les lignes inutiles et en écrivant

 usb  /dev/usb/scanner0

Donnez les permissions aux utilisateurs : « chmod  a+rw  /dev/usb/scanner0 »

Puis « insmod scanner ». Testez par « scanimage --list-devices ».

Exemple du HP 5300C

Voyez la page http://www.neatech.nl/oss/HP5300C/ . Dans l'état actuel des choses, ce n'est pas du gâteau.

Patchez le noyau avec le patch usb-scsi dispo sur le site ci-dessus (j'ai modifié le patch pour qu'il s'applique au kernel 2.4.2. S'il n'est pas sur le site, demandez-le moi) et activez la compilation de l'USB-SCSI.

Insérez le module nouvellement compilé (« modprobe usb-scsi »). Vérifiez son bon fonctionnement par « cat /proc/scsi/scsi » qui doit vous montrer le scanner.

Ajoutez une variable d'environnement : « export SANE_SG_BUFFERSIZE=32768 »

Patchez Sane avec le patch dispo toujours sur le même site de manière à ce que le driver Avision accepte les scanners HP. Compilez Sane.

Puis « modprobe scanner ».

Tapez ensuite « find-scanner ». Vous devriez voir le nom de votre scanner apparaître.

Éditez votre (/usr/local)/etc/sane.d/avision.conf pour y mettre :

scsi HP

usb dev/usb/scanner0

Ensuite, utilisez normalement les programmes comme scanimage (« scanimage --list-devices » pour vérifier si tout marche) ou xsane pour faire de l'acquisition. Dans l'état actuel du pilote, ne vous attendez pas à un résultat superbe (si vous avez des bandes arc-en-ciel, vous devez intiliser votre scaner sous Windows).

Attention ! Ne tentez jamais de désinsérer le module usb-scsi : plantage net. Le mode de prévisualisation bloque tout aussi. Les joies des drivers Beta !

Scanner parallèle

Dans la série « rien n'est simple », il existe deux sortes de scanners parallèles : ceux qui utilisent un protocole propriétaire et les SCSI déguisés.

Pour les deuxièmes, vous aurez besoin du module ppscsi.

Faire piloter le scanner par Gimp :

« cd ~/.gimp-1.2/plug-ins »

« ln -s /usr/X11R6/bin/xscanimage xscanimage »

Menu Fichier > Acquisition

OCR

Pour l'OCR (reconnaissance optique des caractères), il n'y a malheureusement pas grand-chose pour le moment, en dehors d'un produit commercial à 5 000 FF (700 F pour un usage privé) nommé OCRShop (société Vividata). Ce produit est assez limité : sortie texte brut seulement, pas d'utilisation du pilote SANE, ce qui restreint les scanners reconnus.

J'ai aussi trouvé en surfant un certain OCRchie, à http://http.cs.berkeley.edu/~fateman/kathey/ocrchie.html . Ce produit serait capable de lire des fichiers tiff.

Le plus abouti dans le libre semble être ClaraOCR (http://www.claraocr.org/), en version 0.9.7.

L'USB

Eh oui, depuis le kernel 2.2.18, l'USB fait partie des connecteurs officiellement supportés.

Une fois de plus, rien d'évident :

-Pour déterminer votre chipset USB et ainsi savoir le bon module à compiler: « lspci -v »

-Démarrer l'USB : la traditionnelle « /etc/(rc.d/)init.d/usb start »

-Il faut savoir que la compilation du kernel peut autoriser ou non à brancher les périphériques à chaud (General Setup > Support for hot-pluggable devices).

-Si votre BIOS vous donne le choix entre MPS 1.1 et 1.4, choisissez 1.1

Mon clavier me joue des tours

Le problème du verrouillage numérique : le Num Lock n'est en général pas lancé au démarrage (il pose d'ailleurs souvent des problèmes avec X-window, spécialement avec Motif : empêche le changement de fenêtre avec fvwm).

Le problème du clavier anglais : Normalement, l'installation de Linux vous demande la langue et le clavier à installer. Vous devriez donc avoir un clavier Français. Sinon, éditez /etc/sysconfig/keyboard :

KEYTABLE="fr-latin1"

Certaines touches font n'importe quoi : c'est souvent le cas des touches <home> et <Suppr> (qui fait comme <Eff>).

Dans ce cas, insérez ce petit script dans ~/.inputrc

set metaflag on

set convert-meta off

set output-meta on

"\e[1~":beginning-of-line

"\e[3~":delete-char

"\e[4~":end-of-line

Pour avoir le clavier numérique automatiquement en terminal :

Dans /etc/rc.d/rc.local ajouter: (Redhat)

for tty in dev/tty[1-6]

do

setleds -D +num < $tty > /dev/null

done

Attention ! Ne faites surtout pas ça sur un portable ! Vous auriez des problèmes du fait que le pavé numérique utilise les touches alphabétiques.

Pareil sous X :

dans /usr/X11R6/lib/X11/xkb/types/basic

intervertir les expressions « level1 » et « level2 » de la section KEYPAD. Vous devriez avoir un verrouillage numérique activé, bien que la diode soit éteinte. (Merci à Thierry Marchand)

type "KEYPAD" { modifiers = Shift+NumLock;

map[None] = Level2;

map[Shift] = Level2;

map[NumLock] = Level1;

map[Shift+NumLock] = Level1;

level_name[Level1] = "Base";

level_name[Level2] = "Number";

Le Verr num sera bien activé, mais la diode pas allumée.

Une meilleure solution est d'installer numlockx (http://dforce.sh.cvut.cz/~seli/en/numlockx/) et de le lancer avec une ligne dans Xsetup_0 (astuce de Michel Clivet).

Si vous avez lancé X avec l'option -kb (XkbDisable), vous devez décommenter « RightAlt ModeShift » dans le XF86Config (sinon, le modificateur ne modifie rien).

Quelques problèmes clavier MacIntosh (68000 avec Debian 2.1) :

La touche #@ ne fonctionne pas.

La combinaison <Maj- ^> (touche tréma) fait « | »

La combinaison <Maj-°> fait « ~ »

La combinaison <Maj-£> fait « # »

Je n'ai pas trouvé pour le « @ »

La touche effacement efface à gauche en combinaison avec <Maj>, sinon, elle efface à droite.

La touche AltGr ne fonctionne plus après avoir installé XFree86 4.02 ou sans raison

Histoire vécue sur Mandrake 7.2, où setxkbmap refusait de fonctionner. En fait, xkbcomp essayait d'écrire dans /usr/X11R6/lib/xkb/compiled, qui est un lien vers /var/state/xkb...qui n'existe pas.

Solution : créer un répertoire /var/state/xkb.

Si vous n'avez changé aucun réglage, vérifiez que setxkbmap se lance bien. S'il refuse, il peut s'agir d'une partition /var (ou racine si /var n'a pas sa propre partition) pleine. Faites de la place. Dans ce cas, vous ne pouvez pas afficher non plus vos pages de man.

Comment fonctionne le clavier sous X

X n'utilise pas une table de caractères statique, mais dynamique. C'est à dire que la table de clavier est générée au démarrage à partir d'un source. Le programme qui lance la compilation est setxkbmap et le compilateur est xkbcomp.

Astuce !! Pour obtenir des majuscules accentuées sous X : <CapsLock-Lettre_accentuée> (Ex : <CapsLock-é> donne É).

Autre astuce : Les touches drapeau des claviers Windows permettent le basculement de console.

Encore une astuce (de T.S et S. Blondeel):

pour changer le clavier azerty en qwerty et inversement : sous X dans une console ou xterm : tapez « setxkbmap us » (ou fr)

en mode texte sans X : tapez « loadkeys us » (ou fr)

Et une astuce de plus ! (de Bernard Delechamp)

Appuyez sur <AltGr-Touche> pour avoir des caractères spéciaux :

² & a A z r o O p P s d D x c C <---touche utilisée

¬ ¹ æ Æ « ¶ ø Ø þ Þ ß ð Ð » ¢ © <--- caractère obtenu

En prime, vous pourrez même avoir l'Euro (<AltGr-e>). Attention ! Ces touches ne fonctionnent que si vous avez la page de code 8859-1. Si vous passez à la 8859-15 (Unicode), il se peut que ça ne fonctionne plus.

Dernières astuces : Taper des accents avec un clavier sans accents dans Emacs : <Meta-x> « iso-accents-mode » Puis <apostrophe + e>, etc. (Merci à David Faure). Vous obtenez le même résultat avec n'importe quelle appli si vous chargez le clavier international dans XF86Config : « us-intl » au lieu de votre descripteur habituel (merci à Marc Falesse)

Pour les « touches Internet » de certains claviers :

Utiliser XFree 4.1.

Je veux lire -et écrire- ma partition Windows

Pareil que pour les cd rom : voir /etc/fstab. Normalement, l'installation de Linux crée la ligne nécessaire, avec le descripteur de périphérique (ex : /dev/hda1 pour la première partition du premier disque IDE, /dev/sda pour le premier disque SCSI...) et le point de mountage (souvent /mnt/dosc). De plus, il fait le mountage automatiquement. Si c'est votre cas : « cd /mnt/dosc » puis « ls ».

Sinon, « mount -t vfat /dev/hda1 /mnt/dosc », puis, après vérification que ça marche, rajouter la ligne « /dev/hda1 /mnt/dosc vfat 0 0 0 » dans /etc/fstab. Un simple « mount /mnt/dosc » suffira ensuite. Pour les disques NT : « ntfs » au lieu de « vfat ».

Si les noms longs de win 95 ne sont pas reconnus, vous devez avoir mounté votre disque en msdos. Remplacez alors msdos par vfat sur la ligne de commande ou dans le /etc/fstab.

Si les pseudo noms longs de win 95 ne passent pas lors d'une commande à cause de caractères interdits (espace), encadrez le nom du fichier de guillemets ou faites précéder les espaces d'une backslash (\).

Pour écrire sur la partition vfat depuis un compte user non root, il faut rajouter comme option « umask=0 »

Exemple de /etc/fstab :

/dev/hda1 /mnt/dosc vfat  noauto,rw,user,umask=0 0 0

Pour restaurer une partition Windows crashée :

Mountez votre partition Windows qui marche (dans la mesure du possible).

Tapez : « cd /mnt/dosc », puis « tar cf - *|gzip -v9 > /windows.tgz »

Si votre disque Linux est assez gros, vous avez maintenant une image compactée du disque Windows à la racine de Linux.

Pour restaurer votre Windows tout planté :

« mkdosfs /dev/la_partition_windows » (Attention, cela efface tout !!). Remountez-la.

Copiez-y la sauvegarde : « cp /windows.tgz /mnt/dosc ».

Dézippez l'image : « gzip -dc windows|tar xvf - »

Le DVD

L'installation d'un DVD est identique à celle d'un CD ROM.

Le seul problème provient des DVD video, à cause d'algorithmes de cryptage, secrets jusqu'à un passé récent.

Si vous avez une grosse bécane (genre Bi Pentium avec énorme RAM et gros disque dur), il est possible, en patchant le kernel, de décoder les DVD Video d'une manière logicielle.

Le programme Xine (http://xine.sourceforge.net) devrait lire les vidéos non cryptées directement, et les vidéos cryptées avec le module css. Il peut en outre faire de la décompression matérielle sur de nombreuses cartes récentes.

Tous les renseignements à http://linuxvideo.org

et sur http://www.thedukeofurl.org/reviews/misc/dvdlinux/printable.shtml.

Aux dernières nouvelles, les principales cartes de décompression seraient supportées par leurs fabricants (drx2) ou par la communauté (Hollywood et drx3).

Des informations sur http://opensource.creative.com

Graver un CD ROM

Passons sur l'installation du graveur, qui se fait exactement comme un cdrom normal. Seul problème : le support de cdrom au niveau du noyau doit être en module sous peine de ne pas pouvoir graver.

Autre curiosité : les graveurs IDE sont reconnus comme des SCSI. Ne soyez donc pas surpris s'ils s'appellent /dev/scd0 et équivalents. Pour qu'ils soient reconnus, ajoutez à la ligne de démarrage de Linux (par ex dans lilo.conf avec « append= ») la commande « hdc=ide-scsi » (adaptez selon votre emplacement du disque sur la nappe).

Pour vérifier la bonne détection de votre graveur : « cdrecord -scanbus ».

Vous avez une excellente page sur les graveurs IDE à http://www.sjgross.org/index.php3?path=linux/ide-scsi&file=index.php3.

Ensuite, l'interface graphique xcdroast, gcombust (paraît-il le meilleur) ou gnome-toaster (le plus simple) permettent de faire une gravure en quelques clics de souris.

Vous avez aussi grip pour extraire des pistes de cd audio pour en faire du wav ou du mp3.

Les programmes en ligne de commande sont :

mkisofs pour créer les images iso

Ex : « mkisofs -P « moi » -p « moi » -J image.iso /grav »

Ici, -P est le nom de l'éditeur, -p le nom du préparateur, -J crée des extensions Joliet (format Windows) et /grav, la partition où vous stockerez cette image (détails : « man mkisofs »).

cdrecord pour graver (option -dao pour éviter les 2 secondes de blanc entre les pistes).

-pour copier a la volée :

dd if=/dev/cdrom bs=2048|cdrecord -v dev=0,3,0 speed=2 (non testé)

Lire une image iso comme si c'était un vrai cd rom : « mount -r mon_image.iso -t iso9660 /mnt/cdrom -o loop /dev/loop0 » (nécessite le support Loopback Device Support dans le kernel ou en module)

Toutes les infos sur la gravure sur http://linuxfr.org/view_attach.php3?id=81

L'automontage

Si vous ne voulez pas passer tout votre temps à taper des « mount... », vous pouvez utiliser l'automonteur autofs. Ceci, d'autant plus que certaines distributions récentes l'installent par défaut (Corel, Mandrake 7.0...).

Plus sérieusement, l'astuce de l'automonteur est d'éviter que des utilisateurs ordinaires n'aient accès au montage, ce qui pose des problèmes de sécurité, mais simplement à un serveur qui, lui, fait le montage.

L'automonteur doit être compilé en module du noyau avant tout (« Kernel automounter support »). Vous pouvez vérifier si c'est déjà fait si vous avez quelque chose comme ça : /lib/modules/2.2.15-15mdk/fs/autofs.o.

Sur Mandrake 7.0 et + (système supermount), les montages se font dans /mnt, le fichier /etc/auto.master fait appel à /etc/auto.misc. Celui-ci doit contenir une ligne comme :

cdrom  -fstype=iso9660,ro :/dev/cdrom

pour le montage du cdrom.

Le /etc/fstab doit contenir des lignes comme ceci :

/mnt/cdrom /mnt/cdrom supermount fs=iso9660,dev=/dev/cdrom 0 0

Le lancement se fait par « /etc/rc.d/init.d/autofs start »

Un automonteur correctement configuré revient à ce qu'il suffit de taper « cd /mnt/cdrom » pour se retrouver dans le répertoire du cdrom monté automatiquement.

Le démontage se fait automatiquement après un laps de temps paramètrable dans /etc/auto.master.

Le système fonctionne également pour les montages par réseau nfs.

Le fax

Je ne connais pas de programme complet de gestion de fax en mode graphique qui marche chez moi (ksendfax, basé sur hylafax, peut-être ?)

Prenons l'exemple le plus standard en mode ligne de commande : sendfax / viewfax (il y a aussi hylafax, fax2send et efax).

Dans tous les cas, lancer « mgetty /dev/ttyS0 » (si votre modem est en com1)

Des détails sur Hylafax sur la page de Maurice Libes à http://www.com.univ-mrs.fr/ssc/info/hylafax/

Pour envoyer :

Le premier problème est d'obtenir un fichier .g3, la norme des fax. Pour cela, plusieurs solutions :

-pbm2g3

-digifax

-faxspool. Cette dernière, non contente de convertir le document, le met en file d'attente (sinon, utiliser faxqueue)

syntaxe : « faxspool 0123456789 le-document-que-je-veux envoyer-par-fax » (utilise ghostscript)

Pour faire partir les fax en file : « faxrunq » (utilise sendfax).

Sinon : « /usr/sbin/sendfax -v 0123456789 f1.g3 » vous permet de choisir le fax à envoyer (ici, f1.g3).

Pour bien faire, mettez votre numéro dans /etc/mgetty+sendfax/mgetty.config et /etc/mgetty+sendfax/sendfax.config (ainsi que le port série du modem).

Les fax sortants sont dans /var/spool/fax/outgoing

Pour recevoir

Lancer mgetty si ce n'est déjà fait. Faire attention à ne pas activer les diverses options qui empêchent la réception de fax ou le décrochage.

Le modem doit décrocher tout seul après X sonneries (paramètrable)

Pour voir les fax : « viewfax /var/spool/fax/incoming/le_fax_que_j_ai_reçu » (clic droit ou gauche pour agrandir, bouton central pour se déplacer).

Pour que mgetty tourne toujours après avoir reçu un fax, mettez dans le /etc/inittab une ligne comme :

S0:2345:respawn:/sbin/mgetty ttyS0

Le S0 représente le port série, 2345 les runlevelsmgetty est censé fonctionner en tâche de fond.

Kvoice (d'après jc)

J' utilise kvoice 0.3.1 sous Mdk 7.2 (après l'avoir utilisé sous 7.0). Il est disponible en Rpm sur chacune.

L'utilisation est d'une facilité déconcertante car très intuitive.

Sous root, pour envoyer un fax : Fax / New fax et deux possibilités :

soit taper un texte directement dans la fenêtre, inscrire un numéro de destinataire dans To et clic sur enveloppe.

soit choisir un document existant par / File / add file / le_document_a_faxer puis le numéro du destinataire dans To puis clic sur l'icône enveloppe.

Il y a des paramétrages dans Options (dont modem et fax) mais je n'utilise pas les autres possibilités de kvoice sur mon USR 56Kpro

Je ne faxe que des documents texte et n'ai pas essayé les autres.

Pour ne pas être obligé de me loguer en root à chaque utilisation, j'ai installé sudo (RPM de Mdk 7.2). Son paramétrage se fait sous root par visudo

en ajoutant

#Cmnd alias specification

Cmnd_Alias KVOICE=/usr/bin/kvoice

#User privilege specification

mon_login ALL=NOPASSWD:KVOICE

La commande étant, sous user, sudo kvoice, il suffit de faire un petit script

"kvoicesudo"

#!/bin/sh

sudo kvoice

placé dans /home/user/bin et ensuite facilement sur le bureau avec une icône.

Fax avec efax et fax4CUPS

Installez le paquetage efax.

Pour recevoir : « fax receive ».

Pour envoyer : « fax send numero_du_correspondant fichier_postscript ».

Le gros avantage, c'est que efax a une interface graphique fax4CUPS, disponible à http://gongolo.usr.dsi.unimi.it/~vigna/fax4CUPS/. Ce programme vous permet d'installer une imprimante virtuelle (nécessite d'avoir cups installé) utilisable par les programmes, et qui renvoie les fichiers postscript sortant de cups à efax. Élémentaire.

Xtel, le minitel

Grâce à Pierre Ficheux, Linux possède un émulateur de Minitel fonctionnant aussi bien en monoposte qu'en réseau disponible à http://www.com1.fr/~pficheux/xtel/ .

L'installation par rpm est évidente, sauf pour le cas où vous utilisez une Suse (le rpm qu'on trouve habituellement est pour RedHat, mais fonctionne très bien sous Mandrake, y compris dans sa version Motif, plus jolie).

Dans le cas de la Suse, créez avant installation du rpm un fichier bidon /etc/X11/XF86Config (sur Suse, XF86Config est directement dans /etc).

Installez le rpm, puis allez voir ce qui est écrit dans le XF86Config bidon. Collez la ligne qui s'y trouve dans votre vrai XF86Config, relancez X et ça devrait marcher. (astuce dérivée d'un message de Christophe Dioux).

Si vous aviez oublié de brancher le Modem, vous pouvez toujours relancer la détection en faisant « make_xtel_lignes ».

Une excellente page sur Xtel à http://www.funix.org/fr/linux/main-linux.php3?ref=xtel&page=menu. Lecture indispensable si votre système utilise xinetd au lieu de inetd (systèmes récents).

La tablette graphique

Vous devriez trouver un pilote pour les tablettes Wacom à http://lepied.com/xfree86/. Ce pilote s'appelle Xinput, et se place dans /usr/X11R6/lib/modules. Ensuite, modifiez votre xf86config selon les instructions fournies sur le site.

Et mon appareil photo ? (pas le mien, celui de D.Trystram)

Il faut dans un premier temps se procurer gphoto, projet sous licence gnu gpl : <http://www.gphoto.org/>, vérifier sur le site que votre appareil est supporté (beaucoup le sont, et les grandes marques en particulier). Ce logiciel permet à la fois d'importer les images sur votre disque dur, et de les manipuler, pour une sortie avec mise en page html par exemple. Pour pouvoir le compiler il est nécessaire d'avoir d'autres logiciels en général déjà installé avec les distributions récentes (GNU sed, Gtk (1.2 and up), Imlib (1.4 and up), ImageMagick (4.1 and up), libjpeg / libpng / libgif / libtiff / libz).

Les appareils photos sont en général connectables sur votre PC via un port série (je n'ai pas l'expérience avec l'usb). Lors de la première utilisation, choisir le port série (/dev/ttyS1 chez moi) auquel l'appareil est connecté, et le modèle dont vous disposez. Vous sauvez la configuration pour les utilisations suivantes. L'utilisation du logiciel est conviviale et intuitive via une interface graphique.

D'autres modèles (olympus, par exemple), utilisent une mémoire compact flash. Si vous avez un adaptateur pcmcia sur votre portable, vous devriez pouvoir les lire comme un disque.

Dernière nouvelle : gphoto peut maintenant s'intégrer à Konqueror. Il vous suffit de taper « gphoto:/ » dans la barre d'URL. Vous pourrez ainsi naviguer dans vos photos, les déplacer, les voir en petites images, etc.

La webcam

Les webcam Philips USB peuvent se raccorder, moyennant des manips un peu compliquées (modules usb-pwc).

Voir http://www.smcc.demon.nl/webcam/

Il y a également une très bonne page sur http://lea-linux.org/hardware/webcam.php3. Vous pouvez installer des webcams USB ou parallèles.

Une page sur les webcams Logitech : http://digilander.iol.it/demarchidaniele/quickcam-vc.html.

Les caméras supportés par le module cpia sont là : http://webcam.sourceforge.net et celles supportées par le module ov511 sont ici : http://alpha.dyndns.org/ov511/cameras.html.

Les programmes d'affichage sont par exemple Xawtv, vic, ou apache pour s'afficher sur le Net (tous les détails sur Lea-linux).


8. L'ordinateur portable

La solution est là :

http://www.cs.utexas.edu/users/kharker/linux-laptop/ ou http://infonomade.linuxfr.org/portables/portablefr.html

Quelques indications quand même :

Le modem

Lorsqu'il est intégré, il est du type Winmodem. Ne pleurez pas, c'est souvent un Lucent, pour qui il existe un pilote sur http://www.linmodems.org. Depuis peu, on trouve une forme compilable du module ltmodem, valable pour les noyaux 2.2 et 2.4. L'installation est très facile : il faut avoir les source du noyau installées, faire un « make xconfig » en activant le support ppp, puis « make dep ». Ensuite, il suffira de dézipper l'archive ltmodem-5.78e (ne pas dézipper l'archive interne) et de taper dans l'archive « ./build_module » (environnement de compilation nécessaire). Ensuite, « modprobe ltmodem » suffira à démarrer la chose.

Si tout ceci marche bien, vous devriez avoir

alias char-major-62 ltmodem

dans /etc/modules.conf.

Le descripteur de périphérique se nomme /dev/ttyLT0.

Le Minitel Xtel fonctionne très facilement. Il suffit de sauter la détection des modems lors de l'installation.

La documentation contenue dans l'archive est très claire (ne lire que les 10 dernières lignes). En cas de recompilation du noyau, faire simplement « ./ltinst » dans le répertoire des sources de ltmodem.

Attention ! Ces manips ne fonctionneront pas si le kernel n'est pas compilé avec l'option qui autorise les modules d'autres versions.

Autre pilote pour Lucent : http://www.lectron.com.tw/DOWNLOAD/PCI MODEM.htm.

L'infra-rouge

Il s'agit d'un port série. Il faut commencer par l'activer dans le BIOS.

(Compléter)

Le port PCMCIA (ou PC Card)

Le PCMCIA ne fait pas partie des kernels 2.2 (il n'apparaît que dans les 2.4). Il vous faut donc installer le paquetage pcmcia-cs. Vous aurez alors un répertoire pcmcia/ dans /lib/modules. (Merci à Alain Labarthe pour le plus gros de cette rubrique).

Vous pouvez l'activer avec la commande magique « /etc/rc.d/init.d/pcmcia start » (pas de « rc.d » sur Debian).

Ensuite, lorsque vous insérez une carte, elle est automatiquement détectée et le module automatiquement inséré. Plus simple, tu meurs.

Vous devriez avoir un paquetage installé du genre kernel-pcmcia.xxx. Les modules ne sont pas dans /lib/modules/..../net/, mais dans /lib/modules/..../pcmcia/.

Comme d'habitude, les options sont dans /etc. Plus précisément /etc/pcmcia/config et config.opts.

Le fichier /etc/sysconfig/pcmcia (RedHat) ou /etc/pcmcia.conf (Debian) doit comporter les lignes « PCMCIA=yes » et « PCIC=i82365 » (dans le cas d'un PCMCIA Intel) ou « PCIC=yenta_socket » (kernel 2.4).

Pour connaître les cartes insérées, tapez « cardctl ident ». D'une manière générale, lisez absolument « man cardctl ».

Une carte bien configurée doit faire 2 bips clairs à son initialisation. Si la carte fait un bip clair et un grave, c'est souvent un problème d'IRQ (« cardctl config » et « cat /proc/interrupts »).

Astuce : pour démarrer le réseau, oubliez les commandes « /etc/.../network start », mais démarrez simplement le service pcmcia. C'est lui qui lancera le réseau. Sinon, ça risque de ne pas fonctionner.

Vous avez les programmes cardmgr (c'est lui qui contrôle les insertions/désinsertions de cartes) et cardctl. Un port PCMCIA actif doit mettre un driver dans /proc/devices.

Problème avec le mode suspend : si le mode suspend est activé automatiquement ou manuellement (« cardctl suspend 0 » par exemple pour le socket 0), réactivez la carte avec « cardctl resume 0 ». Relancez ensuite le pcmcia (...restart).

L'économie d'énergie :

souvent cause de problème. Le mode suspend a tendance à tout bloquer. Il vaut mieux le désactiver dans le BIOS, et laisser simplement l'extinction de l'écran à la fermeture du couvercle. Les Toshiba ont une option spéciale de compilation du kernel.

Pour savoir où vous en êtes de votre batterie : « apm » (lit /proc/apm). Lisez absolument « man apm ».

Si votre portable est bien luné, « apm ­s » devrait le mettre en veille. Le redémarrage peut être moins évident. À essayer. J'ai eu de bons résultats en lançant cette commande à partir d'une console texte, mais des blocages à partir du mode graphique. Curieusement, la même machine accepte bien le mode suspend à partir de X si X est en mode frame-buffer.

Si vous voulez revenir sous X, éditez le fichier /etc/sysconfig/apmd et mettez-y

CHANGEVT="7" si votre console graphique est en <Alt-F7>.

Pour la carte réseau PCMCIA, mettez dans le même fichier :

NET_RESTART="no", sinon vous devrez relancer le PCMCIA à la main.


9. Gérer la machine

Tout est bloqué !

Changez de console <Alt­F2> ou <Ctrl­Alt­F2>. Tapez « ps aux » : cela vous indique les tâches actives. Repérez par son numéro (PID) le programme (processus) qui bloque. Faites « kill numéro ». Refaites « ps » et vérifiez qu'il a bien disparu. Si ce n'est pas le cas, tentez « kill ­9 numéro ». Ça devrait marcher. Si vous obtenez un processus zombie, essayer de killer les processus encore actifs, en rapport avec ce programme. Ou bien « killall nom_du_programme_bloqué ».

Quitter un programme <Ctrl­c>. Fonctionne aussi pendant le processus de boot. Permet parfois de terminer un boot mal engagé, quitte à corriger l'erreur par la suite.

Si vous aviez tapé par inadvertance sur <Ctrl­S>, vous pouvez débloquer par <Ctrl­q>.

Normalement, le noyau ne devrait pas être bloqué. Vous devriez encore pouvoir y accéder à partir d'une autre console sauf gros conflit matériel (conflit d'IRQ). Si vous ne disposez pas d'un réseau, attendez un bon bout de temps. Il se peut que ça se débloque tout seul. Si vous êtes vraiment obligé de faire un Reset, le redémarrage pourrait être difficile. Vous serez peut être obligé de faire un « fsck -A », mais normalement, il se fera tout seul. Si le fsck -A vous jette, faites-le en manuel : « fsck -r ». Répondez « y » partout.

Si votre micro est seulement très ralenti, tapez « top ». Vous verrez peut-être un process occuper tout le processeur à la suite d'une erreur de programmation ou une mauvaise utilisation. Faites un kill et on n'en parle plus (ou tapez « k 1234 » dans top pour arrêter le processus 1234.

À noter que pour tuer une tâche en mode graphique, xkill est particulièrement commode (il suffit de cliquer sur la fenêtre bloquée). Encore plus rapide dans KDE : <Ctrl­Alt­Esc>, puis cliquer sur le programme bloqué.

Plus moderne : gkill vous affiche toutes les tâches qui tournent et vous arrête celle que vous voulez, graphiquement.

Quel espace est encore libre sur mon disque dur ?

Tapez « df » (disk free). Kdfree = pareil, mais en plus beau.

Pour l'occupation des répertoires : « du ». Kdu vous répertorie tout le disque ou tout un répertoire.

Comment lire la taille d'un dossier avec du en obtenant seulement le résultat global ?

Taper : « du ­h ­max­depth=0 /home » (par exemple) ou « du ­s ».

(Merci à Alain AUBERT et à Damien CHRISMENT).

Mon disque déborde. Que supprimer sans danger ?

Une fois de plus, ce genre de manip sera plus facile avec un système qui gère des packages (Redhat, Debian), de préférence en mode graphique (kpackage est le champion). Désinstallez en priorité les plus gros packages.

-Si vous n'installez que du compilé, supprimez les librairies de développement (pour les trouver : « rpm ­qa|grep devel »)

-Supprimez les shells et file managers que vous n'utilisez pas (« rpm ­qa|grep sh » et « rpm ­qa|grep fm »), ainsi que Midnight Commander (mc) si vous utilisez des outils plus modernes. En général, vous n'utilisez que bash. Idem pour les Xterm, un seul suffit. Attention cependant : certains shells sont indispensables à certains programmes.

-Supprimez les window managers que vous n'utilisez pas (« rpm ­qa|grep wm » pour les trouver). Un seul suffit. Certains wm tels Afterstep n'apparaîtront pas avec la commande précédente. À vous d'adapter.

-Supprimez tous les programmes qui vous ont servi à faire des paramétrages (XF86Setup, XF86Vga16 si vous êtes en SVGA, xf86config, SuperProbe, Xconfigurator, mouseconfig, sndconfig etc...) ou qui ne servent plus (mkbootdisk si votre disquette de boot est faite...)

-Supprimez les programmes qui font double emploi (Xpaint et xv si vous avez Gimp, lynx si vous naviguez avec Netscape ou konqueror, Acrobat Reader si vous avez kde ou Staroffice ou ghostscript...). À noter que les systèmes modernes complets (Gnome, kde) installent des versions de beaucoup de programmes standards de X window (kmines et gnomineur en plus de xdemineur...). Les vga games et les bsd games sont carrément nuls, sauf exception. Le navigateur Arena est plutôt obsolète.

-Supprimez les programmes pas franchement utiles : xbanner, xpinguin, xeyes, xfishtank, xsnow, xdaliclock... Certains autres sont utiles, mais pas pour tout le monde (ex : gnuplot, traceur de courbes mathématiques)

-Supprimez les dictionnaires étrangers de Ispell (dans /usr/lib/ispell) si vous n'en avez pas l'usage (gain : 1Mo par langue). Supprimez aussi les dossiers de langues étrangères de KDE et du système (/usr/share/doc et /usr/share/locale P.ex)

-Supprimez un max d'économiseurs d'écran et de fonds d'écran (à la main en général, car tous sont dans un même package)

-Supprimez les systèmes de démarrage graphique automatique (xdm, kdm) si vous préférez taper « startx » ou travailler en mode texte.

-Si vous ne comptez pas recompiler le noyau ou d'autres programmes, supprimez le source (dans /usr/src/linux). 70 Mo gagnés. Attention, ça peut vous empêcher de compiler certains programmes. Pensez aussi à virer les vieux noyaux qui ne vous servent plus (dans /boot), ainsi que les modules qui vont avec (dans /lib/modules). Sinon, rezippez-le (« tar cvyf linux-2.4.9 linux »).

-La documentation (how-to French = 39 Mo !). Supprimez au moins les packages ou les répertoires dans /usr/doc qui ne vous correspondent pas (pcmcia pour un poste fixe...), supprimez /usr/lib/X11/doc une fois que votre serveur X fonctionne correctement.

-Supprimez les instructions de débuggage (« strip nom_de_l_executable »)

-Sur Mdk 7.x, surveillez vos /var/log/mail/ et /var/log/news/, qui ont tendance à enfler démesurément à la suite d'un bug dans /etc/logrotate.d/syslog.

-Supprimez les fichiers core (images mémoire pouvant être utilisées pour le débuggage). Pour les supprimer tous d'un coup : « find / -name core ­exec rm ­f "{}" ';' ». Pour éviter que ces fichiers ne se créent : ajoutez « ulimit ­Sc 0 » à votre /etc/profile.

-Regardez si le fichier /var/log/messages (les messages systèmes) n'enfle pas outre mesure. Si oui (« ls ­l »), effacez. Ce genre de considération fait conseiller à certains de faire une partition séparée pour /var, afin d'éviter de bloquer le système avec un répertoire /var qui emplit toute la partition de travail.

-Ne supprimez surtout pas les librairies ordinaires, le langage tcl/tk (utilisé par beaucoup de petits utilitaires), les outils de zippage-dézippage, un window manager,un shell, un File Manager, votre serveur graphique avec ses fontes, LILO, votre noyau de démarrage (sachez que si vous démarrez à partir de DOS avec loadlin, le noyau présent sur la partition Linux ne vous sert à rien ! 500 ko de gagnés !).

Comment changer la priorité des processus ?

Imaginez que le plus gros de vos ressources soient occupées par une compilation ou une recherche, gênant votre travail. Vous pouvez changer sa priorité d'exécution en la lançant avec « nice ». Exemple : « nice -15 find / -name toto & ».

Pour accélérer : « nice --15 find / -name toto & ». Vous avez droit à des chiffres entre 19 et -19, sans oublier le signe « - » devant.

Si la tâche est déjà lancée, essayez « renice ». Exemple : « renice -15 1190 ». Ici, 1190 est le numéro de processus, identifié en faisant « ps ».

Top vous permet aussi de changer la priorité des processus (commande « r »). Des programmes d'administration graphique comme Webmin permettent aussi de faire ceci.

Encore plus fort : le batch. (Merci à Pierre Couvy)

Cela fait partie de la différence entre l'informatique domestique et le monde des grands systèmes, au même titre que le multi-utilisateurs.

Pour ne pas monopoliser une console, voire le PC à la mode « zindozs » (en cas de grosses compil par exemple), il y a mieux que le traditionnel « bg, renice » : le batch.

Le batch va vous permettre de lancer un travail souvent long ou d'une importance mineure. C'est encore le travail dont le résultat ne vous intéresse pas dans l'instant mais vous voudrez le retrouver, classer. Tapez « batch ». Si la commande n'existe pas : « at -qe -m now », saisissez votre commande, puis <Ctrl-d>. La commande va être lancée par le démon atd. Vous pouvez donc vous délogger sans tuer la tâche, ce n'est pas le cas de « bg » ou « ma-commande& », c'est un pas de plus vers la sécurité (avouez : combien compilent leur noyau dans une console sous le compte root ET ne restent pas devant leur écran !? ;o). Plus important encore le travail batch ne consomme que les restes des ressources laissés par les autres taches (nice élevé) : la machine reste à votre service. Le fin du fin : le travail terminé, un mail contenant les résultats (stdout) de la commande viendra vous en avertir (configurez une boîte recevant le mail local avec kmail, ou « mail »). Enfin vous n'aurez plus d'excuse de ne pas utiliser « su » plutôt que le compte root : les mails sont envoyés à votre profil même si la commande « batch » ou « at » sont lancées sous root depuis un xterm en passant par su. En résumé : simple, efficace, avantageux et élégant !!! plus d'info avec « man batch » ou « man at » ; Voici un exemple de commande batch (modifiée de la mandrake 7.2) le « -m » sert à renvoyer un message même si il n'y a pas de résultat :

#! /bin/sh

prefix=/usr

exec_prefix=/usr

exec /usr/bin/at -qe -m now "$@"

Libérer de la RAM

Vous trouvez que le système est un peu gourmand en mémoire ?

Posez-vous des questions sur les services (daemons) lancés. Faites un « ps aux », et regardez ce qui est lancé. Il y a peut-être des services que vous n'utilisez pas.

Les plus courants :

Pour arrêter un service : « /etc/rc.d/init.d/service_a_arreter stop » (sur Debian, pas de rc.d)

Vous verrez aussi en faisant « ps aux » un certain nombre de mingetty. Il s'agit des consoles F1 à F6. Si vous n'avez pas besoin de tout ça, (une seule suffit, et encore...), éditez le /etc/inittab, et commentez les lignes comme 2:2345:respawn:/sbin/mingetty tty2 (laissez-en quand-même une, sauf si vous êtes toujours en mode graphique). Autre possibilité : ne commentez pas les lignes, mais enlevez seulement les chiffres des runlevels graphiques. De cette manière, vous aurez 6 shells lorsque vous n'utilisez pas le mode graphique, et moins lorsque vous avez X, gourmand en ressources.

200 ko de gagnés à chaque fois. Prendre cette modification en compte à chaud : « init q ».

Autre gain de place en RAM : en lisant le résultat de « ps ax », vous verrez peut-être des lignes du genre

sh /usr/sbin/quelque_chose

Ces lignes signifient que le programme quelque_chose a été lancé lors du démarrage par un shell et que ce shell n'a pas été quitté. Trouvez dans les fichiers d'initialisiation (quelque part dans /etc) ce qui lance ce service et rajoutez « exec » devant. Le shell sera quitté lors du lancement du programme. Qui a dit que les scripts fournis avec les distributions étaient écrits avec les pieds ? Chaque shell inutile en moins = quelques centaines de ko disponibles en plus.

Diminuer les animations et gadgets sur KDE (>= 2.2) : lancez « kpersonalizer ».

Mettre à l'heure

Les utilitaires graphiques disponibles sur vos systèmes ne changent en réalité pas l'heure du BIOS, mais seulement l'horloge système UNIX. Pour la mise à l'heure « en dur », faites « hwclock --set --date="12/31/2001 14:20:00". Pour vérifier le résultat : « hwclock --show ». Pour syncroniser l'horloge système avec celle du BIOS : « hwclock --hctosys ».

Stopper un compte sans stopper un programme appartenant à ce compte :

Imaginons que vous vouliez qu'un travail finisse (une compilation, par exemple), et que vous vouliez laisser votre machine à quelqu'un d'autre.

Tapez « nohup la_commande » tout simplement. Même après que vous êtes délogué, le programme tourne toujours.

Comment démarrer plus vite ?

Linux démarre selon un niveau d'exécution défini dans le /etc/inittab (par ex level 5 pour X sous Redhat). Un certain nombre de services sont lancés automatiquement. Il se peut que certains d'entre eux ne vous servent pas. Vous pouvez supprimer selon votre cas de figure :

-lpd si vous n'avez pas d'imprimante

-crond et atd si vous n'utilisez pas la gestion de tâches programmable

-gpm, le gestionnaire de souris en mode texte,

-Sendmail si vous n'envoyez pas de courrier par cette méthode

-Postgres si vous n'utilisez pas cette base de données...

Pour cela, vous pouvez lancer le setup de Redhat, ou un éditeur de Système V (ksysv ou tksysv)

Lancer un service

Un certain nombre de services (ou daemons) tournent en tâche de fond, attendant un ordre.

Généralement, ces services sont lancés par des fichiers situés dans /etc/(rc.d)/init.d/ (selon les distributions).

Ils se démarrent (sous root) à la main soit en tapant « /etc/rc.d/init.d/nom_du_service start », soit tout simplement « service nom_du_service start » (« restart » pour redémarrer).

Pour les interroger, remplacez « start » par « status », et pour les arrêter, utilisez plutôt « stop ».

Pour le démarrage automatique, cela dépend des distributions. Sur Red Hat et dérivées, vous mettez le nom du service dans /etc/rcx.d/, précédé de symboles.

Exemple de contenu de rc5.d :

S71sound@

S85gpm@

S85httpd@

Ce dossier sera traité par ordre alphabétique. Le S (start)signifie que dans le runlevel 5, ces 3 services démarreront (K pour kill).

Le chiffre est arbitraire. Plus il est grand, plus se service aura une chance de démarrer après les autres. Dans notre exemple, deux services portent le numéro 85, mais cela n'a pas d'importance car leur nom est forcément différent, et comme « g » précède « h », le système démarrera gpm avant httpd, ce qui dans ce cas n'a aucune importance.

Quelle est ma version ?

A l'invite, tapez « uname -a ». Lorsque vous demandez de l'aide, donnez toujours les renseignements sur votre distribution (Ex : Redhat 7.1), le noyau (ex : 2.4.9), et le serveur X (4.1).

Ne polluez pas les newsgroups si vous avez une version antédiluvienne (celle que je viens de citer, dans 3 mois !). Une version hyper à jour est indispensable, surtout pour une machine neuve.

Récupérer un fichier effacé :

C'est très difficile sous Unix en général.

http://www.freenix.fr/unix/linux/HOWTO/mini/Ext2fs-Undeletion-10.html

Il existe un utilitaire du nom de recover (et son interface gtkrecover) qui vous permet de récupérer des fichiers effacés assez facilement.

Réparer la table des partitions

Il peut arriver qu'une installation difficile fasse sauter la table des partitions. Une seule solution (plutôt que de tout réinstaller) : « gpart ».

Défragmenter

La manière dont Linux écrit sur son système de fichiers est assez propre, et la machine ne subit pas une fragmentation des fichiers notable dans la plupart des cas. Si vous tenez absolument à défragmenter, vous pourrez trouver un programme du nom de e2defrag.

Redimensioner les partitions

Plus intéressant : pour redimensionner une partition ext2, vous pourrez vous procurer ext2resize. Malheureusement, c'est en mode texte seulement. DiskDrake (de Mandrake) est très intuitif, en mode graphique. Sinon, Gnuparted. Attention aux pertes de données !!

Avoir les accents français sur la console

Si votre console affiche des signes bizarres au lieu des caractères accentués, faites « consolechars -f lat1-16 ».

Linuxconf

Il s'agit là d'un outil graphique pour faire la plupart des réglages mentionnés dans ce guide de survie. Il ne se contente pas de faire les réglages, il les optimise et relance les parties du système si besoin. Idéal pour configurer le réseau, les utilisateurs, les disques, le démarrage, l'heure, etc. Se lance tout bêtement par la commande « linuxconf ».

Webmin

À mon avis, encore mieux que Linuxconf. Vous avez une cinquantaine de fonctions (partages Samba, gestion des services apache, ftp, telnet, etc., réglages de cron, les processus actifs...). Tous ces réglages sont accessibles à partir d'un navigateur web, local ou distant.

Le fonctionnement est très simple : la machine à paramétrer doit avoir un webmin qui tourne (se lance par « /etc/rc.d/init.d/webmin start »), de préférence lancé automatiquement au démarrage. La machine qui veut accéder aux réglages doit lancer dans un navigateur la commande : « http://adresse_ip:10000/ ».

Attention ! Si vous avez perl-ssl sur votre machine, webmin démarrera automatiquement en mode sécurisé et vous ne pourrez y accéder que par « https://adresse_ip:10000/ ». Encore faut-il que votre navigateur supporte https (ce qui n'est pas le cas de Konqueror).


10. Le mode graphique

Comment lancer X ?

« startx ».

Si ça ne fait rien du tout, vous avez oublié d'installer X ! Recommencez l'installation en « mise à jour ».

Si ça commence, puis que ça plante, ça se complique.

Selon votre distribution, tapez « xf86config », « Xconfigurator », « configX », « xf86setup », »yast » (suse), « xf86cfg » (XFree 4.02)

Mon faible va à Xconfigurator, livré avec Redhat, qui détecte la carte graphique et la souris.

Si ça coince, il va falloir éditer le fichier /etc/X11/XF86Config (ou pas « /X11/ ») à la main. Une bonne doc, et bon courage ! Lisez « man XF86Config » et le man de votre serveur X. Par exemple, il peut falloir rajouter des options comme « linear » ou « noaccel », voire limiter la mémoire à 14 ou 16 Mo de RAM (cartes ISA ou VESA).

Si vous devez VRAIMENT fabriquer vos modelines, plutôt que de vous lancer dans des formules incompréhensibles, tentez plutôt le calcul automatique sur la page http://www.inria.fr/cgi-bin/nph-colas-modelines-fr. Si vous êtes puriste, vous êtes même invité à le faire à titre systématique pour toutes vos résolutions. Idéal pour afficher la télé en plein écran.

Autres sources de problèmes : X n'existe pas. Créez-le par « cd /usr/X11R6/bin », puis « ln -s monserveurX X » (crée un lien symbolique de X vers monserveurX). Le serveur en question s'appelle quelque chose comme XF86_SVGA, dans le même répertoire.

Autre cas, X existe, mais pointe vers un mauvais serveur X (se détecte par « ls -l /usr/X11R6/bin/X ») :

« rm /usr/X11R6/bin/X », puis « ln -s monserveurX X » dans /usr/X11R6/bin/.

De nombreuses cartes récentes ont un serveur X spécifique (XBF pour les Intel 740...) et un mode d'emploi spécifique.
Liste des cartes compatibles à http://www.xfree86.org/cardlist.html.

Encore un problème : Dans Mandrake 7.2, si vous utilisez Xfree 4.0, le fichier de configuration s'appelle /etc/X11/XF86Config-4. Inutile de vous acharner sur le fichier XF86Config, qui n'est pas lu.

Pour installer XFree86 4.02, téléchargez tous les binaires, puis lancez en ayant quitté X la commande « sh Xinstall.sh ». À la fin de l'installation, vous pourrez configurer avec xf86cfg (mode graphique) ou xf86config (mode texte).

Attention, gros piège si vous mettez à jour Xfree sur RedHat!!

Sur RedHat, le fichier xfs (serveur de fontes) est spécial et ne correspond pas à XFree standard. Si par malheur vous installez les binaires de XFree sans sauvegarder xfs de Redhat et que vous reboutez, le démarrage est impossible !!! (Aventure vécue sur une 6.0, pas de problème avec une Mandrake 7.0 et Xfree 4.0).

Lancer X automatiquement

Sur Red Hat/Mandrake, éditez le /etc/inittab, puis remplacez « id:3:initdefault » par « 5 ». Sur Suse, remplacez 2 par 3. Sur Corel, remplacez 1 par 2. Sur Slackware, remplacez 3 par 4.

[ Sur Debian, le niveau de démarrage est 2. Le gestionnaire de démarrage graphique est lancé en créant un lien symbolique : « cd /etc/rc2.d » puis « ln -s ../init.d/kdm S99kdm » par exemple si ce lien n'existe pas déjà.]

Voilà comment les auteurs de distributions compliquent la vie des Linuxiens et des rédacteurs de documentation. Ceci vous lance par défaut xdm (vérifiez qu'une ligne à la fin du fichier lance xdm), ou, mieux, kdm si vous renseignez correctement la ligne qui est lancée par le level 5. Pour le window manager par défaut, il faut créer un fichier $HOME/.xsession (inutile pour kdm), et le rendre exécutable (« chmod +x »). Placez-y le nom de votre WM préféré.

Pour choisir le gestionnaire de démarrage graphique, la solution ne se trouve plus dans le /etc/inittab,qui doit finir par

x:5:respawn:/etc/X11/prefdm  -nodaemon

mais dans /etc/X11/prefdm qui lance xdm, gdm ou kdm au choix. Vous y trouverez aussi le PATH.

Ensuite, dans le centre de configuration kde, applications, configuration du bureau, sessions, rajoutez les noms des wm que vous voulez choisir au démarrage (exemple « window maker »). Pensez aussi à changer la langue de kdm.

Comme toujours, Gnome a son équivalent., le Xsession doit être configuré comme pour kdm, et il faudra créer des fichiers spéciaux pour chaque WM dans /usr/bin/gdm en suivant le modèle de ceux qui y sont déjà.

Si le redémarrage plante, vous pouvez essayer à LILO : « linux single ». Cela empêchera le démarrage automatique de X et vous permettra d'intervenir, par exemple pour remettre l'initdefault à 3.

Pour éviter cet ennui, il vaut mieux tester d'abord en tapant « init 5 » à l'invite. Si un incident se produit, retapez « init 3 ». Une fois que tout marche seulement, passez l'initdefaut à 5 et relancez. (Adaptez les chiffres à votre distribution, comme expliqué plus haut).

Dans le cas de kdm sous Red Hat, vous constaterez que le fond d'écran choisi par défaut n'apparaît pas, mais seulement le logo de Redhat, nommé xbanner.

Le fichier /etc/X11/xdm/Xsetup_0 n'est plus utilisé.

Astuce : Pour démarrer au choix en mode texte ou graphique, au lieu de taper « linux » au prompt de lilo, tapez « linux 3 » (ou 5, ou ce que vous voulez).

Re-astuce : pour démarrer en choisissant le niveau de démarrage dès le début, éditez votre lilo.conf, repérez la section qui démarre linux, copiez-la plus loin, changez le libellé de démarrage (ex : linux en linuxtexte) et rajoutez « append="3" » dans la section. Activez les nouveaux réglages en tapant « lilo ». La même méthode marche bien sûr pour les autres gestionnaires de démarrage.

X démarre. Et après ?

Après, vous pouvez commencer à jouer : gimp pour la retouche photo, Netscape, profiter du multi bureaux...

Vous pouvez oublier toutes les commandes qui précèdent. Il existe des équivalents graphiques, mais qui ne gèrent pas les opérations complexes. Dommage...

Vous constaterez vite qu'il existe de nombreux window managers : kwin pour KDE, le plus abouti (évitez si vous n'avez pas 64 Mo de RAM), afterstep (le plus classe), fvwm95, mlvwm (imitation mac), window maker, Enlightenment, le plus gourmand en couleurs et le plus psychedelique...

À noter que Gnome n'est pas un WM mais s'appuie sur un WM, de préférence Gnome-compliant (Window maker ou Enlightenment).

Chaque utilisateur peut choisir un WM différent des autres et avoir ses propres paramétrages.

Il est probable que votre WM vous propose des menus avec tout plein de programmes. C'est en général un paramétrage par défaut. Il est possible qu'un certain nombre d'entre eux ne répondent pas. Il ne vous reste qu'à les installer. À l'inverse, il est possible qu'un certain nombre de programmes soient installés, mais n'apparaissent pas dans les menus. Allez donc faire un tour dans /usr/X11R6/bin ou /usr/local/bin. Pour les rajouter aux menus, consultez la doc de votre WM. Comme d'habitude, c'est KDE qui s'en sort le mieux.

Et mon shell ?

Pas de problème : c'est maintenant un xterm.

Vous pouvez en lancer plein en même temps, et même avec des utilisateurs différents (commande « su - »)..

Astuce : sous KDE, en faisant glisser un fichier vers un xterm, vous pouvez y coller directement son nom ou vous placer dans son répertoire.

Les fenêtres débordent de l'écran !

Si X est configuré en 640x480 en couleurs 8 bits, c'est très insuffisant. Pour travailler correctement, 16 bits et 800X600 sont un strict minimum (1Mo de mémoire sur la carte), 1024X768 sont encore mieux (2Mo de mémoire video). 800X600 est le paramétrage minimum pour KDE.

Essayez <Ctrl-alt-+> (le plus du pavé numérique). Si l'image change de taille, c'est gagné ! Sinon, relancez Xconfigurator(Red Hat), YAST (Suse), ou ce que vous voulez d'autre, et répondez aux questions sur la résolution. En dernier ressort, éditez /etc/X11/XF86Config (certaines distributions ont le XF86Config directement dans /etc) à la main.

Pour que l'écran démarre directement dans la bonne résolution, repérez d'abord le paragraphe consacré à votre serveur X, et dans celui-ci la ligne du XF86Config, section screen, subsection display où l'on peut lire :

640x480 800x600 1024x768 (par exemple), et inversez l'ordre pour mettre en premier votre résolution préférée (dans votre nombre de couleurs).

Si vous ne voulez pas d'écran virtuel plus grand que votre plus grande résolution, commentez (« # ») la ligne « virtual... ».

Attention ! Ne vous trompez pas de section. Inutile de trafiquer la section sur l'affichage monochrome si vous êtes en SVGA. Sur Xfree 4.0, il n'y a plus qu'une seule section.

Je n'ai pas le bon nombre de couleurs :-(

plusieurs possibilités :

-« startx -- -bpp 16 ». Ça marche, mais c'est pénible (À noter que le « -- » signifie la fin des options).

-« DefaultColorDepth 16 » dans le XF86Config (section screen, dans la rubrique correspondant à vote serveur X, avant « subsection display »).

Attention ! Dans Xfree 4.0, il faut mettre « DefaultDepth 16 »

Mes écrans sont tout décalés

Lancez « xvidtune » à partir d'un xterm. Notez les valeurs qu'il vous donne (commande « show »). Ouvrez le /etc/X11/XF86Config. Vous devez trouver une ligne de Modeline où toutes ces valeurs apparaissent. Marquez-la d'un commentaire. Agissez sur les réglages de xvidtune. Lorsque le centrage vous convient, remplacez les anciennes valeurs du XF86Config par les nouvelles que vous donne xvidtune. Faites pareil pour toutes les résolutions. Kvidtune est encore plus beau !

Attention ! Sur Xfree 4.0x, les Modelines de XF86Config sont facultatifs. Il autodétecte les résolutions du moniteur. Si vous y tenez vraiment, vous pouvez mettre des modelines identiques au même endroit qu'auparavant.

Les ascenseurs X

Vous allez dire que les ascenseurs, vous connaissez. Eh bien, ce n'est pas si sûr.

Les anciens programmes X (xfm, xpaint...), reconnaissables à leur graphisme 2D assez moche, utilisent des ascenseurs différents de la norme habituelle :


Descendre

Monter

Lentement

Bouton gauche, en haut

Bouton droit, en haut

Vite

Bouton gauche, en bas

Bouton droit, en bas

Tirer l'ascenseur manuellement : bouton central

Vous pouvez tester ceci avec xpaint, menu aide.

Comment basculer de console sous X ?

<Ctrl-Alt-F2>. Pour revenir sur la console graphique : <Ctrl-Alt-F7> (si vous avez bien 6 consoles texte. Sinon, adaptez). Pour lancer une deuxième console en mode graphique : « startx -- :1 ».

La deuxième console graphique est maintenant F8.

Comment lancer un programme graphique lorsqu'on est invité sur la console ?

Si vous avez déjà utilisé la commande « su », vous constaterez que l'utilisateur invité peut lancer des programmes dans la console, mais pas de programme graphique.

La solution : l'hôte doit lancer la commande « xhost + »

L'invité tape « export DISPLAY=:0.0 » (Le premier 0 désigne la première console graphique, le deuxième 0 est facultatif, il désigne le numéro d'écran, généralement un seul).

Il peut alors lancer n'importe quel programme graphique comme s'il était chez lui.

ATTENTION : cette commande permet à n'importe qui d'afficher un programme sur votre écran, y compris par le réseau ! refaites vite « xhost - » pour être tranquille. Sinon, lancez xhost par « xhost + machine_autorisee » (tous les utilisateurs de cette machine -et même peut-être d'autres- deviennent autorisés).

Si votre machine est reliée à l'Internet ou un autre réseau non sûr, vous devriez plutôt une méthode basée sur xauth et des cookies (détails dans le how-to Remote-X-apps).

Astuces : Voir la valeur d'une variable : « echo $DISPLAY », ou « echo $LANG », ou ce que vous voulez d'autre. Voir toutes les variables : « env ».

Autre possibilité : lancer un seul programme sur l'autre affichage : « emacs -display :0 ». Si vous trouvez que c'est trop lent, utilisez lbxproxy.

Exemple : « lbxproxy 192.168.0.1:0 », puis « emacs -display :63 ». Pour vérifier si le serveur X accepte de se faire traiter de la sorte : « xdpyinfo » (doit supporter LBX).

Comment quitter X et Linux ?

<Ctrl-Alt-Eff> ou les menus du window manager (l'idéal). Pour quitter Linux complètement, il ne faut jamais éteindre sauvagement. Si vous êtes tout seul (pas de réseau) : « halt », « reboot » ou « shutdown -h now » avec les bonnes options de délai (« man shutdown ») dans un x-term.

Autre possibilité : <Ctrl-Alt-Suppr> (depuis une console texte), puis éteindre la machine avant le redémarrage.

Si vous êtes en mode graphique automatiquement (kdm), en quittant, vous vous retrouvez à nouveau en console de login. Choisissez le menu « arrêter ».

Si vous êtes en mode graphique avec xdm, la solution est de changer de runlevel : « init 0 » pour arrêter ou « init 6 » pour rebooter.

Attention ! si vous utilisez le login manager de KDE 1, ne choisissez pas root ou console seulement si vous voulez pouvoir arrêter la machine depuis un compte utilisateur en mode graphique, sinon risque de blocage.(merci à Michel STEPAN)

La 3D

Les principales marques (NVidia, Matrox, 3DFX...) mettent à disposition des pilotes 3D.

Pour ma Nvidia Riva128, j'ai tout simplement dézippé le nvidia-X-GLX..., quitté X, puis tapé à partir du répertoire d'installation la commande « ./riva_install ». Ensuite, à vous Quake !! (procédure valable pour Xfree 3.x).

La nouvelle version du driver Nvidia pour Xfree 4 est assez ardue à installer. Les explications ici :

http://www.lea-linux.org/hardware/nvidia.php3

En gros, il faut

-Compiler un kernel avec le support AGP. Insérer le module (« modprobe agpgart »).

-récupérer les fichiers NVIDIA_kernel-1.0-1251.tar.gz et NVIDIA_GLX-1.0-1251.tar.gz

-les dézipper quelque part

-taper « make install» dans nvidia_kernel et dans nvidia_glx

-remplacer Driver "nv" par Driver "nvidia" dans XF86Config.

-et insérer la ligne ci-dessous.

Sur mon portable avec une ATI rage LT Pro (mach 64), l'accélération est très correcte sous XFree 3.3.x...à condition d'être activée. Vous feriez bien entre autres de décommenter la ligne

Load "glx"

dans votre XF86Config.

Attention ! Pour XFree 4.x (pour les cartes qui sont supportées sauf les Nvidia), il faut ajouter

Load "dri"

À condition, bien sûr d'avoir installé DRI, disponible sur http://dri.sourceforge.net/doc.phtml.

Il y a une superbe documentation à http://www.linux-france.org/article/3d/ (par Serge ROSSI).

Quelques infos :

D'une manière générale, vous devez installer Mesa (le support GLX) pour XFree 3.x. Pour XFree 4.x, Mesa est inclus.

Vous pouvez tester par « glinfo » et « glxinfo ».

Si vous avez le paquetage Mesa-demo , vous pouvez lancer les démos (je vous recommande « reflex »)

Vous pourrez en profiter ensuite avec tuxracer, tuxkart, chromium, gltron et bien d'autres...

Le double écran (d'après Linux +)

Avec XFree 4.0, vous pouvez avoir 2 cartes graphiques et donc 2 affichages.

-Utilisez une AGP et une PCI et dites à votre BIOS laquelle doit démarrer par défaut. Démarrez la machine en mode console texte : seul le premier écran affichera quelque chose.

-Tapez XFree86 -configure, ce qui générera un fichier /root/XF86Config.new. Commentez-y les lignes qui parlent de glx et dri.

-Tapez « XFree -xf86config /root/XF86Config.new ». Ceci devrait démarrer X normalement sur le premier écran et une simple mire X sur le deuxième. Si ça ne marche pas, vous avez une chance en inversant l'ordre de démarrage dans le BIOS.

-Modifiez le XF86Config pour mettre votre clavier en français, les bonnes résolutions et le niveau de couleurs de votre choix, qui doit être le même pour les deux cartes. Indiquez également la position respective des moniteurs en début de fichier :

Screen "Screen0"

Screen "Screen1 RightOf Screen0"

-Copiez ce fichier à la place de votre ancien XF86Config.

-Démarrez avec « startx - +xinerama »

Pour les Matrox Dual Head, il y a un pilote et un configurateur graphique ici : http://www.matrox.com/mga/support/drivers/files/linux_07.cfm.

La sortie télé (l'autre manière d'avoir le double écran)

De plus en plus de cartes graphiques ont une sortie Télé. Malheureusement, la plupart du temps, cette sortie n'est pas supportée par les pilotes sous X. Nvidia fait exception à la règle, puisque, depuis la version 1.0-1251, le pilote supporte la sortie TV de toutes les cartes. Il y a une documentation sur le sujet dans .../NVIDIA_GLX-1.0-xxx/usr/share/doc/. Seules les cartes à base de Geforce 2 MX permettent d'avoir la fonction TwinView (double écran identique ou complémentaire). Vous devez bien sûr commencer par configurer correctement le pilote Nvidia.

Un exemple de fichier de configuration (de Xfree)

(Fin de la Section Screen)

Option "TwinView"

Option "SecondMonitorHorizSync" "30-50"

Option "SecondMonitorVertRefresh" "60"

Option "Metamodes" "800x600,800x600;640x480,640x480"

Option "TwinViewOrientation" "Clone"



Pour les cartes Matrox G400 et G450, il y a un pilote spécial ici : http://www.matrox.com/mga/support/drivers/files/linux_07.cfm.

Le DivX

Vous voulez voir Loana s'agiter ? No problem.

Allez sur http://www.divx.euro.ru/download.htm pour récupérer le binaire de divx, que vous dézipperez dans /usr/lib/win32, puis compilez et installez classiquement avifile. Vous pourrez alors lancer « aviplay » pour vos fichiers .avi.

Autre possibilité : X Movie Player, téléchargeable sur http://xmps.sourceforge.net/pres.php3.


11. Le réseau

Linux sur une machine, c'est bien. Linux en réseau, c'est carrément top.

Tous les détails et le reste sur http://www.linuxenrezo.org

Installation de la carte réseau.

Procurez-vous une carte Ethernet compatible Linux (liste à http://www.scyld.com/network/) et installez-la (essentiellement vérifiez la présence d'un module adapté dans /lib/modules/2.x.xx), sinon compilez. Rajoutez les bons paramètres dans /etc/conf.modules ou /etc/modules.conf. Activez-la par « modprobe votre_module ». Vous pouvez voir le module chargé en faisant « lsmod ». Pour ne plus avoir à taper cette commande, insérez dans le /etc/modules.conf des lignes comme :

alias  3c509  eth0

options  eth0  irq=10

Si votre carte réseau utilise une IRQ qui ne vous convient pas, il est souvent possible de la changer avec une disquette de paramétrage sous DOS (même sur une autre machine, ces réglages étant permanents). Même problème pour choisir entre le coaxial BNC et le RJ45 sur les cartes de type Combo. Les paramètres sont enregistrés directement sur la carte et sont actifs dès l'allumage de la machine. Il faut simplement éteindre et ré-allumer l'ordinateur pour que la carte mère en tienne compte la première fois.

Si votre carte est une PCMCIA sur un portable, voyez la section consacrée aux portables.

Si votre carte réseau est USB (kawasaki), mettez :

alias eth0 kaweth

Voir http://drivers.rd.ilan.net/kaweth/

Enfin vous avez des utilitaires de diagnostic et de paramétrage de la carte réseau ici : http://www.scyld.com/diag/index.html. Entre autres, l'utilitaire mii-diag.

Configuration manuelle du réseau

Attribuer une adresse à votre carte

Vous devez choisir une adresse IP, dont la forme est « X.X.X.X », nombre dont les X ont une valeur comprise entre 0 et 255. Pour un réseau privé, un bon commencement est « 192.168.X.X »., avec un netmask de 255.255.255.0 (Réseau de classe C).  Ainsi, 192.168.X est le numéro du réseau, et le dernier X le numéro de machine. Le troisième chiffre vous servira à différencier vos différents réseaux et le quatrième à différencier les différents postes d'un réseau (n'utilisez pas le zéro). Vous avez donc droit à 255 réseaux de 254 postes chacun.

Quand tout ceci est fait, tapez « ifconfig eth0 192.168.0.1 ». Dans ce cas, vous attribuez l'adresse 192.168.0.1. à votre première carte ethernet : eth0 (eth1 pour la deuxième, etc). Vous avez créé un réseau reliant directement les cartes d'adresse 192.168.0.x. et de même netmask. Vérifiez que tout va bien en tapant « ifconfig ». Vous devez voir apparaître un paragraphe montrant tout ce que vous avez fait.

Pour voir si tout va bien, pinguez votre carte : « ping 192.168.0.1 » (<Ctrl-c> pour arrêter). Si vous n'avez pas de réponse, retournez à la case départ.

Attribution dynamique des adresses (DHCP)

Admettons que vous ne vouliez pas donner une IP fixe aux machines (par exemple pour passer moins de temps à faire les paramétrages).

Vous aurez besoin qu'un serveur DHCP tourne quelque part sur le réseau et réponde à vos requêtes en vous attribuant une adresse IP. Votre machine n'aura besoin que d'un nom.

Paramétrage d'un client DHCP

Vous êtes peut-être déjà un client DHCP sans le savoir. Par exemple si votre fournisseur d'accès Internet ne vous donne pas d'IP fixe, ou si vous utilisez le câble (la connexion au modem-câble se fait en DHCP).

Ce paramétrage est très facile si vous utilisez linuxconf ou control-panel de RedHat, voire Webmin. Vous précisez simplement votre interface ethernet (le plus souvent eth0). Il s'agit simplement de supprimer les lignes donnant l'IP fixe dans /etc/resolv.conf et de laisser search.

Vous aurez besoin des paquetages dhcp-client et dhcpcd.

Votre fichier /etc/sysconfig/network-scripts/ifcfg-eth0 doit contenir à peu près ça :

DEVICE="eth0"

IPADDR="" # Évidemment, on utilise DHCP

NETMASK="255.255.255.0"

ONBOOT="yes"

BOOTPROTO="dhcp" # Puisqu'on vous dit qu'on est en DHCP  !

Paramétrage d'un serveur DHCP

Le service se lance par « /etc/rc.d/init.d/dhcpd start ».

Compléter...

Trouver le réseau

Vérifiez le branchement, vérifiez que le correspondant est bien sur le même numéro de réseau 192.168.0 (par ex 192.168.0.2), et tentez un « ping 192.168.0.2 ». Si ça répond, la connexion est établie. Quittez par <Ctrl-C>. Sinon, recommencez au début.

Dans ce cas (un seul numéro de réseau), il n'y a pas de route à définir. Voir les routes : « route ».
Une cause qui fait que le ping répond en local, mais pas en distant est une mauvaise configuration d'IRQ.

Autre possibilité, si vous utilisez du coaxial : votre câble est interrompu quelque part ou n'a pas de bouchon à ses 2 extrémités (ce type de câble ne doit jamais être branché directement sur la carte réseau, mais par l'intermédiaire d'un T). Si vous utilisez du RJ45 sans HUB, il vous faut un câble spécial (croisé).

Normalement, vos utilitaires de configuration devraient avoir généré des fichiers de ce genre :

Exemple de /etc/sysconfig/network :

NETWORKING=yes

GATEWAYDEV=eth0 # la carte par où vous allez chercher des ressources sur le réseau

FORWARD_IPV4=no # yes si vous voulez partager votre connexion internet

DOMAINNAME=mon_domaine

HOSTNAME=ma_machine.mon_domaine

GATEWAY=192.168.0.1 # l'adresse de la machine qui vous donne accès à un autre réseau

Sur Debian, ces paramètres sont dans /etc/network/interfaces.

Exemple de /etc/sysconfig/network-scripts/ifcfg-eth0 :

DEVICE="eth0" # votre carte réseau

IPADDR="192.168.0.4" # votre adresse IP

NETMASK="255.255.255.0"

NETWORK="192.168.0.0" # le masque de sous-réseau

ONBOOT="yes"



Démarrage automatique du réseau :

Il faut enregistrer les adresses IP, netmask (les paramètres précédents) dans des fichiers. (/etc/sysconfig/network et /etc/sysconfig/network-scripts/ifcfg-eth0 pour RedHat), ou en utilisant « netcfg » sur RedHat.

Lancez le réseau par « /etc/rc.d/init.d/network start » (ou « restart » si vous essayez de nouveaux paramètres). C'est tout de même plus rapide que de rebouter, non ?

Éviter de taper des adresses IP (= le DNS)

Il est possible de trouver une adresse IP en tapant un nom ordinaire.

Pour cela, vous pouvez :
* soit configurer /etc/hosts (qui vous sert de serveurs de noms juste pour la machine sur laquelle il se trouve) et y mettre quelque chose comme :

127.0.0.1 localhost localhost.localdomain

192.168.0.2 D386 cecile cecile.lourmel.fr

192.168.0.1 dx2_50.lourmel dx2_50 toto

* soit être client d'un vrai serveur DNS :
Éditez le fichier /etc/resolv.conf, et mettez-y :

search lourmel club-internet.fr

nameserver 192.168.0.1 # votre serveur de noms local (s'il est installé)

nameserver 192.117.200.10 #l'IP du DNS de club-internet

nameserver 192.117.200.15

*Pour installer le serveur DNS :

Installez le paquetage bind.

Créez un répertoire /var/named

Configurez le fichier /etc/named.conf :

(...)

Démarrez-le : « /etc/rc.d/init.d/named start »

Attention ! Un DNS non démarré, mais joignable, va ralentir toutes les demandes utilisant des noms de machines.

De cette manière, que vous tapiez « toto » ou « dx2_50.lourmel » ou « dx2_50 », vous arrivez au 192.168.0.1.

Prendre le contrôle à distance

Nous allons maintenant tenter une prise de contrôle à distance de l'autre machine. Faites « telnet 194.168.0.2 ». Loguez-vous alors comme un simple utilisateur. Si vous voulez être le root de la machine distante, vous ne pourrez le faire que dans un deuxième temps (« su - »). Faites une commande quelconque (« ls »...). vous verrez le résultat s'afficher sur la console où vous êtes physiquement. C'est très pratique, car à partir de maintenant, vous pouvez changer tous les paramètres de la deuxième console sans quitter la première.

Pour autoriser les invités telnet sur votre machine, rajoutez leur nom ou leur IP dans /etc/hosts.allow (« in.telnetd : 192.168.0.2 » par exemple). Le fichier hosts.allow est prioritaire sur hosts.deny.

Attention ! Certaines distributions n'installent pas le serveur Telnet par défaut. À vous de le rajouter.

Vérifiez également que le service inet est actif (« ps aux|grep inet » doit renvoyer « root 11646 0.0 0.8 1104 528 ? S 10:19 0:00 inetd »). S'il ne l'est pas, lancez-le par « /etc/rc.d/init.d/inet start », ou utilisez tksysv (utilitaire RedHat) pour le faire démarrer automatiquement.

Vérifiez également que le fichier /etc/inetd.conf contient la ligne « telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd ». Cette ligne fait obligatoirement référence à une ligne dans /etc/services, comme : « telnet 23/tcp ».

Pour mémoire, le service inet est un service qui tourne en tache de fond, et qui guette les requêtes sur des canaux (ici le port 23) et active les services demandés.

Afficher un programme à distance

Pour lancer un programme qui va s'afficher sur un autre écran : Autorisez sur la machine d'affichage  (192.168.0.1) les étrangers à utiliser votre écran (« xhost + », à lancer après le lancement de X). Sur la machine où le programme tourne sans s'afficher, tapez « export DISPLAY=192.168.0.1:0.0 ». Quand vous lancerez le programme depuis la même xterm sur la machine 192.168.0.2, il s'affichera sur la machine 192.168.0.1.
Pour récupérer l'affichage en local, vous devrez faire « export DISPLAY=:0.0 ». Pour lancer un seul programme à distance : « prog_a_lancer -display 192.168.0.1:0 » devrait suffire, mais pas toujours.

Pour interdire à nouveau l'envahissement de votre écran, « xhost - ».

Pour éviter que n'importe qui ne vienne envahir votre écran, il est prudent de spécifier les hôtes autorisés (« xhost + client_autorisé »).

Lancer une session graphique à distance

Il est possible d'utiliser xdm (ou équivalent) pour se connecter graphiquement sur une machine distante (connexions XDMCP).

Sur la machine serveur, xdm doit tourner. Vous devez avoir autorisé l'accès aux autres machines dans le Xaccess (par exemple en décommentant l'étoile).

Sur la machine cliente, vous tapez (sous root en mode console) « X -query 192.168.0.1 » (adaptez l'IP à votre cas, ou tapez un nom de machine déclaré dans /etc/hosts ou fourni par un DNS), et le gestionnaire de connexion graphique du serveur s'affiche. Choisissez un nom d'utilisateur et tapez le mot de passe. Et hop, vous travaillez graphiquement à distance.

Autre possibilité : vous tapez : « startx -- -query 192.168.0.1 ». Dans ce cas, la machine cliente a tendance à lancer plein de choses qui risquent d'entrer en conflit avec celles lancées sur le serveur. Pensez donc à annuler tout ce qui fait double emploi, comme le démarrage du window manager sur la machine cliente.

Possibilité également « startx -- -indirect 192.168.0.1 », qui doit vous afficher une liste de machines-serveurs complaisantes si vous avez correctement renseigné le Xaccess.

Encore plus fort : il est possible de faire la même chose en mode graphique (pas de ligne de commande à taper). Pour cela :

Sur le serveur : modifiez le fichier /usr/lib/X11/xdm/Xservers, et rajoutez après la ligne :0 local /usr/X11R6/bin/X la ligne « 192.168.0.2:0 ». foreign

Sur le client : éditez le fichier qui lance xdm (ou équivalent). Il peut s'agir d'un fichier rc.local ou du fichier prefdm.

Rajoutez après la ligne /usr/bin/X11/xdm ou exec $preferred $*(Makdrake 7) la ligne « exec /usr/bin/X11/X -indirect 192.168.0.1 ».

Si votre machine distante est sous Windows, essayez Xwin32 (disponible à http://www.mcsr.olemiss.edu/computing/xwin32.html). Vous pourrez afficher une session X sur votre machine Windows.

Vous n'avez pas de carte réseau ?

Un simple câble null modem série ou parallèle (dits câbles pour transferts de fichiers, ou null printer pour le câble //) peut parfaitement fonctionner en tcp/ip. Vous devrez avoir le module slip ou plip, le lancer (« modprobe plip »), et lui attribuer une adresse IP (« ifconfig plip0 192.168.0.1 pointopoint 192.168.0.2 up »). Le premier port parallèle trouvé sera toujours plip0 (depuis le kernel 2.2).

Si plip vous dit que le device est busy, assurez-vous de retirer tous les modules qui pourraient utiliser parport, arrêtez le service d'impression (« /etc/rc.d/init.d/lpd stop »), et surtout, allez voir si /proc/parport/0/irq montre bien le numéro d'IRQ de votre port parallèle et pas none.

Faites de même sur l'autre machine, en inversant les numéros d'IP

Attention ! certains ports parallèles ne sont faits que pour les imprimantes et ne fonctionneront pas avec plip.

Autre piège : les machines peuvent se pinguer elles mêmes, mais elles échouent à pinguer l'autre : il s'agit soit d'une défaillance du câble, soit d'un port parallèle mal paramètré. Il doit être EPP ou ECP, et non en mode normal.

Quant aux ports série, ils ne fonctionnent avec slip que s'ils sont de type UART 16 550 (Ça se voit dans dmesg ou setserial)..

Ensuite, renseignez les routes : « route add 192.168.0.2 plip0 » (normalement inutile depuis les versions 2.2 du noyau). Pour arrêter : « ifconfig plip0 down ».
Attention, même si votre port parallèle fonctionne sans IRQ pour une imprimante, une IRQ est indispensable pour un réseau plip !

Vous avez plusieurs cartes réseau ?

Donnez-leur des adresses appartenant à des réseaux différents (192.168.0.1 et 192.168.1.1 par exemple). Votre machine pourra accéder à 2 réseaux différents et servir de passerelle de l'un à l'autre.

Astuce : si vous ne savez pas quelle carte est eth0 et eth1, activez/désactivez-les à tour de rôle (« ifconfig ... up et down ») et regardez les diodes situées sur les cartes.

Admettons que vous avez une machine cliente (192.168.0.1) et une machine routeuse (192.168.0.4 sur eth0) reliée à un deuxième réseau par sa deuxième carte eth1. La machine cliente doit chercher ses ressources sur l'IP de la carte du routeur (192.168.0.4) à laquelle elle est raccordée. La machine routeuse doit signaler que cette même carte sert de passerelle. Cela se traduit par un

GATEWAY="192.168.0.4"

GATEWAYDEV="eth0"

dans le /etc/sysconfig/network du routeur

Voir les routes : « netstat -rn ».

Table de routage IP du noyau

Destination Passerelle Genmask Indic MSS Fenêtre irtt Iface

192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

212.198.35.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

0.0.0.0 212.198.35.1 0.0.0.0 UG 0 0 0 eth1

0.0.0.0 192.168.0.4 0.0.0.0 UG 0 0 0 eth0

Si votre machine ne doit servir que de routeur (par exemple un firewall pour raccorder votre réseau local au câble), un 486 sans disque dur suffit avec le Linux router project (http://www.linuxrouter.org/). Un OS + le réseau sur une simple disquette ! (Il existe des versions plus complètes sur le site).

Vous n'avez qu'une carte réseau et voulez quand même faire passerelle ?

La solution est l'IP-aliasing. (Merci à Vincent TOUGAIT)

Exemple : vous souhaitez partager une connexion Internet par câble. Vous avez besoin d'une adresse IP pour causer au modem-câble, et d'une autre pour causer à votre deuxième ordinateur. L'IP aliasing est une méthode qui consiste à donner deux adresses IP à une même interface (fonctionnalité à activer lors de la compilation du noyau : vous devez avoir un fichier /proc/net/ip_alias).

Vous déclarez la deuxième adresse avec : « ifconfig eth0:1 192.168.1.1 up ». (Le nombre qui suit le « : » doit être unique). Ensuite, vous procédez comme au chapitre précédent pour faire la translation d'adresses.

Inconvénients :

-Comme votre deuxième machine est physiquement reliée au réseau extérieur, elle n'est pas protégée et il peut y avoir des emmèlages de pinceaux si quelqu'un utilise la même IP sur le réseau.

-Le débit est à chaque fois divisé par le nombre d'alias utilisant la même interface.

Accéder aux disques de l'autre machine

Facile ! Créez sur la machine cliente un répertoire de montage, disons /mnt/nfs, Sur la machine serveur, définissez les répertoires a exporter dans /etc/exports (par exemple /home), définissez les hôtes autorisés dans /etc/hosts.allow, retirez-les de hosts.deny puis lancez nfs : « /etc/rc.d/init.d/nfs start »

Sur la machine locale, faites un « mount -t nfs 192.168.0.2:/home /mnt/nfs ». Cela devrait accrocher le répertoire home de l'arborescence du serveur sur votre machine locale dans le répertoire /mnt/nfs.

Le répertoire que le serveur met à disposition peut aussi bien être un disque monté. Attention ! Vous ne pourrez plus démonter le disque sur le serveur tant que le client s'en servira ! Si vous voulez le démounter malgré tout, il faudra stopper le service nfs.

Attention ! Les services nécessaires à nfs ne fonctionnent que si portmap est lancé (« /etc/rc.d/init.d/portmap start »).

Si ça vous convient, rajoutez une ligne dans le /etc/fstab du client, comme pour les cdroms ou autres disquettes. La ligne ressemblera à ceci :

192.168.0.1:/mnt/cdrom  /mnt/nfs  nfs  defaults,noauto,ro  0  0

(ce qui signifie que le répertoire /mnt/cdrom du serveur 192.168.0.1 sera monté dans le répertoire /mnt/nfs du client, en lecture seule). Vous pourrez ensuite y associer un icône sur le bureau de KDE par exemple.

L'idéal est de configurer votre système avec l'automontage.

Devenir un serveur ftp

Le serveur ftp est un serveur de fichiers (file transfert protocol)

Installez les paquetages contenant le mot ftp. Ils le sont souvent par défaut.

Créez un utilisateur bidon, par exemple ftp_user et donnez-lui pour répertoire par défaut le répertoire /www/plop : « mkdir /www », puis « mkdir /www/plop », puis « useradd ftp_user -d /www/plop ». Donnez à ftp_user la propriété et les droits d'écriture sur plop. Donnez-lui aussi un mot de passe.

Vous devez avoir une ligne

ftp  21/tcp

dans /etc/services.

et une ligne

ftp  stream  tcp  nowait  root  /usr/sbin/tcpd  in.ftpd  -l  -a  

dans /etc/inetd.conf.

Redémarrez inetd si nécessaire (autrement dit s'il n'était pas démarré ou si vous avez modifié le inetd.conf).

Placez vos données dans /home/ftp/pub.

Vous devriez maintenant pouvoir vous connecter en anonyme avec n'importe client ftp :

« ftp nom_du_serveur »

name : anonymous

password : moi@ma_machine

Attention ! Ce mode est dangereux au niveau sécurité :

Pour imprimer en réseau

Une fois installée l'imprimante sur le serveur, vous installez l'imprimante sur le client avec printtool ou équivalent en précisant qu'il s'agit d'une imprimante réseau. Donnez l'IP et le nom d'imprimante du serveur. Éditez le /etc/hosts.lpd et rajoutez-y le nom des machines clientes (=machine.domaine) autorisés à utiliser l'imprimante. Redémarrez le serveur d'impression (« /etc/rc.d/init.d/lpd restart »)

Le /etc/printcap du client montrera quelque chose comme :

##PRINTTOOL3## REMOTE POSTSCRIPT 300x300 a4 {} PostScript Default {} # (...)

:rm=192.168.0.1:\ #l'IP du serveur (rm = remote machine)

:rp=lp:\ #le nom de l'imprimante du serveur. Puisque vous avez une ligne « rp » (remote printer), vous n'avez pas de ligne « lp » (local printer)

Redémarrez le service d'impression du client (pareil que pour le serveur)

Vous n'êtes pas obligé de préciser le type réel de l'imprimante, mais simplement une imprimante postscript. Le filtre du serveur saura identifier qu'il reçoit du postscript et le transformera en langage imprimante.

Avantage : si vous changez d'imprimante, ce n'est pas la peine de reparamètrer les machines clientes mais seulement le serveur.

Pour supprimer un travail de la file d'impression, du fait que le travail en attente est très vite refilé de la file d'attente du client à la file d'attente du serveur, c'est sur le serveur qu'il faudra intervenir.

Vous avez des machines Windows sur le réseau ?

Samba est fait pour vous. Installez TCP/IP sur Windows et donnez une adresse IP à votre carte ethernet, vérifiez que ça pingue dans les 2 sens, éditez le fichier /etc/smb.conf et le tour est joué.

Sachez que samba est en fait composé de deux fonctions diamétralement opposées : Samba serveur (Linux fournit des ressources à Windows) et Samba client (Linux utilise les ressources de Windows).

Quelques détails pour smb.conf :

workgroup =lecourbe #ou ce que vous voulez d'autre, pourvu que ce soit le même que celui déclaré dans Windows

Après un « service smb start », vous devriez voir la machine Linux dans le voisinage réseau de la machine Windows (à condition que la boucle locale lo soit active).

Si ça ne démarre pas, allez donc voir les fichiers de log dans /var/log/samba. Une cause possible est un nom de domaine déclaré dans le smb.conf différent de celui déclaré dans /etc/hosts.

Samba serveur

Pour toutes les fonctions serveurs de samba, vous avez besoin de mots de passe. Générez le fichier /etc/smbpasswd par la commande « cat /etc/passwd|mksmbpasswd.sh > /etc/smbpasswd ».

Ensuite, utilisez la commande « smbpasswd » de la même manière que la commande « passwd ».

Sous Win98/Millenium, vous aurez besoin de modifier la base de Registre :

-Placez-vous sur [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]

-Faites Edition->Nouveau->ValeurDWORD

-Remplacez Nouvelle Valeur #1 par « EnablePlainTextPassword ».

-Remplacez la valeur 0 par 1.

Si la modification à la main vous effraie, vous pouvez installer PTXT_ON.INF, présent sur le cd de Windows, dossier tools\mtsutil.

Sous Win 2000, syntaxe légèrement différent (au même emplacement) :

"EnablePlainTextPassword"=dword:00000001

Autoriser l'accès à vos disques Linux par Windows :

Insérez un paragraphe de ce type dans smb.conf :

[cdrom] #le nom que Windows verra

path = /mnt/cdrom #le répertoire de montage du cdrom. Pensez à le mounter, sinon vous aurez accès à un répertoire vide.

public = yes

only guest = yes

writable = no #logique !

printable = no

Autoriser l'accès à vos imprimantes Linux :

[printers]

# Un détail important  : Mettez

host allow = 192.168.0 127 # (127 pour vous et 192... pour votre réseau)

Lancez samba : « /etc(/rc.d)/init.d/smb start ». « restart » si vous changez un paramètre.

Autoriser l'accès à vos imprimantes Windows :

Pour imprimer avec une imprimante connectée à un serveur Windows à partir d'un client Linux : « smbclient //windows/canon » (dans cet exemple, l'ordi Windows s'appelle « windows » et le nom de partage de l'imprimante est « canon ». Vous verrez apparaître un prompt : « smb:\> ». Tapez « print unfichier.txt », et c'est parti.

Vous pouvez également configurer le /etc/printcap (par exemple avec le printtool) :

##PRINTTOOL3## SMB POSTSCRIPT 300x300 a4 {} PostScript Default {}

lp:\

:sd=/var/spool/lpd/lp:\

:mx#0:\

:sh:\

:if=/var/spool/lpd/lp/filter:\

:af=/var/spool/lpd/lp/acct:\

:lp=/dev/null:


Le fichier /var/spool/lpd/lp/general.cfg contient :

export DESIRED_TO=ps

export PAPERSIZE=a4

export PRINTER_TYPE=SMB

export ASCII_TO_PS=YES

Avec Cups, choisissez d'ajouter une nouvelle imprimante, sélectionnez le type smb, et mettez comme Device URI « smb://ordi_win/nom_de_partage_de_l_imprimante ».

Vous pourrez même profiter de l'accès internet de la machine Linux avec ipchains (définissez l'IP du serveur comme passerelle par défaut et mettez les coordonnées du provider dans l'onglet DNS). Vous pouvez aussi imprimer à distance, soit en installant l'imprimante avec les drivers Windows, soit en l'installant avec le driver Apple laser (même astuce que pour Linux/Linux).

Si vous aimez les messages winpopup, installez linpopup http://www.littleigloo.org/downloads.php3 (pour envoyer des messages Windows>Linux, je n'arrive pas à les faire afficher par Linux alors que Windows dit qu'ils sont partis).

Autoriser l'accès à vos disques Windows :

Pour mounter sous Linux un disque de Windows, oubliez mount, mais faites plutôt « smbmount //windows/C /mnt/win » (nécessite le paquetage samba-client). Dans cet exemple, windows est le nom de votre machine sous Windows -original, non ?-, C est le nom de partage du disque C-de plus en plus fort !- et /mnt/win est le nom du répertoire de montage sous Linux. A partir de ce moment, vous pouvez faire toutes les opérations de transferts de fichiers facilement. Depuis les versions 2.x de Samba, smbmount a disparu, au profit de mount tout court : « mount -t smbfs -o username=toto,password=taratata //windows/C/ /mnt/win ». Avantage : ajoutez ça au /etc/fstab (chez moi, ça donne « //maman/e /mnt/zip smbfs password="",user,noauto »)et les montages se feront comme tous les montages Linux ordinaires.

Win-dos 95 pourra faire un « telnet » sur Linux, mais l'inverse n'est pas vrai car win 95 ne comporte pas de serveur telnet en standard.

Autoriser l'acccès à votre scanner Linux

Utilisez un client Windows

http://www.xsane.org/xsane-win32.html.

Des Macs sur le réseau !!

Vous avez des Macintosh sur le réseau. Netatalk est fait pour vous. Voyez le Netatalk Howto à

http://www.linux-france.org/article/materiel/mac/netatalk/index.html

Pour partager une connexion Internet

Commencez donc par vous assurer que le ip-forwarding est inclus dans le noyau. Si c'est non, recompilez. Vous devez ensuite installer ipchains. Puis activer le IP forwarding en tapant « echo 1 > /proc/sys/net/ipv4/ip_forward ». Le serveur doit autoriser l'accès aux clients en faisant : « ipchains -A forward -j MASQ -s 192.168.0.0/24 -d 0.0.0.0/0 » pour que toutes les machines 192... aient l'accès vers n'importe quelle autre adresse (-s=source, -d=destination). Le serveur doit aussi déclarer l'IP par laquelle il est raccordé au réseau local comme route.
Les clients n'ont strictement rien de spécial à faire d'autre que de déclarer l'IP du DNS du provider dans les paramètres réseau (donner l'IP de la machine qui est reliée au modem comme default Gateway et le numéro de la carte réseau -eth0 par ex- comme default Gateway Device). Il leur suffit d'être en réseau TCP/IP avec le serveur et de taper une URL dans n'importe quel Navigateur. Ceci fonctionne quel que soit l'OS et le navigateur du client et quelque soit le type de connexion Internet (Modem, câble, etc.). Vous pouvez également récupérer les mails etc.

Pour tester, vous pouvez pinguer l'interface reliée à l'Internet (identifiez-la par « ifconfig »). Si ça ne répond pas, c'est un problème de routes. Vous pouvez aussi pinguer depuis le client l'IP du provider. Si ça répond, mais que les URL ne répondent pas, voyez du coté des serveurs DNS.

Pour ne pas tout retaper à chaque fois, éditez le /etc/sysconfig/network, et remplacez « FORWARD_IPV4=no » par « yes » (ceci remplace la ligne « echo... »)

Ensuite, placez la ligne « ipchains... » en fin de /etc/rc.d/rc.local. Astuce : n'importe quelle ligne destinée à démarrer automatiquement peut être placée là.

Vous pourrez voir qui est connecté en faisant : « ipchains -L -M ».

Sur le kernel 2.4.x, ipchains est remplacé par Netfilter (commandé par « iptable »).

Paramétrages généraux d'ipchains et du firewalling

Ipchains effectue plusieurs fonctions indépendantes : le filtrage de paquets entrants ou sortants, le masquage d'adresses IP, le proxy, etc.

Le principe général du filtrage est soit d'accepter tous les paquets par défaut, et de préciser des règles de refus, soit au contraire de tout refuser par défaut et d'accepter seuls certains paquets (meilleure sécurité).

Pour savoir dans quel état est votre système, tapez : « ipchains -L ».

Centraliser les comptes et les mots de passe (les pages jaunes)

Pour cela, vous devez installer un serveur NIS. Celui-ci vérifiera s'il trouve votre login quelque part sur le réseau et vous donnera automatiquement accès à votre compte. Le serveur NIS vous évite également de modifier tous les /etc/hosts au moindre changement sur le réseau.

L'idée est de rassembler tous les fichiers de paramétrages utilisateurs dans des fichiers spéciaux de /var/yp/nom_du_domaine_nis.

Installation d'un serveur NIS

Vérifiez l'installation du paquetage ypserv.

Vérifiez le fonctionnement de portmap (« ps aux|grep portmap »).

Attribuez un nom de domaine NIS : « /bin/domainname --yp nom_de_domaine_NIS ». Ne surtout pas attribuer un nom de domaine déjà attribué par ailleurs. Pour ne pas retaper cela à chaque fois, vous devriez avoir dans /etc/sysconfig/network une ligne comme :

NISDOMAINNAME=nom_de_domaine_nis #(le fait de rajouter quelque part « nis » est une astuce pour ne pas se mélanger les pinceaux avec les noms de domaine d'autres types).

Redémarrez la lecture du fichier par : « . /etc/sysconfig/network ». Vérifiez que le domaine est bien attribué en tapant « domainname », qui doit vous renvoyer le nom de domaine NIS.

Placez-vous dans le répertoire /var/yp : « cd /var/yp ».

Éditez le fichier le Makefile si nécessaire. Dans la ligne « all : », retirez tout le superflu. « all: passwd group \» devraient suffire. Faites très attention à ne pas mettre d'espace en fin de ligne ou ce genre de chose qui rend la compilation impossible. Sur Mandrake 7.0, effacez tous les « @ » se trouvant devant « $AWK ». Enregistrez et tapez « Make target ». Cette dernière opération devra être faite après chaque changement d'utilisateur.

Lancez le serveur en tapant « /etc/rc.d/init.d/ypserv start » (Redhat et dérivées).

Pour automatiser tout ceci, ajoutez « domainname nom_de_domaine_nis » dans votre /etc/profile, et paramétrez le démarrage automatique au service (par exemple avec tksysv).

Vous aurez intérêt à installer des serveurs secondaires sur d'autres machines afin qu'une défaillance du serveur principal ne bloque pas tout le monde.

Installation d'un client NIS

Commencez à installer un client NIS sur la machine où fonctionne le serveur. Ça sera plus facile pour tester le fonctionnement.

Vérifiez l'installation du paquetage ypbind. Éditez le fichier /etc/yp.conf. Rajoutez-y le nom du serveur : « ypserver nomduserveur ». et

Vérifiez que le nom du serveur est bien déclaré dans /etc/hosts :

192.168.0.1  nom_du_serveur  petit_nom

Rajoutez avant « hosts » le mot « yp » dans le fichier /etc/host.conf : « order yp,hosts,bind »

Éditez le fichier /etc/yp.conf, et ajoutez-y la ligne :

ypserver  192.168.0.1 # en supposant qu'il s'agisse de l'adresse IP du serveur NIS.

Assignez un nom de domaine NIS à votre machine (le même que pour le serveur).

Ajoutez la ligne

+::::::

dans /etc/passwd.

Lancez le service : « /etc/rc.d/init.d/ypbind start ». À ce moment, il va chercher un serveur où se connecter. Si ça a marché, vous devez recevoir un message affichant le nom de domaine NIS. Lancez alors la commande « ypcat passwd », vous verrez tous les comptes sous lesquels vous pourrez vous connecter.

Si vous voulez que le service démarre automatiquement, utilisez un gestionnaire de démarrage comme tksysv ou Ksysv et rajoutez ypbind comme service devant démarrer automatiquement.

Une fois que vous avez vérifié que tout marche, vous pouvez effacer dans /etc/passwd les utilisateurs dont le n° est supérieur à 500 pour éviter les doublons. Par la suite, si vous voulez changer votre mot de passe, tapez « yppasswd ».

L'accès à vos répertoires à partir d'une machine distante nécessite un montage par nfs.

Sécurité du serveur NIS.

Éditez le fichier /var/yp/securenets, et annulez la ligne avec 0.0.0.0, qui donne accès à tout le monde.

À la place, mettez plutôt

255.255.255.0 192.168.0.0

si votre réseau local est en 192.168.0.

Partager un accès Minitel

Vous devez au préalable avoir un serveur sur lequel xtel fonctionne.
Il faut ensuite installer xtel sur le client. Le client doit alors lancer
« xtel -serveur 192.168.0.1 », en supposant qu'il s'agit de l'IP du serveur.

Vous pouvez même utiliser ce serveur à partir de Windows avec Hyper terminal 5.0.

Seule difficulté : lors de la configuration, en plus de l'adresse IP, HyperTerminal vous demande le port number, par défaut 23 (ce qui correspond à un telnet). Regardez dans /etc/services le numéro affecté à xtelw (chez moi 1314). Renseignez-le et vous bénéficiez du modem connecté à la machine Linux pour faire du Minitel sous Windows.

Partager un accès fax

Installez sendfax ou hylafax, voire fax2send si vous aimez le commercial.(compléter...)

Transmettre du texte par le réseau

L'utilitaire « talk » est fait pour un dialogue en direct.
Tapez « talk neness@192.168.0.1 ». Si le copain neness n'est pas en mode répondeur (et dans ce cas, vous aurez un message vous indiquant qu'il refuse les messages), vous aurez tous les deux sur vos écrans une fenêtre coupée en deux, où vous pourrez voir les messages de votre interlocuteur ainsi que les vôtres.
Vous pouvez également, si l'hôte vous y autorise, lancer un xmessage sur son display.

Transmettre du son par le réseau.

Il existe des utilitaires comme freephone (http://www.inria.fr) qui vous permettent le dialogue -presque- en direct, que le réseau soit local ou par téléphone. Ces utilitaires vous permettent d'envoyer au choix la voix avec un micro, un son du système ou un son de cd-audio.

Scanner en réseau

Le pilote de Scanner SANE, qui est un peu l'équivalent de TWAIN sous Windows permet grâce à sa conception bien plus astucieuse en mode texte (l'interface graphique appartient à l'application) de scanner en réseau. Vous avez besoin de dll et net, les composants intermédiaires nécessaires au réseau.

Devenir un serveur http

Vous devez installer le serveur Apache.
Le lancement du bazar se fait en tapant « /etc/rc.d/init.d/httpd start » (sous RH) ou « /usr/sbin/apachectl start » selon les cas.
Pour vous connecter, tapez « http://127.0.0.1 » ou « http://localhost/ » si vous êtes sur votre machine locale, ou « http://ip_du_serveur » si vous êtes sur un client distant.
Faites vos premiers tests avec Lynx, car Netscape a une option par défaut qui empêche la connexion en local (désactiver le proxy).

Le répertoire de base, c'est à dire celui qui sert de racine vu du monde extérieur, est en principe /home/httpd/html, mais la nouvelle tendance est .../apache/html/. Encore plus moderne : /var/www/html. Vous y placerez les répertoires et fichiers destinés à être lus de l'extérieur.

Les scripts CGI sont à placer sous /home/httpd/cgi-bin (ou .../apache/cgi-bin) ; pour les faire fonctionner il faut s'assurer de la ligne suivante dans /etc/httpd/conf/srm.conf : « ScriptAlias /cgi­bin /home/httpd/cgi-bin ». Mais d'une manière générale il n'y a rien à retoucher dans les fichiers de config. Aux dernières nouvelles, tous les paramètrages d'Apache sont dans httpd.conf.

Sur Mandrake 8.0, il faut retoucher les fichiers de config httpd.conf et httpd-perl.conf, et remplacer les lignes

#ServerName localhost

par

ServerName votre_machine.chez_vous.

Faire un réseau à distance (=par téléphone)

Il s'agit ici de configurer votre machine pour être un serveur ppp (comme votre fournisseur d'accès Internet).

Configuration : un modem pour chaque machine et une ligne téléphonique. Le programme à activer est mgetty, en ayant soin d'autoriser le décrochage (il ne doit pas y avoir de fichier /etc/nologin.ttySx, x étant le numéro de votre port série). Lancer mgetty : « mgetty /dev/modem ».

Vous pouvez tester le fonctionnement en vous faisant appeler : il doit y avoir décroché et émission de sifflements.

Comme pour la réception de fax, vous pouvez configurer le /etc/inittab en rajoutant la ligne :

S0:2345:respawn:/sbin/mgetty  ttyS0

Forcer la relecture de l'inittab sans rebouter : « init q ».

Créez sur le serveur un compte utilisateur (par exemple « ppp-user »), et arrangez-vous pour que ce compte lance pppd au démarrage. Pour cela, éditez le fichier /etc/passwd, repérez le compte de ppp-user, et remplacez à la fin de la ligne « /bin/bash » par « /etc/mgetty+sendfax/login.config ».

Paramétrez sur le client (celui qui appelle) une connexion de type internet avec le nom « ppp-user » et le password de ppp-user. Attribuez une adresse IP identique à celle qui figure dans /etc/mgetty+sendfax/login.config :

/AutoPPP/  -  @  /usr/sbin/pppd  /dev/modem  192.0.0.1:192.0.0.2  -chap  +pap   login  modem  crtscts  debug

Pour autoriser la connexion, il faut rajouter au fichier /etc/hosts une ligne comme :

 192.0.0.2  ipguest  

et au fichier /etc/ppp/options :

 lock

:192.168.0.2  

L'arrêter : « mgetty stop ».

Une fois connecté, la machine devient elle même une passerelle réseau pour peu qu'elle soit raccordée à un réseau local ou un client ou serveur VNC ou ce que vous voulez d'autre.

Voir l'écran de l'autre (avec VNC)

Une fois en réseau TCP/IP, que ce soit en local ou à distance, vous pouvez utiliser VNC, un superbe free software multi-plates-formes, qui vous permet de voir Windows dans une fenêtre de Linux ou le contraire.

Si l'écran de Windows est assez facile à voir ("vncviewer 192.168.0.1:0 »), il est plus compliqué de dire à Linux quel écran on veut qu'il exporte. Le lancement par défaut de VNC serveur (« vncserver »)sous Linux exporte une fenêtre où... il ne se passe rien ! On peut obtenir quelque chose en faisant « export DISPLAY=:1 » (si l'affichage 1 est celui utilisé par VNC, voir en faisant « ps aux|grep Xvnc ») avant de lancer les programmes.

Si vous avez un fichier .vnc/xstartup dans votre home du genre :

#!/bin/sh

exec  /etc/X11/xinit/xinitrc &

xsetroot  -solid grey

xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & #facultatif

startkde &

vous pourrez exporter un vrai KDE. À ce moment, vous pouvez l'afficher en local avec l'option « -shared » (ex : « vncviewer -shared 192.168.0.1:1 »). Cela vous permet de lancer un client sur une machine distante avec la même commande. De plus, on peut voir plusieurs serveurs depuis un même poste client.

Configurer Internet

Il existe plein de méthodes, allant du simple script (Aaargh !) au mode graphique.

KDE propose un numéroteur appelé kppp, très simple de configuration (numéro de téléphone, DNS, serveur pop...), mais qui fournit un script par défaut qui ne fonctionne pas toujours. Il faut parfois éditer un script personnel du genre :

« Expect ogin

ID votrelogin

expect word

password votremotdepasse »

Dans les versions actuelles, il faut commenter (« # ») le mot « lock » dans /etc/ppp/options.

Sinon, Redhat propose un « netcfg » très simple et très efficace.

-Onglet « Names », rajoutez les IP de votre provider.

-Onglet « hosts » : l'IP et le nom de votre provider

-Onglet « interfaces », « add » (choisissez ppp), puis le numéro de téléphone de votre provider, votre login et votre password.

Une fois configuré, il suffit de cliquer sur l'onglet « interfaces », ligne ppp0, bouton « activer ».

Autre méthode pour se connecter, une fois la configuration effectuée : « ifup ppp0 ». Se déconnecter : « ifdown ppp0 ». Bien plus rapide que de lancer un connecteur graphique.

Pour AOL, essayez Pengaol (http://www.pengaol.org). La version 0.7 marche en mode texte, mais la version 1.0 attendue prochainement sera graphique.

Ensuite, le surf peut se faire directement avec le file manager de kde2 (konqueror), (ou Netscape, dispo en 6.0). Il peut même faire du ftp avec mot de passe si l'on respecte la syntaxe suivante : « ftp://votrelogin:votrepassword@ftp.votresite ».

Pour le ftp, essayez IglooFTP, programme sympa en gtk, ou gftp.

Autre possibilité : wget « wget -c ftp://[adresse] » ou « wget -c http://[adresse] ». Vous permet de récupérer des arborescenses entières et de reprendre des chargements interrompus (merci M.Klohn)

Reprendre un téléchargement interrompu : se placer dans le répertoire où se situe le malheureux fichier avorté, et taper « wget -crk -nH URL_du_fichier_incomplet ». Il fera la soudure tout seul.

Utiliser Internet pour mettre la pendule à l'heure : « rdate -s 128.115.14.97 » (sous root).

Un peu de technique : sachez que la version 2.2 du kernel faisait appel à un module nommé ppp.o. Le 2.4 utilise deux modules : ppp_generic.o et ppp_async.o pour un modem non Numeris.

Votre courrier par Telnet (merci à Thierry Stoehr)

Se connecter au serveur : « telnet pop3.votre-fournisseur-daccès 110 » (Si le serveur l'accepte !)

S'identifier : « user votre_nom », puis « pass votre_mot de passe »

Les principales commandes : list, quit, retr n°, dele n°

Énorme avantage : vous pouvez décider de ne pas rapatrier une grosse pièce jointe.

Envoyer du courrier :

« smtp. votre-fournisseur-daccès 25 »

HELO <nom>

« mail from:votre-adresse-email » puis validez

« rcpt to:adresse-email-du-destinataire » puis validez

« data » puis validez et saisissez alors le texte du courrier

« . » puis validez pour envoyer le courrier

ICQ

ICQ (prononcez « I seek you ») est un système de serveur qui vous attribue un numéro permanent que vous donnez à vos correspondants. Ensuite, il suffit de lancer le programme client durant votre connexion pour voir si vos amis sont en ligne et pour leur parler par messages en direct.

Il existe plusieurs clients pour Linux, mais licq fait très bien l'affaire. Avec un peu de chance, il devrait être sur votre distribution.


12. La sécurité (rubrique en travaux)

Linux est réputé comme un système sécurisé. En fait, tout dépend des circonstances :

La sécurité absolue n'existe que pour une machine reliée à aucun réseau et inaccessible physiquement.

Cas d'une machine seule, physiquement accessible

Il faut empêcher que le disque Linux soit mis en esclave : pas d'autre système d'exploitation démarrable (Linux se lit très bien depuis Windows), pas de possibilité de boot sur disquette ou cdrom (penser à coder l'accès au BIOS), interdire le démarrage en « Linux single ».

Si le pirate potentiel a accès physiquement à la machine sans contrôle, la seule protection absolue est le cryptage du disque dur. Vous avez tous les renseignements nécessaires sur la page http://www.geocities.com/openpgp/linux.htm. Vous devrez appliquer le patch crypto International au noyau, puis recompiler. L'utilisateur qui veut crypter des données doit créer un répertoire destiné à cet usage. Il vous faut aussi des versions modifiées de mount et losetup.

Sinon, Linux se défend assez bien logiciellement, pour peu que vous ne donniez pas votre mot de passe root.

Cas d'une machine reliée à un réseau

Évitez d'utiliser Internet sous root. Idéalement, utilisez un compte dédié à cet usage. Si un jour un virus type « I love you » débarquait chez nous, il ne pourrait faire de dégâts que sur ce compte où il ne se passe rien.

Attention aux fonctions de prise de contrôle à distance (rlogin, telnet ...), qui devraient toujours être désactivées (retirez le maximum de lignes dans /etc/inetd.conf). Pareil pour finger, qui permet de tout savoir sur un utilisateur, même si son compte n'est pas actif (« finger utilisateur@machine »). Redémarrez inetd après avoir fait les modifications.

Pour détecter les tentatives d'intrusion, lisez régulièrement les fichiers /var/log/messages et /var/log/syslog.

Ne jamais donner un mot de passe identique au login.

Ne pas mettre les mots de passe dans /etc/passwd, mais dans /etc/shadow. (mots de passe shadow, le plus souvent installés de base maintenant).

Attention aux protocoles qui échangent les mots de passe en clair (comme telnet). Tout ceci peut très bien être intercepté par quelqu'un qui utilise tcpdump.

La solution : crypter les échanges par ssf, disponible seulement en téléchargement sur http://www.in2p3.fr/securite/ssf. Retirez ssh auparavant : vous n'êtes pas supposé l'utiliser en France. Installez. Lancez ssfd.

D'une manière générale, évitez que d'autres root que vous ne se trouvent sur le réseau (mais c'est rarement possible d'en être sûr : boot par disquette, branchement sauvage d'un ordinateur portable...).

Ne jamais lancer un serveur DNS sur une machine directement raccordée sur Internet (pour vérifier si vous en avez un : « ps aux|grep named »).

Éviter d'installer un serveur ftp anonyme.

Ne pas lancer la commande « xhost + » (on peut lire ce que vous tapez).

Pour contrôler la sécurité réseau de votre machine, attaquez-la avec nessus(http://www.nessus.org/). L'installation et le mode d'emploi sont sur le site. Vous devez créer un utilisateur par « nessus-adduser », lancer un serveur nessus sous root (« nessusd -D »), puis « nessus » en tant qu'utilisateur.

Une machine raccordée à un réseau devrait toujours avoir été testée par nessus ou un équivalent.

J'ai perdu mon mot de passe root

Démarrez en Linux single. ou bien avec une distribution disquette ou cdrom (demolinux), ou mettez le disque en esclave à partir d'un autre système.

Éditez le fichier /etc/passwd.

Effacez le « x » entre les deux « : » :

cecile:x:506:509::/home/cecile:/bin/bash

Si vous n'utilisez pas les mots de passe shadow, le mot de passe crypté se trouve à la place du « x ». Effacez-le.

Redémarrez. Il n'y a plus besoin de mot de passe. Remettez-en un vite. Ceci vous montre à quel point il est facile de pirater une machine accessible si d'importantes précautions n'ont pas été prises.

Si vous avez perdu un mot de passe utilisateur, démarrez sous root, et changez-le normalement (« passwd Louis_14 »).


13. Configuration des logiciels

Comment installer un programme ?

Ça se complique !

Si le programme est livré en binaires :

Premier cas de figure : vous avez un .rpm sous Redhat ou un .deb sous Debian. : « rpm -i monprogramme.rpm » (« -ivh » pour plus de détails) ou « dpkg -i monprogramme.deb ». Attention ! Il existe généralement plusieurs versions, selon le type de processeur (famille 386, alpha...) et la distribution : un rpm pour Suse n'est pas forcément compatible avec une RedHat ou une Caldera.

Si une version est déjà installée, vous risquez d'être bloqué.

Vous pouvez essayer « rpm -Uvh monprogramme.rpm » (U pour update). Si ça ne marche encore pas, « rpm -U monprogramme --force ». L'opération marchera forcément, mais le programme ne marchera pas à coup sûr.

Avec Debian, « dpkg -i --force-depends » permet aussi d'installer un programme récalcitrant.

Si c'est du tgz, et que son contenu est manifestement destiné à la racine (répertoires usr, var, bin...), placez-le dans la racine. Puis « tar xvzf monprogramme ».

Si c'est du source (« .src.rpm »), « rpm -ivh » vous crée un fichier archive dans /usr/src/redhat.

Si vous n'êtes pas programmeur, utilisez toujours cette méthode (c'est bien plus simple et rapide qu'install shield sous Windows). Cela marche, même à partir d'un autre disque.

Encore mieux, utilisez un utilitaire qui fait ça en mode graphique : « glint » du « control-panel » (moche), « kpackage » (superbe), « gnorpm », etc.

Deuxième cas de figure : c'est du .tgz ou dy tar.gz: « tar -xvzf monprogramme.tgz » (la lettre z dézippe).

Troisième cas : c'est du .tar : « tar -xvf monprogramme.tar ». (Les fichiers .tar sont des fichiers archive, c'est à dire contenant plusieurs fichiers, mais non zippés).

Pour tout compliquer, si c'est du .tar.tar, c'est sûrement un .tar.quelquechose merdiqué par Windows. Essayez de le dézipper classiquement (zip ou bz2), puis de le détarer.

Si c'est un binaire prévu pour une autre distribution : « alien » !

Ex : « alien --to rpm monprogramme.deb » fait un rpm à partir d'un deb.

Si le programme est livré en « sources » :

-si c'est du .tar.gz ou .tgz : copiez-le sur le disque Linux, là où ça vous arrange, puis « tar -xvzf monprogramme.tgz ».

-si c'est du .gz : « gunzip monprogramme.gz »

-si c'est du .bz2 : vous avez besoin de bunzip2, de plus en plus livré en standard, puis « bunzip2 monprogramme.bz2 » ou « bzip2 -d monprogramme.bz2 ».

-si c'est du .tar.bz2, faites « tar xvyf monfichier.tar.bz2 ». Remarquez que le « y » remplace le « z » des fichiers zippés seulement sur les versions récentes de tar).

Puis « cd monprogramme » (vous vous placez dans le répertoire créé par tar), puis « ./configure » (le ./ indique « exécuter le fichier configure qui se trouve dans le répertoire courant », car celui-ci n'est pas dans le path), puis « make » (précédé d'un « make dep » éventuellement), puis « make check » pour vérifier, puis « make install ».

Pour avoir une chance de compiler quelque chose, vous devez avoir installé les compilateurs (gcc, make...) et toutes les bibliothèques de développement nécessaires (souvent nommées *devel.*). Problème : certaines distributions ne les fournissent pas en standard (Caldera, Mandrake sur le 2° cdrom seulement, Corel...), ou vous pouvez aussi avoir une mauvaise version. Certains programmes peuvent aussi avoir besoin des sources du noyau (/usr/src/linux) ou des sources de XFree (XFree86-devel*). Vous pourrez alors découvrir les joies du développement.

Vous devriez trouver les librairies manquantes sur http://www.rpmfind.net si vous utilisez un système basé sur rpm.

Si tout va bien, il n'y a plus qu'à lancer le programme (en tapant son nom au prompt, puis en lui créant un raccourci). Sinon, lisez soigneusement les fichiers d'installation, le configure et le Makefile. Mettez à jour les librairies si on vous le réclame.

Si vous n'y arrivez toujours pas (c'est fréquent) : lisez bien le README ou le INSTALL, il y a souvent des modifications à faire dans le Makefile, puis mailez à l'auteur ou à un newsgroup en précisant bien vos versions de librairies, de gcc, de distribution et de kernel.

Une solution est souvent de mettre les bons paths pour les librairies utilisées par le compilateur. Éditez le fichier /etc/ld.so.conf, puis placez-y « /opt/kde/lib » pour un programme utilisant QT (n'oubliez pas d'installer qt-devel) ou « /usr/include/gtk » pour un programme utilisant gtk. Mettez à jour par « ldconfig ».

Astuce : vous devriez toujours jeter un coup d'oeil au configure situé dans le répertoire d'installation. Vous pouvez y voir des options qui peuvent être indispensables dans votre cas. Vous les rajouterez sur la ligne de commande. Exemple : « ./configure --prefix=le_rep_d_install » pour forcer l'installation à se faire à un endroit précis.

Ça ne compile pas !

Si la compilation plante sur un message du genre « undefined reference to xxx », créez dans le répertoire d'où ce message a été lancé un fichier bidon xxx (« touch xxx ») ou, mieux, mettez-y le fichier réclamé.

Si la compilation plante sur un « missing separator », il doit s'agir d'un problème de tabulations. Des tabulations ont dû être remplacées accidentellement (lors d'un copier-coller par exemple) par des espaces. Faites la manip inverse.

S'il vous manque des librairies, mais vous ne savez pas sous quel nom elles se trouvent sur le cdrom, tapez dans le répertoire des rpm du cdrom la ligne suivante :

« for i in *.rpm;do rpm ­qlp $i|grep yacc>/dev/null $$ echo $i;done » (dans cet exemple, on cherche le rpm qui contient yacc). Cette astuce est bien entendu valable dans tous les cas où vous cherchez à identifier un paquetage contenant un fichier.

En désespoir de cause : « make -i » pour terminer la compil en ignorant les erreurs.

Exemple d'installation difficile : Gimp 1.1.x

L'installation de Gimp dépend de gtk +, qui dépend lui-même de glib. Bien sûr, vous risquez fort d'avoir déjà des anciennes versions de ces programmes. Commencez par tout retirer (« rpm -e --nodeps ??? »). RETIREZ AUSSI glib-config et gtk-config, sous peine de conflit de version. À moins que vous ne maîtrisiez assez bien la configuration des programmes pour obliger la nouvelle installation à se faire dans les anciens paths. Ensuite, compilez classiquement (« ./configure && make &&make install ») glib, gtk+, puis gimp. Arrangez-vous pour que glib-config et gtk-config soient dans le PATH.

Quels sont les programmes installés ?

« rpm -qa » vous affiche les programmes qui ont été installés par rpm. Ça va trop vite ? « rpm -qa|less ». C'est dans le désordre ? « rpm -qa|sort|less » (Notez qu'un programme comme ici sort, qui reçoit des informations sur son entrée, les traite et les renvoie sur sa sortie à destination d'un autre programme, s'appelle un filtre). Vous cherchez un package précis ? « rpm -qa|grep monpackage ». Si cette commande est inopérante, c'est que la base de données sur les packages a été détruite. Reconstruisez-la par « rpm --rebuilddb ».

Quelques programmes qui posent problème

Staroffice :

Un site à aller visiter absolument : http://www.staroffice.online.fr.

Si vous comptez utiliser Java, installez-le préalablement.

Vous pouvez installer StarOffice 5.2 directement à partir du cdrom. Tapez le nom du binaire en ajoutant en fin de ligne « /net ». Exemple : « soffice.xxxxx.bin /net ». Si le programme n'est pas exécutable, copiez-le sur le disque dur, rendez-le exécutable et recommencez la commande. Demandez le mode expert, et précisez un répertoire d'installation neutre, comme /opt/office52 ou /usr/local/office52. Après l'installation de base, sous chaque compte utilisateur, placez-vous dans /opt/Office52/program (si c'est bien là que vous l'avez installé), puis, tapez « ./setup ». Cela installera 1,7 Mo de données spécifiques à l'utilisateur. L'utilisateur peut même être un compte distant si vous avez donné un accès NFS au répertoire d'installation de StarOffice (En fait, ne fonctionne pas vraiment depuis la version 5.2). La première session lancée prend 40 Mo de RAM, la deuxième 4 Mo. Donc, StarOffice se prête très bien à l'exploitation depuis des clients légers.

Astuce : installez un window manager ultra-léger (wm2 par exemple) avec Staroffice en démarrage automatique. Comme SO sait à peu près tout faire, vous ne serez pas gêné et vous avez un maximum de ressources disponibles. Encore pire : pas de WM du tout (lancez « soffice » directement dans votre .xinitrc). Dans ce cas, StarOffice démarrera plus vite. Inconvénient : vous ne pourrez pas déplacer les fenêtres.

Pour utiliser l'imprimante système :

lancer Imprimantes (une des icônes du desktop).

Choisir l'imprimante dans la liste, puis « installer une nouvelle imprimante ». ensuite « connecter », taper le nom de l'imprimante puis « = » puis la commande

Par exemple si l'imprimante est appelée truc, taper : « truc=lpr -Ptruc »

(le nom avant le « = » n'est utile que si vous avez plus d'une imprimante)(D'après une contribution de newsgroup)

Si vous utilisez CUPS pour l'impression, vous devez mettre « default_queue=qtcups » (Merci à Fred Bastok). Pour CUPS, vous aurez aussi le problème de savoir où est l'imprimante. Le chemin demandé est /etc/cups/ppd.

Enfin, sachez que le réperotire des paramètres de StarOffice est ~/office52/user/sofficerc.

Word Perfect

Se lance avec « /opt/xwp/wpbin/xwp -lang fr ». (Changez le Path selon votre installation).

Problème pour imprimer : Word Perfect ne connaît qu'une liste restreinte d'imprimantes. Si la vôtre est déjà configurée avec ghostscript, il faut procéder en 5 boites de dialogue successives :

Fichier Imprimer...

Imprimante select (prenez l'Apple laser writer, c'est du postscript)

Imprimante créer modifier

Configuration

Destination : choisissez « lp » ou le nom que vous avez donné à votre imprimante. OUF ! Validez tout, ça devrait marcher.

Autre méthode : allez chez Corel, récupérez le driver pour DOS qui va bien, renommez-le (WP60ms03.all > wp60ms.us.all pour une bj4200), puis sélectionnez-le. Avantage : vous n'aurez pas une page d'erreur après une impression correcte.

Applixware

problème pour la langue. Si vous avez installé « à la main », pour avoir le Français, il faut supprimer tous les répertoires d'autres langues. Si vous passez par le processus normal d'install, on doit vous demander le choix de la langue.

Amaya vers 4.1

(éditeur HTML du W3C) : pour avoir le français : Menu Special->Preferences->General->dialog language -> fr. Vous bénéficierez d'un très bel éditeur HTML, 30 fois plus rapide à démarrer que StarOffice et permettant la vue simultanée et synchronisée en texte source, mode plan, liste des liens, texte définitif HTML, etc. Impressionnant. Malheureusement encore des problèmes de finition et pas de support des frames.

Netscape

(6.0 actuellement) a eu des problèmes de couleurs : bpp 16 seulement. Maintenant, tout semble être rentré dans l'ordre. Astuce : le correcteur d'orthographe français du composeur de Netscape pour Windows marche aussi sous Linux. Pour l'installer, récupérer \spell\pfr2s331.dat sous Windows et le copier dans netscape/spell. Il ne reste plus qu'à faire « menu tools, spelling french ». Vous voulez l'interface en Français ? Prenez /usr/doc/netscape-common-4.7/Netscape.ad, copiez-le en /usr/lib/X11/app-defaults/Netscape et traduisez-le. Votre Netscape sera tout en Français. Tous les détails et le fichier déjà traduit à : http://www.linux-france.org/prj/i18n/netscape/

Ispell

le correcteur d'orthographe GNU a une version Française. Pour corriger un texte : « ispell -d français letextequejeveuxcorriger.txt ».

Emacs :

Enregistrer du texte : <Ctrl-x Ctrl-s> (Notation emacs : C-x C-s), puis « le_nom_du_fichier » (si le fichier n'avait pas de nom) dans la zone du bas, nommée mini-tampon.

Ouvrir un nouveau fichier ou un fichier existant : <Ctrl-x Ctrl-f> (find), puis « le_nom_du_fichier ».

Voir tous les tampons ouverts : <Ctrl-x Ctrl-b>.

Passer d'un tampon à l'autre : <Ctrl-x o>, puis les flèches et <Entrée>.

Lancer des commandes : <Alt-x>, puis « tetris », « doctor », « blackbox » ou « hanoi »

Quitter Emacs « Ctrl-x Ctrl-c »

En fait, si vous connaissez les raccourcis du shell Bash, vous connaissez les raccourcis emacs. (Vérifiez par « set -o » dans le shell bash).

VI

Ouvrir un fichier avec le curseur placé sur la première ligne où apparaît le terme toto : « vi +/toto le_fichier ». La dernière ligne du fichier « vi + le_fichier ». La 15° ligne : « vi +15 le_fichier ».

Annuler la dernière commande : « u » (undo). Annuler l'annulation : <Ctrl-r>.

Aller à la ligne xx : « xx <Maj-G> ». Aller en bas : <Maj-G>.

Faire un chercher/remplacer global dans le fichier : « :%s/ancienne_chaine/nouvelle_chaine/g » (s=search, g=global).

Coller ce qui a été coupé : « p » (paste).

Coller un fichier entier à l'emplacement du curseur : « :r nom_du_fichier ».

Trouver de l'aide dans vi : « <Esc> :help », ou lisez /usr/doc/vim-common-5.6/tutor/tutor.

Ouverture de fichiers multiples (tampons) : « :<Ctrl-w>, puis <n> » pour ouvrir une demie fenêtre avec un nouveau fichier sans nom, « :new nom_du_fichier » pour ouvrir une demie fenêtre avec un nouveau fichier ou un fichier existant. « :split » pour couper en deux la vue existante. Changer le curseur de fenêtre : « <Ctrl-w>, puis <flèche_haut> ou <flèche_bas> ».

Lancer une commande shell : « :!ls » et vous aurez la liste des fichiers du répertoire.

Xdoom

ne se lance pas : la commande est « rundoom » et il ne marche en mode fenêtré qu'en bpp8. Attention ! ce programme utilise la SVGAlib.

Xtel (Minitel)

est trop grand : « xtel -petit ». Si xtel vous dit qu'il ne trouve pas le réseau local, tapez « ifconfig ». Si vous n'avez pas de réponse contenant « lo », tapez « ifconfig lo 127.0.0.1 up ». Ce service doit normalement être lancé automatiquement au démarrage.

xboard

est trop grand « xboard -size Small » (ou même Tiny, vous ne serez pas encombré !). S'il ne sait pas jouer aux échecs, vous avez oublié d'installer gnuchess.

LaTeX

c'est un processeur de texte.

Deds informations sur http://www.loria.fr/services/tex/general/flshort-3.3.dvi et http://www.loria.fr/services/tex

Utilisez un éditeur de textes bruts quelconque (vi, notepad...).

Écrivez un texte avec des balises spéciales. Enregistrez-le comme « mondoc.tex ».

Tapez « latex mondoc.tex ». Cela vous génère un fichier mondoc.dvi (= device independant).

Lisez-le avec « xdvi mondoc.dvi ».

Si l'apprentissage des balises ne vous tente pas, essayez lyx ou klyx.

Gnuplot

traceur de courbes. Taper « gnuplot », puis pour les courbes 2D : « plot log(x) » ou, plot 2*(x)**2+3*(x)+1 (=2x²+3x+1), ou, pour les courbes 3D : « splot sqrt(x)+(y*y) ». « q » pour quitter.

Les How-to ont souvent des titres c co om me eç ça a. Lisez-les avec less, et ils seront en gras.

KDE

combien de messages a-t-il provoqués !

Avant tout, il faut définir des PATHS et des variables d'environnement (fonction « export »)

rajouter les 3 lignes suivantes à /etc/profile : (ces PATHS dépendent de la manière dont KDE a été compilé. L'installation standard de KDE2 est dans /usr)

export KDEDIR=/opt/kde
export PATH=$PATH:$KDEDIR/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$KDEDIR/lib

Il faut placer « startkde » dans le fichier de démarrage de X ($HOME/.xinitrc si vous faites « startx »).

Astuces : pour déplacer une fenêtre sous KDE, appuyez sur <Alt> et enfoncez le bouton gauche de la souris. Plus besoin d'aller sur la barre de titre ! Pratique si elle dépasse de l'écran ! Pour la redimensioner, <Alt-bouton droit>, pour l'envoyer à l'arrière-plan, <Alt-bouton central>.

Je vous déconseille KDE si vous n'avez pas plus de 32 Mo de RAM.

Attention, les chemins ont changé dans kde 1.1.2 !!

Les versions de KDE 1.x sont lentes et instables. KDE 2 est sorti en octobre 2000, et il représente un progrès considérable. Si vous en avez la possibilité, passez carrément à KDE 2.1.

Gnome

se lance par « gnome-session » (commande à placer dans le .xinitrc par exemple). Si vous ne voulez que le lanceur d'applications : « panel ».

Gimp

ne veut pas enregistrer de gif : il faut d'abord convertir l'image en 256 couleurs, en faisant « Image-Indexed ». De toutes façons, il n'y a plus de raison d'utiliser le .gif, format propriétaire pour lequel les détenteurs du brevet réclament des royalties. Utilisez plutôt le png.

Si Gimp ne trouve pas les fonts des scripts-fu, installez freefonts (dézippez dans /usr/X11R6/lib/X11/fonts/, puis rajoutez :

FontPath  "/usr/X11R6/lib/X11/fonts/freefont/"

dans votre XF86Config). Relancez X.

Pour avoir gimp 1.1.x en français, allez dans le répertoire de langues, tapez « msgfmt -o gimp.mo fr.po », et copiez le résultat gimp.mo dans /usr/share/locale/fr/LC_MESSAGES.

PHP ne marche pas (mandrake 8.0)

Mettez les lignes « Define » en commentaire dans httpd.conf et ça marchera.

<IfDefine HAVE_PHP4>

LoadModule  php4_module  extramodules/libphp4.so

</IfDefine>

Postgresql (base de données relationnelle) version 6.4. (Récemment 7.2)

Supposons que vous avez installé les rpm de Redhat.

Vérifiez que serveur postgres tourne (« ps aux|grep post »). Sinon, lancez-le (# « /etc/(rc.d/)init.d/postgresql start »).

Donnez un mot de passe au root de postgresql, qui s'appelle postgres (« passwd postgres »).

Devenez postgres (« su - postgres »).

Créez un utilisateur ordinaire de postgresql (« createuser bebert ») et son mot de passe, ayant les droits de créer des bases de données.

Devenez bebert (« su - bebert »).

Modifiez le .bash_profile de bebert en y rajoutant le path /var/lib/pgsql. Déconnectez-vous et reconnectez-vous en bebert sous X.

Tapez « createdb ma_base_a_moi », puis « pgaccess ma_base_a_moi ». Ça y est, vous êtes en mode graphique (nécessite tcl/tk). Sinon, tapez « psql ma_base_a_moi ». Vous avez accès à la base en mode texte. (Si je vous disais que ça marche même à partir du Psion connecté par p3nfs !!!). Si vous préférez le mode graphique, pgaccess (dans le paquetage postgres-tcl parfois) vous offre une interface sympathique, mais encore incomplète.

Pgaccess est fourni avec une base de démonstration (pgassess/demo/formdemo.sql) très instructive quant à ses capacités. Pour l'installer :

Créez une base : « createdb formdemo ». Puis installez la démo : « psql -q formdemo <formdemo.sql ». Il ne vous reste plus qu'à l'ouvrir : « pgaccess formdemo ».

Sauvegarder une base :

« pg_dump dbname | gzip > filename.dump.gz »

Restaurer la base :

createdb dbname

« cat filename.dump.gz | gunzip | psql dbname » (Merci à Tuan)

PS : je n'ai pas réussi à lancer postgres ou pgaccess en réseau.

Pour utiliser Postgres en réseau, faites (Merci à G.Gracian)

-décommenter la ligne PGALLOWTCPIP=no et remplacer le no par un yes dans postmaster.init.

-déclarer les machines qui sont autorisées à se connecter dans le fichierpg_hba.conf. Exemple :

host all 192.168.68.52 255.255.255.255 trust #ici, une seule machine a accès à toutes les bases (all) sans authentification

host all 192.168.68.0 255.255.255.0 trust # ici, un réseau

Si vous avez Mandrake 8.0, ajoutez -o "-i" juste après "pg_ctl" ligne 83 de /etc/rc.d/init.d/postgresql

Lancer freeciv : placez-vous dans le répertoire d'installation. Lancez 2 consoles en tant qu'utilisateur ordinaire (pas root). Dans la première, tapez « ./serv ». Dans la deuxième « ./civ » (pareil pour d'autres clients intéressés). Retournez à la première, où se trouve maintenant un prompt spécial, et tapez « start ».

Heretic II

Installation par« sh heretic2-demo-x86.run »

Lancer Heretic II avec l'accélération 3D  : « ./heretic2_demo +set 640 glx » (ou un autre nombre selon la résolution souhaitée).

Le programme ne marche pas

Vous avez réussi à installer/compiler le programme de vos rêves. L'exécutable est bien exécutable, il est bien dans le PATH, mais il ne démarre pas. Lancez-le à partir d'un xterm au lieu d'utiliser les menus de l'interface graphique. Vous aurez des messages qui vous donneront peut-être la clé du problème.

Si le xterm n'est pas bavard, essayez de lancer le programme par « bash -x nom_du_prog » (valable pour les scripts seulement, pas pour les binaires). Vous devriez avoir d'autres renseignements.

Pour les binaires, tapez « strace nom_du_prog ». En lisant ce qui en sort, vous trouverez ce que le programme tente de faire, et donc aurez une chance d'y remédier.

Et mes applications dos ?

Il existe un émulateur DOS, dosemu, qui tourne soit en console texte (se lance par « dos »), soit en console graphique : dos in a box, qui se lance par « xdos ». (Ne lancez surtout pas « dos » dans une fenêtre graphique !) Son paramétrage n'est pas évident (amusez-vous avec dosemu.conf !). Il est assez performant. Il refuse certaines applications, qui en général refusent également l'environnement Windows (celles qui accèdent directement au mode protégé du processeur).

S'il refuse de démarrer pour cause de VGA font, vérifiez que le fichier /usr/X11R6/lib/X11/fonts/misc/fonts.dir contient :

vga.pcf vga

vga11x19.pcf vga11x19



La version est maintenant 1.0.1 ! Les développeurs assurent qu'il fonctionne comme un vrai DOS. Dans un certain nombre de cas, il apporte même à des applications un environnement meilleur que le vrai DOS, sur lequel il s'appuie (plus de mémoire).

Attention ! Si vous utilisez le vrai DOS, la partition DOS ne doit pas être mountée. Votre $_hdimage doit pointer sur votre disque physique (/dev/disque) dans le /etc/dosemu.conf, par exemple « $_hdimage="/dev/hda1" ». Sinon, vous pouvez utiliser freedos et laisser faire l'installation standard.

Pour le problème du clavier et de l'affichage en Français, j'ai enfin trouvé qu'il y avait un conflit entre l'autoexec.bat de DOS et Linux. Il faut copier l'autoexec.bat en autoexec.lin, le signaler au dosemu.conf (« $emubat= "lin" »), et mettre en commentaire les lignes qui chargent le clavier et les fontes dans l'autoexec.lin. Vous verrez démarrer un DOS propre, et avec plus de mémoire que le vrai.

Il faut aussi renseigner le dosemu.conf avec « $_rawkeyboard=(on) », « $_keybint = (on) » et « $_layout= "fr" » pour avoir le Français.

Pour toutes les opérations DOS, si les interfaces graphiques échouent, vous pouvez utiliser les mtools. Le principe est simple : toutes les commandes MSDOS on un équivalent, qui se trouve en rajoutant « m » devant la commande DOS (« mformat », « mcopy »...). Ça marche parfois mieux que la vraie...

Et mes applications Windows ?

Linux sait aussi leur procurer un environnement. En revanche, wine n'émule que le fonctionnement de Windows, pas la totalité de l'environnement. Les applications Windows (du moins, celles qui veulent bien) tournent directement dans Linux.

Si vous installez à partir des sources, n'utilisez pas le sempiternel « ./configure... », mais lancez « ./tools/wineinstall » dans le répertoire des sources. Cela fera toute la compilation et créera un fichier de paramètres ~/.wine/config. Ainsi qu'une mini-arborescence Windows dans le répertoire que vous aurez signalé comme devant se substituer à « C:\ ».

Le lancement se fait par « (chemin/vers/)wine monappli ».

Si vous avez un Windows quelque part sur la machine, le disque où il se trouve doit être mounté et correctement déclaré dans le wine.conf (c'est son répertoire de mountage que l'on déclarer dans (/usr/local/)etc/wine.conf). Sur Mandrake, le /etc/wine.conf s'appelle /usr/share/wine/wine-config, que vous générez par « winebuild  usr/share/wine/wine.config.default » Exemple :

[Drive C]

Path=/mnt/dosc

[Drive E]

Path=/ (Ceci pour permettre à wine de savoir quoi faire de votre partition Linux. Il la mounte ici en E)

Dans le même fichier, il faut aussi voir les PATHS et le répertoire Temp. Ils doivent correspondre à l'arborescence de votre partition Windows.

Si vous n'avez pas de partition Windows, créez un répertoire qui en tiendra lieu : « mkdir /c » (/var/wine n'est pas une mauvaise idée non plus). Assignez le path comme suit :

[Drive C]

Path=/c

Dans ce cas (Wine sans Windows), pour installer un programme : « wine install.exe ». Quand ça marche (de plus en plus souvent), c'est spectaculaire.

Attention ! Lorsque vous tapez les chemins, les barres de répertoire sont obliques dans le sens UNIX. Rien ne vous empêche de créer un raccourci, comme pour n'importe quel programme Linux (ex : « /usr/local/bin/wine /olitec/olifax » vous permet de lire vos fax reçus sous Windows avec un modem Olitec). N'oubliez pas de mettre le chemin du disque Windows entre guillemets s'il y a des espaces dans les noms ! (Ex : « wine "/Programs files/monprogramme" »). Si ça ne fonctionne pas, testez avec un programme qui est dans le path « wine notepad ». Si ça marche, essayez « wine c:\\monrep\\monprogramme ».

Word 7 et Excel 7 fonctionnent de mieux en mieux, mais il y a encore des problèmes. On nous promet un fonctionnement sans faille bientôt.

En Français, vous aurez des problèmes pour ouvrir ou enregistrer les fichiers. Wine vous réclamera mso5enu.dll et openenu.dll. Il vous suffit de copier openfra.dll et mso5fra.dll vers les noms réclamés.

Astuce ! Si un programme refuse de fonctionner pour cause de dll, donnez-lui en une (créez un fichier vide de ce nom dans votre Pseudo_C/windows/system). Wine saura ensuite lui donner la vraie dll émulée.

Autres possibilités pour avoir Linux et Windows :

-Win4lin 2.0 (http://www.netraverse.com/) est une vrai émulateur PC (commercial) qui semble assez valable mais ne supporte que Windows 95/98.

-VMWare 2.0 (logiciel commercial), à récupérer sur http://www.vmware.com, crée une machine virtuelle (avec BIOS virtuel !!), dans laquelle vous pouvez installer Windows. Grosse puissance nécessaire !! (je fais tourner MS-DOS avec « seulement » 64 Mo de RAM). S'installe par « vmware-install.pl ». Copier le fichier licence envoyé par e-mail par la société dans /root/.vmware/. Le résultat est bluffant.

-Plex86, l'équivalent en libre. En phase finale de développement chez MandrakeSoft.

-VNC (license GPL) permet d'afficher l'écran de n'importe quelle machine reliée en réseau TCP/IP, donc entre autres d'avoir un Windows dans une fenêtre ;-)))

-Tant qu'on est dans les émulateurs, Line (http://line.sourceforge.net) fait le contraire de Wine : il fait tourner les applis Linux dans Windows.

Pour lire MS Word sans MS word :

-Le plus efficace : « strings letexte.doc » (ou « strings fichier.doc|fmt -w 65|more »). Vous aurez la surprise de lire non seulement le texte, mais aussi le modèle d'imprimante, toutes les corrections, et avec un peu de chance le numéro de carte bleue de l'expéditeur !!

-Le plus définitif : MSWordView (http://www.wvWare.com) vous transforme du .doc en .html.

-Sinon, Star office 5.2, wordperfect, Applix...

Pour traduire les fichiers excel, et doc je crois : http://www.ice.ru/~vitus/catdoc/

Par ailleurs, Wingz (http://www.wingz.com/) sait aussi lire les fichiers excel (les graphiques ne passent pas toujours très bien le cap)

Faire des présentation à la powerpoint : utiliser magic point (Merci C.Vidal) ou kpresenter.

Émulation MacOS

Linux sait aussi procurer un environnement aux applications Mac grâce à Mac-on-Linux.

Cet émulateur sous licence GPL permet d'exécuter MacOS sous Linux pour PowerPC (Yellow Dog, ppc, SuSE, etc.). Disponible à

http://www.ifrance.com/macpower

Je veux améliorer un programme, mais je n'y connais rien en programmation

Eh bien, c'est faisable (vive l'open source !)

Prenons un exemple concret. Vous voulez jouer au Grand Père, jeu faisant partie de kpat (en standard sous kde). Problème : la fenêtre est trop petite, et vous êtes bloqué pour finir les parties. allez donc faire un tour dans le source. Répertoire kdegames, sous répertoire kpat. Repérez un fichier nommé grandf.cpp (cpp pour c plus plus- ça serait c tout court pour un programme en C). Éditez-le, et vous verrez une ligne comme ça :

return QSize(700, 476);

Cette ligne fait drôlement penser à la taille de la fenêtre. Sauvegardez-la, mettez la sauvegarde en commentaire (rajoutez « // » devant) au cas où, et changez « 476 » par une valeur plus grande. Enregistrez. Ça donne :

// return QSize(700, 476);

return QSize(700, 676); }

Partant du principe que vous aviez déjà compilé les sources, vous devez avoir des fichiers « .o » un peu partout. Vous pouvez alors faire un « make » : ça ira très vite, car tous les programmes qui ont encore leur « .o » ne seront pas recompilés. Si vous aviez fait un « make clean », vous auriez effacé tous les fichiers « .o », et la recompil aurait été nettement plus longue. Faites ensuite normalement « make install », et relancez votre programme.

Maintenant, vous avez un programme qui vous permet de finir les parties même si vous avez de très longues colonnes de cartes. Au passage, envoyez le résultat de votre travail à l'auteur. Pour le tcl/tk, c'est encore plus simple : le code source ne se compile pas et est directement exécutable.

Traduire un programme

Vous pouvez très facilement traduire un programme dans votre langue préférée. À noter que beaucoup de programmes sont prévus pour l'internationalisation, et il existe des fichiers à part où se trouvent tous les items à traduire.

Ces fichiers ont l'extension « .po ». Si vous n'avez pas le .po,vous pouvez le générer à partir du source du programme en plaçant en début du fichier en c à traduire les commandes suivantes :

#include <libintl.h>

#define _(x) gettext(x)

puis en faisant :

« xgettext -d le_fichier-de_chaines_pret_a_traduire -k_ -s le_prog_que_je_veux_traduire.c ». Dans ce cas précis, le « k_ » signifie que vous avez entouré dans le source toutes les chaînes à traduire par une balise « _(english-string) ». Cette balise peut être n'importe quelle suite de caractères, souvent « i18n ». Vous obtiendrez un fichier le_fichier-de_chaines_pret_a_traduire.po

Traduisez ensuite le .po. Emacs a un mode spécial pour vous faciliter le travail. Sinon, kbabel.

Compilez-le ensuite : « msgfmt -o le_fichier_traduit_binaire.mo -v le_fichier_traduit_source.po  ».

Copiez ensuite le .mo dans /usr/share/locale/fr/LC_MESSAGES/.

Relancez votre programme : il est maintenant en Français. Envoyez le .po à l'auteur. C'est encore mieux si vous intégrez une équipe de traducteurs sur Internet, afin de coordonner vos efforts (http://www.traduc.org).

Si le programme n'est pas fait pour l'internationalisation, vous pouvez traduire directement dans le source et recompiler (déconseillé). Bon courage.


14. Compiler le noyau

Pourquoi ?

Pour faire moderne, pour corriger un trou de sécurité, pour enlever des composants inutiles, pour intégrer des composants de votre machine. La compilation est rarement indispensable d'emblée, car les distributions proposent des noyaux polyvalents avec quasiment tous les modules compilés.



Comment ?

Assurez-vous d'avoir une machine apte à compiler (compilateurs et librairies de développement) et installez le source dans /usr/src. Tant que vous y êtes, prenez la dernière version en téléchargeant les patchs.

Pour patcher, vérifiez la version du noyau que vous possédez, et appliquez tous les patchs un par un en suivant l'ordre des numéros. (« bzip2 -dc patchXX.bz2|patch -p0 »).

Assurez-vous de la présence de liens symboliques (/usr/include/asm -> ../src/linux/include/asm et /usr/include/linux -> ../src/linux/include/linux)

Puis « cd /usr/src/linux »

Ensuite « make menuconfig » ou « make xconfig » selon les goûts et la disponibilité du mode graphique.

Astuce : avec KDE >= 2.2, il y a un configurateur graphique du noyau infiniment plus ergonomique que xconfig. Il se trouve dans kcontrol.

Le système que vous verrez apparaître possède un certain nombre de pré-réglages, dont beaucoup sont mal adaptés à votre cas. Choisissez les options qui conviennent à votre système. Mettez le maximum de choses en module, sinon kernel too big !... Ne mettez surtout pas en module les choses indispensables au démarrage (par ex. les disques IDE si vous bootez en IDE ou le file system ext2). Acceptez le loadable module support (sinon, les modules ne fonctionneront pas).

Toutes les explications détaillées sur http://kernelconfig.free.fr.

Enregistrez vos paramétrages sous un nom (ex : « mon_noyau »), cela vous permettra de ne pas tout recommencer en cas d'une simple erreur, ou même pour une version suivante. Puis faites « save and exit ».

Astuce ! Pour franciser les menus de configuration du noyau, téléchargez le patch sur http://www.traduc.org/kernelfr, dézippez-le, et remplacez avec le résultat le fichier /usr/src/linux/Documentation/Configure.help.

Ensuite : « make dep zImage modules modules_install install » (ou chaque commande une par une). Si votre kernel est trop gros, tentez « make bzImage ».

Attention ! Si vous recompilez une nouvelle fois la même version du noyau, retirez ou déplacez l'ancien répertoire de modules (/lib/modules/2.4.x) avant d'installer les nouveaux modules.
Ensuite, une étape fondamentale : prévoir de booter aussi bien avec le nouveau noyau qu'avec l'ancien. Pour cela, il faut copier le nouveau noyau /usr/src/linux/arch/i386/boot/zImage en /boot/vmlinuz-2.4.xx et copier /usr/src/linux/System.map en /boot/System.map-2.4.xx, puis éditer le fichier de paramètrage du boot (ex : /etc/lilo.conf), copier le paragraphe existant et le coller en dessous en prévoyant un nouveau label (ex : « linux_new ») qui lancera le nouveau noyau. À ce moment, tapez « lilo » (ou « chos », ou ce que vous voulez d'autre, ou rien de tout si vous utiliser GRUB...) et il ne vous reste plus qu'à rebouter. Vous verrez apparaître votre nouveau label en plus de l'ancien. Si le boot échoue, reboutez sur l'ancien, et recommencez tout depuis le début...


15. Appel à contribution

Repérez les endroits où je pose des questions. Si vous détenez la réponse, envoyez-la moi. Tout le monde en profitera.

Si vous avez réussi à résoudre une difficulté, faites-moi un résumé.

Si vous trouvez une erreur, signalez-la moi.

Si vous estimez qu'un détail manque à la compréhension, je le rajouterai volontiers.

Si vous avez des compétences dans un domaine absent de ce guide (ADSL...), prenez la plume !

Restent à faire : Serveur DNS, serveur NNTP, serveur mail, proxy, fonctionnement du firewall, système RAID, clusters, frame buffer, DVD, serveur PHP, serveur DHCP...

J'attends vos suggestions.


16. Conclusions provisoires

J'espère que ces quelques pages vous auront permis de débuter sans trop de douleurs. Lisez-les entièrement, car certains renseignements sont répartis en plusieurs questions. GNU/Linux est un système très complet et très puissant. Son état actuel le rend encore un peu délicat à configurer, mais les progrès effectués en 1 ou 2 ans sont spectaculaires. Le manque d'homogénéité des logiciels est en train de se régler. Toutes les distributions installent maintenant des versions -à peu près- stables de Gnome et KDE. De grandes marques de matériel écrivent elles-mêmes les pilotes de périphériques (Creative Labs, Nvidia...), voire des distributions entières (Abit avec sa Gentus). La presse informatique, après plusieurs années de censure, explose : une dizaine de magazines consacrés à Linux en France apparus en guère plus d'un an. Les programmes réclamés arrivent au pas de charge : Quaqueries diverses pour les amateurs de jeu, bureautique avancée avec une demie douzaine de suites, amélioration du noyau (support USB, systèmes de fichiers journalisés, multiprocesseur, multi-thread), généralisation des traductions des programmes et de la documentation, support HotLine, machines pré-installées, déploiement dans les grandes entreprises, apparition de matériel dédié (Qube...). Il devient maintenant possible de faire tout ce que vous faisiez auparavant avec les environnements propriétaires, mais dans un contexte libre et incroyablement économique (les utilitaires sont inclus dans les distributions), plus stable, plus sûr (pas de fonctionnalité cachée, pas de virus I Love You) et plus ouvert.

La seule chose qui vous est demandée : participez à l'effort !

Pour paraphraser Richard Stallman : vous ne savez pas programmer ? Écrivez une documentation. Vous écrivez mal l'anglais ? Rejoignez une équipe de traduction (http://www.traduc.org). Vous ne voulez rien faire de tout ça ? Envoyez des rapports de bugs utilisables ou des souhaits aux auteurs.

Bonne chance et bon courage !

Retour à la page d'accueil