Linuxman - mars 1999


INDEX

Mois précédent

Mois suivant


1 3 1999
2 3 1999
3 3 1999
4 3 1999
5 3 1999
6 3 1999
7 3 1999
8 3 1999
9 3 1999
10 3 1999
11 3 1999
17 3 1999
22 3 1999
23 3 1999
28 3 1999
30 3 1999

 1 3 1999

Mots Clés : noyau, lilo, compilation, patch, patch-kernel, noyau.

Yeah ! Trop cool un nouveau mois, Festival !!! Alors les jeunes, la forme ?  Bon, c'est bien. Alors comme c'est bien cool, on va s'installer peinard un nouveau noyau, tiens, ou bon sang, ça c'est une idée. Alors étape 1 on va chercher un noyau sur le web, personnellement je les prends souvent sur ftp://ftp.lip6.fr/pub/linux/kernel/,, ou alors il y a aussi des liens sur linuxhq.com, parce qu'en début d'après-midi, lip6 c'est pas la peine, il est sur Renater, le réseau de l'éducation nationale et de la recherche, et juste après bouffer, ben je peux vous dire que ça surfe grave chez les chercheurs... Bon, alors avant de vous taper allègrement les 13 Megas d'un noyau avec votre petit modem, sympa mais quand même petit, regardez donc dans /usr/src quelle version des sources du noyau vous avez. Parce que vous pouvez, si la version que vous avez n'est pas trop éloignée de la nouvelle version que vous voulez, utiliser les patches plutôt que tout télécharger. Un patch, par exemple patch-2.2.2, est un fichier généré par la commande diff entre les sources de la version 2.2.1 et ceux de la 2.2.2, autrement dit le fichier patch-X est tout ce qui a changé entre la version X-1 et X, je vous dirai un jour comment on fait des patches, c'est pas compliqué et en plus c'est carrément la frime. Bon, donc si vous avez déjà la 2.2.0 ou 2.2.1 chargez les patche, sinon chargez le tout.

Appliquer les patches.

Rien de plus simple : vous allez dans le répertoire où sont sauvés vos patches et vous tapez /usr/src/linux/script/patch-kernel. Il fera tout pour vous, vérifiera la version de votre noyau et quels patches doivent être appliqués. Si vous voulez vous la jouer un peu plus, vous allez dans le répertoire /usr/src et vous tapez gzip -cd patch.X.Y.Z.gz | patch -p0. patch utilise l'entrée standard comme source du fichier diff, et comme généralement les patches sont compressés, vous les décompressez avec gzip avec l'option -c pour balancer la sortie sur la sortie standard qui est chopée via le pipe par patch. Évidemment si votre patch est déjà décompressé, vous n'avez qu'à taper patch -p0 < patch-X.Y.Z. Le -p0 de la commande patch permet d'indiquer comment patch doit considérer les chemins à l'intérieur du patch. -p0 signifie qu'il n'y touche pas, -p1 qu'il enlève la première partie, etc... Par exemple si vous patchez à partir de /usr/src vous aurez cette option -p0, par contre si vous vous trouvez dans le répertoire /usr/src/linux, vous aurez l'option -p1, puisqu'il faut retirer tous les /linux des chemins qui se trouvent dans le patch... Enfin bref, utilisez patch-kernel et c'est très bien.

Vérifier que tous les packages sont à jour

Généralement les derniers noyaux utilisent les dernières version des divers programmes systèmes. Pour cela allez voir le fichier /usr/src/linux/Documentation/Changes qui vous donne toutes les versions minimales requises et les commandes pour déterminer quelles versions sont actuellement sur votre système. Ne faites pas les malins en disant, ouaip j'ai la 1.2.43 et il faut la 1.2.44, ils vont pas me prendre le chou. Si y'a marqué 1.2.44 c'est qu'il faut 1.2.44, sinon ne vous étonnez pas après si vous n'arrivez pas à compiler votre noyau ou si votre système plante.

Configurer le noyau

Vous voilà donc face à un noyau tout neuf. Bon, maintenant il faut le configurer pour s'adapter au mieux à votre système, pour cela, dans le répertoire /usr/src/linux, tapez make xconfig (c'est une config en mode graphique, si vous voulez vous la jouer : « Regarde je compile mon noyau par telnet via mon autre machine !» , tapez make menuconfig ou encore plus geek, make config). En ce qui concerne quoi mettre, c'est vous qui voyez, ne mettez pas des trucs que vous n'utiliserez pas, ou alors mettez les en modules.  Les modules permettent de mettre à part certains drivers de manière à ne les charger que lorsqu'on en a besoin. À ce propos, si vous passez d'une version 2.0.X à une version 2.2.Y, la gestion des modules a un peu changé, en effet kerneld n'est plus utilisé, c'est kmod qui s'en charge maintenant, vous pourrez donc retirer kerneld des différents répertoires /etc/rc.d/rcX.d de manière qu'il ne soit plus lancé (faites ça avec le control-panel, le runlevel editor, ou bien avec linuxconf). Enfin toujours est-il que je vous conseille quand même de lire le fichier /usr/src/linux/Documentation/Changespour faire les trucs comme il faut.

Compiler

  

Ligne de commande universelle, make dep ; make clean X modules modules_install où X est
image pour faire un noyau tout simple,
zimage pour faire un noyau compressé,
zdisk pour copier le noyau sur une disquette pour pouvoir booter avec,
zlilo pour faire un noyau et l'installer via lilo pour booter avec.

Si vous avez un message qui vous dit que votre noyau est trop gros (ah ça on frime, on frime à tout mettre dans son noyau et après on est bien embêté, forcement) vous pouvez faire un bzlilo à la place du zlilo par exemple.

Attention : si parmi vous des gens utilisent Windows NT sur leur système et qu'ils ont galéré comme des fous pour installer lilo puis le bootloader de NT, y'a des chance pour que le make zlilo nique leur truc. De toute façon l'intérêt d'avoir NT sur sa machine est relativement réduit alors autant profiter de l'occasion :-).

Généralement make dep ; make clean bzlilo modules modules_install ne devrait pas vous poser de problème.

Il y a quand même un petit truc à régler en plus. En effet make zlilo compile votre noyau, l'installe et exécute lilo pour pouvoir démarrer avec, mais par défaut le noyau est copié dans /, c'est à dire à la racine, alors que généralement les noyaux sont dans /boot,. Pour corriger ce petit problème, il vous suffit d'aller dans /usr/src/linux et d'éditer le Makefile, puis de décommenter la ligne INSTALL_PATH=/boot. Jetez aussi un coup d'oeil à /etc/lilo.conf histoire de vérifier qu'il y a bien un noyau appelé vmlinuz (le nom par défaut donné au nouveau noyau).

Personnellement je n'ai pas changé le Makefile, de cette manière, une fois la compilation terminée, je me retrouve avec un nouveau noyau à la racine. Je le recopie alors dans /boot avec comme nom vmlinuz-X.Y.Z histoire de pouvoir l'identifier plus facilement, n'oubliez pas de copier aussi System.map sous /boot/System.map-X.Y.Z. Ensuite je modifie mon /etc/lilo.conf pour l'ajouter tout en gardant un ancien noyau stable de manière à pas être bloqué dans le cas où le nouveau noyau ne boote pas. Pour cela il suffit d'ajouter des lignes du genre :

image=/boot/vmlinuz-2.2.2
label=test
root=/dev/hda5
read-only

à lilo.conf de manière à pouvoir lancer le nouveau noyau en tapant test au prompt de lilo, sachant que c'est la première entrée qui est le défaut.  
Et bien, voilà qui est tout.

haut de page

 2 3 1999

Mots Clés : commande clavier, tee, cal, mpg123, commande clavier.

Bon aujourd'hui c'est mardi. C'est terrible le mardi on n'a jamais d'idée... Alors je vais parler d'un truc simple en espérant qu'une idée me vienne avant que je ne finisse de taper cette phrase... Non... Je vais pas me lancer dans le patch et diff, trop long, le partitionnage ça me tente pas, sur initrd c'est trop compliqué pour un mardi, les expressions régulières ça marche pas le 2 du mois... Faudra que je vous cause de la configuration du réseau, c'est important ça, tiens, je le note. Non je vais causer de petits trucs sympas sans grand rapport les uns avec les autres...

Commandes au clavier :

Ctrl-d : efface un caractère
Ctrl-a : va en début de ligne
Ctrl-e : va en fin de ligne

Commandes sympas dans bash

$((calcul)) ou $[calcul] : fait le calcul (sur des entier seulement). Genre vous babassez peinard et puis d'un coup, « Mince ! Combien ça fait 8000/160 ? ». Rigolez pas! Ça m'est arrivé pas plus tard que cette après-midi. Et bien un petit $((8000/160)) et hop, ça fait 50.

Si vous tapez ! suivi d'une lettre, cela exécutera la dernière commande tapée qui commence par cette lettre ; si vous tapez !!, ça exécutera la dernière commande. Et si vous tapez !* ça donnera la liste des arguments de la commande précédente (tout sauf le premier mot en fait). Pratique quand par exemple vous faites un ll fichier_avec_un_nom_hyper_long pour voir s'il est là, puis un vi !* pour l'éditer.

Programmes cool

tee : lit un flux sur l'entrée standard et le ressort sur la sortie standard et sur l'écran. Genre vous avez un programme super important qui tourne dont vous sauvez la sortie dans un fichier, mais que quand même vous avez bien envie de la voir, la sortie, pour vérifier où il en est. Et bien de faire un prog_super_important > fichier_que_surtout_je_garde &. Et ensuite un tail -f fichier_que_surtout_je_garde pour voir ce qu'il écrit dedans, et bien vous pouvez faire ça en une seule commande : prog_super_important | tee fichier_que_surtout_je_garde.

cal : affiche le calendrier du mois courant.

mpg123 : c'est un player de mp3, il est basique, sans fonction originale, mais il marche bien.

haut de page

 3 3 1999

Mots Clés : zcat.

zcat est une commande bien sympa qui permet de faire un cat de fichiers texte compressés avec gzip (c'est en fait l'équivalent de gzip -cd). Donc quand vous avez des fichiers d'aide ou autres, nul besoin de les décompresser pour les visualiser, un petit zcat file | less suffira...

Mots Clés : mailcap, mutt, pine

Le gestionnaire de courrier, ou maileur, ou comme vous voulez, est quand même un des programmes que vous utilisez le plus fréquemment dans la journée, alors tant qu'à faire autant qu'il soit sympa. Pour ma part j'utilise pas mal pine et un tout petit peu mutt. Je n'aime pas trop netscape et les trucs graphiques dans le même genre parce qu'ils sont lourds, buggés et bouffeurs de ressources. Cela dit de nos jours on reçoit souvent par email toutes sortes d'images, fichiers pdf, doc, html ou autres... Et généralement si vous essayez de charger un de ces fichiers directement vous recevez allègrement un avertissement vous indiquant que le programme ne sait pas visualiser ce type de fichier.

La solution se trouve dans l'utilisation du fichier .mailcap dans votre $HOME directory ou du fichier global /etc/mailcap. Ce fichier fait en effet correspondre des types MIME (Multipurpose Internet Mail Extensions) à des applications permettant de les visualiser. Ainsi, en ajoutant ces lignes à ce fichier :

text/html; netscape %s
application/pdf; acroread %s
application/MSWORD ; soffice %s
application/OCTET-STREAM ; xv %s

Et bien vous aurez la joie de voir Netscape se lancer pour les fichiers HTML, Acrobat Reader pour les fichiers PDF, Star Office pour les fichier word et XV pour les OCTET-STREAM (les images).

haut de page

 4 3 1999

Mots Clés : flemme.

Ben ouais ça arrive, j'en suis pas fier, mais il se trouve que là j'ai pas eu le courage en rentrant de faire autre chose que de mater mon mail... Désolé...

haut de page

 5 3 1999

Mots Clés : réseau.

Je suis énervé alors qu'on la ramène pas si ce que j'écris est nul, OK ? Bon, maintenant que c'est clair, on respire, voilà, c'est le week end, après tout il n'y a (presque) pas de raison de s'énerver, donc tout va bien... C'est dingue, y'a des gars qui arrivent à piloter des saumons en leur greffant des puces sur le cerveau, ça m'hallucine ce truc là...

Bon, c'est vendredi, on va pas se la jouer violent, je vais juste vous causer de où se trouvent les principaux fichiers de la configuration réseau de votre machine. Cela dit pour les gars qui ne sont pas contre le progrès et qui n'ont pas envie de se prendre la tête, de nos jours des programmes tel que linuxconf permettent de facilement configurer tout ce qui est configurable.

/etc/host : ce fichier contient les adresses IP et alias des machines sur lesquelles vous vous connectez assez souvent, le mieux étant cependant qu'il contienne peu d'entrées de manière à éviter la nécessité de fréquentes mises à jour. Seule l'adresse loopback (127.0.0.1 ou ::1 pour ipv6) devrait apparaître en ce qui concerne votre machine.

/etc/sysconfig/network-scripts/ : ce répertoire contient les principaux paramètres de vos différentes interfaces, c'est-à-dire cartes par lesquelles vous pouvez accéder à un réseau (carte ethernet, wavelan, port série pour le modem, etc...)

/etc/rc.d/init.d/network : ce script est lancé par défaut, mais vous pouvez l'enlever, au démarrage de la machine, il met en place les différentes interfaces. Mais vous n'aurez pas a priori à modifier ce fichier. Il est cependant utile quand, après avoir modifié votre configuration, vous voulez réinitialiser les paramètres réseaux grâce à un network restart.

ifconfig : cette commande vous donne diverses informations sur vos interfaces et vous permet de les configurer.

netstat : donne des statistiques sur votre réseau, connections, tablse de routages...

route : montre les tables de routages. Attention si vous avez upgradé pour un noyau de la lignée 2.2.x, car désormais les tables de routages sont générées automatiquement, référez-vous aux fichiers /usr/src/linux/Documentation/Changes, /usr/src/linux/Documentation/networking/routing.txt et /usr/src/linux/Documentation/networking/policy-routing.txt .

Mots Clés : java, gnome Pour ceux que cela intéresse, les sorties du jdk 2 (anciennement 1.2), (www.javasoft.com) et de gnome 1.0 (www.gnome.org) étaient imminentes sur linux PC.

haut de page

Mots Clés : java, java.

Pour ceux que cela intéresse, les sorties du jdk 2 (anciennement 1.2), (www.javasoft.com) et de gnome 1.0 (www.gnome.org) étaient imminentes sur linux PC.

haut de page

 6 3 1999

Mots Clés : patch, patch.

Alors je vous avais promis de vous apprendre à faire des patches pour épater vos amis, et bien allons y... La clé pour créer un patch c'est la commande diff. Cette commande sert à répertorier les différences entre deux fichiers ou deux arborescences. La syntaxe c'est diff [options] file1 file2 > patch-file1-file2. En ce qui concerne les options, les plus utiles sont -u et -r ; si vous voulez masteriser en soirées en connaissant par coeur toutes les options de diff, faites donc un man diff et le tour sera joué. L'option -u permet de spécifier un type de sortie qui consiste à créer un fichier ou des lignes commençant par «-» ou «+» marquent les différences entre file1 et file2. L'option -r permet de parcourir toute l'arborescence de manière récursive.

Et bien maintenant que vous avez généré votre patch, vous n'avez plus qu'à le compresser avec gzip et le diffuser allègrement sur le web :-)

haut de page

 7 3 1999

Mots Clés : mtab, fstab, mount, mtab.

Yeah trop cool, c'est dimanche il fait un temps pourri, je suis super content ! Non c'est la loose complète... Enfin... Bon, jetons aujourd'hui un coup d'oeil au fichier /etc/fstab et /etc/mtab. Ces deux fichiers entrent en jeu dans le montage d'arborescences. Comme vous l'avez sans doute remarqué, le système de fichiers sous unix est basé sur une arborescence unique où les diverses partitions de votre système ou d'autres systèmes représentent une partie de cette arborescence. Le fait d'ajouter une branche pour y naviguer s'appelle le montage et se paramètre dans le fichier /etc/fstab. Le fichier /etc/mtab permet de savoir quelles partitions sont actuellement montées dans votre arborescence.

Structure du fichier /etc/fstab


/dev/hda5
/dev/hda8
/dev/hda6
/dev/hda7
/dev/hda1
/dev/hdc1
/dev/hdc5
/dev/hdc6
/dev/hdc7
/dev/hdc8
/dev/hdc9
/dev/hda9
/dev/hdc10
/dev/hdc11
/dev/hdc12
/dev/fd0
/dev/cdrom
none
nick.warly.org:/

/
/home
/usr
/usr/local
/dos/c
/dos/d
/dos/f
/dos/g
/dos/h
/test
/sauv
swap
swap
swap
swap
/mnt/floppy
/mnt/cdrom
/proc
/nfs/nick

ext2
ext2
ext2
ext2
vfat
vfat
vfat
vfat
vfat
ext2
ext2
swap
swap
swap
swap
ext2
iso9660
proc
nfs

defaults
defaults
defaults
defaults
defaults
defaults
defaults
defaults
defaults
defaults
defaults
defaults
defaults
defaults
defaults
noauto,user
noauto,ro,user
defaults
noauto,exec,dev,suid,rw

1 1
1 2
1 2
1 2
0 0
0 0
0 0
0 0
0 0
1 2
1 2
0 0
0 0
0 0
0 0
0 0
0 0
0 0
1 1

Le premier champ désigne le device concerné (hda, hdb, hdc... pour les disques ide, sd* pour les disques SCSI (« scuzy »)), ou la partition pour les arborescences et le swap. Pour les volumes NFS (Network File System), la syntaxe est la suivante : serveur:volume, par exemple castor:/home/maisonbleue/ ; Cela sous-entend cependant que la machine en question exporte cette arborescence (cela se fait via le fichier /etc/exports.

Le deuxième champ désigne l'endroit où sera monté ce device, il faut que cet endroit existe dans l'arborescence. Utilisez « none » ou « swap »  pour le swap. proc est le pseudo file system pour les processus, évitez de le toucher, ça pourrait perturber votre babasse, la pauvre :-)

Le troisième champ est le type du système de fichier, les plus répandus sont :
ext2 : les partitions standard linux,
vfat : les partitions Microsoft Windows 95 (Trademark,®,©, Do not touch, Do not copy, Do not modify),
swap : les partitions de swap. À ce propos désormais avec la nouvelle lignée de noyau 2.2.x, il n'y a plus de limitation à 128 Megas par swap, ce qui signifie que vous pouvez sans crainte créer un swap de 250 Megas d'un coup, ça marchera. Lisez /usr/src/linux/Documentation/Changes pour plus de détails.
iso9660 : les CD-ROM.
nfs : les systèmes de fichiers importés par le réseau.

Le quatrième champ désigne les options de montage. Toutes les options sont brillamment décrites dans le man de mount.

Le cinquième champ permet de désigner quels systèmes de fichiers doivent être sauvegardés par la commande dump. Mais a priori vous ne sauvez pas vos disques sur bandes alors ce n'est pas très important.

Le sixième champ est utilisé par fsck, utilitaire de vérification de disque, au démarrage, pour déterminer l'ordre de vérification. La partition racine (root) devrait avoir une valeur de 1 et les autres de 2. Celles qui ont une valeur de 0 ne sont pas vérifiées.

Montage et démontage

Pour les systèmes de fichiers qui ne sont pas montés automatiquement au démarrage, c'est la commande mount qui permet de le faire. Il suffit de taper mount champs_2_de_fstab, par exemple mount /mnt/cdrom. Le démontage se fait par la commande umount. Mais attention vous ne pouvez pas démonter un système de fichier tant qu'il y a quelqu'un dedans, meme en root (vous avez quand même la possibilité de virer tout le monde et de démonter peinard, vous êtes root, quand même...).

Et bien jeunes gens, voilà qui est tout...

haut de page

 8 3 1999

Mots Clés : Modèle OSI, Modèle OSI.

Bon, un peu de théorie aujourd'hui, parce qu'il y a quand même quelques concepts utiles à connaître. Le modèle OSI (Open Systems Interconnection) a été défini par l'ISO (International Standard Organisation) dans le but de standardiser les structures mises en jeu dans les communications réseaux. Le modèle OSI consiste en 7 couches distinctes qui possèdent chacune une fonction propre. L'idée est de décomposer l'ensemble des opérations mises en jeu dans les réseau pour plus facilement s'adapter et faciliter l'évolution et la modularité. Ces 7 couches sont les suivantes :

Couche 0 : physique (physical) ceci représente le matériel physique pour transmettre l'information, le bit, l'impulsion électrique, c'est par exemple du câble coaxial, ou des ondes hertziennes...
Couche 1 : lien (data link) définit de quelle manière sont transférées les informations sur la couche 0, ainsi que le format des données (frames). C'est par exemple ethernet ou FDDI ou encore token ring.
Couche 2 : routage ou réseau (network) assure le routage des paquets d'un point à un autre. Recherche quel chemin prendre pour aller d'un point à un autre. C'est ici que se placent le protocole IP et son acolyte ICMP.
Couche 3 : transport assure que le transport des paquets entre l'émetteur et le récepteur se passe bien. Ici on trouve TCP, qui assure une transmission sans erreur de l'ensemble des informations.
Couche 4 : session
Couche 5 : présentation
Couche 6 : application
Les couches 4, 5 et 6 sont plus théoriques qu'autre chose et ne sont pas aussi bien marquées dans la réalité que les couches inférieures.

Pour compléter votre culture sachez qu'ethernet transmet des frames, IP des packets, TCP des segments et UDP des datagrammes...

haut de page

 9 3 1999

Mots Clés : xv.

Chuis nase, bon sang, c'est terrible... Qu'est ce que vous voulez que je vous dise, moi ? Le noyau 2.2.3 est sorti et je l'ai même pas encore installé ni même téléchargé, alors vous voyez bien que ça va pas... Vous voulez mettre une image jpeg en fond d'écran ? Facile : xv -quit -root imagecool.jpg, remarquez ça marche pas seulement avec les JPEG, aussi avec tout types d'images compréhensibles par xv...

haut de page

 10 3 1999

Mots Clés : humeur.

Alors les jeunes, la pèche ? Moi à fond, ouahou ! Je suis en train de me compiler le noyau 2.2.3, il passe une super sique à la radio, je vais installer gnome un peu plus tard dans la soirée... En plus j'ai bien bossé aujourd'hui, la vie est cool ! Et vous, pas trop la galère ? Bon, il faut me dire, hein, n'hésitez pas à balancer des mails sur des trucs dont vous voudriez que je parle, ou même d'autres trucs. En fait pour les serveurs X je vous avais dit que je connaissais XFree86, et bien il y a aussi MetroX, je ne sais pas ce qu'il vaut. Vous avez vu ? Quake III sort à la fois sur Mac, PC Windows et PC Linux, c'est pas cool ça ?

Vous allez encore vous dire que j'ai la flemme de parler d'un truc technique aujourd'hui, ce qui n'est pas forcement faux... Bon il faut quand même que vous appreniez quelque chose... Alors je vous dis deux trois trucs sur la nouvelle lignée 2.2.x comparée aux anciens 2.0.3x. Et bien désormais, plus de limitation swap à 128 Mega, plus besoin de spécifier la quantité de mémoire à lilo s'il y en a plus de 64 Megas. Il existe désormais un serveur NFS que l'on peut compiler dans le noyau et donc se passer de nfsd. De même pour le chargeur de modules, plus besoin de kerneld, un thread du kernel, kmod, s'en charge.

J'ai les boules, j'essaie d'installer gnome et j'ai des failing dependencies de tous les cotés, ça me désespère...

Vous en avez marre de Netscape, trop gros, trop lent, utilisez lynx, un browser en mode texte, c'est l'avenir je vous dis. Rigolez, adeptes de la souris, mais l'ère des consoles textes est loin d'être terminée...

haut de page

 11 3 1999

Mots Clés : fetchmail.

Programme de rapatriement de mail : fetchmail

Ce programme permet d'automatiser la connection à différents serveurs de mails où vous possédez des boites aux lettres et le rapatriement des mails de ces boites.

La configuration de fetchmail passe par la création dans votre $HOME directory du fichier .fetchmailrc qui contient les informations sur vos différentes boites aux lettres. Ce fichier contient les adresses, mots de passes et protocoles utilisés, voilà un exemple:

poll machine1.domain1.fr protocol pop3  
   username villardf password TrooDuck is warly here
poll pop.wanadoo.fr protocol pop3  
   username warly password K,k!ika is warly here
    username La.Belle.Blonde password blonde is Jennifer here
poll pop3.whitehouse.mit protocol pop3  
    username Bill password MonicaSucks is Billy here

Évidemment fetchmail possède des centaines d'options différentes pouvant faire tout un tas de trucs, notamment pour les serveur LDAP ou le filtrage des mails permettant de se prémunir de certains sites de SPAM connus. Comme vous pouvez le voir, la syntaxe est assez simple :
poll suivi du nom du serveur.
protocol suivi de la date de naissance de votre belle-soeur
username suivi de votre login sur le serveur
password votre mot de passe sur le serveur
is coco here permet de spécifier un nom d'user différent de celui du serveur.

La commande pour lancer fetchmailcontient aussi tout plein d'options, cependant les plus intéressantes à mon goût sont :
fetchmail sans rien : lance fetchmail qui lit votre fichier ~/.fetchmailrc, rapatrie les mails, et se termine.
fetchmail -k : n'efface pas les mails sur les serveurs.
fetchmail -d 900 : lance fetchmail en mode daemon. Celui-ci reste actif et recharge les mails toutes les 900 secondes.

haut de page

 17 3 1999

Mots Clés : internet, ppp-on, script de connexion, sendmail, internet.

Terrible cette semaine les jeunes, j'ai pas eu une seconde. Ce qui explique que je n'ai pas écrit grand chose. Entre autre problème j'ai dû installer une carte SCSI, une carte Sound Blaster Vibra 16 PnP (c'est ça le bleme), une carte réseau sans marque... Bref, tout cela m'a bien occupé, en plus des petits tracas de la vie quotidienne. Mais bon, rien de grave. Pour continuer avec les divers aspects de la connexion internet et pour faire suite à mon précédent passage sur fetchmail, je vous présente ici mon script de connexion, ppp-on, ainsi que les principaux points de la configuration de sendmail pour pouvoir s'en servir de manière cool. Par cool j'entends pouvoir envoyer des mails de son compte n'importe quand , connecté ou pas, et cela sans recevoir des messages d'erreur périodiquement, et faire en sorte que le mail soit envoyé une fois la connexion établie.

Première étape : la configuration de sendmail

S'il y a bien un point dans lequel je ne rentrerai pas dans les détails, c'est bien la configuration de sendmail. Alors je vous donne mon fichier de configuration /etc/sendmail.cf. Les points essentiels de la configuration sont les lignes suivantes :  
DRsmtp.wanadoo.fr votre serveur de mail pour tout ce qui n'est pas local.  
DMwarly.org nom du domaine, uniquement utile pour le masquerading.

L'idée c'est de tout envoyer ce qui n'est pas local au serveur de mail de votre provider histoire que ce soit lui et non pas vous qui geriez les problemes de retransmission en cas de non réponse du destinataire et autre congestion.

Cela fait, il vous faut configurer le daemon sendmail pour que celui-ci n'envoie pas les mails quand vous n'êtes pas connecté et les bufferise (dans /var/spool/mqueue). Cela se fait en éditant le fichier /etc/rc.d/init.d/sendmail de manière à ce que sendmail soit lancé avec les bonnes options. Voilà mon fichier : sendmail.

Configuration des scripts de connexion.

ppp-on
C'est ce que vous tapez pour vous connecter. Ce script appelle ppp-on-dialer qui numérote et établie la connexion, ensuite le fichier pap-secrets permet de vous identifier et d'ouvrir une session sur le réseau. Ce script appelle aussi le script on-connect.

ppp-on-dialer
Appelé par ppp-on, c'est simplement la commande chat avec les paramètres de discussion adéquats.

pap-secrets
Fichier contenant votre login et password chez votre provider.

on-connect
Ce script boucle jusqu'à ce qu'une connexion soit établie, une fois que vous êtes loggué, il appelle sendmail pour envoyer le mail dans le buffer et aussi fetchmail pour charger le mail de vos différentes boites aux lettres.

ppp-off
Termine la connexion et tue fetchmail.

haut de page

 22 3 1999

Mots Clés : crontab, locate, crontab.

Hello, et bien après un week-end tranquille au Soleil (ça vous ferait du bien à vous aussi de prendre le Soleil, vous êtes tout pales), où j'ai quand même installé une Redhat 5.2. Et bien comme je vous l'avais dit la semaine dernière, la galère grave, qui n'est pas terminée d'ailleurs, pour installer d'une part divers périphérique et d'autre part configurer un vieux 486 recupéré en pare-feu (c'est comme cela qu'on dit, non ? ). Je vous dirai deux trois mots sur l'installation d'une carte sonore Sound Blaster Vibra 16 ISA Plug and Play, mais pas tout de suite car j'ai encore quelques questions qui subsistent. Aujourd'hui, pas violent, juste de quoi configurer la crontab daily de votre système Linux.  

La commande locate, vous connaissez? Et bien vous devriez, c'est une commande bien pratique qui vous permet de rapidement trouver un fichier sur votre système. Certains connaissent peut-être la commande find qui permet aussi de chercher un fichier dans une arborescence. locate n'effectue pas la recherche dans l'architecture actuelle de votre système mais se base sur une base de donnée créée par la commande updatedb. Cette commande crée un fichier contenant tous les fichiers présents sur le système. La pertinence de locate dépend donc de la fréquence à laquelle est exécutée la commande updatedb.

Par défaut, la Redhat met en place une crontab qui exécute toutes les heures /etc/cron.hourly, tous les jours le contenu du répertoire /etc/cron.daily, toutes les semaines /etc/cron.weekly et tous les mois /etc/cron.monthly. Cependant, par defaut ces crontab sont programmés à des heures tardives de la nuit, et à moins que vous ne laissiez votre machine allumée en permanence (ce que je vous conseille, moi je peux pas elle fait trop de bruit ça m'empèche de dormir), il y a des chances pour qu'en fait ces commandes ne s'exécutent pas faute que votre machine ne soit pas allumée. Entre autres commandes il y a notre fameuse updatedb, utile à locate.

Voilà à quoi ressemble le fichier /etc/crontab :


SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# run-parts
01 * * * * root run-parts /etc/cron.hourly
03 22 * * * root run-parts /etc/cron.daily
22 21 * * 0 root run-parts /etc/cron.weekly
42 23 1 * * root run-parts /etc/cron.monthly      

La partie importante est celle après « # run-parts », c'est là que vous pouvez paramétrer les heures d'exécution des crontabs. Ce sont les cinq premiers champs qui permettent de configurer, respectivement, la minute, l'heure, le jour, le mois et le jour de la semaine ; une étoile signifie toutes les valeurs possible. Essayez de mettre des heures où la machine sera allumée tous les jours.

haut de page

 23 3 1999

Mots Clés : crontab.

Je vous ai parlé hier de la crontab système, celle de root. Mais chaque utilisateur peut mettre en place sa propre crontab dans le but de faire exécuter de manière régulière certaines commandes, par exemple des sauvegardes, envoyer des mails ou autres. Contrairement à root, un utilisateur ne peut éditer que sa crontab personnelle. Ceci se fait par l'intermédiaire de la commande crontab. Les trois principaux arguments de celle-ci sont :
-e : édite la crontab avec l'éditeur spécifié dans la variable d'environnement $VISUAL ou $EDITOR, vi si aucune d'elles n'est définie...
-l : liste la crontab.
-d : efface la crontab.

Entrée type dans une crontab
Le mieux est je pense de se baser sur quelques exemples :
5 0 * * *       $HOME/bin/clean
Le programme clean sera exécuté tous les jours à minuit 5.
15 14 1 * *     $HOME/bin/clean
Le programme clean est exécuté tous les premiers du mois à 14h15.
0 22 * * 1-5   mail -s Dodo ! Warly@bigfoot.com%JWarly,%%Arrete de babasser !!%
Tous les jours du lundi au vendredi, un mail est envoyé à 22h. Dans la commande, les «%» sont transformés en retour à la ligne, sauf s'ils sont backslashés. Des intervalles peuvent être spécifiés de la forme 1-5.
10 0-23/2 * * * commande
commande est exécutée entre 0 et 23h par pas de deux heures, c'est-à-dire 0,2,4,6...,22 tous les jours. Un slash suivi d'un nombre spécifie un pas d'incrément quand un intervalle ou une étoile sont spécifiés, */3 est valable.  
À noter que les champs jour de la semaine et jour du mois sont liés par une relation «ou» et non pas «et» comme les autres champs:
10 2 3 * 0 commande  
exécutera la commande tous les 3 du mois ET tous les dimanches.

haut de page

 28 3 1999

Mots Clés : masquerading, masquerading.

Et bien mes amis, week-end chargé : j'ai en effet réussi à configurer un serveur NIS (qui permet, dans un réseau, de centraliser la gestion des mots de passe sur une seule machine) et le masquerading de mon sous réseau par mon firewall (un 486 récupéré avec 8 megas de RAM (seulement) et qui tourne sous une Debian 2 avec le noyau 2.2.3). Pour information, le masquerading est une fonction bien utile pour permettre aux machines d'un sous-réseau d'atteindre l'extérieur quand on ne dispose pas d'adresse IP pour celles-ci. C'est le cas je pense de beaucoup d'entre vous, votre abonnement à votre provider ne vous donne droit qu'à une seule adresse IP.  Si vous avez deux machines reliées entre elles dans un petit réseau local, pour accéder au web vous devez, a priori, assigner à chacune d'elle une adresse IP. La fonctions de masquerading permet de faire cela avec uniquement une adresse IP, celle de la machine qui est vraiment reliée à l'extérieur. L'astuce vient du fait que cette machine transforme les paquets venant du sous-réseau de manière à faire croire à l'extérieur que ce sont ses propres paquets, et lorsque la réponse revient du web, cette machine retransforme les paquets pour les envoyer à la machine du sous-réseau qui a réellement émis la demande.  Cela signifie que vu de l'extérieur, tout semble venir d'une seule et même machine alors que celle-ci peut en réalité desservir un nombre assez conséquent de babasses. Quand j'y repense finalement j'ai pas fait tant de trucs que cela, mais il se trouve que les choses marchent rarement du premier coup et par conséquent s'ensuivent de longues périodes d'interrogations devant mon écran, ou devant la glace de la salle de bain, haut lieu de méditation...

haut de page

Mots Clés : /dev/dsp, /dev/audio, Sound Blaster Vibra 16 Plug and Play, isapnp, isapnp.conf, sndconfig, /dev/dsp.

Quelque chose d'un peu plus utile maintenant. Vous avez tous dans vos machines une cartes sonore je suppose. Certains ont des Sound Blaster 3D live PCI 256 surround bi-stéréo Vazyquejemelapete, c'est très bien. D'autres ont compris que pour lire quelques mp3 ou jouer à Quake, cela ne sert à rien de mettre 1500 balles dans une carte son d'une part, et de bouffer un port PCI pour cela d'autre part.  Il se trouve que j'ai donc configuré une Sound Blaster Vibra 16 Plug and Play et qu'elle marche à peu près, alors je vais vous dire les deux trois trucs à faire pour ne plus avoir à supporter le CD qui tourne en boucle ou la vie sexuelle de la France entière à la radio (ce dont je me fous éperduement, soit dit en passant) et pouvoir s'ecouter sa playlist de mp3 qui vous permet d'aller allègrement jusqu'au bout de la nuit. Le principe du plug and play, vous devez le savoir, signifie que la carte n'a pas de paramètres (numéro d'interruption (IRQ), d'accés direct à la mémoire (DMA), plage d'entrée-sortie (IO)) sauvés en EEPROM mais que ceux ci sont définis par le système d'exploitation à l'initialisation de la carte. Il se trouve que Linux n'aimait pas trop les périphérique Plug and Play fut un temps, mais cela va mieux maintenant.

Avant toute chose, assurez vous que le son ne marche pas déjà sur votre système, ce serait vraiment dommage de tout foutre en l'air alors que tout fonctionne. Pour cela vous pouvez taper cat /dev/sndstat qui vous renseigne sur les pilotes disponibles pour les divers périphériques sonores, ou bien lancer un fichier .voc ou .wav vers /dev/dsp ou .au vers /dev/audio en tapant cat whouaou.au > /dev/audio (faites un locate *.au, je suis sûr que votre système est bourré de fichiers .au) ou bien dernière possibilité, écouter un CD audio avec la commande cdplay (ou bien un mp3, mais si vous ne savez pas si le son marche, je doute que vous ayez des décodeurs sur votre babasse).

Pas de son ? Bon alors on continue, tout d'abord il vous faut compiler votre noyau de manière à supporter le son. Il faut bien sûr activer le support du Plug and Play, et le support des modules. Vous devez en effet sélectioner les pilotes pour votre carte (Sound Blaster 16 en ce qui me concerne) en tant que modules car celle-ci doit etre initialisée par les utilitaires Plug and Play avant de pouvoir etre utilisée, ce qui n'est pas le cas si vous compilez le driver directement dans le noyau. Donc, vous voilà prêts avec un noyau supportant le Plug and Play et ayant le driver adequat pour votre carte, chargeable en tant que module.

Il vous faut maintenant configurer l'initialisation de votre carte. Le but est de créer un fichier /etc/isapnp.conf utilisé par le programme isapnp pour régler les périphériques ISA Plug and Play. Pour générer ce fichier, plusieurs possibilités : utiliser le programme sndconfig disponible avec la RedHat, ou bien le programme pnpdump, ou encore le faire vous-même en vous aidant du fichier /usr/src/linux/Documentation/sound/VIBRA16 (personnellement je n'y suis pas arrivé, j'ai des erreurs de partout, c'est la dèche totale). Le plus simple est d'utiliser le programme sndconfig qui vous demande les valeurs que vous désirez assigner aux divers paramètres. Le blème c'est que la Vibra a la bonne idée d'utiliser le DMA 3 pour la sortie 16 bits, et ce DMA est un DMA 8 bits uniquement dans le driver pour linux... qu'importe! utilisez sndconfig et mettez 5 pour le dma 16 bit, le programme va vous générer un fichier /etc/isapnp.conf, le test de la fin doit crasher, c'est normal. Une fois cela fait, éditez le fichier /etc/isapnp.conf et changez la ligne (DMA 1 (CHANNEL  5)) en (DMA 1 (CHANNEL  3)). Bon maintenant, rebootez et priez. Si ça ne marche pas, éteignez (il se peut, bande de petits malins, que vous ayez utilisé Windows avant, et que celui-ci ait initialisé la carte), rallumez et priez. Si ça marche toujours pas, ben je sais pas, priez plus fort et lisez les Sound-HOWTO et Sound-Playing-HOWTO. Vous pouvez aussi utiliser Windows pour initialiser votre carte et ensuite passer sous linux avec loadlin, mais j'aime pas trop cette solution.

haut de page

 30 3 1999

Mots Clés : Java.

Et bien, voilà que le printemps arrive, n'est-ce pas une bonne chose ? Ça vous inspire pas, vous, le printemps ? Moi si, ça me donne envie de me barrer dans la montagne. Mais bon, ceci n'est pas trop à l'ordre du jour en ce moment. Pour les impatients qui veulent le JDK 1.2, oups, pardon, 2, (vous avez vu ce superbe enchaînement d'idées ? Printemps -> montagnes -> java, c'est pas beau ça ? :-) )vous le trouverez sur www.blackdown.org. Je pense que java est une composante importante dans le développement sous Linux et à mon avis il a une place tout aussi, voire plus importante, que le C++, d'une part par sa clarification et sa plus grande rigueur quant à la programmation objet, et d'autre part par la rapidité et la facilité de développement. Et je le situerai en deuxième position après le C dans les langages importants sous Linux, devant les langages de scripting tel que perl, tcl ou autre python et bien sur C++. Quant à ceux qui ne jurent que par lisp, algol, fortran et cobol, euh, et bien, comment dire, ben les gars vous savez c'est bien d'avoir un idéal dans la vie, mais bon là quand même... :-)

haut de page

Mois suivant

Valid HTML 4.0!

Warly Home Page   Generated 2000-07-02, 11h31   Mail
Copyright © 1999,2000 Florent Villard (warly@bigfoot.com)
This site was created with daily (tar.gz, rpm)