Linuxman - avril 1999


INDEX

Mois précédent

Mois suivant


1 4 1999
2 4 1999
4 4 1999
7 4 1999
10 4 1999
11 4 1999
16 4 1999
17 4 1999
18 4 1999
19 4 1999
20 4 1999
21 4 1999
22 4 1999
24 4 1999
26 4 1999
27 4 1999
28 4 1999
29 4 1999

 1 4 1999

Mots Clés : vie.

Hello... C'est pas la grande forme, cela fait déjà plusieurs jours que j'y pense, et tout le foin qui est fait autour de cela m'y fait d'autant plus réfléchir. Je me demande si Linux cela vaut vraiment le coup, et si finalement Windows ne serait pas ce qui me convient.  

Car à quoi nous destinons nous, tous ? Si beaucoup ne feront finalement que vivre une vie qui n'est qu'une succession logique d'événements et ne laisse finalement qu'une marge de manoeuvre bien réduite, il n'en reste pas moins que ce sont toutes ces petites vies simples qui permettront à l'humanité d'avancer ne serait ce que de quelques millimètres, que dis-je, quelques micromètres.  En conséquence avant de prendre une voie ou une autre, nous faut il auparavant prendre un peu de temps pour nous assurer de la justesse de notre choix.

Regardons le monde qui nous entoure, et cherchons quelle serait la juste valeur qui nous dirigerait face à l'incertitude, la peur, la guerre, le pouvoir, la destruction ou l'amour ? Où trouver la lumière qui nous permettrait de ne pas être aveuglé par les lumières de la ville et nous montrerait autre chose que la simple soif d'avoir, de posseder et de dominer ?  

Si, admettons le, une grande partie du chemin qui a mené l'homme à ce qu'il est aujourd'hui n'est autre que cette soif de dominer et de comprendre, peut-être que demain ne se trouve pas derrière les étoiles.  Et si je regarde, moi, pauvre banlieusard inconnu au milieu d'inconnus qui n'osent même pas se regarder dans le métro, qu'est ce qui me fait tripper, je ne pense pas que ce soit le fait de taper sur mon vieux clavier que je traine depuis 7 ou 8 ans ou de recompiler une énième fois la version 2.2.5 de mon noyau ou encore d'enfin réussir à comprendre pourquoi TCP a des performances minables sur des couches deux avec taux d'erreurs important ; non, tous ceux-ci ne sont finalement que la manifestation de quelque chose de plus profond, de plus immatériel mais aussi plus basique : la soif de vouloir savoir plus, connaitre plus, aller plus vite, plus loin, soif que certains appeleront prétention...  

Mais la nature de l'homme se résume t'elle uniquement à cette soif égoiste et presque antisociale ? Je ne pense pas et là se trouve le point central de ma réflexion, peut etre que tout cela ne sert finalement à rien et ne me conduira à terme qu'à mener une vie parmi des vies et que je n'aurai pas, en ce jour, ensoleillé j'espère, où je mourrai, la satisfaction d'avoir fait quelque chose d'un peu moins basique et plus valorisant que quelques lignes de C.  

Aller de l'avant ne saurait etre critiqué, c'est y aller tout seul qui me pose problème. Ne devrai-je pas, finalement, aider ce qui en ont réellement besoin plutot que prendre mon pied tout seul ? Ne devrai-je pas donner tout ce que j'ai pour ne plus entendre tous ces cris de douleur qui, malheureusement, ne sont que des parasites dans le lourd bourdonnement des emissions, films, pubs et autres visions quotidiennes du monde de ces même gens qui ne me regardent même pas dans le métro ? Peut-être que les enfants qui ont faim me regarderaient, eux...

  Je ne m'obstinerai donc plus dans ce combat qui n'en ai pas un, car là n'est pas la grandeur de l'homme. Mon temps est plus précieux que cette chronophage occupation de sans cesse savoir pourquoi mes paquets sont trashés, pourquoi mon module ne compile pas ou pourquoi la libungif.so.4 ne convient pas à enlightenment alors qu'il lui faut la libungif.so.3 ? Linux me détourne de l'honneur même de l'homme, et me rabaisse au rang d'égoïste occidental prétentieux. Tout ceci ne me mènera à rien, il me faut retrouver la voie de la sagesse et de l'humilité qui ne me fera pas détourner le regard de mes frères qui meurent de faim ou de froid.  

Ben mince alors, moi qui étais parti pour faire un poisson d'avril, je me suis presque convaincu moi-même que je n'ai qu'une vie de daube qui ne sert à rien. C'est terrible cela, faut pas que je dise des trucs comme cela, le pire c'est que cela me fous un peu des remords quand même. Je ne sais pas trop comment je peux me sortir de là.  Peut-etre que ce que je fais n'est pas si inutile ? Je me suis cassé le moral là, tiens...  

En fait oubliez Windows, Linux ou autre, vivez pour ce qui vous fait tripper mais garder à l'esprit qu'un jour peut-être il vous faudra laisser tout cela et lutter pour un ideal duquel dépend, peut-être, la dignité de l'homme. Vous tous qui êtes grands et forts, n'oubliez pas que ce que vous faites en ce moment est un jeu avec peu de risques, ne criez pas au diable envers d'autres personnes qui comme vous s'amusent aussi, parce que le diable, le vrai, viendra peut-être, gardez vos forces.

Bon et bien finalement je ne finirai pas par « Poisson d'Avril », je crois que c'est deplacé...

haut de page

 2 4 1999

Mots Clés : mailq, mail, knotes, dmesg, xearth, mailq.

Et bien on va revenir à des choses un peu plus basiques que l'élan philosophique qui m'animait hier en jetant un coup d'oeil - mais rapide le coup d'oeil, parce que là, la semaine se terminant je suis plutôt naze - à une liste de deux trois petites commandes ou programmes sympathiques :
x48 : simule une HP48GX, sympa.
mailq : vous informe des mails en attente dans le spooler de mail, pratique pour savoir si les mails ont été ou non envoyés avant de se déconnecter.
date : et bien cela donne la date, il y a plein d'options sympa, je vous en filerai deux trois pratiques un de ces jours.
dmesg : affiche les messages du précédent boot, cool quand en tant que simple user on n'a pas accès à /var/log/messages.
mail : maileur basique mais super rapide pour faire un checkmail rapidos.
xearth : marrant 5 minutes, affiche la Terre en fond d'écran et la rafraichit à mesure que le temps passe et change les zones ensoleillées.
knotes : petit utilitaire livré avec KDE qui permet de coller des post-it sur son écran.

Bon et bien on ne va pas se la jouer violent juste avant le long week end qui nous attend alors cela suffira pour aujourd'hui...

haut de page

 4 4 1999

Mots Clés : lynx.

Alors, vous avez eu votre ration d'oeufs, suffisamment pour être dégouté du chocolat jusqu'à demain ? Bien, prêt pour babasser encore une petite nuit (demain lundi férié, yeah ! )?   Je ne sais pas trop de quelle génération vous êtes, Unix, ms-dos, Windows ou Linux, moi je suis de la génération ms-dos, et c:\ c'est toute mon enfance, alors les terminaux textes c'est un peu ma nostalgie, vous voyez.  Parce que vous pouvez me raconter tout ce que vous voulez, mais l'utilisation des images pour transmettre l'information est aujourd'hui encore assez réduite, elles ne servent bien souvent que d'ornement ou de pseudo-contenu à des sites bien vide d'intérêt.  Quant au son n'en parlons pas, à part les quelques radios real audio, les modems actuels ne vous permettent d'en profiter que de 3 à 5 h du matin et encore. C'est pour cela que je pense qu'un petit browser léger tel que lynx a encore toute sa place.  Je ne dis pas que Netscape est inutile, loin de moi cette idée, car de plus en plus de sites font appel à des applettes java ou autres qui le rende nécessaire ; je dis seulement que lynx se justifie pour certaines tâches.

Base
Voilà les commandes basiques, qui me suffisent pour une utilisation régulière mais pas intensive :
UP : lien précédent.
DOWN : lien suivant.
LEFT : précédente page.
RIGH : va où le lien pointe.
+ ou SPACE : Page Down.
- ou b : Page Up.
? ou h : l'aide, où vous trouverez tout ce qu'il vous faut pour devenir pro.
a : ajoute le lien à vos bookmarks, par défaut $HOME/lynx_bookmarks.html
g : permet de donner une URL.
G : permet de donner une URL en se basant sur l'URL actuelle.
o : permet de spécifier vos options.
q : quitte.
/ : permet de faire une recherche de texte dans la page.
v : affiche le fichier de bookmarks.
d : download du document.
z : arrête le transfert en cours.
CTRL G : arrête l'opération en cours (PAS DE CTRL C, ça tue lynx ! ).
\ : permet de visualiser le source de la page en cours, que vous pouvez éditer en tapant sur e.
CTRL R : reload.

Ligne de commande
Peu d'options sont réellement nécessaires parmi toutes celles proposées, pour plus d'info, bien sûr vous pouvez consulter les pages du manuel.
-color : mode en couleur, COOL !
-auth=ID:PASS : bien utile si vous avez un firewall avec identification à passer.

En plus de ces commandes, certaines peuvent être utiles dans certains cas particuliers, par exemple pour pouvoir me servir de lynx pour visualiser les pages en HTML attachées aux mails, je suis obligé de mettre : text/html; nxterm -e lynx -force_html -color %s dans le fichier mailcap sinon il m'affiche le source.

Une autre option de la ligne de commande bien utile est -dumb qui peut vous servir pour automatiser la récupération de page web ou pour faire des petits scripts qui vous affichent les infos que vous voulez.
Je vais prendre un exemple, imaginons que vous êtes de vils capitalistes jouant votre argent en bourse, vous voilà donc bien intéressé par les cours du CAC 40 ainsi que des nombreuses actions de votre portefeuille. Et bien ce petit script vous permettra de connaître au plus vite l'état de vos soussous :

#!/bin/bash
lynx -dump http://bourse.lesechos.fr/homepagef1.asp | head -n 40
lynx -dump http://quote.yahoo.com | head -n 40
i=1
for i do
lynx -dump http://bourse.lesechos.fr/d_betdpage.asp?CodeSICO=$i | head -n 40 ;
done

Si vous appelez ce petit script bourse par exemple, en tapant bourse 13000 13330 25394 vous obtiendrez tout d'abord les cours du CAC 40 et du DOW JONES qui sont donnés pas défaut ainsi que les cours des trois valeurs qui ont pour code SICOVAM 13000, 13330 et 25394. La partie head -n 40 permet de ne pas se taper les 12 pages qu'ils nous balancent à chaque fois.

haut de page

 7 4 1999

Mots Clés : Se spécialiser ou pas ?.

C'est dingue parce qu'on a beau en apprendre tous les jours, et toujours essayer d'en savoir un peu plus, et bien on est toujours embêté de rencontrer des situations où on s'aperçoit que l'on est encore loin de maîtriser son truc.  Il est clair qu'on ne peut pas se taper tous les bouquins du monde sur tout ce qui concerne de près ou de loin la babasse. C'est vrai que ce serait bien cool ; mais si apprendre est une chose fort intéressante, créer est tout autrement trippant.  Je ne crois pas qu'être généraliste ait une quelconque signification de nos jours, je pense au contraire qu'il faut se concentrer sur ce qui nous plaît quitte à changer d'avis.  Pour moi les généralistes sont des pipoteurs qui ne connaissent rien et cela ne leur donne même pas une vision d'ensemble exploitable car ils n'ont pas assimilé les mécanismes sous-jacents. Alors spécialisez-vous, et en vieillissant vous apprendrez des trucs parallèles bien plus facilement d'une part, et plus intelligemment d'autre part, enfin je pense.

haut de page

Mots Clés : init, init.

Quand vous bootez votre kernel, je reviendrai peut être un jour sur ce qui se passe en détail une fois que je le maîtriserai un peu mieux, celui-ci met en place diverses structures et finit par lancer un thread dans lequel s'exécute init.  D'ailleurs si vous faites un top, vous remarquerez qu'init a le PID (Process IDentification) 1, c'est normal, c'est le premier lancé et le père de tous les autres (killez le pour voir :-) )). Ce process init est lancé à la fin de la commande du même nom, elle-même lancée par la fonction start_kernel du fichier /usr/src/linux/init/main.c qui n'est autre que la fonction « main » du noyau, pourquoi elle s'appelle pas main() alors vous allez me dire ? Euh... Je sais plus.

Et bien ce programme init a comme fichier de configuration /etc/inittab. C'est lui qui lance tous les autres processus et vous permet aussi de choisir votre runlevel par défaut.  Vous pouvez aussi le spécifier au prompt de lilo, par exemple, supposons que votre image s'appelle « linux », vous pouvez taper linux init 1 pour booter en runlevel 1, c'est-à-dire mono-utilisateur, ou linux init 3, multi-users ou 5, multi-users en mode graphique.  Mais le fichier inittab vous permet aussi de spécifier votre runlevel en modifiant la première ligne non commentée et en y placant le runlevel désiré, par exemple id:5:initdefault: pour lancer X au boot.

Et si le penguin de la RedHat vous prend le chou, vous trouverez plus bas la ligne x:5:respawn:/usr/bin/X11/xdm -nodaemon qui lance xdm (qui affiche le penguin), et que vous pouvez changer par kdm, le « Display Manager » de KDE, ou gdm, celui de gnome.

haut de page

 10 4 1999

Mots Clés : popd, pushd, popd.

En cette belle soirée de ce beau samedi au temps pourri sauf de 4 à 6 vous décidez de babasser un peu parce qu'il faut bien vivre quand même.  Bon, si un jour vous vous trouvez dans une situation où vous devez sans arret switcher entre deux répertoires, bien sûr il y a la solution d'ouvrir deux xterms ou consoles, classique, mais vous pouvez aussi utiliser les deux petites commandes bien pratiques popd et pushd.  L'utilisation est on ne peut plus simple. Imaginons que vous voulez travailler entre les répertoires /etc/sysconfig/network-scripts et /usr/local/src/net-tools-1.51.  Bon et bien tout d'abord vous tapez pushd /etc/sysconfig/network-scripts, ensuite pushd /usr/local/src/net-tools-1.51, et maintenant en tapant simplement pushd, ou pd qui est l'alias couramment assigné à cette commande, et bien vous passerez d'un répertoire à l'autre.  

La commande popd quant à elle permet de retirer un répertoire de la pile. Pile que vous pouvez voir avec la commande dirs.

haut de page

 11 4 1999

Mots Clés : problemes, problemes.

Pfff, dur week end, j'ai ENFIN réussi à installer la glibc-2.1-devel pour pouvoir recompiler les net-tools pour le support d'IPv6. Cela semble à peu près marcher maintenant. Mais il me faut encore configurer l'autre machine pour faire mon lien local en IPv6, et ce n'est pas encore gagné. J'ai aussi testé Quake 2 sous linux, mais je ne suis pas arrivé à le lancer dans une def supérieure à 320x260 ou un truc dans le genre, ce qui m'a passablement enervé.  

J'ai un peu la flemme en ce moment, ca doit être les jours qui sont plus longs, ca me rappelle le sud et la sieste... Finalement j'ai viré gnome, il me prenait le chou, maintenant j'ai enlightenment tout seul et je me demande si je vais pas revenir à fvwm2 ou afterstep bientot...

D'autant plus qu'avec toutes ces librairies en plus, maintenant Star Office marche plus, c'est malin ça tiens ! C'est vrai que mon utilisation en est assez restreinte, mais il suffit de recevoir un .doc pour être bien embetté...

En plus mon serveur apache me gave parce que j'ai beau le relancer pour qu'il prenne en compte mon fichier .htaccess qui définit, dans un répertoire, comment doivent être interprétés les fichiers (en gros je veux qu'il les reconnaissent comme cgi), et bien rien à faire ça marche pas. Je me demande si le fait que je le lance via inetd change quelque chose au schmilblik.

Oups j'ai parlé trop vite, je viens de trouver la cause du problème, j'avais modifié une option pour dire à Apache que j'autorisais l'utilisation de fichiers .htaccess pour redéfinir le type des fichiers, mais une autre option un peu avant empéchait de prendre en compte cette directive ; maintenant cela marche et me permet de vous parler de LXR, un outil qui permet de browser du code. Vous pouvez trouver lxr sur lwr.linux.no. C'est un petit package qui vous permet de construire une base de données d'identificateurs d'une arborescence de sources et d'ensuite browser le code, via des scripts cgi, dans n'importe quel navigateur.  

  Personnellement je m'en sers pour browser les sources de linux mais ça marche a priori pour n'importe quels sources ; il y a une limitation en taille sur le nombre d'identifieurs je crois cependant, mais c'est pas dit. Alors une fois le package décompressé où bon vous chante, jetez un petit coup d'oeil au fichier README, ainsi qu'au Makefile où il faut paramétrer deux trois trucs comme par exemple le répertoire où vous désirez installer tout ça (lisez TOUJOURS les fichiers README, et si POSSIBLE autrement qu'en les ouvrant et les fermant deux secondes après). Après on fait un petit make, classique, et vous devez avoir en résultat, dans le répertoire que vous avez spécifié dans le Makefile, trois répertoires, bin, http et source.  

Dans le répertoire http se trouvent les cgi qui génèrent les pages à la volée à partir de votre source ainsi que divers fichiers pour la présentation des pages web mais aussi et surtout le fichier de config lxr.conf.  Vous devez spécifier dans ce fichier tous vos chemins, parce que lxr en a un peu rien à faire de où il est et si les fichiers sont juste à coté ou pas lui y regarde dans lxr.conf, un point c'est tout. Voilà à titre d'information à quoi ressemble le mien :

# Configuration file.

# Define typed variable v, read valueset from file.
variable: v, Version, [/home/warly/public_html/doc/lxr/source/versions], [/local/lxr/source/defversion]

# Define typed variable a.  First value is default.
variable: a, Architecture, (i386, alpha, m68k, mips, ppc, sparc, sparc64)

# Define the base url for the LXR files.
baseurl: http://warly.warly.org/~warly/doc/lxr/http/

# These are the templates for the HTML heading, directory listing and
# footer, respectively.
htmlhead: /home/warly/public_html/doc/lxr/http/template-head
htmltail: /home/warly/public_html/doc/lxr/http/template-tail
htmldir:  /home/warly/public_html/doc//lxr/http/template-dir

# The source is here.

sourceroot: /home/warly/public_html/doc/lxr/source/$v/
srcrootname: Linux

# #include <foo.h> is mapped to this directory (in the LXR source
# tree)
incprefix: /include

# The database files go here.
dbdir: /home/warly/public_html/doc/lxr/source/$v/

# Glimpse can be found here.
glimpsebin: /local/bin/glimpse

# The power of regexps.  This is pretty Linux-specific, but quite
# useful.  Tinker with it and see what it does.  (How's that for
# documentation?)
map: /include/asm[^\/]*/ /include/asm-$a/
map: /arch/[^\/]+/ /arch/$a/

  Bien, ensuite dans le répertoire source (ou celui que vous avez donné dans lxr.conf), créez un fichier versions dans lequel vous écrivez à chaque ligne une version différente de vos sources (à supposer que vous ayez plusieurs versions). Vous organisez votre truc comme vous voulez, il faut juste ensuite faire en sorte que les cgi trouvent les sources.  J'ai personnellement fait comme ceci :  j'ai créé, toujours dans ce répertoire source des liens symboliques vers les différentes arborescences de sources correspondant aux versions. Par exemple, parce que je sens que c'est pas clair, imaginons que j'ai les versions 2.0.36, 2.2.5, et 2.2.5ac6 du noyau sur mon dur, et bien mon fichier versions se résume à :

2.0.36 2.2.5 2.2.5ac6

Et je fais trois liens symboliques vers les sources en tapant :
ln -s /usr/src/linux-2.2.5ac6 2.2.5ac6
ln -s /usr/src/linux-2.2.5 2.2.5
ln -s /usr/src/linux-2.0.36 2.0.36
Voilà. Ensuite, quoi déjà ? Euh, ah, il vous faut créer la base de données des identificateurs présents dans vos sources. Cela n'est pas indispensable mais se révèle très pratique. C'est très simple, allez dans vos sources et lancez le programme genref qui se trouve dans le répertoire bin, celui dont je n'ai pas encore parlé.

Maintenant que lxr est en place, il vous faudra sûrement encore configurer votre serveur web pour pouvoir utiliser correctement les cgi. Cela dit, si ça marche comme ça, touchez à rien c'est clean. Pour voir si ça marche, connectez vous avec netscape ou ce que vous voulez à votre serveur web, allez dans le répertoire où vous avez installé lxr et regardez blurb.html, si en cliquant sur Browse the code vous n'avez pas d'erreur c'est cool. Sinon arrétez puis relancez votre serveur http (dans /etc/rc.d/init.d ou /etc/init.d pour qu'il relise le fichier .htaccess, tapez ./http restart ou ./inet reload ou netbase restart suivant que vous lancez votre serveur en Standalone ou via inetd et suivant votre distrib. Si cela ne marche toujours pas, éditez le fichier de configuration de votre serveur, access.conf (cherchez le avec un locate access.conf), pour autoriser la modification des paramètres par défaut avec les fichiers .htaccess. Autrement dit, pour faire simple il vous faut un truc du genre AllowOverride All (renseignez-vous si votre serveur n'est pas uniquement un serveur local, de manière à configurer un contrôle plus strict et moins large que de tout autoriser).  Allez, relancez votre serveur et testez encore et encore tant que ça ne marche pas... (Bonne nuit :-) ).

haut de page

 16 4 1999

Mots Clés : Quake III.

Ouahou !! Ça craint un max, j'écris presque plus ces derniers temps, je suis un vrai lamer (tiens! en parlant de lamers, allez donc vous poilez un brin sur http://www.multimania.com/azerty0)... Mais, pff, c'est dur, il faut que je me motive pour ecrire plus souvent même si c'est pas grand chose... Je devrais peut être élargir mon champs d'étude pour avoir plus d'idées, parler de java, de c, du kernel, de la pêche, de ce que je bouffe, quand, comment, les milles et une façons de se faire des pates et du riz au micro-onde en continuant à babasser pour ne pas perdre de temps et bien sûr la sacro-sainte météo locale, qui j'en suis sûr serait LA rubrique new age par excellence...

Voilà donc de bonnes résolutions qui ne manquent pas de me plonger dans une profonde fatigue morale et physique, déjà que j'avais pas super la forme... Enfin bon, faut bien se bouger un peu dans la vie. Vous avez vu? Y'a Quake III (Damned, j'ai pas encore de touche Euro sur mon clavier, c'est pas de bol parce qu'elle ressemble trop au Quake Power, trouvez pas ? (Rêvez pas, j'ai pas trouvé ça tout seul, je ne suis pas aussi subtil, j'ai vu ça je crois sur http://www.userfriendly.org )). Et ce qu'il y a de bien dans ce truc là, c'est qu'il sortira pour Windows, mais aussi Linux et PPC, c'est pas top ça? ah si Monsieur, c'est top ! Il est peut être même déjà sorti, je suis pas allé voir chez ID Software récemment...

haut de page

 17 4 1999

Mots Clés : eXistenZ.

Je suis allé voir eXistenZ aujourd'hui (big X, big Z), je sais ça n'a pas de rapport avec Linux, mais n'empêche qu'il n'y a pas que la babasse dans la vie, et puis voilà trop longtemps que je n'étais allé m'instruire autrement que via le net.  Remarque j'écoute un peu la radio aussi, mais c'est pas mal limité. Bon, peu importe, je suis allé voir eXistenZ je vous disais.  L'histoire, en deux mots, met en relief le problème du remplacement de la réalité par le jeu, laissant la place à toutes sortes de délires.  Si le but du film n'est de montrer que les jeux vidéos de plus en plus réalistes nous plongeront bientôt dans des environnements similairesà la réalité et par là nous pousseront à ne plus agir que via ces environnements, alors 5 min de film auraient suffit plutôt que de voir des truites éventrées pendant une heure et demi (ce qui n'apporte absolument rien au film, d'ailleurs).  Tout le monde est conscient qu'à partir d'un certains niveau de réalité les jeux où les mondes virtuels pourront avantageusement remplacer le monde réel (niveau 0, on va dire) et même mener à des situations récursives où l'on se plonge dans une succession de mondes virtuels pour se trouver à un moment donné à un quelconque niveau, 1, 2 voire beaucoup plus.  

Ce qui sert à beaucoup pour caractériser un jeu de la réalité, c'est que dans un jeu, « c'est pour de faux », on ne risque rien.  Mais à partir du moment où on ne peut plus savoir à quel niveau on est, et donc se voir dans l'incapacité de juger l'importance de nos actes, nous incombe de choisir de se comporter « sérieusement » ou pas.  Mais deux secondes de réflexion suffisent pour se rendre compte qu'il n'y a a priori aucun moyen de déterminer le niveau dans lequel on se trouve, et par conséquent chacun doit prendre la décision de son style de vie en fonction du niveau de crédibilité qu'il accorde à son environnement. Et on retombe finalement inlassablement toujours sur le même problème de savoir si oui ou non on va aborder la bonnasse airbags de série qui se trouve à côté de nous dans le métro...  

La conclusion partielle serait donc de prendre comme principe que quel que soit le niveau dans lequel on se trouve, de toutes les façons vu tous les niveaux possibles, il y a beaucoup plus de chances que ce ne soit pas dans le niveau de base donc on peut y aller franco, pas de soucis, ya une sauvegarde au cas où... Après tout que la vie soit sérieuse ou pas n'a aucune importance, let's play...

Ceci ne nous avance cependant que peu dans le sort de toutes ces pauvres truites, il nous faut donc nous creuser encore un peu la cervelle pour justifier leur préscence. Tout d'abord il est indéniable que la vie de truite est loin d'être une partie de plaisir, c'est vrai, mais est-ce une raison suffisante ?  Certes notre ami David aime bien tout ce qui a rapport aux mutations et autre, c'est vrai que c'est passionnant, mais bon, on a plus quatre ans quoi.  Non moi ces truites ça me perturbe, je suis sûr qu'il y a un truc là-dessous...

En fait on peut généraliser le problème de savoir si ce que nous vivons est réel ou pas, en se basant sur le jeu des personnages, à un problème plus terre à terre mais qui relève du même ordre d'idée, qui est du degré de crédibilité que l'on peu accorder aux personnes qui nous entourent. Qu'est ce qui pourrait vraiment m'assurer que mon meilleur pote n'en a pas en réalité absolument rien à foutre de moi et que la même bonnasse du métro pense vraiment ce qu'elle dit en m'affirmant que je ne suis qu'un petit con basique, pas beau, répugnant, sans humour et terriblement banal, qui sait, peut être qu'elle dit ça pour mon bien et qu'en réalité elle meurt d'envie de sortir avec moi ? (Ca fait du bien de voir des films comme ça, après on relativise, et on voir la vie autrement :-) ).  Finalement cela nous plonge dans une terrible solitude parce qu'on n'est jamais sûr que l'on peut vraiment compter sur qui que ce soit...

Pour conclure, je me demande toujours si le film est basique à ce point et ne soulève rien d'autre que ce problème qui n'en est pas un du comportement des gens suivant l'importance qu'ils accordent à la situation ou si moi, pauvre babasseur, j'ai loupé la profonde signification de l'excision des truites...

Si je dois maintenant dire si ce film m'a plu, et bien je dirais non, trop simple, pas assez prenant, trop lent... Mais je ne m'avancerai pas à le déconseiller, mettant en doute la profondeur de la réflexion qui m'a mené à cette conclusion (si quelqu'un m'explique pour les truites je veux bien changer d'avis...).

haut de page

 18 4 1999

Mots Clés : ip, internet, ip.

Les réseaux (partie 1)

J'ai pas rêvé de truites, c'est bon :-)... Moi mon truc c'est plutôt les réseaux quand même, alors tant qu'à faire, autant que je vous cause un peu de ça. Après tout chacun son truc.

La sémantique (attention je sors les mots) des réseaux est basée sur la communication. Le but d'un réseau est de permettre à différentes machines de s'échanger des informations. Si on se restreint au monde IP (Internet Protocol), qui domine le monde internet, alors on peut s'adresser à une machine, ou plus exactement à une interface de cette machine (par exemple une carte réseau) grace à une adresse théoriquement unique dans le monde, son adresse IP, d'une longueur de 32 bits, qui identifie cette interface.  La version du protocole IP actuelement utilisée est la 4 (IPv4). On entend de plus en plus parler d'IP version 6 (IPv6), qui devrait à terme remplacer la version 4 pour des raisons qu'on verra peut être plus tard, si j'ai le temps. Pour info la version 5 a été utilisée par un protocole expérimental dont je n'ai pas eu trop de nouvelles...

Tout le monde a déjà vu des adresses IPv4, elles ressemblent généralement à un truc du genre 192.252.21.123, quatre groupes de 8 bits séparés par des points. L'adresse IP d'une interface (ou d'une machine, par abus de langage, car beaucoup de machine n'ont qu'une seule interface) se divise en deux parties, l'adresse du réseau et l'adresse de la machine. En effet si on a l'habitude d'appeler Internet « le réseau des réseaux » figurez vous que ce n'est pas par hasard. Le but d'Internet et l'idée même d'IP est en fait d'interconnecter des réseaux, et non pas des machines.  C'est ainsi que chaque réseau local connecté à Internet possède une adresse, et cette adresse sera ensuite le prefixe à toutes les adresses de machines incluses dans ce réseau local.  Mais la taille des réseaux locaux variant de quelques babasses seulement pour une petite entreprise à plusieurs dizaines de milliers pour des grands campus ou de grosses sociétés, la taille de l'adresse du réseau n'est pas fixe.  C'est pourquoi ont été définis différent types d'adresses réseaux :  
Les réseaux dits de Classe A ont leur adresse codée sur 8 bits, ce qui veut dire qu'il en reste 24 pour les machines incluses dans ces réseaux, soit jusqu'à 16 millions de machines, ce qui est quand même pas mal.  Ces adresses ont la forme suivante : |0|net_id|host_id| avec net_id sur 7 bits et host_id sur 24 bits. Donc pour faire simple, toutes les adresses comprise entre 0.1.0.0 et 126.255.255.255 sont des adresses Classe A. Les adresses commençant par 127 sont un peu spéciales, ce sont des adresses dites de loopback qui servent principalement au débugage.  Donc, comme vous pouvez le remarquer, il y a peu de réseaux de Classe A, 127 si je ne me plante pas. Mais pour justifier l'utilité d'avoir 16 millions de babasses, faut pas être n'importe qui, IBM je crois se la pète avec une Classe A, mais je sais pas trop qui d'autre (si un jour je vous cause de whois vous pourrez le trouver vous-même).
Deuxième type de réseaux, les réseaux de Classe B, les adresses de ces réseaux ont la forme suivante : |10|net_id|host_id| avec net_id sur 14 bits et host_id sur 16 bits, soit 16 384 réseaux différents avec au plus 65 536 machines par réseaux. Ce sont toutes les adresses comprises entre 128.0.0.0 et 191.255.255.255.
Les Classes C : |110|net_id|host_id|, net_id 21 bits, host_id 8 bits, 2 097 152 réseaux de 256 machines maxi. Soit de 192.0.0.0 à 223.255.255.255.
Les Classes D : |1110|Multicast| sont réservées pour le multicast, c'est-à-dire pour pouvoir envoyer des informations simultanément à plusieurs machines à la fois sans duplication de l'information sur un même lien, c'est encore au stade expérimental (le MBONE, ça vous dit quelque chose ?).
Les Classes E : |11110|  |, réservées à je ne sais trop quoi...

Bon, et bien à chaque jour sa peine, je vous causerai plus tard d'IP, le routage, des connexions, des sockets et des ports...

haut de page

 19 4 1999

Mots Clés : routage.

Les réseaux (partie 2)

Bon, hum, hum, ça va ? Les lundi c'est toujours un peu dur, mais bon, c'est comme ça... Alors je vous causais des différentes classes d'adresses. C'est malin et subtil me direz-vous, certes, mais la pratique montre que ce n'est pas en fait très adapté. En effet il s'avère qu'il y a peu de réseaux nécessitant plus de 30 000 adresses mais qu'au contraire il y a énormément de réseaux avec plus de 256 machines, d'où une pénurie d'adresses réseaux. Les Classes C étant en effet de taille insuffisante et les Classes B pratiquement toutes allouées.  Cela est une des justifications pour la mise en place d'une nouvelle version d'IP avec une plus grande taille de l'adresse pour faire face à la pénurie actuelle. Pour info une adresse IPv6 a une taille de 128 bits, calculez, ça donne de la marge, même si là aussi il y a une structuration qui ne donne pas entière liberté.  

Mais il existe aussi des techniques, comme le masquerading, les réseaux virtuels, la concaténation de plusieurs classes C qui permettent de résoudre, temporairement au moins, le manque d'adresses.  

Maintenant le principe des réseaux acquis (ça flashe comme expression ça, à ressortir), il manque le passage entre une multitude de réseaux locaux et le réseaux global. Et bien rien de plus simple, comme je vous ai expliqué chaque réseau a une adresse, et toutes les machines de ce réseaux ont leur adresse IP préfixée par cette adresse réseau, enfin, pas toutes les machines, mais plutôt toutes les interfaces (et c'est pour cela qu'il ne faut pas confondre), ce qui permet à certaines machines d'avoir plusieurs interfaces, et donc plusieurs adresses IP, qui généralement font partie de réseaux différents. De telles machines sont communemment appelées routeurs, elle font le lien entres les différents réseaux, et voilà vous avez votre Internet, qui n'est que l'interconnexion de plusieurs réseaux grace à des routeurs.  

Les routeurs sont des machines extrêmement importantes qui permettent à vos petits paquets IP d'aller d'un bout à l'autre du monde sans se perdre (enfin normalement). Pour pouvoir faire ce petit miracle, chaque routeur possède une table (table de routage) qui lui indique où il doit envoyer un paquet (sur quelle interface) suivant l'adresse destination. Bien évidemment les tables de routages ne contiennent pas tous les réseaux possibles, mais seulement les voisins immédiats et généralement un autre routeur par défaut pour tout ce qui n'est pas listé.  S'il parait évident que pour les petits routeurs avec deux ou trois interfaces, une table de routage avec quelques entrées et puis un chemin par défaut et basta ça suffit, il s'avère que certains gros routeurs voient leurs tables de routages atteindre des tailles démesurées.  C'est encore une des raisons qui justifie l'existence et le développement d'IPv6 où la hierarchisation plus stricte des adresses devrait permettre une meilleure proportion pour les tables de routage.

Mais ces tables de routage, il faut les rentrer à la main me direz-vous ? Cré non! Il y a des outils pour ça, c'est effectué de manière dynamique par un dialogue avec échange de table de routage entre les routeurs pour d'une part, trouver le plus court chemin, et d'autre part faire face aux modifications de la topologie du réseau quand un réseau tombe (en moyenne un par minute dans le monde) ou qu'un nouveau lien est mis en place.

Oui je sais c'est beau la vie...

haut de page

 20 4 1999

Mots Clés : uptime, clear, uptime.

Bon, on va pas se la jouer violent aujourd'hui, c'est pas le moment. Alors on va causer peinard de trucs pas trop compliqués, genre, je sais pas moi, tiens, uptime, c'est sympa ça vous donne le temps depuis lequel votre machine est alumée... C'est pas oool ça ? Oui je sais c'est la même chose que la première ligne d'un top, et alors ? De toutes façon tout viens de /proc, alors...

C'est sû que ça, pour pas être violent c'est pas violent... Mais que voulez-vous, hein, on ne peut pas tous les jours parler de trucs compliqués, longs, que l'on ne comprend même pas vraiment.

Tiens, une autre commande, clear, ça efface le terminal X, pour y voir un peu plus clair. Et aussi reset, bien utile quand, pris soudain par un élan de stupidité, on s'est amusé à lister un fichier binaire et puis on s'est retrouvé avec des caractères fort jolis mais néanmoins incompréhensibles (vous n'avez jamais fait de cat de fichiers binaires ?).

haut de page

 21 4 1999

Mots Clés : port.

Les réseaux (partie 3)

Alors j'ai causé des adresses IP, des classes d'adresses et du routage, bien. Donc cela explique  (enfin, explique, faut pas pousser, donne une vague idée) comment un paquet peut, de votre machine, aller jusqu'à une autre machine sans se paumer. Enfin, sans se paumer, c'est pas sûr, parce qu'IP ne garantit absolument rien en ce qui concerne les paquets. Si le paquet en question est victime d'erreur de transmission ou bien arrive sur un routeur un peu surchargé dont le cache est plein,  votre pauvre paquet est mis à la poubelle cash, même pas de notification, aucun moyen de savoir s'il est arrivé ou pas.  En effet, comme je l'avais déjà dit en causant du modèle OSI je ne sais plus trop quand, ce n'est pas la couche routage (ou réseau, c'est pareil), qui s'occupe de la gestion du transport de bout en bout, c'est la couche transport (justement tiens, on pouvait pas mieux trouver comme nom) qui se tape le boulot.

  Enfin, se tape le boulot, c'est vite dit parce que dans l'actuelle implémentation de TCP/IP, au niveau transport, vous avez le choix entre UDP (User Datagram Protocol) et TCP (Transport Control Protocol). A vrai dire UDP est très proche d'IP et ne garantit pas lui non plus que vos packets arrivent à destination.  C'est TCP qui, beaucoup plus complexe qu'UDP, comprend un principe d'accusé de réception qui garantit que vos données arrivent bien à destination, et dans le bon ordre. Je vous causerai de TCP un de ces jours parce que c'est vraiment bien foutu comme protocole (ça fait bientôt 18 ans que c'est en place, et pour le moment je n'ai pas eu écho de quelques prétendants que ce soit au titre de protocole de transport pour Internet).  

Mais, et j'en viens à ce dont je voulais causer au début mais je me suis dit qu'un peu de culture G avant cela ne pouvait pas faire de mal, si envoyer un paquet c'est facile connaissant l'adresse IP de la machine, qu'est ce qu'elle en fait de ce paquet, la machine ? Autrement dit, par quel mécanisme les paquets, qui arrivent tous au même endroit, sont-ils démultiplexés entre les différentes applications ?  Et bien, heu... Ce n'est pas super complexe en fait ; c'est à ce niveau qu'entrent en jeu les ports. Un port est en fait une « prise » pour un processus sur le réseau qui lui permet de recevoir des données. L'entête des segments TCP contient en effet deux champs de 16 bits où sont indiqués le port de l'application émettrice et le port du processus destination. L'entête des paquets IP contient les adresses IP et les segments TCP qui sont encapsulés dans ces paquets IP contiennent les ports pour différencier les applications.

  De ce fait, en recevant un segment TCP, puis en regardant le port indiqué, la machine sait à quelle « prise » envoyer ces données. Et le terme de « prise » n'est pas choisi au hasard, puisqu'il n'est rien d'autre que la traduction du terme anglais « socket » (si vous n'avez jamais entendu parler de socket va falloir un peu sortir le soir parce que c'est grave). Un socket est en fait une prise entre deux processus via un réseau. Un socket est défini par deux adresses IP et deux ports, c'est simplement un moyen de communication entre deux processus (IPC, Inter Process Communication, faudra que j'en cause de ça aussi), sachant bien entendu que quand on ne passe pas par des réseaux il existe des moyens plus performants (mémoire partagée, signaux, messages...).

haut de page

 22 4 1999

Mots Clés : screen.

Il est tard, j'ai encore des trucs à faire, si ça se trouve en plus le site a déjà été mis à jour alors cela ne sert à rien que je me magne... Alors je vais juste vous faire part de ma découverte aujourd'hui même, si si, aujourd'hui, d'un window manager en mode texte (mais jusqu'où irons nous, le monde merveilleux du tout console texte n'est donc pas si loin ?! Oh joie... :-) ). Oui vous avez bien lu, un window manager en mode texte, c'est tellement doux à l'oreille, vous ne trouvez pas ?

Bon, cessons les plaisanteries j'ai dit que je me magnais. Donc le programme s'appelle screen, si vous jetez un coup d'oeil au man vous vous apercevrez vite que ce n'est pas un programme de tapettes et que si vous voulez le maîtriser va falloir trimer dur. Cela dit l'idée est extrêmement simple, il manage plusieurs fenêtres dans une seule console texte. Il suffit pour cela de taper screen et ensuite, grace à des commandes, vous pouvez créer une nouvelle fenêtre virtuelle, en détruire, etc... Par défaut le préfixe pour toutes les commandes est Ctrl-a. Par exemple pour créer une nouvelle fenêtre il faut taper Ctrl-a c, et pour switcher entre les fenêtres, c'est Ctrl-a espace ou Ctrl-a numéro.  

Pour quitter, soit méthode traditionnelle on se délogue de chaque fenêtre avec un Ctrl d, ou bien, plus cruel, on tape Ctrl a Ctrl \ et ça tue tout...

haut de page

 24 4 1999

Mots Clés : commande cool.

Pouh c'est la galère il faudrait des journées de 36 heures pour arriver à tout faire !... Tiens faudra que j'expérimente ça, les journées de 36 h, c'est peut-être pas mal, quoique quand même on est conditionné sur des rythmes jour-nuit de 24 heures alors je sais pas trop ce que ça peut donner, et puis être systématiquement en décalage avec tout le monde ça peut-être gênant à force...

A part ça rien de bien passionnant, j'ai pas été très productif aujourd'hui ; j'ai quand même réussit à enregistrer la radio sur mon dur, mais avec une qualité pas top (ça doit être du 8 kHz), il faut que je me renseigne pour faire mieux. J'ai aussi décidé de retélécharger WordPerfect 8 pour linux (http://www.corel.com) parce qu'apparemment ma précédente version est corrompue et comme c'est du .gz je ne sais pas comment faire pour isoler l'erreur (avec bzip2 ça marche).  De ce fait je me retape avec le sourire 23 Mo de téléchargement, oh joie !

Tiens, j'ai aussi trouvé un script bien sympathique aujourd'hui, sympathique car il m'a appris quelques trucs, et c'est toujours une paisible joie qui impreigne mes sens quand j'apprends un truc nouveau (je devrais me spécialiser dans la création de tournures bidons moi, tiens... :-) ). Oh, ben mince alors je l'ai paumé, pfff, c'est trop bète !  Euh, réfléchissons (oui ça m'arrive), c'était un truc du genre : eval `cat file | grep -E '^a|^b|^c' | tr a-z A-Z | sed -e 's/\ //g'` il me semble. Yep, c'est ça.

  Voilà le fichier file :
attention = 13
ma maison = 3
bateau = 1
sourire = 0
cacao = 2

Alors, cat file envoie le contenu de file sur la sortie standard, grep -E '^a|^b|^c' y cherche les lignes commençant par a, b ou c ; tr a-z A-Z passe tout en majuscules, sed -e 's/\ //g' vire les espaces et l'eval de l'ensemble permet de passer la sortie en variable d'environnement. Mon système se retrouve donc ensuite avec :
ATTENTION=13
BATEAU=1
CACAO=2
  
C'est qu'un exemple, hein, n'allez pas croire que ça optimise de quelque façon que ce soit de mettre une variable BATEAU à 1 :-).

haut de page

 26 4 1999

Mots Clés : Scarface.

Wouahou je suis complètement naze, alors je vais juste dire deux trois mots de Scarface que je suis allé voir hier et puis dodo... Et bien, à vrai dire, le film est bien, c'est vrai, de l'action, du sang et tout et tout, cependant il me semble qu'il manque un petit quelque chose. En effet j'ai l'impression de ne pas être véritablement entré dans le film, comme si les scènes trop superficielles ne permettaient pas de m'identifier ou d'assimiler le personnage.  Enfin, c'est assez difficile à dire, mais le film voulant raconter enormément de choses, on commence tout juste à comprendre la force du personnage que déjà celui-ci décline. Pourtant le film est assez long, mais je sais pas, y'a comme un truc qui me dérange...  

Sinon ce soir terrible, je pars de pas loin de St Germain en Laye direction Versailles pour aller ensuite vers Palaiseau et BAH!! Je me retrouve place de l'Étoile comme un con à tourner autour de l'Arc de Triomphe, sur le coup y'a un truc qui m'a échappé, je sais que je suis un peu fatigué mais quand même, faut le faire...

Remarque ça doit pas beaucoup vous parler tout ça... Tiens en parlant d'itinéraire, si vous voulez en faire faire, y'a www.iti.fr que je trouve pas trop mal...

haut de page

 27 4 1999

Mots Clés : distributions.

Pour ceux qui ne le savent pas encore, la RedHat 6.0, c'est pour le 10 mai, et elle sera un peu plus chère que la 5.2 ($80, soit 500 balles mini, bien sûr on peut toujours la télécharger gratos). J'ai entendu dire que Corel allait faire une distrib aussi, basée elle sur la Debian et qui devrait devenir la distrib « grand public ».  Le nombre de distributions différentes est assez impressionnant, mais les principales restent la Debian, la RedHat, la Slackware, la Mandrake et la Suse, j'en oublie peut-être... Personnellement je ne connais que la RedHat et la Debian. À vrai dire, tout dépend de ce que l'on veut faire pour choisir une distribution. Je dois reconnaître que la Debian demande une certaine connaissance de Linux pour pouvoir l'installer proprement. Avec la RedHat l'utilisateur est un peu moins sollicité.  Mais à bien y regarder je ne pense pas qu'une distrib soit meilleure qu'une autre. De toutes façons l'apport des distribs n'est pas extraordinaire, hormis quelques outils de config et de gestion des packages ; deux systèmes Linux avec une distribution différente restent quand même très semblables.  Il suffit de connaître un petit peu Linux et faire un peu plus de choses que simplement mumuse avec Gnome ou KDE et sa souris pour pouvoir s'adapter rapidement à n'importe quelle distrib.  Je n'en conseillerai pas parce que d'une part je n'en connais pas suffisamment pour avoir une vue objective et d'autre part de toutes façons une distrib ce n'est pas pour la vie et je ne saurais que trop vous conseiller de changer de temps en temps, histoire de voir un peu ailleurs (comme pour les window manager :-) ).

haut de page

 28 4 1999

Mots Clés : mtools.

Pour la RedHat, en fait on peut déjà la télécharger, mais je ne vous dirai pas où je la prends parce que c'est un peu surchargé en ce moment...

Alors là j'ai pas trop le temps de causer parce que j'en ai marre de pas dormir, il faut que ça cesse, donc je vais juste dire des trucs pas très intéressants juste pour meubler, voilà. Dans le futur je causerai encore des réseaux, sûrement, peut-être aussi de C et java, après tout. Remarque je télécharge un package de 14 meg, j'en suis à 4, donc j'ai bien encore une demi heure (optimiste le gars) devant moi...  

Les mtools vous connaissez? Vous devez certainement connaître c'est la première chose qu'on apprend quand on vient de DOS vers Linux. Cela permet d'utiliser des « dos-like » commandes avec les disquettes principalement, mais aussi avec les pseudo-disques dos (je ne sais pas trop si on peut appeler ça comme ça, c'est les images qu'on fait pour utiliser dosemu, tiens faudra que je vous en cause un peu aussi de ça, quoique je ne maîtrise pas à fond, mais bon). Et bien les mtools permettent de manipuler simplement les disquettes sans avoir à les monter (si vous tenez vraiment à monter vos disquettes c'est votre problème, chacun ses goûts :-) ), les commandes sont, par exemples, mcopy, mdir, mcd, mmd et tous les genres de trucs qu'on peut trouver sous un shell DOS...

haut de page

 29 4 1999

Mots Clés : jobs.

Pour exécuter une commande en arrière plan, il faut mettre un « & » en fin de ligne, par exemple netscape & lance netscape et vous rend la main. Cependant le programme reste attaché à votre shell.  Vous pouvez le constater en tapant jobs qui liste les processus attachés au shell courant.

Si vous lancez un programme, qui se révèle long et que vous voulez reprendre la main, il faut taper Ctrl Z. Votre programme est alors stoppé, vous pouvez le vérifier en tapant jobs.    Si alors vous tapez fg (pour foreground), votre programme vas repasser au premier plan, si au contraire vous tapez bg, celui ci va passer en arrière plan de la même façon que si vous l'aviez lancé avec « & ».

Vous pouvez avoir plusieurs programmes en tâche de fond rattachés au même shell, c'est là que la commande jobs a tout son intérêt, elle vous permet en effet de tuer, ou de passer au premier plan, celui que vous voulez. Par exemple, dans la situation suivante:
[1]   Running                 emacs &
[2]+  Stopped                 tar czvf home *
[3]-  Running                 xearth &  
Le « + » marque le job courant, celui qui sera affecté si vous tapez simplement bg ou fg. Le « - » marque l'avant dernier job. Les numéros vous permettent de contrôler ces jobs en vous y référant avec %num, par exemple fg %1 mettra emacs au premier plan. Vous pouvez aussi utiliser fg %ema qui cherche le job commençant par ema (et doit faire une erreur si plusieurs correspondent). Pour tuer un job, tapez simplement kill %1 par exemple.

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)