Cours Linux pour débutant

Autoriser l'accès à un client local ou distant dans .

Copier .sample en , et modifiez-le comme suit :

MONITOR [email protected] 1 monuser mypass master

(lisez les commentaires du fichier) Démarrer les services upsd et upsmon Tester :

$ upsc [email protected] battery.charge: 99 : 30 battery.runtime: 1732 : newhidups : 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 .

Lisez

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

Si tout ceci marche bien, vous devriez avoir

alias char-major-62 lt_serial

alias /dev/tts/LT0 lt-serial

dans .

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

(Le Minitel Xtel fonctionne très facilement. Il suffit de sauter la détection des modems lors de l'installation.) La documentation contenue dans l'archive est très claire (ne lire que les 10 dernières lignes). En cas de recompilation du noyau, faire simplement ./ltinst dans le répertoire des sources de ltmodem.

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

J'ai aussi eu de bons résultats avec le module slamr (?id=135) pour des modems Intel 82810.

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

(Compléter)

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

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

Liste par vendeurs :

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

Le fichier /etc/sysconfig/pcmcia (RedHat), (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 à .

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. A 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 sous DOS) puis activer la commande physique qui provoque le « suspend to disk ».

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

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.

.

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

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. Il n'y a pas d'application de reconnaissance d'écriture pour le moment.

Rotation d'écran

Les tablet PC permettent de voir l'écran aussi bien en mode paysage que portrait.

Pour obtenir les deux rotations, vous devriez écrire un script faisant appel à xrandr et xsetwacomsimultanément.

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

Il existe aussi des cartes graphiques supplémentaires sur PCMCIA chez , qui disposeraient d'un pilote pour Linux/X.

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.

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.

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.

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. Ca 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 ImprEcran, 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 :

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

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

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

•  Si vous n'installez que du compilé, supprimez les bibliothèques (libs) de développement (pour les trouver : rpm -qa|grep devel)

•  Supprimez les shells et gestionnaires de fichiers que vous n'utilisez pas (rpm -qa|grep sh et rpm -qa|grep fm), ainsi que Midnight Commander (mc) si vous utilisez des outils plus modernes. En général, vous n'utilisez que bash.(pour le savoir : echo $SHELL). Idem pour les Xterm, un seul suffit. Attention cependant : certains shells (sh) sont indispensables à certains programmes.

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

•  Supprimez les programmes qui font double emploi (Xpaint et xv si vous avez Gimp, lynx si vous naviguez avec Firefox ou Konqueror, Acrobat Reader si vous avez KDE ou ou ghostscript ). A noter que les systèmes modernes complets (Gnome, kde) installent des versions de beaucoup de programmes standard de X window (kmines et gnomine en plus de xdemineur ). Les vga games et les bsd games sont carrément nuls, sauf exception.

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

•  Supprimez les dictionnaires étrangers de Ispell (dans /usr/lib/ispell) si vous n'en avez pas l'usage

(gain : 1Mo par langue). Supprimez aussi les dossiers de langues étrangères de KDE et du système (/usr/share/doc et /usr/share/locale P.ex), ainsi que les documentations en langues étrangères (pages de man, entre autres dans /usr/(share)/man/ ).

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

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

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

•  Surveillez vos /var/log/*

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

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

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

•  mettre dans /etc/fstab l'option usrquota (et/ou grpquota) sur la ligne de chaque partition qui supportera des quotas. Mettez à jour la nouvelle option de montage par

mount -o remount le_repertoire ;

•  activez les quotas par quotacheck -u /home. Ceci crée un fichier dans la racine du système de fichiers concerné, ici /home ;

•  donnez des droits utilisateurs par edquota -u Jules_Cesar. Cela vous ouvre un éditeur vi avec des valeurs par défaut facilement compréhensibles, dans lequel il ne vous reste qu'à remplacer ces valeurs par celles que vous souhaitez ;

•  activez les quotas par quotaon -a.

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.

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

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 -nnuméro_de_nice".

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

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 "[email protected]"

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 :

•  httpd : le serveur Apache. Sert des pages web. Rarement utile sur une machine cliente

•  mysql : la base de données mysql

•  nfsd : le partage de disques en réseau UNIX

•  postfix : le serveur de mails

•  postmaster : la base de données postgresql

•  portmap : le service qui accepte les connexions distantes (sert à nfs, telnet )

•  inetd : le démon (service) qui détecte si un client a besoin d'un service qui n'a pas son propre démon (xtel, talk, ftp, telnet, finger )

•  lpd ou cupsd : le service d'impressions. Avez-vous une imprimante ?

•  crond : le service qui effectue les tâches à intervalles programmés

•  ssfd : pour les réseaux sécurisés (côté serveur)

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.

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

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.

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

•  lpd ou cups si vous n'avez pas d'imprimante

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

•  gpm, le gestionnaire de souris en mode texte,

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

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

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

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 :

[email protected]

[email protected]

[email protected]

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

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

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

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

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

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.

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

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.

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

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/XF86Config (ou pas « /X11/ ») à la main. Une bonne doc, et bon courage ! Lisez man XF86Config et le man de votre serveur X. Par exemple, il peut falloir 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 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.

Autre cas, X existe, mais pointe vers un mauvais serveur X (se détecte par ls -l /usr/X11R6/bin/X) : rm /usr/X11R6/bin/X, puis ln -s monserveurX X dans /usr/X11R6/bin/.

De nombreuses cartes récentes ont un serveur X spécifique (XBF pour les Intel 740 ) et un mode d'emploi spécifique.

Liste des cartes compatibles à#9.

Encore un problème : dans certaines distributions, si vous utilisez Xfree 4.x, le fichier de configuration s'appelle /etc/X11/XF86Config-4. Inutile de vous acharner sur le fichier XF86Config, qui n'est pas lu. Pour le savoir, examinez le fichier si vous en avez un.

Sur x.org, il peut s'appeler ou XF86Config.

Pour installer X.org, téléchargez tous les binaires, puis lancez en ayant quitté X la commande sh . A la fin de l'installation, vous pourrez configurer avec xf86cfg (mode graphique) ou xf86config (mode texte).

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.

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

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

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

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.

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.

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.

plusieurs possibilités :

-startx -- -bpp 16. Ca marche, mais c'est pénible (A noter que le « -- » signifie la fin des options).

DefaultColorDepth 16

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

Attention ! Dans Xfree 4.0 et Xorg, il faut mettre

DefaultDepth 16

Lancez xvidtune à partir d'un xterm. Notez les valeurs qu'il vous donne (commande show). Ouvrez le /etc/X11/XF86Config. Vous devez trouver une ligne de Modeline où toutes ces valeurs apparaissent. Marquez-la d'un commentaire. Agissez sur les réglages de xvidtune. Lorsque le centrage vous convient, remplacez les anciennes valeurs du XF86Config par les nouvelles que vous donne xvidtune. Faites pareil pour toutes les résolutions. Kvidtune est encore plus beau !

Attention ! Sur Xfree 4.x et X.org, les Modelines de XF86Config 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

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

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.

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.

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.

La deuxième console graphique est maintenant F8.

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

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

•  halt

•  reboot ou

•  shutdown -h now

avec les bonnes options de délai (man shutdown) dans un x-term.

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)

NVIDIA

Les principales marques (NVidia,Matrox, ) mettent à disposition des pilotes 3D accélérés.

Les nouvelles versions du driver Nvidia pour Xfree 4 (ou X.org) n'ont plus besoin du support AGP dans le noyau (module agpgart), mais utilisent leur propre pilote AGP. Il faut :

•  récupérer le ()&nbp;;

•  Le rendre exécutable (chmod +x )

•  taper sh (sources du noyau indispensables) ;

•  Quand la compilation et l'installation sont terminées, faites nvidia-installer ;

•  Cela remplacera Driver "nv" par Driver "nvidia" dans ;

•  Si les utilisateurs ordinaires ne peuvent pas lancer l'interface, ajoutez chmod 666 /dev/nvidia0 et chmod 666 /dev/nvidiactl dans /etc/rc.d/rc.local

ATI

Sur mon portable avec une ATI rage LT Pro (mach 64), l'accélération est très correcte sous XFree 3.3.x à condition d'être activée (système UTAH-GLX). Vous feriez bien entre autres d'avoir les lignes

Load

"glx"

Load

"dri"

dans votre .

A condition, bien sûr, d'avoir installé DRI, disponible .

Dans les versions de xorg 6.9 et 7.0, le portage GLX vers DRI a été fait.

Il y a une superbe documentation à (par Serge ROSSI).

Les ATI modernes (radeon) ont un pilote propriétaire compilable (nécessite les sources du noyau), disponible sur . A essayer si le support GATOS dans X.org n'est pas suffisant.

La configuration se fait par aticonfig

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

Des détails .

Vous pouvez tester par glinfo et glxinfo.

Si vous avez le paquetage Mesa-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

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.

•  Configurez les cartes graphiques une par une (en n'en laissant qu'une à la fois dans la machine), et sauvegardez à chaque fois le fichier de configuration sous un nom reconnaissable.

•  Si vous utilisez une AGP et une PCI et dites à votre BIOS laquelle doit démarrer par défaut. Ce sera la carte principale, la seule active en mode texte. Si vous avez plusieurs PCI, seule la première trouvée sera activée.

•  Identifiez les connecteurs par (XF86Config -)scanpci. Vous obtenez une série de 3 nombres séparés par des deux points.

•  Fusionnez tous les fichiers de configuration : vous devez avoir en autant d'exemplaires que vous avez de cartes, des sections Monitor, Screen et Device (en faisant attention de donner des noms différents en cohérence aux différentes cartes).

•  Ajoutez les identifiants trouvés dans la section Device de chaque carte : BusID "PCI:0:12:0" (toutes ces opérations sont automatisées dans les distributions très automatisées, comme Mandriva)

•  Si vous vous contentez d'écrans indépendants, cela suffit.

•  Si vous voulez fusionnner les écrans, Indiquez également la position respective des écrans dans la section Layout :

Screen "Screen0"

Screen "Screen1 RightOf Screen0"

(A condition, bien sûr, que vos écrans s'appelent Screen0 et Screen1 ailleurs dans le fichier).

•  Si vous êtes content du résultat et que vous voulez un démarrage automatique du système, ajoutez l'option +xinerama au bout de la ligne de commande qui lance X dans le fichier de configuration de votre gestionnaire de démarrage graphique, ou ajoutez-le dans la section Server Layout

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)

Pour les Matrox Dual Head, il y a un pilote et un configurateur graphique ici : .

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

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.

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

•  plusieurs écrans quelconques

•  plusieurs claviers USB, facultativement un PS2

•  plusiers souris USB, facultativement une PS2

•  facultativement un HUB usb pour les claviers et les souris

Configuration

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

Configurez votre comme un multiécran ordinaire

Votre 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

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 .

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 : ?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, 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"

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ï¿œaire, il existe un pilote libre pour la sortie TV, nommé nvtv (voir .

Pour les cartes Matrox G400 et G450, il y a un pilote spécial ici : .

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

Le pilote ATI propriï¿œaire fournit une gestion de la sortie TV et une interface de configuration.

Pour capturer de la vidéo, vous devez avoir une entrée vidéo :

•  Webcam : voir la section dédiée

•  Carte télé : idem

•  Carte graphique VIVO (Video In Video Out). Dans le cas d'une NVIDIA, installez le pilote rivatv ().

Une fois le périphérique choisi, vous pouvez utiliser une interface graphique (xawtv, Videolan, etc) ou une

Vous voulez voir le dernier film à la mode ? No problem.

Allez sur pour récupérer le binaire de divx, que vous dézipperez dans /usr/lib/win32,(unzip -d /usr/lib/win32 ), puis compilez et installez classiquement avifile. Vous pourrez alors lancer aviplay pour vos fichiers .avi.

Autre possibilité : X Movie Player, téléchargeable , ou tout simplement DivXPlayer, le lecteur officiel (en phase alpha, mais ça marche).

Le principal logiciel de montage, à l'heure où ces lignes sont ï¿œrites est kino ). 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 () est un logiciel assez complet de montage, mais sonf utilisation est difficile tant qu'on n'a pas compris le mode d'emploi.

Cinepaint (ex filmgimp) (), 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.

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

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 et ajoutez l'entrée suivante, dans la section Linux : vga=788. Avec grub, éditez 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/XF86Config à la main.

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 : . Entre autres, l'utilitaire mii-diag.

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.

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 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="" # Evidemment, 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.

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

Pour configurer votre wifi :

•  Vérifiez son identifiant (lsusb, lspci, cardctl ident), vérifiez qu'il est bien connu du /etc/pcmcia/config dans le cas des PCMCIA. (j'ai dû ajouter

card "Linksys WPC11 11Mbps 802.11b WLAN Card" version "Instant Wireless ", " Network PC CARD", "Version 01.02" bind "orinoco_cs"

pour que ma Mandrakelinux 9.1 la trouve. Problème résolu depuis).

Vous devez d'abord identifier le module nécessaire pour votre carte (à moins que votre distribution ne l'ait fait pour vous). Interrogez la carte au moyen des commandes habituelles

Les chipsets WiFi ne sont pas très nombreux : orinico, prism54, ralink, etc., mais il y a beaucoup de variantes.

•  La commande de base pour interroger la carte ou la paramétrer est iwconfig. La commande seule devrait vous montrer l'existence ou non d'une interface wifi. Si oui, vous pouvez consulter le nom du réseau ESSID, l'adresse MAC du point d'accès (00:00:00:00:00:00 en cas d'échec).

•  Si la carte n'est pas encore configurée, vous pouvez la configurer avec une commande comme

iwconfig wlan0 essid mon_reseau mode Managed (ou ad-hoc) key xxxxxxx [commit]. Les variantes sont nombreuses (voir iwconfig --help ou man iwconfig).

Si votre carte contient un firmware (logiciel qui est envoyé dans le périphérique à l'initialisation), assurez-vous qu'il soit bien installé lors de l'initialisation. Parfois, le firmware fourni sur votre CDROM d'installation Windows ne convient pas, et il faut en utiliser un fourni sur le site de téléchargement du driver pour Linux.

•  Ensuite, vous paramétrez le reste (DHCP, etc.) comme un réseau normal avec la commande ifconfig. Votre carte devrait s'appeler eth0 ou eth1 (si votre ordinateur a déjà une carte réseau), ou wlan0, ou encore rausb0 (cartes Ralink).

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.

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

Les explications générales sur ndiswrapper sur

En résumé, dans le cas d'une Netgear WG 111 USB :

•  Installez ndiswrapper

•  Trouvez le pilote pour Windows sur le site de Netgear (ne pas utiliser celui du CDROM)

•  Installez-le : #ndiswrapper -i (installe des choses dans /etc/ndiswrapper/netwg111/)

•  Vérifiez la détection de la carte : #ndiswrapper -l (netwg111 driver present, hardware present)

•  Chargez le module : #modprobe ndiswrapper (vérifiez la bonne installation avec dmesg)

•  Vérifiez la reconnaissance de la carte par iwconfig

•  A partir de maintenant, vous devez configurer le wifi comme avec une carte gérée nativement.

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

Outils additionnels :

•  iwlist : liste les options disponibles sur votre carte et les points d'accès. Exemple: iwlist wlan0 scan.

•  iwgetid : liste les caractéristiques du points d'accès utilisé

•  iwpriv : permet d'ajouter des paramètres spécifiques à votre carte

Une bonne lecture :

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

•  Faible consommation électrique

•  Faible portée

•  Bas débit

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.

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.

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"

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 ?

Eviter 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

192.168.0.1 dx2_50.lourmel dx2_50 toto

*  soit être client d'un vrai serveur DNS :

Editez le fichier , et mettez-y :

search lourmel

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 :

( )

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.

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 .

Attention ! Certaines distributions n'installent pas le serveur Telnet par défaut. A 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 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.

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.

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

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

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

Si votre machine distante est sous Windows, essayez Xwin32 (commercial, disponible à ). Vous pourrez afficher une session X sur votre machine Windows.

Nouveauté : X/Cygwin pour Windows. Voir

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,

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.

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

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.

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

Attention ! Les services nécessaires à nfs ne fonctionnent que si portmapest 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.

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    -l  -a 

dans .

Redémarrezinetd si nécessaire (autrement dit s'il n'était pas démarré ou si vous avez modifié le ).

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 : [email protected]_machine

Attention ! Ce mode est dangereux au niveau sécurité :

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

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

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

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

Lancezsamba : /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 , et c'est parti.

Vous pouvez également configurer le /etc/printcap (par exemple avec le printtool) :

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 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(pour envoyer des messages Windows>Linux, je n'arrive pas à les faire afficher par Linux alors que Windows dit qu'ils sont partis).

Autoriser l'accès à vos disques Windows :

Pour mounter sous Linux un disque de Windows, oubliez mount, mais faites plutôt

smbmount //windows/C /mnt/win (nécessite le paquetage samba-client). Dans cet exemple, windows est le nom de votre machine sous Windows -original, non ?-, C est le nom de partage du disque C-de plus en plus fort !- et /mnt/win est le nom du répertoire de montage sous Linux. A partir de ce moment, vous pouvez faire toutes les opérations de transferts de fichiers facilement. Depuis les versions 2.x de Samba, smbmount a disparu, au profit de mount tout court : mount -t smbfs -o username=toto,password=taratata //windows/C/ /mnt/win.

Avantage : ajoutez ça au /etc/fstab (chez moi, ça donne

« //maman/e /mnt/zip smbfs password="",user,noauto »), et les montages se feront comme tous les montages Linux ordinaires.

Win-dos 95 pourra faire un telnet sur Linux, mais l'inverse n'est pas vrai car win 95 ne comporte pas de serveur telnet en standard.

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.

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.

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.

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. Ca sera plus facile pour tester le fonctionnement.

Vérifiez l'installation du paquetage ypbind. Editez le fichier . 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 : « order yp, hosts, bind » Editez le fichier , 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. A 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.

Sécurité du serveur NIS.

Editez le fichier /var/yp/securenets, et annulez la ligne avec 0.0.0.0, qui donne accès à tout le monde.

A 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 [email protected]. 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 () 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 fichier 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 () 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 : « 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 .

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

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

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.

•  Onglet « Names », ajoutez les IP de votre provider.

•  Onglet « hosts » : l'IP et le nom de votre provider

•  Onglet « interfaces », « add » (choisissez ppp), puis le numéro de téléphone de votre provider, votre login et votre password.

Une fois configuré, il suffit de cliquer sur l'onglet « interfaces », ligne ppp0, bouton « activer ».

Pour AOL, essayez (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.

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.

Konqueror peut même faire du ftp avec mot de passe si l'on respecte la syntaxe suivante : ftp://votrelogin:[email protected].

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

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°

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

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 , faites-le pointer sur le fichier .torrent téléchargé, et demandez d'enregistrer le fichier demandé dans un répertoire de votre choix.

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.

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

Evitez 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 ). Pareil pour finger, qui permet de tout savoir sur un utilisateur, même si son compte n'est pas actif (finger [email protected]). 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 lo 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.

La solution : crypter les échanges par ssf, disponible seulement en téléchargement sur Retirez ssh auparavant : vous n'êtes pas supposé l'utiliser en France. Installez. Lancez ssfd.

D'une manière générale, évitez que d'autres root que vous ne se trouvent sur le réseau (mais c'est rarement possible d'en être sûr : boot par disquette, branchement sauvage d'un ordinateur portable ).

Ne jamais lancer un serveur DNS sur une machine directement raccordée sur Internet (pour vérifier si vous en avez un : ps aux|grep named).

Eviter d'installer un serveur ftp anonyme.

Pour contrôler la sécurité réseau de votre machine, attaquez-la avec nessus). 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.

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.

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

Quelques mots sur GnuPG ). 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 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.

Il existe un scanner libre à virus fonctionnant sous Linux. Il s'agit de ClamAntiVirus. On le trouve à . 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.

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.

•  Vous êtes derrière un routeur. Autrement dit, si votre routeur ne redirige pas les ports vers vous, vous serez tout simplement invisible. Donc inattaquable (seul le routeur le sera).

•  Vous êtes visible, par exemple directement raccordé au net avec une adresse publique, mais vos ports sont fermés : vous ne risquez toujours rien.

•  Vous êtes raccordé au net, vos ports sont ouverts, mais vous n'avez pas de serveur actif sur ces ports : vous ne risquez pas grand chose.

Ca 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 (-ivh pour plus de détails) ou dpkg -i .

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 (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 (« »), « 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 -xvzf (la lettre z dézippe).

Sur Slackware (selon Joris)

Il existe 4 programmes principaux :

•  installpkg nom_du_paquetage installe le paquetage !

•  removepkg nom_du_paquetag supprime le paquetage

•  upgradepkg nom_du_nouveau_paquetage supprime le paquetage de l'ancienne version et installe le nouveau, si le paquetage n'a jamais été installé, il n'y aura pas l'install du nouveau.

Il y a un dépot de binaires Slack ici :

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

Troisième cas : c'est du .tar : tar -xvf . (Les fichiers .tar sont des fichiers archive, c'est-à-dire contenant plusieurs fichiers, mais non zippés).

Pour tout compliquer, si c'est du , 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 fait un rpm à partir d'un deb.

Si le programme est livré en « sources » :

-si c'est du ou .tgz : copiez-le sur le disque Linux, là où ça vous arrange, puis tar -xvzf .

-si c'est du .gz : gunzip

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

Vous devriez trouver les bibliothèques manquantes 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 à

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. Editez le fichier , 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.

Ca ne compile pas !

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 () sur toutes les machines.

•  Sur la machine cliente, tapez export DISTCC_HOSTS='moi toi lui l_autre'.

•  Sur CHAQUE machine serveur (moi, toi, lui, l_autre), lancez distccd.

•  C'est prêt !

•  Sur la machine cliente, tapez make -j8 CC=distcc (variante : pour le C++, tapez plutôt CXX=distcc).

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

•  Vous devez avoir quelque part une arborescence contenant les dossiers BUILD/ RPMS/ SOURCES/ SPECS/ et SRPMS/. Souvent présente dans /usr/src/RPM.

•  Vous placez le source dans SOURCE ! (pas obligé de le dézipper)

•  Vous devez disposer d'un fichier .spec dans SPECS. C'est le point difficile. Vous pouvez récupérer ce fichier dans un de vos fichiers avec la formule magique rpm -ih . Ensuite, modifiez-le avec le bon nom de programme, les bonnes dépendance, les bonnes lignes de compilation, etc. Il existe aussi des programmes destinés à faciliter l'écriture du fichier de specs.

•  Dans le répertoire supérieur (RPM/ ici), faites

rpm -ba . Surveillez les erreurs, c'est

ici que ça risque grandement de rater (mauvaises bibliothèques installées, mauvaises options de configure, etc.)

•  Une fois terminé sans erreur, vous devez avoir un dans SRPMS.

•  Installez par rpm -i

•  Vous devriez obtenir un fichier .rpm dans RPMS/votre_architecture.

•  Il ne reste plus qu'à l'installer classiquement (rpm -i )

La méthode checkinstall

•  Vous ne vous préoccupez pas de l'arborescence ci-dessus : vous désarchivez le source là où ça vous chante et ./configure && ./make

•  Puis checkinstall -R

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 ?

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

•  Donnez la racine CVS à laquelle vous voulez vous connecter, et de quelle manière exacte : export

•  Puis, connectez-vous au serveur :

cvs login

•  Puis, récupérez vos données :

cvs co fichier_indispensable

Utiliser CVS en tant que développeur

•    Installation du client CVS et de SSH : QS

•    //prise de contrôle du serveur : //Chez moi

ssh [email protected] pasword xxxx

//---->Continuer sur le serveur

•    //positionner le CVSROOT export CVSROOT=/var/lib/hebergeur/chroot/home/users/monprojet

•    //Fabriquer une racine du projet mkdir monprojet cd monprojet cvs init

//Cela crée un tas de fichiers cryptiques dans monprojet/ distant

•    //Revenir chez moi

Ctrl+D

•    //Créer l'environnement pour communiquer avec le serveur export CVS_RSH=ssh (//si accès crypté par ssh)

//Exporter le chemin de travail sur le serveur et se loguer //refaire à chaque nouvelle session ces deux commandes export CVSROOT=:pserver:[email protected] cvs login

•    //Pour créer la branche initiale sur le serveur //Chez moi : cd ???/monprojet (ou n'importe quel nom de répertoire où se trouvent les données à uploader sur le CVS)

// -m = message

//monprojet = envoyer tout ça dans le répertoire monprojet du serveur

//gestionnaireprojet = en tant qu'utilisateur gestionnaireprojet

//initial = création

//A ce moment, une copie CVS distante d'un répertoire ordinaire local a été créée.

•    //Il faut récupérer cette copie avec tous ses paramètres CVS en local cvs co monprojet

//Maintenant, on peut commencer à utiliser le CVS

•    ? //Pour ajouter un fichier au CVS //Préparer en local l'envoi cvs add nom du fichier

//Effectuer l'envoi pour de bon à partir de ce qui a été préparé cvs commit

? //Pour enlever un fichier du cvs

//préparation rm le_fichier en local

cvs remove le_fichier // il ne se passe encore rien sur le serveur

//effection cvs commit ? //Pour modifier un fichier existant en local et l'envoyer modifier le_fichier cvs commit le_fichier

? //Pour envoyer sur le serveur un fichier local modifié entre temps par un autre utilisateur //Vous ne pouvez pas envoyer votre fichier tant que le conflit n'est pas réglé. //faire la synchro d'abord en récupérant le fichier sur le serveur cvs up les_fichiers

//On vous propose alors de gérer le conflit, ce que vous faites en local

//Vous envoyez alors le fichier vers le serveur cvs commit le_fichier

Mysql

Une page de documentation en français sur la base de données standard de Linux : :

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

Un piège avec 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 ( > 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

le correcteur d'orthographe GNU a une version Française. Pour corriger un texte : ispell -d français .

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

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 et Utilisez un éditeur de textes bruts quelconque (vi, notepad ).

Ecrivez un texte avec des balises spéciales. Enregistrez-le comme « ».

Tapez latex . Cela vous génère un fichier (= device independant).

Lisez-le avec xdvi .

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.

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

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 et ça marchera.

<IfDefine HAVE_PHP4>

LoadModule  php4_module 

</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. Ca 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 () très instructive quant à ses capacités. Pour l'installer :

Sauvegarder une base :

pg_dump dbname | gzip >

Restaurer la base : createdb dbname cat | gunzip | psql dbname (Merci à Tuan)

PS : je n'ai pas réussi à lancer postgres ou pgaccess en réseau.

Pour utiliser Postgres en réseau, faites (Merci à G.Gracian)

•  décommenter la ligne PGALLOWTCPIP=no et remplacer le no par un yes dans .

•  déclarer les machines qui sont autorisées à se connecter dans le fichier .

Exemples :

•  host all 192.168.68.52 255.255.255.255 trust #ici, une seule machine a accès à toutes les bases (all) sans authentification

•  host all 192.168.68.0 255.255.255.0 trust # ici, un réseau

Si vous avez 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

Lancer Heretic II avec l'accélération 3D  : ./heretic2_demo +set 640 glx (ou un autre nombre selon la résolution souhaitée).

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.

S'il refuse de démarrer pour cause de VGA font, vérifiez que le fichier contient :

vga 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 , 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' de DOS et Linux. Il faut copier l' en , le signaler au (« $emubat= "lin" »), et mettre en commentaire les lignes qui chargent le clavier et les fontes dans l'. Vous verrez démarrer un DOS propre, et avec plus de mémoire que le vrai.

Il faut aussi renseigner le 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 ). Ca marche parfois mieux que la vraie

Homepage à

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.

Linux sait aussi leur procurer un environnement. En revanche, 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.

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 (c'est son répertoire de mountage que l'on déclarer dans

(/usr/local/)). Sur Mandrivalinux, le 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 . 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 pathwine notepad. Si ça marche, essayez wine c:\\monrep\\monprogramme.

Word 7 et Excel 7 fonctionnent de mieux en mieux, mais il y a encore des problèmes. On nous promet un fonctionnement sans faille bientôt.

Les versions récentes de MS Office nécessitent Explorer (allez savoir pourquoi). Installez-le avec le script ies4linux.

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.

Si vous voulez vraiment un émulateur de Windows, installez XWine

(), qui est une surcouche graphique de Wine. De cette manière, vous aurez le menu démarrer et toutes ces choses qui vous manquent tant.

Ne pas confondre avec Winex, qui est une version commerciale modifiée de Wine, destinée à supporter une émulation DirectX.

-Win4lin 5.0 ) est une vrai émulateur PC (commercial) qui semble assez valable. Idéal pour exécuter vos applications Windows en local, ou en réseau (utilisé par certaines entreprises qui passent leur postes utilisateurs sous Linux sous la forme de serveur capable d'exporter des sessions Windows pour les utilisateurs qui en ont temporairement besoin).

-VMWare (logiciel commercial), à récupérer sur , crée une machine virtuelle (avec

BIOS virtuel !!), dans laquelle vous pouvez installer Windows. Grosse puissance nécessaire !! (je fais tourner MS-DOS avec « seulement » 64 Mo de RAM). S'installe par . Copier le fichier licence envoyé par e-mail par la société dans /root/.vmware/. Le résultat est bluffant.

-Plex86, l'équivalent en libre. En phase finale de développement.

-VNC (license GPL) permet d'afficher l'écran de n'importe quelle machine reliée en réseau TCP/IP, donc entre autres d'avoir un Windows dans une fenêtre ;-)))

-Tant qu'on est dans les émulateurs, Line () fait le contraire de Wine : il fait tourner les applis Linux dans Windows (développement peu actif).

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

•  Le plus efficace : strings (ou strings |fmt -w 65|more). Vous aurez la surprise de lire non seulement le texte, mais aussi le modèle d'imprimante, toutes les corrections, et avec un peu de chance le numéro de carte bleue de l'expéditeur !!

•  Antiword, fait la conversion dynamiquement

•  Sinon, (le mieux), Star office (non libre), Koffice (encore jeune, même en 1.4), Wordperfect, Applix

Pour traduire les fichiers Excel, et doc, mais sans la mise en forme : catdoc et xls2csv

(

Par ailleurs, Wingz ) sait aussi lire les fichiers excel (les graphiques ne passent pas toujours très bien le cap)

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

OOo.

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 à

Il existe une émulation Linux sous Windows. Il suffit de lancer le que l'on trouve sur . 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 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 ().

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.

Eh bien, c'est faisable (vive l'open source !)

Prenons un exemple concret. Vous voulez jouer au Grand Père, jeu faisant partie de kpat (en standard sous kde). Problème : la fenêtre est trop petite (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é (cpp pour c plus plus- ça serait c tout court pour un programme en C). Editez-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. Ca donne :

// return QSize(700, 476); } return QSize(700, 676); }

Partant du principe que vous aviez déjà compilé les sources, vous devez avoir des fichiers « .o » un peu partout. Vous pouvez alors faire un make : ça ira très vite, car tous les programmes qui ont encore leur « .o » ne seront pas recompilés. Si vous aviez fait un make clean, vous auriez effacé tous les fichiers .o, et la recompil aurait été nettement plus longue. Faites ensuite normalement make install, et relancez votre programme.

Maintenant, vous avez un programme qui vous permet de finir les parties même si vous avez de très longues colonnes de cartes. Au passage, envoyez le résultat de votre travail à l'auteur. Pour le tcl/tk, c'est encore plus simple : le code source ne se compile pas et est directement exécutable.

Vous pouvez très facilement traduire un programme dans votre langue préférée. A 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

#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

Traduisez ensuite le .po. Emacs a un mode spécial pour vous faciliter le travail. Sinon, kbabel.

Compilez-le ensuite : msgfmt -o -v .

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

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.

•  Il faut mettre des balises tr("english_string") dans le source

•  Il faut faire lupdate

•  Cela donne un fichier .ts qu'il faut traduire avec l'outil linguist

•  Vous compilez le fichier avec les menus de qt linguist

•  Vous mettez le fichier .qm à côté de l'exécutable

Si le programme n'est pas fait pour l'internationalisation, vous pouvez traduire directement dans le source et recompiler (déconseillé). Bon courage.

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.

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.

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 et copier en , puis éditer le fichier de paramétrage du boot (ex :

), copier le paragraphe existant et le coller en dessous en prévoyant un nouveau label (ex : « linux_new ») qui lancera le nouveau noyau. A 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

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.

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 ? Ecrivez une documentation. Vous écrivez mal l'anglais ? Rejoignez une équipe de traduction (). Vous ne voulez rien faire de tout ça ? Envoyez des rapports de bugs utilisables ou des souhaits aux auteurs.

Vous ne savez pas programmer ? Ecrivez une documentation. Vous écrivez mal l'anglais ? Rejoignez une équipe de traduction (). 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