Logo_survie
Guide de survie sous Linux:

Document écrit par G.DELAFOND (gerard at delafond.org).

Logo d'André Pascual (http://www.linuxgraphic.org)

Version du 28/03/2010


Introduction

Utiliser ce guide, trouver de l'aide ailleurs

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

Généralités, CD-ROM, disque dur, disquette, démountage, SCSI, modem, ADSL, Numeris, câble, son, Cd-audio, vinyle, I-River, Imprimante, souris, zip, ls 120, MO-Drive, disquettes flash, télé, joystick, Psion et PDA, Scanner, USB, Firewire, Clavier, Partition Windows, DVD, graveur de cdrom, graveur de dvdrom, automontage, portable, fax, Minitel, Wacom, appareil photo, webcam, caméscope, onduleur

L'ordinateur portable

Généralités, modem, Infra-rouge, Le PCMCIA, L'économie d'énergie, Le touchpad, Le tablet PC,Internet par téléphone portable, Le clavier numérique sur USB, l'adaptateur de disquettes flash sur PCMCIA

Gérer la machine

Débloquer, espace libre, Faire de la place, les quotas, 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 polices, les ascenseurs X, changer de console graphique, lancer un programme en tant qu'invité, quitter X, la 3D, le double écran, le multisiège, la sortie Télé, le DivX, le framebuffer.

Le réseau

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

La sécurité

La sécurité, GnuPG, J'ai perdu mon mot de passe, Les antivirus, Routage, firewall, ports et filtrage, le lecteur d'empreintes digitales

Configuration des logiciels et émulation

Installer un programme, Compiler plus vite (cluster), Faire ses RPM, Utiliser CVS, Les programmes à problème, Ça ne marche pas, Émulation DOS, Émulation Windows (Wine), Word et Excel, Mac-on-Linux, Cygwin

Améliorer un programme, Traduire

Compiler le noyau

Pourquoi, comment


1. Introduction

 Ce texte est une sorte de faq (frequently asked questions), qui s'adresse aux débutants qui ont réussi à installer 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.

Il est placé sous licence Creative Commons avec attribution de paternité.

La liste des changements se trouve sur http://www.delafond.org/survielinux/changelog.html

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, Étienne Herlent, Pierre Couvy, Frédéric Delanoy, Thibaut Cousin...) un travail collectif. Qu'ils en soient ici remerciés. Procurez-vous les mises à jour sur http://www.delafond.org/survielinux.

La partie matérielle ne concerne que la plate-forme Intel x86, 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 z-series 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.

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).

Parti pris

Même si ce guide essaye de couvrir les systèmes basés sur Linux dans leur diversité, il y a forcément un peu de parti pris.


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 navigateur 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 archives (http://groups.google.com/), et lisez les how-to (http://jp.barralis.com/howto/linux/), le guide du rootard http://www.linux-france.org/article/grl/Guide_Rootard.html 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 site d'explications assez clair : www.funix.org.

Pour les Macs : http://www.linux-france.org/macintosh/

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 :

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

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 imprime le man de date.

Autre astuce : dans KDE, vous tapez man:/(ou #)commande_inconnue dans la barre d'URL de Konqueror, et vous aurez le man avec des hyperliens. Tapez info:/(ou ##)commande_incompréhensible dans la barre d'URL et vous aurez la page d'info en html, nettement plus pratique.

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 :

avec Xorg 7.5 (remplace Xfree), et le kernel 2.6.33. Les séries antérieures au 2.6 sont réservées à la maintenance ; la version de production normale est la série 2.6. Actuellement, il n'y a pas de tronc instable dans Linux. Tout est fait dans la branche 2.6. Une période de préversions permet les modifications substancielles, puis chaque version stable est complétée par des corrections de bugs, identifiées par un quatrième numéro. Ne confondez pas la version de Linux (le kernel, ou noyau) et celle de la distribution (les numéros de distributions cités ici correspondent à des contenus en programmes voisins).

Vous devriez toujours avoir un kernel dont le 4e numéro est le plus grand dans sa série (corrections d'erreurs uniquement).

4. L'installation

Choix d'une distribution

Vous trouverez toujours quelqu'un pour vous dire que telle ou telle distribution est bien meilleure que les autres. Nes les écoutez pas ! Elles ont toutes des insuffisances. D'abord, parce que les éléments qui les composent ne sont pas parfaits (une distribution moderne propose des milliers de programmes), ensuite parce que l'intégration de l'ensemble laisse souvent à désirer (programmes qui ne sont pas recompilés d'une version à l'autre, erreurs d'intégration, éléments incompatibles à cause de la grande évolutivité des couches basses du système).

J'aurais tendance à dire que la meilleure distribution est celle qu'utilisent ceux qui peuvent vous aider.

Les explications sur les différentes distributions : http://lwn.net/Distributions/.

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 ou DVD, voire une clé USB. 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 avez un PC moderne de type Pentium (et clones) avec cd-rom, la plupart des grandes distributions conviendront (RedHat, Suse, Mandriva, Debian, Slackware, Ubuntu...).

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

Si vous avec un PC 64 bits, vous avez le choix entre une distribution 32 bits ou une distribution X86-64. Mon expérience des distributions 64 bits est mauvaise :

Actuellement (début 2009), le fonctionnement des distributions 64 bits est presque stabilisé, mais il n'y a toujours pas de raison objective d'en utiliser une. Essayez toujours pour vous faire votre opinion, mais, dans le doute, optez pour 32 bits.

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

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 USB ou 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 cd-rom d'installation et vous y donnant accès par nfs ou ftp. 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 cas particulier de Debian : la Debian est déclinée en 3 versions :

Le choix peut aussi porter sur la place dont vous disposez. Les Suse, Mandriva, RedHat et apparentées sont de vrais mastodontes. Généralement, l'installation est tout simplement impossible en dessous de 200 ou 300 Mo (mode minimal en 65 Mo pour Mdk). 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 Slack > 4 ne s'installent pas avec 8 Mo de RAM, et la plupart des grosses distributions peinent avec 16 Mo. Mandriva a besoin de 48 Mo, sauf si vous faites une installation minimale, c'est-à-dire en désélectionnant tous les packages, que vous pourrez installer plus tard).

Mise à jour 2008 : ces chiffres peuvent faire sourire. Une Mandriva 2008.1 ramait sur un PC à 256 Mo de RAM avec mémoire vidéo partagée. disons que les grosses distributions fonctionnent bien sous 512 Mo de RAM, mais que des équipes continuent à maintenir des distributions légères pour ordinateurs anciens ou peu puissants.

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/, coyote linux à http://coyotelinux.com/), ou encore mieux : Knoppix et ses dérivés Kaella ou Mepis (2 Go de programmes préinstallés sur le cd-rom et un boot éclair). Cette distribution peut s'installer sur le disque dur avec la commande knx-hdinstall ou knoppix-installer. Il vous sera proposé plusieurs boîtes de dialogue pour choisir vos partitions ou les modifier (attention ! partitionneur destructeur si vous redimensionnez une partition existante contenant des données, c'est pourquoi il faut mieux faire précéder l'installation par un partitionnement par qtparted), puis la totalité du CD s'installera. Simple et efficace, mais pas très souple. http://www.knopper.net/knoppix/index-en.html.

Pour utiliser un système basé sur Linux sur une clé USB, vous pouvez vous la procurer toute faite (Mandriva flash), créer une clé USB à partir d'un menu dédié d'une distribution fonctionnelle (Ubuntu) ou faire vous-même une clé avec la distribution de votre choix avec unetbootin (http://lubi.sourceforge.net/unetbootin.html).

Parmi les distributions à la mode, citons Gentoo (http://www.gentoo.org), très originale au niveau de son système d'installation nommé Portage. Sur cette distribution, vous installez à partir des sources mais l'intérêt par rapport aux autres distributions en source, c'est que l'étape de configuration de la compilation est automatisée par rapport à votre système, ce qui fait que vous obtenez un système totalement cohérent et adapté à vos besoins.

Pour les puristes absolus, LFS (Linux From Scratch : http://www.linuxfromscratch.org) est un mode d'emploi plus qu'une distribution : c'est vous qui faites votre distribution vous-même. Inutile de dire que la Mailing-list chauffe pas mal...

Enfin, il est possible d'installer Linux sous Windows. La merveille qui fait cela s'appelle Cygwin (http://www.cygwin.com/). Il s'agit d'une distribution fonctionnant en émulation sous Windows. Elle est assez complète : utilitaires, shell, Xfree, compilateurs, débogueurs et bibliothèques de développement (700 Mo en tout).

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 CD-ROM, 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.

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 suffit 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 en 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 :

On me signale que sur Sparc 5, ça boote très bien à partir du CDROM (id=6). À la mise sous tension : STOP+A (même avec un clavier US). Ensuite : boot cdrom et installation standard. Attention ! par défaut, il n'utilise qu'un DD il faut prendre installation personnalisée pour pouvoir utiliser les 2 DD. (d'après Claude Hiebel)

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 ou ntfs pour Windows, ext3 pour Linux, etc.).

Les partitions du disque des PC

Les disques durs des PC peuvent supporter 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 sert à référencer des partitions logiques. Cette astuce permet de dépasser les 4 partitions autorisées.

Pour information, sachez que les partitions n'ont aucune existence physique sur le disque. Il s'agit simplement d'une table des matières, indiquant les numéros de secteur de début et de fin. La partition étendue (ou plutôt « extensible ») n'est référencée que par un emplacement. Il s'agit, en fait, d'un carnet d'adresses accessoire à la table de partitions principale. En tant que telle, elle permet de créer des partitions n'importe où sur le disque.

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 en plus des connecteurs IDE ordinaires, ça commence à hde. Si votre disque est SCSI, il s'appelle sd???. Le premier est sda, le deuxième sdb, etc.

Si votre disque dur est Serial ATA, il peut être considéré comme IDE (hde) ou SCSI (sda), selon les paramètres de votre distribution.

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

Une absence de numéro désigne un disque non partitionné (comme un CD-ROM) ou le secteur de boot du disque.

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 et forcez un scandisk, 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 (diskdrake ou qtparted par ex.). Vous pouvez aussi utiliser le partitionneur de Mandriva (le seul à proposer le redimensionnement et autant d'options faciles à comprendre) pour installer n'importe quelle autre distribution, en commençant une installation par le CD 1 de Mandriva, puis en l'interrompant après le partitionnement.

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 = mémoire virtuelle). 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 (plus rapide). hda5 est généralement un bon choix.

Pour le type de formatage, le plus simple est d'utiliser ext3, en attendant ext4 ou btrfs.

/

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 (gros disques mal gérés par les BIOS). Actuellement (2009), il n'y a plus guère de raison de créer une partition de boot.

/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.

/usr

Ici seront installés les programmes. Cette partition doit être de grande taille (au moins 1 Go, 5 ou 6 avec les disques modernes et les distributions énormes actuelles). Vous pouvez ne pas créer de /usr. Simplement, votre / sera plus grande. Et attention à ne pas installer trop de programmes qui satureraient alors /. (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 (données de mysql, par exemple) soient sur une partition à part. Une centaine de Mo convient très bien. Beaucoup plus si vous voulez être un serveur apache, muysql ou autres. (Cette partition est facultative)

/root

Pour la même raison que /home, puisque /root est le /home du chef. Format ext* 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 /. Ne tentez surtout pas une partition /etc ou /bin : vous ne pourriez pas démarrer.

hibernation

Si vous voulez faire du « suspend to disk » sur un portable, préparez cette partition avec l'outil spécial, généralement avant tout autre partitionnement. J'ai eu de gros ennuis avec l'hibernation, qui me bouisillait ma swap à chaque utilisation.

Le swapsusp

Votre partition de swap, pourvu qu'elle soit plus grande que votre RAM, peut servir à stocker l'état de votre mémoire, donc tout l'état du système. Vous éteignez votre système avec la commande # swsusp, et, au rallumage, le système de démarrage ira lire cette image dans la swap, pour peu que vous l'ayez déclarée comlme option de démarrage, par exemple dans lilo.conf, sous la forme d'une commande comme append="resume=/dev/hda1". Au redémarrage, votre système s'allumera exactement dans l'état où vous l'éviez éteint.

partition Windows.

Si vous n'avez que Linux, il n'y a plus de grand intérêt à prévoir une partition Windows.

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 3 ou 4 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 forme de source, vous devez avoir tous les outils de développement (langages et 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 à ajouter 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. Ou ajouter les paquets supplémentaires au moyen d'un utilitaire perfectionné comme urpmi ou apt-get.

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 en éditant le xorg.conf.

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 multiboot, 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 multiboot.

Enfin, le commande magique pour restaurer un mbr défaillant (ou pour revenir à un DOS sans Linux) : fdisk /mbr sous DOS. Avec XP, Bootez avec le cd de windows. Au tableau de setup taper sur « R » (mise a jour d'une version de windows déjà installée). Au prompt tapez « fixmbr » et le tour est joué.

Sous Linux, vous pouvez restaurer le MBR avec dd : dd if=/dev/zero of=/dev/hda bs=446 count=1

Pour restaurer le secteur de boot d'une partition ordinaire : dd if=/dev/zero of=/dev/hdc6 bs=512 count=1

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 (numéro de secteur) 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 (emplacement logique, c'est-à-dire nom du fichier).

Loadlin

C'est un logiciel DOS qui sait booter Linux à partir de DOS/Windows. Pratique si vous utilisez surtout Windows ou si vous ne voulez pas toucher à votre mbr.

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 ?

L'ordinateur vient d'effectuer son premier démarrage après l'installation.

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. 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 comme nom d'utilisateur, 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. Si vous avez fait une installation sans mot de passe, tapez simplement sur <Entrée>.

À ce moment, vous êtes logé en tant que root. Vous êtes sur une console (=terminal) de texte, dans un shell, c'est-à-dire un interpréteur de commandes. Vous devez voir une invite se terminant par # (spécifique du superutilisateur). 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 que vous pouvez utiliser dès maintenant :

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-à-dire un terminal graphique sous X. C'est plus long, mais c'est plus joli. Lorsque vous voudrez taper des commandes comme précédemment, 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.

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 sur une console graphique. 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


Ajoutez 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.

Lilo a maintenant un menu graphique. Contrepartie : la touche <Tab> ne fait plus rien.

Cas de Grub

Si vous voulez être puriste, utilisez GRUB, le boot loader 100 % GNU . La sélection se fait 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, 64 ou 800 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 ajoutez, 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 ajouté 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 (Linux ne sait pas gérer les trous dans la mémoire). Merci à Jean-Bernard Jacquet.

Autre subtilité : si vous avez plus de 800 Mo de mémoire et que votre noyau n'est pas compilé pour les grosses mémoires, vous gaspillerez toute la mémoire non gérée. Le problème, c'est que, s'il est clair que pour les très grosses mémoires, il faut bien activer cette option, pour les mémoires proches de 1 Go, cela peut aboutir à une moindre performance (sujet débattu).

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 Mandriva, votre cdrom d'installation peut très bien servir de disquette de boot.

Si votre noyau est trop gros pour tenir sur une disquette, il faut la formater en 1,7 Mo.

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 bgn (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.

Ces commandes de base sont en fait intégrées dans le BASH. Vous ne les trouverez pas dans les répertoires de binaires. Pour en connaître la liste, faites man bash et lisez le premier paragraphe. Les explications sont plus bas dans la page.

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. Un petit problème : les pages de man sont regroupées en plusieurs répertoires numérotés, pouvant contenir des mans de nom identique, mais de contenu différent. Par exemple, si vous voulez le man mtools.5, la commande man mtools affichera le man mtools.1. Dans ce cas, faites man 5 mtools.

Dans KDE, tapez en URL de Konqueror #lacommande ou man:/lacommande. La page man s'affichera dans Konqueror avec des liens hypertexte. Pour les pages info, faites ##lacommande ou info:/la_commande dans la barre d'URL de Konqueror. On n'arrête pas le progrès.

La commande locate (recherche de fichiers) est un peu particulière : elle s'appuie sur une base de données, qui doit etre remise à jour la nuit, par ex. grâce au système (ana)cron. 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).

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 multiutilisateur. 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.

Astuce ! 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), le 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.

Pour information, ces bits supplémentaires (s et t) sont enregistrés dans un quatrième chiffre placé avant les trois chiffres simples des droits. Sa valeur habituelle est de 0, ce qui fait qu'on peut le sous-entendre. Exercice : essayez chmod 7777 fichier_test, puis ls -l.

Pour les répertoires, le droit x ne vaut pas pour l'exécution (avez-vous déjà essayé d'exécuter un répertoire ?), mais pour le droit de passage.

Attention ! Vous pourrez effacer fichier ne vous appartenant pas dans un répertoire où vous avez le droit d'écriture, mais pas le lire.

Encore un piège ! Les droits par défaut sur une partition sont donnés par umask lors du montage. La notation se fait par soustraction des droits maximaux. Par exemple, un umask de 631 donne des droits de 146 (=777-631), non outrepassables.

Plus de détails : man chmod et man umask.

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 : export PATH=nouveaupath:$PATH. N'oubliez pas : $PATH sinon le path que vous vouliez ajouter 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 ajoutez-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 ajoutez 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 (Mandriva).

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/misc/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).

Un exemple : mknod /dev/null c 1 3 (c=character, 1=majeur, 3=mineur). La liste des numéros majeurs et mineurs se trouve dans /usr/src/linux/Documentation/devices.txt.

Normalement, les kernels de la série 2.4 peuvent créer lors du besoin les descripteurs de périphériques s'ils utilisent devfs.

-/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 :-(

(Note : ces explications sur VI sont destinées aux systèmes disposant de très peu de fonctions en état de marche. D'autres programmes plus faciles d'abord sont cités à la fin de ce paragraphe.)

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 le shell faire ! Tapez vi /etc/monf <tab>. Si le fichier est le seul à commencer comme ça, le nom va se compléter tout seul. S'il y en a plusieurs, ajoutez une lettre, et actionnez à nouveau <Tab>. 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 sauvegardant : <Esc>: wq!.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>.

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 lacommandequej_ajoute >> lefichierquejerenseigne

ou encore

cat > fichier (mode écrasement)

cat >> fichier (mode concaténation)

=> permet de taper plusieurs lignes (1 ligne à la fois)

terminer l'édition avec un C-d

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 faut plus utiliser 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

- LinuxDisks.10d7

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.

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 :

La ligne de commande

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

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 :

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 molette, 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

Généralités

L'installation de périphériques sous Linux est un vrai problème.

Dans les bons cas (matériel courant et pas trop récent, distribution récente et auto-configurable), il n'y a rien à faire, ça marche tout seul.

Dans les cas un peu moins bons, le pilote du périphérique existe, mais il faut le trouver, par exemple sur le net. Il suffit généralement de suivre les indications du ReadMe ou du INSTALL pour y arriver. Le problème est souvent d'identifier quel est le VRAI nom de votre périphérique. Pour cela, plusieurs solutions selon les cas :

Ces commandes vous réserveront souvent des surprises concernant le vrai fabricant de votre matériel que vous croyiez être de grande marque.

-Dernier recours : le démontage. Vous démontez les capots, et vous cherchez à lire ce qui est écrit sur les puces ou les cartes.

Dans les très mauvais cas, il n'existe aucun pilote. À moins de l'écrire vous-même (désassemblage du pilote Windows, etc.), il vous reste la chance que votre périphérique soit proche d'un périphérique existant (même marque de composant, etc.). Dans ce cas, contactez l'auteur de ce pilote, expliquez-lui votre cas, et il est très possible qu'après changement de quelques paramètres, votre matériel fonctionne très honorablement. Les autres utilisateurs en seront ravis.

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 (les versions actuelles d'eject font le démontage automatiquement.

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 ajouter « 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 ajouter « 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) !

Installation d'un cdrom parallèle

Monter le système de fichiers : mount /dev/pcd0 quelque_part (merci à Paul Bertonnier).

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

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.

Les volumes LVM (Logical Volume Management)

Si vous commencez à comprendre un peu le fonctionnement des partitions, vous aboutissez vite à la conclusion qu'on risque de se trouver avec des partitions pleines, alors que d'autres ont encore de la place, mais difficilement accessible pour ce que vous voulez en faire.

Certaines distributions proposent, par défaut ou en option, un partitionnement de type LVM.

Cela signifie que, hormis la partition /, située sur une partition normale, tout le disque est supporté par une partition unique, dans laquelle on taille des partitions virtuelles. Ces partitions virtuelles fonctionnent comme les partitions normales, à la différence qu'il est facile de les redimensionner à chaud :

lvextend -L +80G /dev/vg_1/var (pour augmenter la partition virtuelle gv_1 de 80 Go)

1259 resize2fs /dev/vg_1/var (pour redimensionner le système de fichiers situé dessus)

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).

Autre astuce : vous pouvez utiliser un fichier de swap :

Fabriquez-le avec la commande dd if=/dev/zero of=/fichier_swap bs=1024 count=65536 (pour un fichier de 64 Mo dans cet exemple). Formatez-le : mkswap /fichier_swap. Montez-le : swapon /fichier_swap. Vous pouvez aussi ajouter une ligne dans le /etc/fstab pour que son utilisation soit automatique. Vérifiez par free ou swapon -s.

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 standard de DOS en ajoutant « 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 (ajoutez <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. Ajoutez 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,44 Mo :

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, ajoutez « 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).

Le SCSI

Le SCSI est plus souvent présent dans nos PC qu'on ne le croit. Bien sûr, il y a la classique carte SCSI, qui supporte toutes sortes de périphériques : disque dur, graveur, scanner, etc. Mais il y a aussi tous les SCSI cachés : zip parallèle, disquettes flash, scanners parallèles, scanners USB, etc. Donc, même si votre PC est « tout IDE » vous ferez rarement l'économie d'un module SCSI dans votre noyau.

Une des principales difficultés avec le SCSI concerne la numérotation des périphériques. Les périphériques étant numérotés dans l'ordre où ils sont trouvés au démarrage, cette numérotation est difficile à prévoir. Il faudra souvent faire des essais. Encore plus gênant, si vous avez des périphériques amovibles, leur présence/absence au démarrage modifiera le numéro des périphériques suivants. Ennuyeux si vous avez précisé un nom de device dans votre /etc/fstab par exemple (ce problème est exactement le même sur les autres O.S.).

Encore plus compliqué : lorsque vous retirez un périphérique SCSI amovible, il reste en mémoire. Donc, un périphérique qui le remplace prendra le numéro suivant (sdb au lieu de sda par exemple). Ce problème devrait disparaître dans les noyaux 2.6.

Vous pouvez lister les périphériques SCSI disponibles avec la commande magique cat /proc/scsi/scsi.

Certaines cartes ont besoin d'initialisation au démarrage. Voici la méthode utilisée par Michaël pour sa Tekram DC395 :

  1. Dans /etc/modules.conf ajouter :

    alias scsi_hostadapter dc395x_trm

    options dc395x_trm dc395x_trm=7,5,1,32

  2. Créer une nouvelle image.

    Se placer dans le répertoire /boot/ puis taper :

    mkinitrd initrd-tekram.img numero.de.version.du-noyau (ex. 2.4.18-6mdk)

  3. Ajouter une entrée dans LILO, qui pointe sur la nouvelle image. Dans /etc/lilo.conf ajouter :

    image=/boot/vmlinuz

    label=Linux-Tekram

    root=/dev/hdb1

    initrd=/boot/initrd-tekram.img

    read-only



  4. Mettre à jour LILO sur le secteur de boot. À la ligne de commande, taper /sbin/lilo

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://pctelcompdb.sourceforge.net/.

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.

Les winmodems à base de chipset Rockwell/Conexant HSF dont le Olitec, et les HCF ont un pilote compilable (non libre) ici : http://www.linuxant.com/drivers/. Le paramétrage se fait par hsfconfig.

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 modems USB, créer un lien par ln -s /dev/usb/ttyACM0 /dev/modem, puis modprobe acm.

Pour les modems inclus dans les multifonctions HP, un support d'envoi de fax est inclus depuis la version 0.9.8 de hplip, accessible depuis la hp-toolbox

ADSL

Il est possible d'utiliser un modem (souvent un winmodem) 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 à 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.speedtouchdsl.com. Les informations pour l'installer sont là : http://linux-usb.sourceforge.net/SpeedTouch/.

Un autre driver, développé initialement par Benoît Papillault (et depuis rejoint par d'autres) est disponible ici : http://speedtouch.sourceforge.net.

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.

On m'a aussi donné des infos sur les modems ADSL 3com. Il faut renoncer à l'USB et les faire fonctionner en Ethernet.

Pour AOL, il n'y a pas de solution en ADSL.

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

La freebox

La freebox est un moyen d'accéder à Internet haut débit (2 Mb/s maxi). L'appareil est une sorte de PC (sous Linux) sans clavier, souris ni écran, relié à l'Internet par ADSL.

Vous pouvez vous y raccorder soit par ethernet (câble direct, non croisé) et simplement activer la fonction réseau en client DHCP, soit par câble USB. Dans ce cas, il vous suffit d'insérer le module CDCEther (modprobe CDCEther), puis de redémarrer le réseau en DHCP.

Pour automatiser, il suffit d'insérer dans /etc/modules.conf la ligne

alias usb-eth CDCEther

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, 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.

Jean-Marc me signale aussi que pour Wanadoo câble, il faut utiliser le protocole pppoe (comme pour l'ADSL). Exemple sur Mandriva :

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 ? Essayez de désactiver le pnp dans le BIOS. Ça peut suffire.

Sinon, il va peut-être falloir compiler le noyau. 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/modules.conf.

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/modules.conf 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

Pour ces cartes à base de i810 :

alias sound-slot-1 i810_audio

Une bonne raison pour que ça ne marche pas : le /etc/modules.conf peut contenir « 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 (1.0.12 actuellement) d'alsa à ftp://ftp.alsa-project.org/pub/driver/, normalement présente dans votre noyau (en standard dans 2.6).

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/modules.conf, 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. Dans ce cas, vous devrez lancer votre programme en faisant précéder son nom de artsdsp.

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

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

Enregistrer et manipuler du son :

Beaucoup de programmes disponibles sur Internet. Grecord (de Gnome) est très simple et souvent préinstallé (basé sur sox). Ne semble pas maintenu et incompatible avec les versions actuelles du système.

Le programme krec semble aussi nécessiter de la mise au point.

Pour le moment, le programme record, disponible dans le paquet des programmes annexes de xawtv donne d'excellents fichiers .wav.

Pour le mixage et l'édition : Audacity (http://audacity.sourceforge.net/).

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 ajouter pour en faire profiter les autres.

CDDB refuse maintenant 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, mais utiliser Freedb, qui fait la même chose honnêtement.

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).

Si vous n'avez pas de câble audio, vous pouvez lire vos cd audio avec xmms en le faisant pointer sur le vrai device, /dev/hdc par exemple et pas /dev/cdrom.

Enfin, pour faire chic, Konqueror (toujours lui !) intègre un kioslave spécialisé. Il suffit d'écrire dans la barre d'URL cdaudio:/ pour voir apparaître les fichiers cdda, mais aussi leurs versions transcodées en wav et en ogg.

Le MIDI

Le son MIDI est fabriqué par la carte son à partir d'une simple description du son (ex : un Fa du piano). Il faut donc que la carte ait des fonctions de synthèse sonore. En dehors de SB Live, les autres cartes son ne sont pas MIDI. Il faut donc faire appel à une émulation, nommée timidity.

Pensez à installer timidity et timidity++ (les échantillons sonores).

J'ai réussi à lancer du son MIDI avec la commande timidity -ig

Beaucoup d'explications sur http://www.linuxfocus.org/Francais/September2002/article259.shtml et sur le How-To MIDI.

Et mes anciens vinyls ?

(Rubrique écrite par D.Trystram)

Pour numériser le son (et donc de la musique) sous Linux, le logiciel à utiliser est gramofile http://www.opensourcepartners.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).

Pour la retouche sonore : GWC (Gnome Wave Cleaner) http://gwc.sourceforge.net/ qui permet de faire du traitement.

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://home.swipnet.se/~w-82625/default.htm). 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 un minnimum 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.

Le I-River

Pour télécharger vos musiques préférées en .ogg ou en .mp3, vous trouverez sur http://ifp-driver.sourceforge.net/ et http://ifpgui.sourceforge.net/ les outils qui vont bien.

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.

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 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.

Cas des combinés HP (Imprimante + scan + accessoires divers)

Ces combinés sont tous gérés par le piote HPLIP (http://hplipopensource.com/hplip-web/index.html).

Vous aurez accès aux différentes fonctions (niveau d'encre, alignement des têtes, nettoyage des têtes, réseau, lecteurs de disquettes, etc.) par la hp-toolbox.

Le fonctionnement réseau et WiFi est également assuré.

Cas des coréennes (Samsung et Brother)

Les coréens fournissent des pilotes libres pour leurs imprimantes et multifonctions.

Samsung : http://www.samsung.com/fr/support/download/supportDownMain.do

Brother : http://welcome.solutions.brother.com/bsc/Public/CountryTop.aspx?reg=eu&c=fr&lang=fr

Un piège avec Brother : le centrage des pages ne se fait pas avec les outils CUPS standard, mais avec un outil Brother : brprintconf_dcp135c (par exemple).

Le scan ne fonctionne que pour le root à l'installation. Pour qu'il soit utilisable par tous, il faut bricoler un fichier selon sa distributrion. sur Mandriva 2009.1, ajoutez

#Brother

SYSFS{idVendor}=="04f9", SYSFS{idProduct}=="01ce", MODE="0664", RUN+="libusbscanner", ENV{libsane_matched}="yes"

dans /etc/udev/rules.d/70-libsane.rules

(pour les autres distributions, c'est marqué sur le site)

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/modules.conf contient bien « alias parport_lowlevel parport_pc ».

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 Mandrakelinux 7.2 a été la première distrib à installer correctement ma Canon BJ 4300 sans aucune bidouille.

Pour la configuration « à la main », lancez le service cups (service cups start) et 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 xorg.conf 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 xorg.conf. Dans ce cas, vous aurez sans doutes des problèmes avec le clavier sous X.

On ne doit plus utiliser le programme imwheel, astuce permettant d'émuler les flèches haut/bas avec la roulette, car la fonction roulette est gérée directement par les programmes modernes.

Sous emacs (mode X uniquement), insérer un

mouse-wheel-mode 1

dans le fichier ~/.emacs et relancer emacs (ou le charger avec load-file)

Sous XOrg

Recopiez ces lignes au lieu des précédentes

Option "Device" "/dev/mouse"

Option "Protocol" "Auto"

Option "Buttons" "N"

Option "ZAxisMapping" "N1 N2"



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). (Informations probablement obsolètes – merci de me le confirmer).

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.

Pour les touchpads synaptics, voir le chapitre sur les portables.

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 ajoutez dans votre /etc/modules.conf 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, ajoutez « 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 ajouter dans /etc/modules.conf :

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 Mandrakelinux 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 Mandrakelinux 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 120 Mo 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/

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é.

Les disquettes flash

Si vous avez un appareil utilisant des disquettes flash (Smart Media, Compact flash, etc.), vous voudrez peut-être les lire directement sur un adaptateur.

Certains de ces adaptateurs (le plus souvent usb) sont supportés par Linux.

Ce sont souvent des adaptateurs multiformats scsi, ce qui fait que pour les faire fonctionner, vous aurez besoin que votre système supporte le SCSI, l'USB-storage et le support de disques SCSI multiples (rarement compilé dans les noyaux standards).

Les lecteurs situés dans les multifonctions HP sont accessibles comme des lecteurs USB ordinaires lorsque le multifonction est connecté en USB. Dans le cas où c'est un périphérique réseau, il n'est accessible que par "hp-toolbox", et seulement pour la récupération des images.

Ensuite, le montage se fait très classiquement.

J'ai eu de bons résultats avec le modèle Imation.

Les disquettes USB (genre disk-on-key) ne nécessitent pratiquement pas d'installation : un simple mount d'un périphérique SCSI suffit (identifiez-le par cat /proc/scsi/scsi).

Les différentes formes de disquettes USB se montent très facilement avec usb-storage. J'ai eu de bons résultats avec les montres Xonix et avec l'incroyable disquette flash-radio FM-lecteur MP3-dictaphone I-Bead. Seul problème : je ne sais pas comment mettre à jour le Firmware sous Linux.

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://linux.bytesex.org/xawtv/ (version 3.95, spartiate) ou KDETV, successeur de kwintv http://www.kdetv.org/, bien plus sexy.

Votre fichier /etc/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, il y a des drivers. Exemple pour Asus My Cinema U3000 Mini :

modprobe dvb_usb_dib0700

Si votre distribution est bien faite, elle téléchargera automatiquement le firmware.

Notons que la TV numérique, qu'elle soit terrestre, câblée ou satellite, utilise une autre interface : /dev/dvb et non plus /dev/video, pas encore gérée par toutes les interfaces, mais on obtient de très bons résultats avec vlc, kaffeine, et bien d'autres.

En ce qui concerne la TV HD, il n'y a aucune différence de matérier ou de pilote : le signal est le même. Seul l'encodage est différent et nécesite un codec mpeg4.

Je veux jouer !

Autrement dit, comment installer mon joystick ?

Modèle sur prise manette de jeu

Le descripteur de périphérique s'appelle /dev/(input/)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, ajoutez l'option dans votre /etc/modules.conf :

option  sound  joystick=0x200

Modèles USB

Grâce à Hotplug, ces modèles sont autodétectés et installés automatiquement sur /dev/(input/)js* (cas de Mandrakelinux).

Vous pouvez les tester avec une interface graphique dans KControl dans KDE 3.3 et +.

L'installation complète -en anglais- sur http://www.freelink.cx/joystick.html.

Plein d'infos également dans /usr/src/linux/Documentation/input/joystick.txt. Vous y apprendrez le nom de votre pilote de joystick et celui du support de port jeu de votre carte son.

En général, vous devez faire :

modprobe joydev ;

modprobe ns558 (sauf si vous avez une SB 64 ou 128 ou une cs461x, qui gèrent elles-mêmes le port jeu) ;

modprobe analog (pour tous les joysticks analogiques dont le MS Sidewinder standard) ;

modprobe sidewinder (pour les autres MS), modprobe adi pour les Logitech wingman (voyez les autres dans la documentation du noyau citée ci-dessus).

J'ai obtenu très facilement le fonctionnement d'un Logitech sous Mandrakelinux 9.1 avec les commandes ci-dessus. Pour tester, il y a les commandes js_demo et jstest.

Quelques exemples de modules.conf testés :

Wingman Logitech sur Aztech :

above snd-trident snd-pcm-oss

alias sound-slot-0 trident

alias js0 input

above input joydev pcigame analog adi

ou MS SideWinder ForceFeedBack Pro :

alias js0 input

above input joydev ns558 analog sidewinder iforce evdev

Utiliser le Joystick à la place de la souris

Ce peut être très pratique, par exemple pour les présentations sur écran. Vous devrez utiliser qjoypad : http://qjoypad.sourceforge.net

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.delafond.org/psilin, où vous trouverez PsiLin, une interface graphique en GTK pour faire marcher tout ça en quelques clics de souris (actuellement hors d'usage).

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.

Vous pouvez également échanger des fichiers entre Psion Series 3 et Linux avec comms côté Psion et minicom côté Linux.

L'émulateur PSION 3* s3aemul fonctionne très bien dans dosbox.

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

Merci à Éric BARONNET pour ces explications palmistes.

Pour le Zaurus

Une page française sur les Zaurus : http://www.zaurusfr.org/

Et mon scanner ?

Installez Sane (http://www.sane-project.org/). 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.xsane.org/). 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.

Un certain Michaël me signale que les cartes SCSI TEKRAM DC315U ont besoin d'être initialisées avec certains paramètres : modprobe dc395x_trm dc395x_trm=7,5,1,32 du fait que le module ne fonctionne pas pour toutes les fréquences (http://www.garloff.de/kurt/linux/dc395/).

(sane-)find-scanner > (sane-)find-scanner: found scanner UMAX Astra 1220S V1.3 at device /dev/sg1 #(cette commande ne marche que pour les scanners 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 (sane-)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

Une bonne page en anglais  : http://www.buzzard.org.uk/jonathan/scanners-usb.html.

Si vous voulez tenter votre chance, voyez ci-dessous ce qui vous attend.

Vérifiez que l'USB fonctionne. Si ce n'est pas le cas, recompilez le kernel (modules usb et usb scanner). La commande mount doit vous montrer l'usbfs (à condition que l'USB device 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 /(/usr)/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.

Si cette commande reste bloquée indéfiniment ou plante tout, faites export SANE_DEBUG_DLL=128 et relancez-la. Repérez les backends qui bloquent et effacez-les sans pitié (dans /usr/lib/sane). De toutes façons, ils ne vous servent à rien.

Assurez-vous aussi que le nom du pilote de votre scanner figure bien dans dll.conf. Les noms des autres pilotes peuvent être effacés.

Exemple du HP 5300C

Compilez le module pour hp53xx (nécessite le support SCSI dans le noyau).

Vérifiez que le pilote scsi est bien détecté par cat /proc/scsi/scsi qui doit vous montrer le scanner.

Tapez ensuite sane-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/scanner

option connect-device

Ensuite, utilisez normalement les programmes comme scanimage (scanimage --list-devices pour vérifier si tout marche), scanimage>fichier_image.pnm ou xsane pour faire de l'acquisition. La nouvelle 'interface graphique KDE s'appelle skanlite, mais est assez pauvre par rapport à l'ancien kooka..

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.

Les scanners basés sur Plustek (// et USB) ont une page web : http://www.gjaeger.de/scanner/plustek.html

Faire piloter le scanner par Gimp :

cd ~/.gimp-1.2/plug-ins

ln -s /usr/(X11R6/)bin/xscanimage xscanimage

Menu Fichier > Acquisition

Astuce ! Si votre scanner est trouvé par sane-find-sanner (scanners à composants SCSI seulement), mais pas par scanimage -L, c'est un problème de (/usr(/local))/etc/sane.d/<vendor>.conf. Soit le fichier n'existe pas, soit il est mal renseigné, soit il n'est pas à l'endroit escompté et il se peut que vous escrimiez à modifier un fichier qui n'est pas lu. Tout scanner fonctionnant sous sane a BESOIN d'un fichier dans sane.d.

Astuce ! Pour accélérer le démarrage de sane, supprimez toutes les entrées inutiles dans votre (/usr(/local))/etc/sane.d. Ne gardez que votre descripteur de scanner et dll.conf. Autre possibilité : éditez le dll.conf (c'est le fichier lu par défaut) et retirez toutes les lignes qui ne vous concernent pas.

Combinés Scanner / Imprimante HP

Il vous suffit, habituellement, d'installer hplip.

Le scanner ne nécessitera pas d'installation particulière, et vous pourrez y accéder depuis les programmes habituels de scan.

Vous pourrez aussi y accéder depuis la hp-toolbox

Pour les scanners réseau munis d'un serveur web, vous pouvez vous y connecter depuis votre navigateur, puis cliquer sur le bouton pour scanner. Une image jpeg apparaîtra dans le navigateur (ne nécessite aucune installation sur l'ordinateur).

OCR

Pour l'OCR (reconnaissance optique des caractères), il n'y a pas de bonne solution. Le moins mauvais OCR est Tesseract, assez facilement interfaçable avec xsane ou gscan2pdf.

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.

Il y a aussi gocr, qui a encore des progrès à faire, pilotable par les principales interfaces, et ClaraOCR (http://www.claraocr.org/) -lit le .pbm.

Pour reconnaître une simple partie d'un document, xsane permet l'OCR sur aperçu. Malheureusement, il faut numériser le document deux fois (mode aperçu, puis mode réel).

La photocopie

Les interfaces graphiques de scanner disponibles sous Linux sont assez médiocres.

Voici un petit script pour photocopier avec les outils de base :

#!/bin/sh

scanimage --mode Gray --resolution 300 -x 215 -y 297 >/tmp/image.pnm

lpr /tmp/image.pnm

rm /tmp/image.pnm

L'USB

Le site incontournable pour le support des périphériques USB : http://www.linux-usb.org/.

Désolé de faire de la peine aux nostalgiques, mais le support de l'USB commence à être correct avec le noyau...2.6.15. Si votre machine ne reconnaît pas l'USB au démarrage, ou si le démarrage plante sur l'USB, mettez à jour.

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

Les HUBS USB sont en général supportés, mais il peut y avoir des surprises. J'ai un TRUST qui fonctionne très bien avec la webcam, mais pas avec le scanner. Si un périphérique ne fonctionne pas, essayez-le branché directement sur le hub racine (celui qui est intégré à l'ordinateur).

Enfin, l'USB 2 commence à être supporté avec le kernel 2.4.19 (module ehci).

Le firewire (IEEE 1394)

Le firewire est un peu moins rapide sur le papier que l'USB2, mais son débit est garanti (valable pour les applications multimédia).

Sur une bonne distribution, le matériel simple (disque dur, par exemple) devrait fonctionner tout seul.

Assurez-vous d'avoir le module ieee1394 compilé avec votre noyau, et un fichier /dev/raw1394 (commande # mknod -m 666 /dev/raw1394 c 171 0).

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

Astuce : pour connaître les codes des touches dont vous avez besoin, utilisez xev dans un xterm, puis tapez sur les touches dont vous voulez le code.

Pour gérer les touches supplémentaires de votre Clavier ultra-spécial

Voyez l'excellente page http://shift.free.fr/?ordi_clavier_logitech.

C'est tout.

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.

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

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

La touche #@ ne fonctionne pas.

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

Histoire vécue sur Mandrakelinux 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>).

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 xorg.conf : « us-intl » au lieu de votre descripteur habituel (merci à Marc Falesse)

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, ajouter la ligne « /dev/hda1 /mnt/dosc vfat 0 0 0 » dans /etc/fstab. Un simple mount /mnt/dosc suffira ensuite. Pour les disques NT ou XP : « ntfs » au lieu de « vfat ». Pour écrire sur les partitions ntfs, il existe un pilote Linux natif, ntfs-3g. Il est tout à fait stable.

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 ajouter 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.tgz|tar xvf -

Le DVD

L'installation d'un DVD est identique à celle d'un CDROM. Pensez à faire pointer un lien symbolique /dev/dvd vers /dev/cdrom ou vers le vrai descripteur de périphérique (hdc, etc.).

Un ordinateur très banal actuel peut décoder les DVD Vidéo d'une manière logicielle.

Le seul problème provient des DVD vidéo, à cause d'algorithmes de cryptage (zonage), secrets jusqu'à un passé récent. Dans ce cas, vous aurez besoin de la libdvdcss (disponible sur le site du PLF dans le cas de Mandriva, par exemple).

Essayez par exemple mplayer dvd://3, si vous voulez lire la 3ème piste.

Générer un DVD Vidéo

N'oublions pas que Linux est aussi un système de création multimédia.

Il existe de nombreuses interfaces qui permettent de générer les pistes, les titres, en prévision de la gravure sur un DVD.

Après de nombreux essais, mon choix s'est porté sur MANdvd, qui permet, à partir de fichiers vidéo VOB ou MPEG, de créer un DVD avec vidéo de démarrage, écran d'accueil avec menus, génération de diaporamas sonores, etc.

Pour donner une idée de tous les moteurs nécessaires à la réalisation de ce genre de travail, voici la liste des dépendances de MANdvd :

L'interface vous permettra de générer une image iso prête à graver ou de la graver directement. Personnellement, le logiciel plantait avec les mpeg générés par Kino, mais fonctionnait très bien avec les VOB de kino.

Pour générer des DVD ultrasimples,le logiciel DeVeDe permet de "jeter" une série de vidéos mpeg sur un disque, sans menu ni séquences individualisées. Primaire, mais efficace.

Le transcodage en divx

Pour stocker vos propres DVD en DIVX, il est assez facile d'obtenir de bons résultats avec dvd::rip ou K3b.

Le programme Xine (http://www.xine-project.org/home/) lit 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. L'utilisation de xine est très simple. Le seul problème est pour le son sous KDE : xine -A arts (xine --help).

J'ai n'ai pas pu obtenir de résultat (plantage) de Kxine.

J'ai aussi eu de bons résultats avec mplayer. Le lancement en ligne de commande est plus compliqué. Sous KDE, je fais mplayer -alang fr -ao sdl -dvd 1 (sdl pour avoir accès au mixer KDE, sinon, pas de son). Si vous ou votre distributeur n'a pas oublié l'interface graphique dans la compilation, vous pouvez lancer gmplayer pour avoir le mode graphique.

Ou plus simplement, je mets dans le ~/.mplayer/config les lignes

alang=fr

ao=sdl

Pour la petite histoire, mplayer, ou plus exactement son copain mencoder, sait très bien transformer n'importe quelle source video en DivX.

Videolan sait aussi très bien transcoder n'importe quel support en ce qu'on veut par simple entrée et sortie de flux

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.

Ensuite, l'interface graphique xcdroast, gcombust ou k3b permettent de faire une gravure en quelques clics de souris.

Si votre interface de gravure ne trouve pas votre lecteur IDE (cdrom ou dvdrom) comme source pour une copie, faites-en un SCSI ! (append hdc=ide-scsi. Il ne vous reste qu'à vous y retrouver dans la salade de lettre (premier faux SCSI=scd0, deuxième = scd1)

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

Encore plus simple : dans la barre d'URL de Konqueror, vous écrivez audiocd:/ et le contenu du cdaudio s'affiche, y compris en .wav et .ogg. (le mot-clé que vous avez donné appelle un kioslave.

Les programmes en ligne de commande sont :

mkisofs pour créer les images iso

Ex : mkisofs -P "moi" -p "moi" -J -o 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).

Plus simple que mkisofs, notre ami dd : dd </dev/hdc > image.iso

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é)

Enfin, le must : K3b, le graveur polyvalent pour KDE fait tout : transcodages, gravure audio, bref, le bonheur.

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

Gravure de DVD

Selon Joris Marcillac

Utiliser les dvd+rw-tools

ceci marche pour

Il n'est pas nécessaire d'effacer le dvd-+RW et RAM. L'option -Z le fait directement à la volée. Si on veut quand même le faire, alors growisofs -Z /dev/graveur_dvd=/dev/zero

Pour effacer un DVDRAM : dvd+rw-format /dev/dvdrom

Les interfaces graphiques comme K3B gèrent ces programmes.

Gravure d'étiquette avec Lightscribe

Le système Lightscribe est un système normalisé, qui permet de graver une étiquette sur la deuxième face du disque, à condition que le graveur et le disque soient tous les deux faits pour.

On trouve actuellement deux logiciels :

Des astuces ici : http://guides-info.org/linux/applis/gravure.php#lightscribe

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 (Mandrakelinux 7.0 et +...).

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 Mandrakelinux 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.

J'ai eu de nombreux déboires avec l'automonteur sur Mandrakelinux 9.0, ce qui m'a amené à le désactiver (il semble fonctionner correctement avec une mise à jour du noyau).

Le fax

Disons-le tout net, tant pour l'envoi que pour la réception, le fax sous Linux est une vraie punition.
En effet, pour envoyer un fax, il faut d'abord convertir la page, puis l'envoyer au modem avec le numéro de téléphone du destinataire et des identifiants d'expéditeur.
Pour recevoir un fax, il faut mettre le modem en veille active, sans de préférence bloquer son utilisation pour d'autres usages (numéroteur Internet, Minitel par ex.)

Pour ce faire, il faut utiliser un moteur (efax, hylafax, mgetty+sendfax par exemple) et de préférence une interface graphique.
Nous verrons que tant la configuration que l'utilisation réservent des surprises.

Choix d'une interface matérielle (backend ou moteur)

Si votre utilisation du fax est basique (simple envoi et réception à partir d'une machine), le bon choix est efax.
Si votre utilisation est complexe (réseau, nombreux clients), hylafax est un engin d'une puissance extraordinaire. Mgetty+sendfax est un peu du même genre, mais en moins perfectionné

Configuration d'efax

Efax est certainement le plus facile à configurer. Vous devez simplement éditer l'en-tête du fichier /usr/bin/efax pour y mettre vos paramètres. Un petit piège : sous Mandrakelinux 9.2 (config déportée dans < i>/etc/fax.config), le premier port série se nomme /dev/tts/0, ce qui perturbe pas mal efax. Vous devez faire pointer DEV=tts/0, et donner une valeur qui n'utilise pas $DEV à LOCK.
Vous pourrez tester votre config en lançant la commande fax answer. Le modem doit décrocher si vous recevez un appel sur la ligne.
Si cela fonctionne, vous pouvez ajouter la ligne suivante dans /etc/inittab:s1:345:respawn:/bin/sh /usr/bin/fax answer
Pour lire les fax entrants, il est possible d'utiliser par exemple kfax, en le faisant pointe vers le répertoire où vous avez demandé aux fax d'arriver. Je ne connais pas de moyen simple d'être averti d'un fax entrant.
Pour envoyer un fax, les interfaces comme kdeprintfax fonctionnent bien à quelques réserves près. Ne mettez surtout pas d'espace dans le nom d'expéditeur et dans les champs voisins.

Configuration de mgetty+endfax

Lancer mgetty /dev/ttyS0 (si votre modem est en com1)

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.

Configuration d'Hylafax

Des détails sur Hylafax sur la page de Maurice Libes à http://www.linux-kheops.com/doc/hylafax/hylafax-com.html

Attention ! Les paquets hylafax et mgetty-sendfax sont incompatibles (contiennent des commandes de même nom)

Pour faxer depuis OpenOffice.org

Autre possibilité sous OOo/KDE : faire pointer l'impression sur kprinter et s'arranger pour que KPrinter gère fax et impression.

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 :

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.

Efax a une interface graphique fax4CUPS (fonctionne aussi avec HylaFax), disponible à http://vigna.dsi.unimi.it/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://pficheux.free.fr/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 Mandriva, 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/xorg.conf (sur Suse, xorg.conf est directement dans /etc).

Installez le rpm, puis allez voir ce qui est écrit dans le xorg.conf bidon. Collez la ligne qui s'y trouve dans votre vrai xorg.conf, 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://linuxwacom.sourceforge.net/. Ce pilote s'appelle Xinput, et se place dans /usr/X11R6/lib/modules. Ensuite, modifiez votre XF86Config selon les instructions fournies sur le site.

Un site plus récent avec les instructions complètes : http://ricardo.ecn.wfu.edu/~cottrell/thinkpad/tpa21m/wacom.html . J'ai fait un simple copier-coller dans xorg.conf pour faire fonctionner une tablette USB.

Les tablettes Aiptek (Trust p.ex.) fonctionnent aussi sans configuration.

Le Plug and Play des tablettes graphiques sous X est actuellement opérationnel.

Et mon appareil photo ?

L'appareil photo est un des rares périphériques qui ne devrait pas vous poser de gros problèmes. Tout appareil disposant d'une disquette amovible (Compact Flash, Smart Media, Memory Stick, SD, MMC) vous permet au moins de récupérer les photos via un adaptateur externe (PCMCIA ou USB en général). Certains appareils, souvent bas de gamme, ne disposent que d'une mémoire interne, et vous devrez vous renseigner sur leur gestion par Linux avant de les acheter. Si vous désirez connecter directement l'appareil photo à l'ordinateur par son câble (série ou parallèle), vous aurez besoin d'un pilote. Le plus souvent, les appareils USB acceptent d'être reconnus comme de simples disquettes USB-Storage. Un montage classique fera l'affaire.

Pour les autres, il y a des protocoles spéciaux, souvent pris en compte par gphoto2. (http://www.gphoto.org).

Une fois installé, lancez gphoto2 --auto-detect, seulement si vous êtes en'usb. Sinon, déterminez le type de pilote à utiliser avec gphoto2 --list-cameras. Ensuite, établissez les paramètres avec gphoto2 --port serial:/dev/ttyS0 --camera "Olympus C-2020Z" (par exemple). Par la suite, ces paramètres seront enregistrés dans ~/gphoto/settings. Vous pourrez récupérer --ou uploader-- vos photos en ligne de commande ou avec une interface graphique comme gtkam, digikam ou...Konqueror (protocole ioslave camera:/, malheureusement parfois inopérant).

La liste des appareils connus et du protocole se trouve à http://www.teaser.fr/~hfiguiere/linux/digicam.html

Pour faire un diaporama avec vos photos situées dans un répertoire de votre PC, utilisez gqview, kuickshow ou kview.

Pour lire les Photo CD (format .pcd), vous pouvez utiliser le convertisseur hpcdtoppm. Exemple de syntaxe : hpcdtoppm -2 image.pcd image.ppm. L'option -2 correspond à la résolution que vous souhaitez pour l'extraction. L'image .ppm peut ensuite être facilement ouverte avec divers programmes, comme GIMP.

La webcam

Les webcams sont plutôt bien supportées sous Linux. Elle se présentent, de nos jours, sous forme de petites caméras USB, WiFi ou Ethernet. Les modèles Série et Parallèle ne sont plus d'actualité. Certains appareils photos intègrent également une fonction webcam, parfois gérée.

Le pilote à utiliser dépend du chipset, mais la détection est le plus souvent automatique, et vous n'aurez pas grand chose à faire.

Les webcam Philips USB peuvent se raccorder. Voir http://www.saillard.org/pwc/

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

La page sur les webcams à base de Sunplus, Etoms, Conexant, Z-star ~ Vimicro, Sonix, Zoran et IcMedia ~ TransVision : http://mxhaard.free.fr/

Une page sur les webcams à base d'OmniVision : http://alpha.dyndns.org/ov511/cameras.html

Une page sur les webcams basées sur les chipsets ZC 030x : http://zc0302.sourceforge.net/zc0302.php

Une page sur les webcams konica : http://www.si.org/konica

Les caméras gérées par le module cpia sont là : http://webcam.sourceforge.net

Une liste de tous les projets de pilotes de webcams : http://mxhaard.free.fr/liensspca.html

Un site sur les webcams : http://tomatlab.videontv.org/webcam/webcamlinux.html

Il y a également une très bonne page sur http://www.lea-linux.org/documentations/index.php/Les_webcams.

J'ai installé très facilement une Logitech quickcam express USB en allant sur http://qce-ga.sourceforge.net/. Ensuite, make, puis ./quickcam.sh. Insertion du module par insmod mod-quickcam.

Pour automatiser la chose, j'ai mis dans le /etc/modules.conf les lignes

post-install usb-uhci modprobe videodev

post-install videodev modprobe mod_quickcam




Les programmes d'affichage sont par exemple Xawtv, vic, ou apache pour s'afficher sur le Net.

Pour régler la colorimétrie ou la luminosité de votre webcam, spcagui de Michel Xhaard peut agir sur toutes les webcams.

Pour capturer des images en fonction de la détection de mouvement, motion se trouve à http://www.eleceng.adelaide.edu.au/Personal/dbowler/motiondetect.html

Caméscope numérique

Les caméscopes Firewire sont assez faciles à faire fonctionner (voir le chapitre dédié).

Ensuite, lancez kino, permettant de faire la récupération des séquences, le montage, ou la capture en direct.

Pour information, si vous constatez sur votre ordinateur dédouble les images animées "en peigne", c'est normal, car votre caméscope saisit les images d'une manière "entrelacée". Schématiquement, au lieu de capturer 25 images par seconde, il en capture 50 demies, une ligne sur deux. Cela tombe bien, car c'est comlme cela que fonctionne votre téléviseur. Le problème, c'est que votre ordinateur, lui, balaye toute l'image d'un coup, et que cet effet de trame apparaît. Si vous voulez vour des images nettes sur votre ordinateur, vous devrez faire appel à une fonction de désentralecement, c'est-à-dire à un calculateur qui essayera de deviner comment serait une image fixe, compte tenu des trames précédentes et suivantes. Le résultat est toujors imparfait.

Le montage peut aussi se faire avec kdenlive (très incomplet début 2006).

Onduleur

L'onduleur, appareil composé d'une batterie actionnant un générateur de courant alternatif, destiné à pallier les défaillances de la prise de courant peut fonctionner avec tout type d'ordinateur, simplement en s'intercalant sur le secteur.

Pour bénéficier des fonctions avancées, permettant la sauvegarde et l'arrêt de l'ordinateur en cas de batterie faible, ainsi que d'interroger l'appareil pour connaître son état, vous aurez besoin d'un pilote spécifique.

bla Toutes les explications pour les MGE sont sur http://opensource.mgeups.com/howto.htm.

Pour faire fonctionner un MGE Protection Center 675 (sponsorisé par MGE), il faut :

Installer nut et nut-server (et éventuellement knutclient, l'interface graphique et nut-cgi pour l'accès par navigateur).

(Le nom par défaut de votre onduleur est ups_name – ne le changez pas, ou changez-le partout)

Mettre dans /etc/ups/ups.conf :

driver = newhidups

port = auto

Autoriser l'accès à un client local ou distant dans /etc/ups/upsd.conf.

Copier /etc/ups/upsmon.conf.sample en /etc/ups/upsmon.conf, et modifiez-le comme suit :

MONITOR ups_name@localhost 1 monuser mypass master

(lisez les commentaires du fichier)

Démarrer les services upsd et upsmon

Tester :

$ upsc ups_name@localhost

battery.charge: 99

battery.charge.low: 30

battery.runtime: 1732

driver.name: newhidups

driver.parameter.port: auto (etc.)

Notez que le système est orienté réseau, et que vous pouvez ainsi contrôler le fonctionnement d'installations dans le monde entier dans un simple client knut.

Les paramètres sont dans /etc/ups/upsmon.conf.


8. L'ordinateur portable

Lisez http://tuxmobil.org/howto_linux_laptop.html

Le modem pour ligne filaire

Lorsqu'il est intégré, il est du type Winmodem.

Certains Winmodems sont correctement supportés, comme les SmartLink (module slamr) ou Lucent (ltmodem), mais ces derniers temps, rien d'utilisable avec Mandriva (seulement Ubuntu).

Modem PCMCIA

J'ai eu des bons résultats avec un XIRCOM RBEM56G-100. L'insertion de la carte insère les modules tulip_cs et xircom_cs. L'interrogation de dmesg nous montre un nouveau port série ttyS04. Il suffit de faire un lien ln -s /dev/ttyS4 /dev/modem.

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)

(Merci à Alain Labarthe pour le plus gros de cette rubrique).

Liste par type de carte (Ethernet, Wireless, etc.) :

http://pcmcia-cs.sourceforge.net/ftp/SUPPORTED.CARDS

Liste par vendeurs :

http://tuxmobil.org/pcmcia_linux.html

ATTENTION: ne pas acheter une carte PCMCIA qui n'est pas dans la liste.

Vous pouvez activer le PCMCIA avec la commande magique /etc/(rc.d/)init.d/pcmcia start.

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), /etc/pcmcia.conf (anciennes Debian) ou /etc/default/pcmcia doit comporter les lignes « PCMCIA=yes » et « PCIC=i82365 » (dans le cas d'un PCMCIA Intel).

Pour connaître les cartes insérées, tapez cardctl ident. 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).

La liste des cartes PCMCIA connues se trouve à http://tuxmobil.org/pcmcia_linux.html.

L'économie d'énergie :

La gestion correcte des différente options d'économie d'énergie sous Linux n'est pas ce qui se fait de mieux. Les kernels vers le 2.6.23 ont fait des progrès, mais beaucoup reste à faire. Par exemple, beaucoup de cartes filles possèdent un mode de veille que Linux ne gère pas du tout. Les nouveaux kernels devraient améliorer la situation.

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.

L'économie d'énergie peut être gérée par APM (ancien) ou ACPI (récent). Malheureusement, si la gestion de l'ACPI est bien présente dans les kernels 2.6, certains BIOS sont rejetés.

Si l'ACPI est activée, vous devriez avoir dans le panneau de configuration de KDE (par exemple), des options pour moduler la vitesse du processeur.

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.

Encore une astuce (de Damien Boureille) pour éviter les blocages liés à X lors de la mise en veille : mettre dans le même fichier LOCK_X="yes".

L'hibernation

Cette technique, qui consiste à copier la mémoire vive sur une partition spéciale du disque dur, puis à faire l'opération inverse lors du redémarrage est faisable. Pour certains BIOS (Phoenix), il faut avoir sur le disque (souvent en hda4) une partition de type a0, la formater avec un utilitaire spécial (lphdisk sous Linux ou phdisk.exe sous DOS) puis activer la commande physique qui provoque le « suspend to disk ».

Pour d'autres BIOS (Insyde), il faut utiliser le programme DOS livré avec l'ordinateur du nom de 0vmakfil.exe. Certaines versions nécessitent un disque entièrement vide, d'autres acceptent de travailler avec un disque ayant déjà des partitions pourvu qu'il y ait de la place

Certaines machines ont une touche différente pour le « suspend to RAM » et le «suspend to disk », pour d'autres, c'est la même touche (souvent Fn-F12), avec un choix préalable dans le BIOS.

Powersaved

Avec un PC moderne avec ACPI, lancez le service powersaved (nécessite cpufreq). Le simple lancement de ce service (à mettre en démarrage automatique avec les autres services) permet souvent d'entendre le ventilateur s'arrêter.
Ce service permet de nombreuses actions ou informations sur l'énergie (tapez powersave pour les différentes options.

Touchpad synaptics ou ALPS

Il existe un pilote spécial pour les touchpads Synaptics et ALPS, émulant par tapotement le clic droit et central, ainsi que les ascenseurs verticaux et horizontaux.

Voir http://w1.894.telia.com/~u89404340/touchpad/index.html.

Ce driver nécessite le chargement préalable du module evdev.

Le Tablet PC

Le tablet PC est une invention géniale de Microsoft, qui s'est avérée invendable, probablement du fait d'un prix prohibitif comparé à une avancée peu évidente.
Il n'en demeure pas moins que ces appareils sont intéressants et fonctionnent assez bien sous Linux.

La surface tactile

C'est, en fait une tablette Wacom, qui s'installe comme toute tablette Wacom. Pour le moment, je n'ai pas réussi à faire fonctionner la sensibilité à la pression ni le 3ème bouton du stylet.
Pour écrire sur une page blanche avec le stylet, vous devriez installer xournal.

Clavier virtuel

Pour saisir avec le stylet, il existe plusieurs claviers virtuels : xvkbd, kvkbd, etc.
Je n'ai pas réussi à les faire démarrer avant le login pour pouvoir se loguer au stylet.

Reconnaissance d'écriture

Le logiciel cellwriter fournit aussi bien un clavier virtuel et une reconnaissance de caractères. Malheureusement, le clavier est en qwerty, et la reconnaissance est parfois surprenante.

Rotation d'écran

Les tablet PC permettent de voir l'écran aussi bien en mode paysage que portrait.
L'applet KDE krandrtray permet d'effectuer la rotation, mais celle-ci n'est pas synchronisée avec celle du stylet.
Pour obtenir les deux rotations, vous devriez écrire un script faisant appel à xrandr et xsetwacomsimultanément.

La carte graphique

Elle est en général facilement installée.

Une astuce avec les NeoMagic : sous peine de gels du serveur X, il vaut mieux insérer une ligne comme suit dans le xorg.conf :

Section "Device"

Identifier "Neomagic"

Driver "neomagic"

Option "ShadowFB" #Cette ligne est la ligne importante

Les cartes ATI ne peuvent bénéficier du pilote propriétaire que depuis début 2006. Vous pouvez faire la configuration avec l'outil fourni avec le pilote, aticonfig. Cette même commande admet de nombreuses options pour gérer la sortie TV, la résolution, etc.

Internet par téléphone portable

1 ordinateur portable + 1 téléphone portable = Internet de n'importe où (enfin, presque !)

Achetez un téléphone intégrant un modem + un câble spécifique ou l'infrarouge ou un téléphone avec connectique + un modem spécial (ex. carte PCMCIA Xircom multiport).

Vous devez aussi avoir un abonnement spécial data (rien à voir avec le WAP).

Ensuite, la configuration est identique à celle d'un modem normal. Simplement, vous serez limité à 9 600 bps : éliminez les mails trop gros par exemple en webmail ou avec un Kmail récent (fonction de filtrage sur le serveur).

Pour télécharger des musiques + logos ou lire l'agenda du téléphone par infra-rouge ou port série, utilisez gnokii pour les téléphones Nokia.

Le pavé numérique sur USB

Les portables ont rarement un pavé numérique intégré au clavier, ce qui rend la saisie de séries de chiffres difficile.
L'utilisation de clavier numérique additionnel ne pose pas de problème particulier, (insertion des modules usbhid et usbkbd).
Seul problème : le clavier externe ne s'active que si vous passez votre clavier alphabétique en verrouillage numérique, ce qui vous prive de la moitié de vos touches alphabétiques.

Les adaptateurs de disquettes Flash sur PCMCIA

La multiplication des disquettes flash (Smart Media, Compact Flash, etc.) rend utile de pouvoir les lire directement sur le portable avec un adaptateur rapide et petit.

J'ai obtenu d'excellents résultats avec un adaptateur Dane-Elec 4in1 (d'origine Carry) sur Mandrakelinux 9.1, à condition de désactiver au boot le système devfs (devfs=nomount) des noyaux 2.4 sous peine d'un fonctionnement perfectible.

Ces adaptateurs présentent au système la disquette comme un disque IDE. Donc, dans mon cas, /dev/hde1, grâce au pilote ide-cs (la plupart des modèles devraient fonctionner avec les pilotes standard).

Une précaution : désactivez la carte avant de l'extraire (cardctl eject).

Une curiosité : ce n'est pas la présence de l'adaptateur qui active le système, c'est la présence de la disquette.


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> depuis la console qui l'a lancé. 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 cela ne répond pas, il existe une combinaison de touches de sauvetage qui n'est pas interceptée par X : Alt + Syst + S-U-B (maintenir Alt et ImprÉcran, et actionnez successivement S, U et B). Cela devrait provoquer un redémarrage après avoir synchronisé les disques.

Si vous êtes vraiment obligé de faire un Reset, le redémarrage pourrait être difficile (surtout en ext2 - ext3). 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.

Quelques explications sur l'utilisation de fsck ici : http://astuce.linux.free.fr/Les_systemes_de_fichier/Reparation_du_systeme_de_fichier.html

Si votre micro est seulement très ralenti, tapez top. Vous verrez peut-être un processus 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é (ne tue souvent que la partie graphique de l'application -- vérifiez par ps aux que tout est bien arrêté)..

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 -h (disk free -human readable). Kdfree = pareil, mais en plus beau.

Un piège ! Il est tout à fait possible qu'un disque disposant de place libre ne veuille plus écrire. La raison ? La table des inodes (les descripteurs de fichiers) est pleine. Pour le savoir : df -i.

Pour l'occupation des répertoires : du (disk usage). 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 ?

Tapez : 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.

Les quotas

L'administrateur peut décider de la taille maximale de disque attribuée à un utilisateur. Pour cela :

Attention ! Le système de quotas étant basé sur le comptage des inodes du système ext2, il ne fonctionne pas sur un système différent comme Reiserfs. Il y a une version spécifique de quota pour Reiserfs, mais encore en stade Beta.

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 vous voulez lancer systématiquement un programme donné avec une priorité donnée, modifiez la ligne de commande raccordée au bouton ou au menu d'interface graphique de la meme manière.

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.

Il est possible de pousser la logique un peu plus loin encore, car l'utilisateur que nous sommes ne lance pas tout à la main. Un certain nombre de démons sont lancés sans nice par votre distrib préférée. Citons cups (impression) et postfix (courrier) comme exemple. Il est, là aussi, possible d'agir, mais c'est un peu plus complexe.

Les daemons sont lancés par des scripts. En utilisant webmin, il est relativement simple de pouvoir les modifier.

* postfix : il faut repérer une ligne contenant « /usr/sbin/postfix start » et de la faire précéder de "nice -n numéro_de_nice".

Ça donne (sur Mandrakelinux 9.2) "nice -n 20 /usr/sbin/postfix start 2>/dev/null 1>&2 && success || failure".

* cups : même logique, on cherchera une ligne contenant « cupsd ». Attention, sur Mandrakelinux 9.2, au moins, une commande daemon est utilisée. C'est en réalité une fonction définie dans /etc/init.d/functions. daemon est capable d'utiliser nice, il suffit de lui demander. On aura « daemon +20 cupsd » pour fixer une politesse très élevée.

En répétant la démarche, on obtient un système qui répond au doigt et à l'oeil, même en pleine charge de manière prolongée. (Merci à Pierre Couvy pour cette astuce).

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 multiutilisateur.

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 tâches (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 Mandrakelinux 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.

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 ajoutez « 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 : 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 synchroniser l'horloge système avec celle du BIOS : hwclock --hctosys.

Utiliser Internet pour mettre la pendule à l'heure : rdate -s 128.115.14.97 (sous root).

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 :

Pour cela, vous pouvez lancer le setup de Redhat, Drakconf 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 « 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 (démarrage de type système V).

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 de Linux ?

À l'invite, tapez uname -a. Lorsque vous demandez de l'aide, donnez toujours les renseignements sur votre distribution (Ex : FedoraCore 3), le noyau (ex : 2.6.10), et le serveur X.org (6.8).

Ne polluez pas les newsgroups avec des problèmes de matériel 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://traduc.org/docs/HOWTO/vf/Ext2fs-Undeletion.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, ou unrm, pour ext2 et ext3.

La méthode la plus simple et la plus répandue : Midnight Commander (mc) dispose d'un mode de récupération (<F9> Commande - récupération de fichiers). Problème : ne marche que sur ext2.

Pour reiserfs : reiserfsck --rebuild-tree -S. Permet de revenir sur un « rm – fr ».

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 (examine tout le disque pour essayer d'en comprendre la structure et réécrit la table des partitions qui correspond).

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 Mandriva) est très intuitif, en mode graphique. Sinon, Gnuparted ou QTParted. 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.

Autre méthode pour lancer un xterm avec des polices utf-8 : xterm -u8 -fn fixed.

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.


10. Le mode graphique

Comment lancer X ?

Depuis une console texte : startx.

Si ça ne fait rien du tout, vous avez oublié d'installer X ! Recommencez l'installation en « mise à jour ».

Si ça tente de démarrer, puis que ça plante, ça se complique.

Selon votre distribution, tapez xf86config, Xconfigurator, configX, xf86setup,yast (suse), xf86cfg (XFree 4.02)

Mon faible va à drakexconf, livré avec Mandriva.

Si ça coince, il va falloir éditer le fichier /etc/X11/xorg.conf (ou pas « /X11/ ») à la main. Une bonne doc, et bon courage ! Lisez man xorg.conf et le man de votre serveur X. Par exemple, il peut falloir ajouter 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://xtiming.sourceforge.net/cgi-bin/xtiming.pl. ou avec la commande gtf 1600 1024 60 (dans le cas d'un écran de 1600x1024 à 60 Hz).

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/.

Sur x.org, il s'appelle toujours xorg.conf.

Pour installer X.org, 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).

Notez que les progrès faits dans l'autoconfiguration font que les versions récentes de X fonctionnent avec un xorg.conf quasiment vide, mais que celui-ci peut être renseigné quand même et que, dans ce cas, les réglages qui y figurent supplantent les réglages automatiques.

Notez aussi que les noyaux supérieurs à 2.6.30 commencent à intégrer le pilote graphique (système Kernel Mode Setting), auparavant intégré dans le serveur X pour des raisons historiques. Cela n'aura que des avantages quand toutes les migrations seront correctement effectuées.

Lancer X automatiquement

Sur Red Hat/Mandriva, éditez le /etc/inittab, puis remplacez « id:3:initdefault » par « 5 ». Sur Suse, remplacez 2 par 3. 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 KDM/GDM, vous devez avoir un répertoire /etc/X11/wmsession.d contenant un script par système graphique démarrable. Le numéro qui précède leur nom indique leur place dans la liste.

Vous pouvez régénérer ces fichiers avec chksession.

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.

Mandrakelinux à partir de 9.0 a supprimé la ligne prefdm dans inittab pour mettre un script dans /etc/init.d/ nommé dm

Ensuite, dans le centre de configuration kde, applications, configuration du bureau, sessions, ajoutez 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'initdefault à 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 ajoutez 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 ajouter 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 (1 Mo de mémoire sur la carte), 1024X768 sont encore mieux (2 Mo 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).

DefaultDepth 16

dans le xorg.conf (section screen, dans la rubrique correspondant à votre serveur X, avant « subsection display »).

Mon écran est tout décalé ou tout flou

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 X.org, les Modelines de xorg.conf sont facultatifs (si tout va bien). 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 (section Monitor).

Si vous avez un écran à la résolution bizarre, vous devez d'abord identifier ses caractéristiques de résolution et de rafraîchissement (tapez xrandr en ligne de commandes) :

$ xrandr

SZ: Pixels Physical Refresh

*0 1280 x 1024 ( 332mm x 250mm ) *60

1 1024 x 768 ( 332mm x 250mm ) 85 75 70 60 87

puis calculer un Modeline personnalisé. Pour cela, vous disposez d'un utilitaire : gtf.

gtf 1600 1024 60 (résolution H – V fréquence verticale)

# 1600x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 136.36 MHz

Modeline "1600x1024_60.00" 136.36 1600 1704 1872 2144 1024 1025 1028 1060-HSync +Vsync

Vous devez copier la ligne ci-dessus dans la section Monitor du xorg.conf.

Attention ! Certaines documentations d'écran sont un peu enthousiastes, donnant comme fréquence verticale une valeur qui ne fonctionne pas à la résolution la plus haute. Dans ce cas, l'écran basculera dans une résolution plus basse sans le dire. Si votre image reste un peu floue et d'une résolution inférieure à celle demandée, essayez de baisser la valeur de la fréquence verticale.

Les polices (true type)

Vous pouvez utiliser des polices TrueType de Windows.

Pour cela, installez le serveur de fontes xfstt. Le rpm devrait tout installer facilement. Entre autres, il ajoute une ligne

FontPath "inet/127.0.0.1:7101"

dans XF86Config, ainsi qu'un service xfstt dans /etc/rc.d/init.d/

Copiez vos fontes .ttf dans /usr/share/fonts/truetype. (ou créez un lien symbolique de même nom vers le répertoire de fontes sur votre éventuelle partition Windows).

Si vous utilisez le serveur de polices xfs (ce qui se traduit par une ligne FontPath "unix/:-1" dans XF86Config, ajoutez vos chemins de fontes dans /etc/X11/fs/config.

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 en mode texte dans la console, mais pas de programme graphique.

La solution : l'hôte doit lancer la commande xhost +

L'invité tape (seulement s'il est sur une autre console texte ou graphique) : 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 ?

Pour quitter X : <Ctrl-Alt-Eff> ou les menus de l'environnement graphique (l'idéal).

Pour quitter Linux complètement, il ne faut jamais éteindre sauvagement. Si vous êtes tout seul (pas de réseau) :

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, ATI, , Intel...) mettent à disposition des pilotes 3D accélérés. La marque VIA (cartes Unichrome, ex S3) est resté à l'écart et a rejoint le projet de driver libre openchrome début 2009. Pour le moment, le support vidéo de ces cartes reste mauvais.

Il faut aussi savoir que la 3D est quelque chose de complexe, qui comporte de nombreuses fonctions, pas forcément toutes supportées, ce qui est bien dommage, car les nouveaux bureaux (compiz, kwin, etc.) ont besoin des fonctions les plus avancées.

NVIDIA

La situation des cartes Nvidia est complexe : il existe depuis longtemps un driver plus ou moins libre nommé nv, maintenant obsolète. Le pilote libre nouveau est son successeur très amélioré.

Nvidia fournit aussi un driver propriétaire, décliné en quatre versions selon le modèle de la carte graphique :

L'inconvénient de ces drivers binaires, développés hors communauté est, en dehors de l'introduction de code incontrôlable sur nos machines, d'introduire un risque d'incompatibilité à chaque nouvelle version des systèmes sous-jacents (noyau, X).

Il faut :

ATI

Les ATI modernes (radeon) ont un pilote propriétaire (fglrx) et unpilote libre (radeon ou radeon HD), dont la qualité est excellente.

Autres

Les cartes Unichrome et Intel peuvent également avoir une accélération 3D très correcte

Quelques infos :

Le système GLX est une encapsulation d'OpenGL pour xorg. Donc, il supporte la 3D en réseau. Pour aller plus vite, DRI (http://dri.sourceforge.net) permet d'accéder directement au matériel sans passer par X.

Des détails sur http://www.linux-france.org/article/3d/securite.html.

Vous pouvez tester par glinfo et glxinfo.

Si vous avez le paquetageMesa-demo, vous pouvez lancer les démos (je vous recommande « reflect »)

Vous pourrez en profiter ensuite avec tuxracer, tuxkart, chromium, gltron et bien d'autres...

Le multiécran

Avec XOrg, vous pouvez avoir plusieurs cartes graphiques et donc plusieurs affichages.

Je vous recommande la lecture du How-To Xinerama, très bien fait.

Si vous voulez une accélération 3D, sachez qu'elle est assurée indépendamment sur chaque carte. En cas de modèles différents, il peut y avoir des surprises.

Enfin, certaines cartes tolèrent mal le xinerama (Voodoo Banshee par ex., qui gèle ou capte la souris)

Avec XOrg 6.8 et +, vous pouvez même répartir le multiécran sur plusieurs ordinateurs, chacun portant une ou plusieurs cartes graphiques (avec le système DMX : http://dmx.sourceforge.net/).

Il s'agit simplement d'accepter le partage d'écran sur toutes les machines susceptibles d'afficher une partie de l'image (dont le serveur). Ces machines peuvent porter n'importe quelle version de X.

Sur la machine serveur (XOrg 6.8 obligatoire), vous devez lancer la commande xdmx :1 +xinerama -display machine1:0 -display machine2:0.

Le multisiège : plusieurs utilisateurs sur le même PC

Vous connaissez le double écran et le terminal X. Voici maintenant LA manière de travailler à plusieurs sur un ordinateur.

Il s'agit de raccorder plusieurs écrans, autant de souris et de claviers DIRECTEMENT sur le même ordinateur, et d'affecter chaque couple clavier/souris à un écran. Cette méthode fonctionne sans ajouter de patch depuis Xorg 6.9, mais une version >= 7.1 devrait fonctionner dans de meilleures conditions.

Choix du matériel

Configuration

Insérez autant de cartes graphiques que vous le souhaitez dans votre ordinateur.

Configurez votre xorg.conf comme un multiécran ordinaire

Votre xorg.conf doit comporter autant de sections Monitor, Device, Screen et InputDevice qu'il y a d'utilisateurs

Donnez à toutes ces sections des noms faciles à identifier (Monitor1 et Monitor 2, par exemple) dans le champ "Identifier"

Remplacez Driver "Keyboard" et Driver "Mouse" par Driver "evdev", et ajoutez Option "Device" "/dev/input/eventX", où la valeur de X est trouvée dans /proc/bus/input/devices.

Ajoutez une deuxième Section "ServerLayout", et donnez-leur des identifiants reconnaissables (seat1 et seat2, par exemple). Adaptez le contenu pour que chaque valeur pointe vers bon Screen ou InputDevice

Installez gdm si ce n'est déjà fait, et modifiez le gdm.conf

Remplacez-y
0=Standard par
0=Standard0
1=Standard1

Ajoutez-y les sections
[server-Standard0]
name=Standard server
command=/usr/X11R6/bin/X -novtswitch -sharevts -layout seat1
flexible=false
[server-Standard1]
name=Standard server
command=/usr/X11R6/bin/X -novtswitch -sharevts -layout seat2
flexible=false

(pensez à toujours garder une cohérence dans votre numérotation)

Repassez dans le niveau d'init qui lance gdm : vous devriez obtenir 2 écrans de login graphique, chacun avec sa souris et son clavier.

Vous trouvez tous les renseignements sur http://blog.chris.tylers.info/index.php?/archives/14-Multiseat-X-Under-X11R6.97.0.html.

Limites : les versions 6.9 et 7.0 ne gèrent pas correctement la table de clavier. Non seulement, vous serez en clavier anglais, mais, en plus, certaines touches auront un comportement bizarre (flèche actionne PrintScreen !). En attendant une nouvelle version débuguée, il vous faut recompiler X avec ce patch : https://bugs.freedesktop.org/show_bug.cgi?id=3912

Résolution de conflits avec Nvidia

Créez un fichier spécial, disons xorg.probeonly

Mettez dans la section ServerLayout les lignes

Identifier "probe"
Screen 0 "Screen 1"
Screen 1 "Screen 2" rightOf "Screen 1"

Ajoutez une ligne dans /etc.rc.d/rc.local la ligne suivante :

/usr/X11R6/bin/X -config xorg.conf.probeonly 2>/dev/null

De cette manière, les cartes graphiques seront initialisées.

Ajoutez, dans la section ServerLayout qui gère la carte NVidia, les lignes

Option "UseInt10Module" "True"
Option "NoInt10" "True"

Ajoutez, dans la section ServerLayout qui gère l'autre carte

Option "NoInt10" "True"

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 et plus permettent d'avoir la fonctiontion 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 XOrg)

(Fin de la Section Screen)

Option "TwinView"

Option "SecondMonitorHorizSync" "30-50"

Option "SecondMonitorVertRefresh" "60"

Option "Metamodes" "800x600,800x600;640x480,640x480"

Option "TwinViewOrientation" "Clone"

Pour configurer la sortie télé, il existe un outil graphique : nvtv.

Si vous ne voulez pas du pilote propriétaire, il existe un pilote libre pour la sortie TV, nommé nvtv (voir http://sourceforge.net/projects/nv-tv-out.

Pour les cartes ATI, XOrg inclut maintenant le projet GATOS (http://gatos.sourceforge.net/). Le support de la sortie TV s'active simplement en basculant de console (Ctrl-Alt-F?).

Le pilote ATI propriétaire fournit une gestion de la sortie TV et une interface de configuration.

La capture vidéo

Pour capturer de la vidéo, vous devez avoir une entrée vidéo : Une fois le périphérique choisi, vous pouvez utiliser une interface graphique (xawtv, Videolan, etc) ou une ligne de commande (ffmpeg -vd /dev/video -r 15 -b 2048 -an -s 352x288 -t 10 video.mpg).

Le DivX

Vous voulez voir le dernier film à la mode ? 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,(unzip -d /usr/lib/win32 binaries-010122.zip), puis compilez et installez classiquement avifile. Vous pourrez alors lancer aviplay pour vos fichiers .avi.

Beaucoup de distribution distribuent un codec binaire nommé win32, qu'il faut installer en complément d'un lecteur vidéo quelconque.

Pour le montage video

Le principal logiciel de montage, à l'heure où ces lignes sont écrites est kino (http://www.kinodv.org/). Il permet la capture, le montage, l'exportation sous différents formats image fixe ou animée, l'insertion de scènes, gère quelques effets spéciaux. Il ne gère pas le doublage son, mais est beaucoup plus intuitif et stable que cinelerra.

Cinelerra (http://cinelerra.org/) est un logiciel assez complet de montage, mais son utilisation est difficile tant qu'on n'a pas compris le mode d'emploi.

Le meilleur logiciel libre de montage, alliant facilité d'utilisation et puissance est kdenlive (http://www.kdenlive.org/).

Cinepaint (http://cinepaint.sourceforge.net/), est un logiciel de retouche. En gros, vous découpez le film en images successives, et vous faites vos retouches comme avec GIMP, mais en visualisant par transparence les images précédentes et suivantes. ensuite, il suffit de reconstituer le film.

Le framebuffer

(Rubrique écrite par Damien Boureille)

Le framebuffer est un pilote vidéo générique, qui permet d'afficher des graphismes indépendamment de la carte graphique. Pour cela, les données sont écrites directement en mémoire vidéo, sans passer par le chipset de la carte graphique. La zone mémoire contenant ces données vidéo est également appelée framebuffer et apparaît dans /dev/fb0. Elle a la taille de votre mémoire vidéo.

Il y a plusieurs intérêts à cela.
Tout d'abord, si votre chipset vidéo ne possède pas encore de driver pour Linux, et que le mode VGA 16 couleurs sous X ne vous suffit pas (ça alors ?), vous pouvez employer un framebuffer pour faire tourner X dans la résolution de votre choix. Mise à part la lenteur du pilote, vous devriez pouvoir utiliser toutes les applications courantes sans accrocs. Cela dit, n'espérez pas faire de la 3D :).

Le framebuffer permet aussi d'afficher des consoles dans la résolution de votre choix. Ainsi, il est possible d'afficher des graphismes dans une console, et d'avoir beaucoup plus de caractères dans un seul écran.

Avec les distributions répandues (RedHat et SuSE), le framebuffer est systématiquement compilé dans le noyau. Souvent, il est même activé dès le début ! Essayer de passer le paramètre vga=788 lors de l'invite de Lilo ou GRUB. Si vous voyez un beau logo (Tux, ou un logo de RedHat, SuSE...) en haut de l'écran, c'est gagné ! (Vous verrez même 2 Tux si vous avez 2 processeurs). Il vous suffit donc de toujours démarrer avec ce paramètre. Pour éviter d'avoir à le taper à chaque fois, éditez /etc/lilo.conf et ajoutez l'entrée suivante, dans la section Linux : vga=788. Avec grub, éditez /boot/grub/menu.lst et ajoutez ce paramètre à la suite de la ligne qui charge Linux. Inutile de préciser que seul root a le droit de faire ceci. Désormais, vous avez une console graphique !

Les choses peuvent se compliquer avec le framebuffer de X. Normalement, toutes les distributions « grand public » à ma connaissance (SuSE 8.1 et RedHat 8) détectent votre carte graphique automatiquement, et sélectionnent un pilote adéquat. Le plus souvent, si elles n'en trouvent pas, elles activent même automatiquement le pilote framebuffer. Si ce n'est pas le cas, et que votre carte graphique n'est pas détectée, sélectionnez-le manuellement. Il devrait se trouver dans les pilotes génériques.


Normalement, le problème doit être réglé.
La situation est donc bien différente d'autrefois, où il fallait configurer /etc/X11/xorg.conf à la main.


11. Le réseau

Linux sur une machine, c'est bien. Linux en réseau, c'est carrément top.

Installation de la carte réseau.

Procurez-vous une carte Ethernet compatible Linux, et installez-la (essentiellement vérifiez la présence d'un module adapté dans /lib/modules/2.x.xx), sinon compilez. Ajoutez les bons paramètres dans /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 rallumer 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

Enfin vous avez des utilitaires de diagnostic et de paramétrage de la carte réseau ici : http://www.beowulf.org. 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 (attribution automatique des adresses IP

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  !

Notez que le serveur DHCP peut aussi vous donner de nombreuses informations utiles : l'adresse des serveurs de noms (DNS), la passerelle, etc.

Forcer le nommage des interfaces réseau

Si vous disposez de plusieurs cartes réseau, dont certaines sont activables ou débranchables à volonté, vous pouvez être gêné que leur nom change selon leur ordre d'activation.
Il est possible de forcer le nom avec l'utilitaire ifrename, lancé dans un script de démarrage avant le démarrage du réseau.

Paramétrage d'un serveur DHCP

Le service se lance par /etc/rc.d/init.d/dhcpd start.

Astuce Mandriva : pensez à installer le paquet drakwizard pour avoir un tas d'assistants de configuration de serveurs dans le centre de configuration drakconf.

Réseau par carte WIFI

Le Wifi est une manière de raccorder des ordinateurs en réseau sans fil.

Dans les conditions habituelles, la portée est assez faible, mais bien meilleure que le Bluetooth (quelques dizaines de mètres en environnement bétonné).

Les débits sont très convenables (11 Mb/s pour le 802.11b, déjà obsolète, et 54 Mb/s pour le 802.11g).

En réalité, les débits sont très inférieurs à ces chiffres, mais on peut déjà regarder la télévision avec du 802.11b.

Il y a plusieurs manières d'utiliser le Wifi, particulièrement le mode "Ad-hoc", d'égal à égal, et le mode "Infrastructure", ou "Managed", nécessitant un point d'accès, c'est-à-dire une carte spéciale.

Les cartes Wifi se présentent sous forme de cartes PCI, USB ou PCMCIA. Il est également possible de mettre une carte PCMCIA dans un adaptateur sur un ordinateur de bureau. Les cartes intégrées aux portables peuvent être USB ou PCI. Dans le cas des portables, pensez à activer le Wifi au démarrage avec le bouton fait pour.

Le choix d'une carte Wifi est assez délicat. De nombreux matériels ont une compatibilité médiocre avec Linux, d'autres sont parfaits avec un driver natif, d'autres fonctionnent à des degrés divers avec une encapsulation du driver pour Windows (à éviter si vous le pouvez).

Grossièrement, il existe plusieurs combinaisons différentes pour une carte WiFi

Firmware Driver
Nécessaire natif
Non nécessaire encapsulation
Les cartes les plus simples à faire fonctionner sont celles qui possèdent un driver natif et n'ont pas besoin de firmware (un firmware est un petit logiciel qui est injecté dans le périphérique au démarrage -- il ne dépend aps de l'OS, mais encore faut-il en disposer pour effectuer la manoeuvre). En effet, les firmwares sont rarement libres,et ils ne sont pas fournis avec les distributions. Si la mawhine a une partition windows, un automate pourra le chercher, pour peu qu'il n'y ait pas de piège (répertoire d'installation atypique, nom en majuscules, etc.). Le firmware s'installe tout simplement en le copiant dans /lib/firmwares.

Pour configurer votre wifi :

Il va sans dire que, sur un réseau ouvert à tous les vents, les mesures de sécurité doivent être draconiennes. Si vous voulez n'autoriser l'accès à votre réseau que sur mot de passe, préférez le codage WPA au codage WEP, craquable en quelques minutes. Il est également possible de limiter l'accès au réseau à certaines adresses MAC.

Sur certains systèmes, il est préférable d'arrêter le réseau et le PCMCIA avant de retirer la carte (plantages sévères).

Il semble que l'activation du client DHCP ne soit pas faite automatiquement avec les cartes WIFI. Voilà une commande qui l'active :

dhcpcd -h nom_du_reseau eth0.

Il existe de nombreux outils graphiques pour se raccorder à un résau WIFI, mais la plupart fonctionnent assez mal. Selon les installations, j'ai eu des succès avec wifi-radar, network-config, wireless-assistant

Si vous avez une carte WIFI PCI, PCMCIA ou USB n'ayant pas de pilote natif Linux, il existe la possibilité d'utiliser les pilotes Windows avec ndiswrapper pour la faire fonctionner : http://sourceforge.net/projects/ndiswrapper/.

En résumé, dans le cas d'une Netgear WG 111 USB (qui peut aussi fonctionner avec le driver natif p54) :

Il existe des interfaces graphiques pour vous aider dans la configuration de l'accès au WiFi : kwifimanager, drakconf chez Mandriva, etc.

Outils additionnels :

Une bonne lecture : http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/

Le bluetooth

Le bluetooth est un mode de transmission radio conçu dans une optique particulière :

Dans ces conditions, il ne convient que pour échanger des petites quantités de données dans un tout petit rayon. La plupart du temps, on lui préférera le WiFi. Une des principales utilisations du bluetooth est la liaison à un téléphone portable

Le bluetooth peut être intégré à votre ordinateur portable ou ajouté au moyen d'un périphérique USB ou PCMCIA. Pour utiliser votre bluetooth, vous devez avoir un kernel qui gère tout ce qui touche au bluetooth (modules bluetooth, hci-usb selon les cas, etc.). Si c'est le cas, la simple insertion d'une clé bluetooth devrait montrer par une commande comme lsmod ou dmesg le bon chargement du module.

Installez tous les paquets qui contiennent "bluez" dans leur nom : bluez-utils, libbluez, bluez-hcidump, etc.

Activez le service bluetooth (par exemple, /etc/init.d/bluetooth start), ce qui devrait lancer les démons hcid et sdpd

De la même manière que le réseau fonctionne avec ifconfig, le bluetooth fonctionne avec hciconfig. Tapez hciconfig -a pour avoir le maximum d'informations.

Si vous lancez une recherche de bluetooth depuis un autre appareil, vous devriez voir apparaître votre ordinateur en tant que bluez. Pour voir les autres appareils depuis votre ordinateur, lancez hcitool scan

Pour voir les services disponibles, tapez sdptool browse

Sur une SuSE 10.1, j'ai pu communiquer très facilement avec un téléphone Samsung. Tout s'est installé automatiquement, et les interfaces graphiques (kdebluetooth) ont pris le relais.

Pour utiliser le Modem de votre téléphone 3G par l'intermédiaire du bluetooth, vous devriez installer gnome-ppp et suivre les instructions de cette excellente page : http://doc.ubuntu-fr.org/tutoriel/connexion_internet_via_mobile_bluetooth.

Curieusement, les superbes interfaces graphiques de paramétrage réseau fournies par les distributions ne veulent traitent pas les connexions bluetooth-modem.

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, ajoutez 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 ajouter.

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.

Prendre le contrôle par ssh

Mieux que telnet, qui échange les mots de passe en clair sur le réseau, ssh établit un canal crypté pour sécuriser l'échange de mots de passe.

La syntaxe : ssh -l compte_distant ip_distante. Ensuite, répondez aux demandes de mots de passe.

Bien sûr, sshd doit être installé sur le serveur et actif (service sshd start).

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

Cette méthode est souvent utilisée pour accéder aux ressources d'un ordinateur puissant depuis un vieil ordinateur (utilisé comme Terminal X). Si les deux ordinateurs sont dans la même pièce, vous ne devriez pas utiliser cette méthode, mais la méthode du multisiège, décrite plus haut.

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). Si votre machine utilise kdm, vous devez avoir dans le ??/kdmrc :

[Xdmcp] Enable=true.

Si vous avez gdm, la gestion de session distante se fait avec gdmsetup (sur une Mdk 9.0, c'est la seule méthode qui a fonctionné).

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 ajoutez 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.

Ajoutez 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 ».

X/Cygwin pour Windows. Voir http://cygwin.com/xfree/.

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), lui attacher un port série (slattach -p slip -s 19200 /dev/ttyS0& et lui attribuer une adresse IP (ifconfig plip0 192.168.0.1 pointopoint 192.168.0.2 up ou ifconfig sl0 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 voi dans dmesg ou setserial).

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 Coyote Linux (http://coyotelinux.com/).

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:0 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 :

-Du fait que 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

Le plus simple : ssh

Lancez sshd sur la machine serveur

Dans Konqueror, écrivez dans la barre d'URL : sftp://adresse_ip_du_serveur, puis un nom de login et son mot de passe. (Pour information, dans la barre d'URL de Konqueror, vous avez lancé un kioslave.)

Et c'est tout : le répertoire distant est dans votre fenêtre. Et en plus, c'est sécurisé par chiffrement

Le plus classique : nfs

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, ajoutez 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.

Une astuce pour créer plusieurs niveaux de répertoires d'un coup :

mkdir -p /www/{rep1,rep2/sous_rep1_de_rep2,rep2/sous_rep2_de_rep2}

Pour accepter les demandes de connexion ftp, 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 ajoutez-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é. Vous avez plusieurs interfaces graphiques pour configurer Samba, entre autres Webmin et Swat (swat se démarre automatiquement par xinetd, et se paramètre dans /etc/xinetd.d/swat) et vous y accédez par interface web avec http://127.0.0.1:901.

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/(samba/)smbpasswd par la commande cat /etc/passwd|mksmbpasswd.sh > /etc/(samba/)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.

On me signale que sur SUSE, le démarrage se fait par rcsmb start (restart)

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. À 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'accè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.

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 ou d'iptables et du firewalling

Iptables 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 : iptables -L.

Il est parfois difficile de savoir si un service ne répond pas par fermetire du port ou par absence d'activation.
Faites netstat -pel adresse_IP pour voir si le port est "LISTENING"
S'il est bien LISTENING, faites nmap adresse_IP pour voir s'il répond bien. S'il est fermé à ce niveau-là, c'est le service lui-même qui est fermé.

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 ajouter 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. 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. Ajoutez-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

Ajoutez 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 ajoutez 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 est dissociée de l'interface matérielle) de scanner en réseau. Vous avez besoin de dll et net, les composants intermédiaires nécessaires au réseau.

Le fichier /etc/sane.d/net.conf du client doit contenir une ligne
hôte:périphérique
Le serveur doit avoir une ligne
sane 6566/tcp
dans son /etc/services
(voir man sane-net et man saned).

Si vous voulez utiliser un client Windows, vous avez SaneTwain (http://sanetwain.ozuzo.net/)

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.

Devenir un serveur de courriers

Admettons que vous vouliez utiliser un de vos ordinateurs pour échanger des courriers entre machines de votre réseau.

Installez le serveur Postfix.

Les réglages se font dans /etc/postfix/main.cf. Renseignez vos myhostname, mydomain, myorigin, mydestination. Redémarrez le service, et vous n'avez plus qu'à envoyer vos courriers à votremachine.votredomaine.

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 ajoutant 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 ajouter 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 multiplate-forme, 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.

Sur KDE 3.1 et +, il y a une interface graphique pour VNC qui se trouve dans le centre de configuration, item Iternet et réseau. L'utilisation est très intuitive : quelques clics suffisent à partager un bureau en cours d'utilisation grâce à un envoi de mail automatisé.

Configurer Internet par Modem

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.

Pour choisir la numérotation en vocal ou en impulsions, il faut remplacer dans la chaîne de numérotation ATDT par ATDP, par exemple pour kppp, choisir Configuration/modem/Commandes du modem/chaîne de numérotation.

Sinon, Redhat propose un « netcfg » très simple et très efficace.

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 Penggy http://www.peng.apinc.org/ (non valable pour AOL en ADSL).

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.

Naviguer sur le Web

Linux propose de nombreux navigateurs : Firefox, Konqueror, Opera, Galeon, etc. pour le mode graphique. Il vous faudra installer flash (propriétaire, disponible en version 9) ou gnash (libre, assezfonctionnel), RealPlayer et java/javascript pour qu'un maximum de sites fonctionnent correctement. Sur les sites qui vous rejettent pour cause d'identifiant du navigateur, il est possible d'emprunter l'identité d'un autre navigateur par exemple avec Konqueror (fonction identité du navigateur).

Si aucun navigateur Linux n'est accepté, utilisez MS Internet Explorer ! Pour ce faire, il existe un script d'installation automatique nommé ies4linux qui installe automatiquement ie5 ou 6, pour un fonctionnement avec wine.

Pour la navigation en mode texte, il y a lynx, links et w3m, ces deux derniers étant plus complets et plus commodes.

Être un client FTP

Konqueror peut même faire du ftp avec mot de passe si l'on respecte la syntaxe suivante : ftp://votrelogin:votrepassword@ftp.votresite.

Si votre login contient le signe « @ », il faut le remplacer par « %40 ».

Vous pouvez aussi essayer gftp ou... toujours Midnight Commander.

Si le serveur ftp n'accepte pas le mode interactif, ftp tout court en mode texte ou ncftp.

Autre possibilité : wget wget -c ftp://[adresse] ou wget -c http://[adresse]. Vous permet de récupérer des arborescences 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 (Konqueror fait aussi cela très bien automatiquement et sans syntaxe compliquée).

Pour vous assurer que le fichier chargé est de bonne qualité, utilisez md5sum. La plupart des sites FTP proposent un fichier de texte md5sum. Téléchargez-le et lisez-le. Il doit y avoir dedans une ligne contenant un numéro bizarre et le nom du fichier téléchargé. Lancez la commande md5sum sur votre fichier téléchargé. Le résultat doit être identique au contenu du fichier md5sum. Sinon, votre fichier téléchargé est probablement défectueux.

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

Notez que Kmail pour KDE 3.X permet aussi de gérer le courrier sur le serveur et même de positionner des filtres sur le serveur.

ICQ, MSN, AIM, Jabber

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. Pour la messagerie multiprotocole, essayez kopete ou gaim. MSN dispose d'un client du nom d'amsn.

Le Peer to peer

Linux gère de nombreux protocoles P2P (protocoles qui permettent l'échange de fichiers, comme par exemple des images iso de distributions Linux): kazaa, e-donkey, bittorrent au moins.

Pour bittorrent, vous devez télécharger le fichier .torrent. Lancez ensuite le client graphique btdownloadgui.py, faites-le pointer sur le fichier .torrent téléchargé, et demandez d'enregistrer le fichier demandé dans un répertoire de votre choix.


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 ».

Pour éviter qu'une personne ne boote en ajoutant un paramètre à lilo (comme nom_du_noyau single), il faut limiter l'accès. Il suffit d'ajouter les lignes suivantes dans lilo.conf avant le prompt :

password = mot_de_passe_en_clair

restricted

prompt

Il faut penser à mettre ce fichier en lecture seulement pour le superutilisateur, et aucun droit pour les autres (chmod 600 /etc/lilo.conf) ! Le boot normal se passe comme d'habitude sans demander le mot de passe (ceci est important si on veut que la machine redémarre seule). En revanche, si l'on veut passer des paramètres au noyau lors du boot, Lilo demande alors ce mot de passe. (Merci à Martin pour ce paragraphe)

Si le pirate potentiel a accès physiquement à la machine sans contrôle, la seule protection absolue est le cryptage du disque dur ou des fichiers sensibles.

pgp

Vous avez tous les renseignements nécessaires sur la page http://openpgp.vie-privee.org/linux.html. 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.

Encfs

Encfs est un système de montage virtuel. Vous avez un dossier contenant des données cryptées, et vous montez ce dossier dans un dossier qui fait vous présente les données sous forme décryptée.

Ce système se base sur fuse (http://sourceforge.net/projects/fuse/), système permettant de monter un système de fichiers en espace utilisateur.

Vous devez avoir deux répertoires : l'un pour stocker les données cryptées, l'autre pour y accéder (crypt_data et access_data, par exemple).

Le montage se fait avec encfs crypt_data access_data.

Il suffit alors de mettre les données dans access_data pour qu'elles soient en réalité enregistrées sous forme cryptées dans crypt_data.

Pour supprimer l'accès aux données cryptées il suffit de faire fusermount -u access_data.

Sinon, Linux se défend assez bien logiciellement (c'est-à-dire sans accès physique, ou sans possibilité de lancer un compte 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. Sachez que la sécurité réside plus dans la longueur du mot de passe que dans sa complexité. Un bon mot de passe commence à 10 caractères, avec une difficulté de décodage croissant exponentiellement avec sa longueur (14 caractères procure déjà un excellent niveau de sécurité).

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.

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).

Crypter et authentifier ses fichiers et ses mails

Quelques mots sur GnuPG (http://www.gnupg.org). Les deux problèmes que vous rencontrez avec les documents électroniques sont de savoir à coup sûr qui vous les a envoyés -et si ce document n'a pas été modifié- et d'échanger des courriers que seul le destinataire peut lire.

Pour ce faire, le programme gpg (ou son interface gpa) vous permet de générer une paire de clés, l'une privée et l'autre publique, basées sur votre identité et sur une phrase de passe.

Votre clé privée doit rester secrète (mais vous devez ABSOLUMENT en faire des copies de sauvegarde), alors que votre clé publique doit être diffusée le plus largement possible.

Pour authentifier un document, vous utilisez votre clé privée et votre mot de passe. Le document sera accompagné d'un hash, sorte de synthèse entre la clé et le document. Le destinataire, au moyen de votre clé publique, vérifiera que le document correspond bien au hash, ce qui prouve qu'il a bien été validé par votre clé privée et qu'il n'a pas été modifié.

Pour crypter un document, vous utilisez la clé publique de votre destinataire. Il utilisera sa clé privée et son mot de passe pour le décrypter.

Comment échanger ses clés publiques ?

Vous donnez physiquement à votre correspondant le fingerprint de votre clé. Celui-ci doit vérifier votre identité. Vous déposez votre clé publique sur un serveur. Votre correspondant la téléchargera, et en profitera après vérification du fingerprint pour l'authentifier. Ainsi, toutes les personnes qui connaissent votre correspondant et qui lui font confiance pourront être sûres de votre identité.

Toutes ces manipulations sont très simples avec gpa.


Les antivirus

Il existe un scanner libre à virus fonctionnant sous Linux. Il s'agit de ClamAntiVirus. On le trouve à http://www.clamav.net. Bien sûr, il cherche essentiellement les virus destinés à Windows, et on s'en sert essentiellement sur des serveurs de courrier ou sur des machines en double amorçage.

Routage, firewall, ports et filtrage

Les notions de sécurité liées au firewall (ou pare-feu) et aux ports sont souvent confuses.

En effet, il est de nombreux cas où le firewall, logiciel dont la fonction noble est le filtrage, ne sert à rien.

Lecteur d'empreintes digitales

La plupart des lecteurs d'empreintes sont gérés par le projet fprint (http://reactivated.net/fprint/wiki/Main_Page). Il s'agit d'un daemon + d'un applicatif (fprint-demo) + d'un module pour l'authentification (pam_fprint), permettant d'utiliser votre empreinte pour le login ou la commande sudo.

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.

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.

Les nouvelles versions de Debian utilisent apt-get. Tapez simplement apt-get install le_programme et le système se débrouillera automatiquement avec les dépendances.

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.

Sur Mandriva, utilisez rpmdrake, qui ne se contente pas d'installer, mais connaît la liste des dépendances et les numéros des cdroms où se trouvent les programmes (à la main :urpmi nom_du_paquet).

Deuxième cas de figure : c'est du .tgz ou du .tar.gz: tar -xvzf monprogramme.tgz (la lettre z dézippe).

Sur Slackware (selon Joris)

Il existe 4 programmes principaux :

Il y a un dépot de binaires Slack ici : http://www.linuxpackages.net

Si vous voulez faire un rpm à partir d'un binaire tar.gz : rpm -tb monprogramme.tar.gz. C'est mieux pour la désinstallation.

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,puis bunzip2 monprogramme.bz2 ou bzip2 -d monprogramme.bz2.

-si c'est du .tar.bz2, faites tar xvjf monfichier.tar.bz2. Remarquez que le « j » remplace le « z » des fichiers zippés).

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 (Mandriva sur les cdrom supplémentaires seulement, etc.), 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 XOrg (xorg-devel*). Vous pourrez alors découvrir les joies du développement.

Vous devriez trouver les bibliothèques manquantes sur http://www.rpmfind.net si vous utilisez un système basé sur rpm.

Pour transformer un source en binaire rpm, faites rpm -tb l_archive_source, à condition que celle-ci contienne un specfile. Tous les détails -en anglais- sur la construction d'un rpm et de son specfile à http://club.mandriva.com/xwiki/bin/KB/RpmHowTo.

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 ajouterez sur la ligne de commande. Exemple : ./configure --prefix=le_rep_d_install pour forcer l'installation à se faire à un endroit précis.

Ce répertoire d'installation peut être /opt/ (les gros programmes), /usr/local/ normalement pour les programmes ajoutés soi-même ou /usr/ si vous voulez mélanger vos programmes avec ceux de la distribution. Ce peut aussi être /home/xxx si vous n'avez pas les droits d'administrateur.

Ç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.

Si make ne trouve pas le compilateur C, faites export CC=/usr/bin/gcc (adaptez selon votre cas).

Compiler plus vite (faire un cluster de compilations)

Si vous avez un réseau de machines Linux avec un environnement de compilation installé, vous devriez installer distcc (http://distcc.samba.org/) sur toutes les machines.

Hop, votre cluster fonctionne. Vous pouvez vérifier par un top sur les différentes machines. Le gain est proportionnel au nombre de machines. La valeur du chiffre qui suit j doit être d'environ le double du nombre de machines. Les précautions : ne pas utiliser de versions différentes de gcc ou des librairies, ne pas mettre dans la liste des hôtes une machine non disponible. De quoi transformer un réseau de bureautique en méga-cluster. Bluffant.

Faire ses RPM

La méthode classique

Si votre système est basé sur RPM, bien sûr, vous pouvez installer les logiciels que vous compilez vous-même par le classique ./configure && make && make install. Le problème, c'est que ce super-programme ne sera pas listé dans les programmes installés (souvenez-vous : rpm -qa), et que la désinstallation ou la mise à jour ne sera pas facile non plus. Pour que votre programme soit intégré au système RPM, vous devez d'abord en faire un RPM. C'est assez facile.

La méthode checkinstall

C'est tout. Votre rpm est créé dans /usr/src/RPM et installé en même temps. Vous avez aussi droit à l'option -D pour faire un .deb et -S pour un .tgz de Slackware. Seul problème : la gestion des dépendances est moins fine (elle se joue au niveau des fichiers, et non des paquets).

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.

Gestion des sources avec CVS (ou SVN)

Lorsque vous voudrez installer une version récente, voire en développement actif, d'un programme, vous devrez souvent vous raccorder à un serveur CVS (Concurrent Version System)

Qu'est-ce que CVS ?

C'est un gestionnaire de suivi de versions.

Il s'agit d'un serveur qui conserve, dans chacun des fichiers qu'il héberge, l'ensemble des modifications qui ont permis de le construire dans son état actuel. Ces modifications sont datées, signées et commentées.

Récupérer des fichiers sur un serveur CVS
Utiliser CVS en tant que développeur

Quelques programmes qui posent problème

Mysql

Une page de documentation en français sur la base de données standard de Linux : http://tecfa.unige.ch/guides/mysql/fr-man/manuel_toc.html

Staroffice/OpenOffice.org :

Si vous comptez utiliser Java, installez-le préalablement et donnez son chemin pendant l'installation. .

Pour installer Star Office correctement, 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 d'abord. 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.

Un piège avec OpenOffice.org sous Mandriva : si lors de l'installation de Mandriva vous avec choisi « français » dans la rubrique « Amérique », OOo plantera au lancement à cause de mauvaises variables de langue.

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 aurez 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 KDE : donnez kprinter comme ligne de commande d'impression.

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 boîtes 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.

Amaya vers 9.0

(é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, 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. Sans compter une fâcherie avec les ^.

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 (et en créer de nouveaux) : <Ctrl-x Ctrl-b>.

Passer d'un tampon à l'autre : <Ctrl-x b>, 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 demi-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.

Des informations sur http://fr.wikipedia.org/wiki/LaTeX

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. Tapez 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)

ajouter les 3 lignes suivantes à /etc/profile :

export KDEDIR=/opt/kde
export PATH=$PATH:$KDEDIR/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$KDEDIR/lib

(Si KDE est installé ailleurs que dans /opt/kde, adaptez la première ligne).

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 redimensionner, <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 64 Mo de RAM.

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 ».

Si Gimp ne trouve pas les fonts des scripts-fu, installez freefonts (dézippez dans /usr/X11R6/lib/X11/fonts/, puis ajoutez :

FontPath  "/usr/X11R6/lib/X11/fonts/freefont/"

dans votre XF86Config). Relancez X.

PHP ne marche pas (Mandrakelinux 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 7.3

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 ajoutant 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). Si ça ne fonctionne pas (mais que psql fonctionne), c'est que le lancement de postmaster ne contient pas l'option -i (cas des Mandrakelinux 8 et 9). Lancez-le comme ceci à la main :postmaster -i -S -D /var/lib/pgsql/data. 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 (pgaccess/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)

Exemples :

Si vous avez Mandrakelinux 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 ou ltrace 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) (voir dosbox).

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.2.2, donc stable. 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 ajoutant « m » devant la commande DOS (mformat, mcopy...). Ça marche parfois mieux que la vraie...

Dosbox

Homepage à http://www.dosbox.com/

Cet émulateur émule le processeur (286 et 386) de le DOS.

Il gère la mémoire protégée. On peut donc y faire fonctionner les applications exigeantes (jeux, émulateur PSION 3, etc.).

En revanche, il est plutôt lent.

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.

Autrement dit, lorsqu'un programme veut enregistrer sur le disque, il fait appel à une dll windows, et trouve une fausse dll, qui se présente à lui comme la dll windows mais qui, elle, sait écrire sur un disque Linux.

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 Mandrivalinux, 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 et Excel fonctionnent très bien, ainsi que Photoshop et des milliers d'autres applications, mais les applications non testées sont encore d'une installaiton et d'un fonctionnement très aléatoire (malgré le passage en version 1.x)..

Les versions récentes de MS Office nécessitent Explorer (allez savoir pourquoi). Installez-le avec le script ies4linux. (http://www.tatanka.com.br/ies4linux/page/Main_Page). Ce script télécharge, installe et configure tout une fois que vous avez installé wine et cabextract.

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 :

-VMWare (logiciel commercial), à récupérer sur http://www.vmware.com, crée une machine virtuelle (avec BIOS virtuel !!), dans laquelle vous pouvez installer Windows ou ce que vous voulez, mais seulement sur PC. Ce type d'émulateur (PC vers PC) est beaucoup plus performant que les suivants..

-Plex86 (http://plex86.sourceforge.net/), un émulateur de PC sur toute plate-forme.

-DosBox (http://www.dosbox.com/) un émulateur de PC avec DOS sur toute plate-forme.

-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 ;-)))

Pour lire MS Word et MS Excel sans MS word ni MS Excel :

Faire des présentation à la powerpoint : utilisez magic point (Merci C.Vidal), kpresenter, ou Impress dans OOo.

É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

Cygwin et Mingw

Il existe une émulation Linux sous Windows. Il suffit de lancer le setup.exe que l'on trouve sur http://www.cygwin.com/. La seule difficulté consiste à trouver un serveur ftp qui débite correctement. N'oubliez pas de tout sélectionner si vous voulez quelque chose de complet (les archives zippées doivent faire environ 200 Mo pour une version complète). L'installation et la configuration sont entièrement automatiques (ne tenez pas compte de la doc pour installer XFree, il n'y a strictement RIEN à faire). Pour lancer XFree, faites /usr/X11R6/bin/startxwin.sh depuis le terminal lancé par l'icône de Cygwin. Vous pouvez même éditer ce script pour remplacer twm par wmaker. Une fois sous XFree, tapez dans un terminal setxkbmap fr pour avoir le clavier français. Ensuite, vous n'avez plus besoin de taper les noms complets des exécutables X11, le PATH des binaires X11 est automatiquement ajouté. Idéal pour afficher sur un PC Windows des programmes graphiques UNIX tournant sur une autre machine.

Encore mieux que Cygwin : Mingw (http://www.mingw.org).

C'est un environnement GNU minimaliste (comme son nom l'indique) recompilé sous Windows. Vous pouvez compiler avec gcc des exécutables sous Windows. Vous pouvez aussi lancer des applis Windows depuis le shell Linux.

Vous disposez d'un environnement de développement graphique pour win32 et Linux avec http://www.bloodshed.net. De quoi réconcilier les deux mondes.

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 1). Problème : la fenêtre est trop petite (enfin, elle l'était quand ces lignes ont été écrites, il y a fort longtemps), 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 (ajoutez « // » 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, le php et beaucoup d'autres, c'est encore plus simple : le code source ne se compile pas et est directement interprété.

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.

Le système gettext

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.

Placez 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).

Les programmes en pur QT

La bibliothèque graphique C++ (sur laquelle est basé KDE) permet d'écrire des programmes multiplate-forme. Pour cette raison, elle n'utilise pas gettext.

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 du noyau dans /usr/src (paquet kernel-source, en général). 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.

%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).

Quelques astuces :

-le fichier de config par défaut s'appelle .config et se trouve dans linux/. L'utilisation de ce fichier sans modification a 99 chances sur 100 de vous mener au désastre. Si vous voulez juste mettre votre noyau à jour ou ajouter un module, essayez de trouver le fichier de config qui a été utilisé par votre distribution. Celui de Mandriva se trouve dans /boot/ et se nomme config. Vous pouvez être presque sûr que votre compil débouchera sur un noyau utilisable.

Si votre noyau a été compilé avec la bonne option, votre fichier de config est accessible dans /proc.

Si vous voulez compiler un noyau de même version que celui que vous avez déjà, pour éviter les conflits et conserver l'ancien, renommez-le (en ajoutant EXTRAVERSION = .2 dans le Makefile, par exemple).

Si votre .config provient d'une ancienne version, faites make oldconfig.

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 ».

Ensuite : make, puis make modules_install

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.6.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.6.xx et copier /usr/src/linux/System.map en /boot/System.map-2.6.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 l'ajouterai volontiers.

Si vous avez des compétences dans un domaine absent de ce guide, prenez la plume !

Restent à faire : Serveur DNS, serveur NNTP, proxy, fonctionnement du firewall, système RAID...

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. Linux avec ses satellites GNU, XOrg, KDE, etc. 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. De grandes marques de matériel écrivent elles-mêmes les pilotes de périphériques (Creative Labs, Nvidia, ATI, HP...), voire des distributions entières (Abit avec sa Gentus). La presse informatique commence à parler sereinement de Linux. Les programmes réclamés arrivent au pas de charge : Quaqueries diverses pour les amateurs de jeu, bureautique avancée avec une demi-douzaine de suites, amélioration du noyau (support USB2 ou firewire, systèmes de fichiers journalisés, multiprocesseur, multithread), 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 et pas en supplément), plus stable, plus sûr (pas de fonctionnalité cachée, pas de virus I Love You) et plus ouvert.

Si la présence de Linux sur le serveur et le supercalculateur est une chose acquise, la diffusion sur le bureau ne fait que débuter.

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.

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