(114,114,1,'Gestion des Paquets .deb sous Debian avec  dpkg, apt-get et aptitude','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo sur les différentes commandes de gestion des paquets sous Debian</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<p class=\"spip\">Si vous préférez utiliser une interface graphique pour gérer vos paquets, vous pouvez suivre ce mémo :\n<br /></p>\n<li> <a href=\"http://www.coagul.org/article.php3?id_article=617\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=617</a>\n<h2>Activer la completion intelligente pour faciliter l’utilisation de la ligne de commande</h2>\n<p class=\"spip\">Sous Linux, tout le monde connaît la complétion automatique avec la touche TAB, mais la complétion intelligente, permet en plus d’avoir la liste des options d’une commande (ex : apt-get) ou de connaître la liste des paquets commençants par certains caractères (ex : apt-get install vi +TAB). Je trouve qu’utiliser les commandes « apt » avec la complétion intelligente est pour moi plus simple que d’utiliser synaptique.</p>\n\n<p class=\"spip\">Pour activer la complétion intelligente, il faut saisir la commande suivante à la fin du fichier «  /.bashrc » ou à la fin du fichier « /etc/profile » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>. /etc/bash_completion</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong> : Pour une utilisation en console sous KDE de la completion intelligente, il est possible aussi de dé-commenter les 3 lignes correspondantes du fichier « /etc/bash.bashrc »</p>\n\n<h2>Bash avec completion dès la première tabulation</h2>\n<p class=\"spip\">Sous Debian, pour avoir la liste des choix possibles de la completion il est nécessaire d’appuyer deux fois sur la touche TAB.</p>\n\n<p class=\"spip\">En ajoutant la ligne suivante à la fin du fichier « /etc/inputrc » ou du fichier «  /.inputrc », la liste des choix sera affichée dés la première tabulation (après reconnexion) :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>set show-all-if-ambiguous on </code></p>\n\n<h2>dpkg : Utilitaire de base pour gérer les paquets Debian .deb</h2>\n<p class=\"spip\"><strong class=\"spip\">dpkg</strong> est l’utilitaire de base sous Debian, pour installer, supprimer, configurer ou obtenir des informations sur des paquets (.deb). Contrairement à apt-get, il ne s’occupe pas du téléchargement et ne gère pas les dépendances.</p>\n\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Opération</strong></th><th scope=\'col\'><strong class=\"spip\">Commande </strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>Installer un paquet présent en local</td><td>dpkg -i Nom_Exact_Du_Paquet</td></tr>\n<tr class=\"row_odd\"><td>Supprimer un paquet </td><td>dpkg -r Nom_Exact_Du_Paquet</td></tr>\n<tr class=\"row_even\"><td>Supprimer un paquet même défectueux et marqué comme demandant une réinstallation</td><td>dpkg -r &mdash;force-remove-reinstreq Nom_Exacte_Du_Paquet</td></tr>\n<tr class=\"row_odd\"><td>Liste complète des paquets installés</td><td>dpkg -l</td></tr>\n<tr class=\"row_even\"><td>Liste partielle des paquets installés</td><td>dpkg -l Nom_Du_Paquetdpkg -l Début_Du_Nom_Du_Paquet* dpkg -l *Nom_Partiel_Du_Paquet* </td></tr>\n<tr class=\"row_odd\"><td>Rechercher l’emplacement du fichier contenu dans un paquet et le nom de ce paquet </td><td>dpkg -S Nom_Partiel_Du_Fichier </td></tr>\n<tr class=\"row_even\"><td>Connaître la liste des fichiers d’un paquet </td><td>dpkg -L Nom_Exacte_Du_Paquet</td></tr>\n<tr class=\"row_odd\"><td>Informations complètes sur un paquet </td><td>dpkg -p Nom_Du_Paquet</td></tr>\n<tr class=\"row_even\"><td>Re-configurer un paquet </td><td>dpkg-reconfigure Nom_Exacte_Du_Paquet</td></tr>\n<tr class=\"row_odd\"><td>Pour avoir l’historique des actions effectuées par dpkg</td><td>cat /var/log/dpkg.log</td></tr>\n</tbody>\n</table>\n<p class=\"spip\">Les scripts de pré-installation et post-installation des paquets sont disponibles dans :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/var/lib/dpkg/info.</code></p>\n\n<p class=\"spip\">Dans ce répertoire, les fichiers terminés par .list donnent la liste des fichiers installés par le paquet.</p>\n\n<h2>apt : Utilitaire avancé pour gérer les paquets Debian .deb</h2>\n<p class=\"spip\"><strong class=\"spip\">apt-get</strong> est un utilitaire plus évolué que <strong class=\"spip\">dpkg</strong> qui permet d’installer des paquets en les téléchargeant depuis internet (ou depuis une autre source) à partir d’une liste de sites indiqués dans le fichier « <strong class=\"spip\">/etc/apt/sources.list </strong> ».</p>\n\n<h3>/etc/apt/sources.list</h3>\n<p class=\"spip\">Ce fichier contient la liste des sources des paquets.</p>\n\n<p class=\"spip\">Voici la syntaxe générale d’une ligne :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>{deb | deb-src} URL {stable | testing | unstable} {main | contrib | non-free}</code></p>\n\n<li> <strong class=\"spip\">deb : </strong>Adresse de paquets binaires (compilés)\n<br /><li> <strong class=\"spip\">deb-src</strong> : Adresse de paquets sources \n<br /><li> <strong class=\"spip\">main</strong> : Les paquets principaux\n<br /><li> <strong class=\"spip\">contrib</strong> : Les paquets plus vraiment supportés\n<br /><li> <strong class=\"spip\">non-free</strong> : Les paquets de logiciels non libres (propriétaires)\n<p class=\"spip\">La ligne suivante permet de récupérer tous les paquets binaires de la Debian testing</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>deb http://ftp.fr.debian.org/debian/ testing main contrib non-free</code></p>\n\n<p class=\"spip\">La même ligne avec un accès ftp:</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>deb ftp://ftp.fr.debian.org/debian/ testing main contrib non-free</code></p>\n\n<p class=\"spip\">Il est possible d’écrire la ligne précédente sur 3 lignes</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>deb http://ftp.fr.debian.org/debian/ testing main<br />\r\ndeb http://ftp.fr.debian.org/debian/ testing contrib<br />\r\ndeb http://ftp.fr.debian.org/debian/ testing non-free</code></div>\n<p class=\"spip\">Cette ligne est nécessaire uniquement pour pouvoir compiler des sources :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>deb-src http://ftp.fr.debian.org/debian/ testing main</code></p>\n\n<p class=\"spip\">Cette ligne (facultative) permet de récupérer des paquets non autorisés aux US (ex : Algorithmes d’encryptage) :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>deb http://non-us.debian.org/debian-non-US/ testing/non-US main</code></p>\n\n<p class=\"spip\">Cette ligne permet de récupérer les mises à jour de sécurité de la section principale (main)</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>deb http://security.debian.org/ testing/updates main</code></p>\n\n<p class=\"spip\">Voici un exemple complet pour suivre une Debian testing :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>deb ftp://ftp.fr.debian.org/debian/ testing main non-free<br />\r\ndeb-src ftp://ftp.fr.debian.org/debian/ testing main<br />\r\ndeb http://security.debian.org/ testing/updates main</code></div>\n<p class=\"spip\">La commande « <strong class=\"spip\">apt-setup</strong> » permet d’utiliser une interface texte pour ajouter des sources à la fin du fichier.</p>\n\n<p class=\"spip\">La commande « <strong class=\"spip\">netselect-apt</strong> » (apt-get install netselect-apt) permet de rechercher le miroir officiel Debian qui donne les meilleures performances de téléchargement. Il faut juste lui donner en argument la distribution utilisée :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>netselect-apt testing</code></p>\n\n<h3>dpkg-reconfigure debconf : Configurer apt</h3>\n<p class=\"spip\">Cette commande, permet de modifier le paramétrage d’apt et d’indiquer le niveau de priorité à partir duquel il doit poser des questions :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>dpkg-reconfigure debconf</code></p>\n\n<h3>apt-get update : Mettre à jour la base de données des paquets</h3>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Opération</strong></th><th scope=\'col\'><strong class=\"spip\">Commande </strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>Mettre à jour la liste des paquets disponibles sur les sites FTP</td><td>apt-get update</td></tr>\n<tr class=\"row_odd\"><td>Mettre à jour la liste des paquets en utilisant un autre fichier que « /etc/apt/sources.list »</td><td>apt-get update -o Dir ::Etc ::SourceList=/etc/apt/monfichier</td></tr>\n</tbody>\n</table>\n<h3>apt-get install / remove : Installer ou supprimer des paquets</h3>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Opération</strong></th><th scope=\'col\'><strong class=\"spip\">Commande </strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>Installer un nouveau paquet </td><td>apt-get install Expression_Régulière_Du_Paquetex : apt-get install ^kde* -> Installe tout ce qui commence par kde</td></tr>\n<tr class=\"row_odd\"><td>Réinstaller un paquet</td><td>apt-get &mdash;reinstall install paquet</td></tr>\n<tr class=\"row_even\"><td>Supprimer un paquet </td><td>apt-get remove Expression_Régulière_Du_Paquet</td></tr>\n<tr class=\"row_odd\"><td>Supprimer un paquet avec ces fichiers de configuration</td><td>apt-get &mdash;purge remove Expression_Régulière_Du_Paquet</td></tr>\n</tbody>\n</table>\n<h3>apt-get upgrade / dist-upgrade : Mettre  à jour la distribution</h3>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Opération</strong></th><th scope=\'col\'><strong class=\"spip\">Commande </strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>Mettre à jour tout le système Débian</td><td>apt-get upgrade</td></tr>\n<tr class=\"row_odd\"><td>Mettre à jour tout le système Débian en téléchargeant les nouvelles versions des paquets et pas seulement les mises à jour. <strong class=\"spip\">Attention</strong> : Cette commande peut également supprimer des paquets si c’est nécessaire au fonctionnement de l’ensemble du système. Cette commande s’utilise normalement que pour passer d’une version de Debian à une autre (ex : Pour passer de Testing à Unstable)</td><td>apt-get dist-upgrade</td></tr>\n<tr class=\"row_even\"><td>Télécharger toutes les mises à jour sans les installer</td><td>apt-get -dy upgrade</td></tr>\n<tr class=\"row_odd\"><td>Mettre à jour le système en utilisant un autre fichier que « /etc/apt/sources.list »</td><td>apt-get upgrade -o Dir ::Etc ::SourceList=/etc/apt/monfichier</td></tr>\n<tr class=\"row_even\"><td>Mettre  à jour tout le système  Débian  jusqu’au bout, malgré les erreurs rencontrées</td><td>apt-get upgrade -f</td></tr>\n</tbody>\n</table>\n<h3>apt-get clean : Vider le cache des paquets téléchargés</h3>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Opération</strong></th><th scope=\'col\'><strong class=\"spip\">Commande </strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>Supprimer les paquets téléchargés dans « /var/cache/apt/archives » et installés (pour libérer de l’espace disque)</td><td>apt-get clean</td></tr>\n</tbody>\n</table>\n<h3>apt-cache : Recherches sur les paquets</h3>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Opération</strong></th><th scope=\'col\'><strong class=\"spip\">Commande </strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>Affiche la description d’un paquet, même si celui-ci n’est pas installé.</td><td>apt-cache show paquet</td></tr>\n<tr class=\"row_odd\"><td>Cherche « text » dans la description des paquets, même si celui-ci n’est pas installé.</td><td>apt-cache search text</td></tr>\n<tr class=\"row_even\"><td>Pour affiner la recherche, il est possible d’indiquer plusieurs textes à rechercher.</td><td>apt-cache search text1 text2</td></tr>\n<tr class=\"row_odd\"><td>L’option -f, permet d’avoir une description complète des paquets trouvés</td><td>apt-cache search -f text </td></tr>\n</tbody>\n</table>\n<h2>apt-file : Rechercher à quel paquet appartient un fichier.</h2>\n<p class=\"spip\">Comme « dpkg -S » ou « dpkg -L », cette commande, permet de retrouver à quel paquet appartient un fichier ou permet de connaître le détail des fichiers d’un paquet. Mais contrairement à « dpkg », « apt-file », fonctionne également avec les paquets non installés à condition de mettre à jour la base de données avant de l’utiliser.</p>\n\n<p class=\"spip\">Par défaut, cette commande n’est pas installée. Pour pouvoir l’utiliser, il faut donc installer un paquet supplémentaire :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># apt-get install apt-file</code></p>\n\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Opération</strong></th><th scope=\'col\'><strong class=\"spip\">Commande </strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>Mise à jour de la base de données. <strong class=\"spip\">Attention</strong> : Étant donné le nombre importent de paquets du système Debian, la mise  à jour du cache peut-être relativement longue.</td><td>apt-file update<strong class=\"spip\">Remarque </strong> : Pour pouvoir lancer cette commande et corriger un problème de dépendance, j’ai dû installer le paquet « <strong class=\"spip\"> curl </strong> » (apt-get install curl)</td></tr>\n<tr class=\"row_odd\"><td>Liste des fichiers d’un paquet</td><td>apt-file list Nom_Partiel_Du_Paquet</td></tr>\n<tr class=\"row_even\"><td>Liste des paquets contenants un fichier</td><td>apt-file search Nom_Partiel_Du_Fichier</td></tr>\n</tbody>\n</table>\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong> : Étant donné le temps important nécessaire pour mettre à jour le cache, il est souvent plus rapide de faire la recherche directement sur Internet :\n<br /></p>\n<li> <a href=\"http://www.debian.org/distrib/packages#search_contents\" class=\"spip_out\">http://www.debian.org/distrib/packages#search_contents</a>\n<h2>aptitude : Utilitaire avancé pour gérer les paquets Debian .deb</h2>\n<p class=\"spip\"><strong class=\"spip\">aptitude</strong> est utilisable en ligne de commandes comme apt. <strong class=\"spip\">aptitude</strong> est désormais le frontal en mode texte pour APT à utiliser de préférence à la place d’apt-get car il est plus performant.</p>\n\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Opération</strong></th><th scope=\'col\'><strong class=\"spip\">Commande </strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>Mise à jour de la liste des paquets</td><td>aptitude update</td></tr>\n<tr class=\"row_odd\"><td>Mise à jour des paquets (installation des nouvelles version de tous les paquets)</td><td>aptitude upgrade</td></tr>\n<tr class=\"row_even\"><td>Télécharger les nouveaux paquets sans les installer (Opération pouvant être effectuée en batch dans un cron)</td><td>aptitude &mdash;download-only upgrade</td></tr>\n<tr class=\"row_odd\"><td>Migrer vers une autre version de Debian (ex : Passage de testing à unstable)</td><td>aptitude dist-upgrade</td></tr>\n<tr class=\"row_even\"><td>Installer un paquet</td><td>aptitude install LePaquet</td></tr>\n<tr class=\"row_odd\"><td>Supprimer un paquet</td><td>aptitude remove LePaquet</td></tr>\n<tr class=\"row_even\"><td>Purger un paquet (le supprimer sans laisser aucune trace)</td><td>aptitude purge LePaquet</td></tr>\n<tr class=\"row_odd\"><td>Rechercher dans la description de tous les paquets le mot indiqué</td><td>aptitude search LeMot</td></tr>\n<tr class=\"row_even\"><td>Effacer les paquets du cache (/var/cache/apt/archives) </td><td>aptitude clean</td></tr>\n<tr class=\"row_odd\"><td>Effacer les paquets du cache en conservant uniquement la dernière version de chaque paquet</td><td>aptitude autoclean </td></tr>\n</tbody>\n</table>\n<p class=\"spip\"><strong class=\"spip\">Astuce </strong> : Personnellement, je place dans la crontab de root (crontab -e), la ligne suivante pour télécharger tous les jours les derniers paquets mais sans les installer :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>00 18 * * * /usr/bin/aptitude update && <br />\r\n/usr/bin/aptitude --download-only --assume-yes dist-upgrade && <br />\r\n/usr/bin/aptitude autoclean</code></div>\n<h2>apt-listchanges : connaître le détail des modifications des paquets</h2>\n<p class=\"spip\">Le paquet « apt-listchanges », permet d’être informé à l’écran ou par mail des modifications effectuées sur les paquets avant de mettre à jour votre système à l’aide des commandes « apt-get upgrade » ou « apt-get dist-upgrade »</p>\n\n<p class=\"spip\">Pour cela, il faut commencer par installer ce nouveau paquet :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install apt-listchanges</code></p>\n\n<p class=\"spip\">Ensuite, il faut le configurer :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>dpkg-reconfigure apt-listchanges</code></p>\n\n<p class=\"spip\">Pour informations, voici le paramétrage que j’utilise :</p>\n\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Question </strong></th><th scope=\'col\'><strong class=\"spip\">Réponse </strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>Mode d’affichage des changements par apt</td><td>Pageur</td></tr>\n<tr class=\"row_odd\"><td>Ignorer les changements déjà affichés</td><td>Non</td></tr>\n<tr class=\"row_even\"><td>Adresse où envoyer les changements</td><td>mon adresse mail</td></tr>\n<tr class=\"row_odd\"><td>Type de changements affichés par apt</td><td>Les deux </td></tr>\n<tr class=\"row_even\"><td>Demande de confirmation après affichage des changement</td><td>Oui</td></tr>\n</tbody>\n</table>\n<p class=\"spip\">Avec cette configuration et avant chaque mise à jour du système, les modifications seront affichées à l’écran et envoyées par mail et une demande de confirmation sera affichée.</p>\n\n<h2>apt-listbugs : Éviter d’installer des paquets buggès</h2>\n<p class=\"spip\">Le paquet « apt-listbugs », télécharge avant chaque installation de paquets les rapports de bugs émis sur ce paquet. Si un rapport de bug est émis, un message d’avertissement apparaît et demande une confirmation avant d’installer ce paquet. Cela permet d’éviter d’installer des paquets buggés ou d’être informé de problèmes éventuels.</p>\n\n<p class=\"spip\">Pour cela, il suffit d’installer ce paquet :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install apt-listbugs</code></p>\n\n<h2>netselect-apt : Trouver le miroir Debian le plus rapide</h2>\n<p class=\"spip\">Certains miroirs Debian étant très sollicité (ex : ftp.fr.debian.org surtout lors de la sortie d’une nouvelle version) il existe un outil scannant tous les miroirs disponibles à la recherche du plus efficace. Installation du paquet :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install netselect-apt</code></p>\n\n<p class=\"spip\">Lancement de la détection pour la version stable :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># netselect-apt stable </code></p>\n\n<p class=\"spip\">Pour plus d’infos, ne pas hésiter à lire la page de man</p>\n\n<h2>Utiliser apt-get derrière un proxy</h2>\n<p class=\"spip\">Pour faire fonctionner apt-get derrière un proxy  il faut ajouter la ligne suivante dans le fichier « /etc/apt/apt.conf » (Si ce fichier n’existe pas, il faut le créer) :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>Acquire::http::Proxy \"http://ServeurProxy:Port\";</code></p>\n\n<p class=\"spip\">Il faut remplacer  ServeurProxy par l’adresse IP ou le nom du serveur Proxy et Port par le numéro du port utilisé par le Proxy (ex : 3128 pour Squid).</p>\n\n<p class=\"spip\">Le gros avantage de passer derrière un Proxy est d’éviter de télécharger plusieurs fois les mêmes paquets pour plusieurs postes. Le programme « <strong class=\"spip\">apt-proxy</strong> » permet également de mettre en cache des paquets pour plusieurs postes, mais celui-ci n’est disponible que sur Debian Stable et Instable (Pas sur Testing).</p>\n\n<h2>Copier la configuration d’un système sur un autre</h2>\n<p class=\"spip\">Sur le premier système, faire :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>dpkg --get-selections \"*\" >MaSelection.txt</code></p>\n\n<p class=\"spip\">Le paramètre \"*\", permet de prendre en compte les paquets à purger.</p>\n\n<p class=\"spip\">Le fichier MaSelection.txt contiendra tous les paquets installés sur le système.</p>\n\n<p class=\"spip\">Sur l’autre ordinateur récupérer le fichier MaSelection.txt et lancer les commandes suivantes :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>dselect update<br />\r\ndpkg --set-selections <MaSelection.txt<br />\r\napt-get dselect-upgrade</code></div>\n<h2>Automatiser le téléchargement des mises à jour </h2>\n<p class=\"spip\">Pour télécharger automatiquement à 12H5 du lundi au vendredi les mises à jour et envoyer un message d’avertissement à root, il faut écrire la ligne suivante dans le crontab de root (crontab -e) :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>5 12 * * 1-5 (/usr/bin/apt-get update && /usr/bin/apt-get <br />\r\n-dy dist-upgrade) | mail -s \"Mise à jour `hostname`\" root </code></div>\n<h2>Automatiser l’installation des mises à jour de sécurité</h2>\n<p class=\"spip\"><strong class=\"spip\">ATTENTION</strong> : Il peut être dangereux de faire des installations automatiquement sans aucun contrôle de l’administrateur. Donc la procédure ci-dessous est donnée à titre expérimentale et sans aucune garantie (D’ailleurs, je ne l’utilise pas :-) )</p>\n\n<p class=\"spip\">Pour automatiser l’installation des mises à jour de sécurité sans mettre à jour tout le système, il faut commencer par créer un nouveau fichier (ex : /etc/apt/sources.list.security) contenant la ligne suivante pour une Debian testing :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>deb http://security.debian.org/ testing/updates main</code></p>\n\n<p class=\"spip\">Ensuite pour lancer l’installation automatiquement à 12H5 du lundi au vendredi et envoyer un message d’avertissement à root, il faut écrire la ligne suivante dans le crontab de root (crontab -e) :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>5 12 * * 1-5 (/usr/bin/apt-get -o <br />\r\n Dir::Etc::SourceList=/etc/apt/sources.list.security <br />\r\n  update && /usr/bin/apt-get -o <br />\r\n   Dir::Etc::SourceList=/etc/apt/sources.list.security<br />\r\n    dist-upgrade) | mail -s \"Mise à jour Sécurité `hostname`\" root </code></div>\n<h2>Purger les paquets orphelins avec « deborphan »</h2>\n<p class=\"spip\">Après avoir installé et supprimé de nombreux paquets, il arrive que des paquets contenant des librairies deviennent inutiles car celles-ci ne sont plus utilisées par aucun programme.</p>\n\n<p class=\"spip\">Le paquet « deborphan » donne la liste de ces libraires inutiles (orphelines).</p>\n\n<p class=\"spip\">Installation du paquet :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># apt-get install deborphan</code></p>\n\n<p class=\"spip\">Une fois la paquet installé, la commande suivante donne la liste des paquets inutiles :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># deborphan</code></p>\n\n<p class=\"spip\">Et la commande suivante permet de supprimer ces paquets :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># apt-get --purge remove `deborphan`</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong> : Il faut lancer la commande précédente plusieurs fois jusqu’à la suppression de tous les paquets orphelins. Dans mon cas, je l’ai lancé 3 fois et j’ai supprimé 32 paquets et  17Mo.</p>\n\n<h2>Reconstituer un paquet à partir des fichiers installés</h2>\n<p class=\"spip\">Si vous avez installé un paquet sur un poste et souhaitez l’installer sur un autre poste mais que celui-ci n’est plus disponible sur Internet, il est possible de le reconstruire.</p>\n\n<p class=\"spip\">Pour cela, il faut commencer par installer les paquets suivants :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># apt-get install fakeroot dpkg-repack </code></p>\n\n<p class=\"spip\">Ensuite, la commande suivante permet de reconstruire le paquet :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># fakeroot dpkg-repack MonPaquet</code></p>\n\n<p class=\"spip\">Ensuite, il suffit de copier le paquet régénéré sur l’autre poste et de l’installer :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># dpkg -i MonPaquet</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong> : Cette méthode permet également de créer des paquets personnalisés avec vos propres fichiers de configuration.</p>\n\n<h2>Passer de Debian Testing à Debian Stable</h2>\n<p class=\"spip\">Si à force de jouer avec votre fichier « <strong class=\"spip\">/etc/apt/sources.list</strong> », vous avez installer par erreur des paquets d’une version plus récente (ex : Des paquets de Testing alors que vous êtes sous Stable), voici comment revenir en arrière et repasser tous vos paquets dans une version plus ancienne (ex : Stable)</p>\n\n<p class=\"spip\">Pour information, la commande suivante, permet de connaître les paquets plus récent que la version utilisée :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># apt-show-versions | grep newer</code></p>\n\n<p class=\"spip\">Créer le fichier « <strong class=\"spip\">/etc/apt/preferences</strong> » et ajouter les lignes suivantes :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>Package: *<br />\r\nPin: release a=stable<br />\r\nPin-Priority: 1001</code></div>\n<p class=\"spip\">Ces lignes indiques que vous souhaitez utiliser la version stable. En mettant une « Pin-Priority » supérieur à 1000 cela autorise une mise  jour vers des paquets plus anciens.</p>\n\n<p class=\"spip\">Ensuite, une simple mise à jour avec la simple commande suivante devrait réinstaller tous les paquets dans leur version « Stable » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude upgrade</code></p>\n\n<p class=\"spip\">Autrement, ne pas hésiter à faire « man apt_preferences » ou man « apt-show-versions » pour avoir plus d’informations.</p>\n\n<p class=\"spip\"><strong class=\"spip\">Attention</strong> : Une mise à jour vers une version plus ancienne n’est pas garanti mais fonctionne bien dans la plupart des cas.</p>\n\n<h2>Documentation officielle</h2>\n<p class=\"spip\">Pour en savoir plus sur « apt », un paquet contenant une documentation très complète et en français existe :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>aptitude install apt-howto-fr aptitude-doc-fr</code></p>\n\n<p class=\"spip\">Après l’installation de ces paquets, la documentation est disponible dans les dossiers « /usr/share/doc/Debian/apt-howto » et « /usr/share/doc/aptitude »</p>\n\n<p class=\"spip\">Cette documentation est fournie au format html, pdf et postscript. Pour ces deux dernières, il faut installer le paquet « gunzip » pour pouvoir les décompresser et les lire.</p>\n\n<h2>Liens Internet</h2>\n<p class=\"spip\">La documentation officielle en français et très bien faite :\n<br /></p>\n<li> <a href=\"http://www.debian.org/doc/manuals/quick-reference/ch-package.fr.html\" class=\"spip_out\">http://www.debian.org/doc/manuals/quick-reference/ch-package.fr.html</a>\n<p class=\"spip\">Pour voir la liste des paquets ou rechercher dans les répertoires de paquets ou rechercher dans le contenu des paquets :\n<br /></p>\n<li> <a href=\"http://www.debian.org/distrib/packages\" class=\"spip_out\">http://www.debian.org/distrib/packages</a>\n<p class=\"spip\">Rechercher des informations sur des bugs :\n<br /></p>\n<li> http://bugs.debian.org/package-name 	si vous connaissez le nom du paquet\n<br /><li> http://bugs.debian.org/bugnumber      	si vous connaissez le numéro du bogue\n<p class=\"spip\">Installer l’ancienne version d’un paquet :\n<br /></p>\n<li> <a href=\"http://snapshot.debian.net/\" class=\"spip_out\">http://snapshot.debian.net/</a>\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>10/09/04</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.3</td><td>16/12/04</td><td>Ajout Chapitre « Copier la configuration d’un système sur un autre »</td></tr>\n<tr class=\"row_even\"><td>0.4</td><td>04/02/05</td><td>Ajout « Automatiser le téléchargement » et « Automatiser l’installation »</td></tr>\n<tr class=\"row_odd\"><td>0.5</td><td>06/04/05</td><td>Ajout chapitre « apt-file » </td></tr>\n<tr class=\"row_even\"><td>0.6</td><td>12/04/05</td><td>Ajout chapitre « apt-listchanges »</td></tr>\n<tr class=\"row_odd\"><td>0.7</td><td>28/06/05</td><td>Ajout chapitre « apt-listbugs : Éviter d’installer des paquets buggès »</td></tr>\n<tr class=\"row_even\"><td>0.8</td><td>27/07/05</td><td>Ajout chapitre « Purger les paquets orphelins » (Merci Jibux)</td></tr>\n<tr class=\"row_odd\"><td>0.9</td><td>02/09/05</td><td>Ajout chapitre « Reconstituer un paquet à partir des fichiers installés »</td></tr>\n<tr class=\"row_even\"><td>1.0</td><td>20/08/06</td><td>Ajout chapitre « aptitude » et « Activer la completion intelligente »</td></tr>\n<tr class=\"row_odd\"><td>1.1</td><td>08/05/07</td><td>Ajout chapitre « netselect-apt : Trouver le miroir Debian le plus rapide »</td></tr>\n<tr class=\"row_even\"><td>1.2</td><td>15/08/07</td><td>Ajout chapitre « Passer de Debian Testing à Debian Stable »</td></tr>\n</tbody>\n</table>','Ce document me sert de <strong class=\"spip\">mémo sur les différentes commandes de gestion des paquets sous Debian</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.','',1288361718,2),(115,115,1,'Installation de base d’une Debian ETCH','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour installer une <strong class=\"spip\">Debian</strong> <strong class=\"spip\">ETCH</strong> (Stable) de base (sans interface graphique). Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<p class=\"spip\">L’installation se fait à partir d’un CD minimal et d’une liaison ADSL.</p>\n\n<h2>Pré-requis</h2>\n<p class=\"spip\">Il est nécessaire d’avoir de bonnes notions dans l’installation de Linux pour pouvoir utiliser ce mémo. En particulier pour <strong class=\"spip\">la partie partitionnement des disques qui n’est pas détaillée</strong>.</p>\n\n<p class=\"spip\">Il est conseillé également de <strong class=\"spip\">savoir utiliser l’éditeur VI </strong>pour modifier les fichiers de configuration.</p>\n\n<p class=\"spip\">Pour finir, vous pouvez consulter mon mémo consacré à la gestion des paquets avec dpkg, apt-get et aptitude sous Debian :\n<br /></p>\n<li> <a href=\"http://www.coagul.org/article.php3?id_article=157\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=157</a>\n<h2>Téléchargement du CD</h2>\n<p class=\"spip\">Si vous disposez d’un accès ADSL, il est inutile de télécharger une image complète. Les versions « Petit CD » de 180Mo ou 40 Mo sont suffisantes :\n<br /></p>\n<li> <a href=\"http://www.debian.org/distrib/netinst\" class=\"spip_out\">http://www.debian.org/distrib/netinst</a>\n<p class=\"spip\">L’image est disponible en deux versions :\n<br /></p>\n<li> businesscard.iso de 40 Mo\n<br /><li> netinst.iso   de 180 Mo\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : Pour une installation complète via Internet, la version la plus légère est suffisante dans la plupart des cas mais personnellement j’utilise la version « netinst » car elle dispose de plus de drivers.</p>\n\n<h2>Boot sur le CD</h2>\n<p class=\"spip\">Après avoir gravé l’image ISO sur un CD, il faut booter sur le CD (en modifiant le bios si c’est nécessaire).</p>\n\n<p class=\"spip\">Le premier écran d’installation demande de choisir la langue et ensuite, il suffit en général de laisser les valeurs par défaut jusqu’à la partie partitionnement des disques.</p>\n\n<h2>Partitionner les disques avec l’outil partman</h2>\n<p class=\"spip\"><strong class=\"spip\">ATTENTION : Cette partie nécessite une très bonne connaissance de la gestion des partitions des systèmes Linux.</strong></p>\n\n<p class=\"spip\">Avec Partman, il est possible de créer, modifier, redimensionner et supprimer des partitions.</p>\n\n<p class=\"spip\">Pour installer Debian, il faut au minimum paramétrer deux partitions :\n<br /></p>\n<li> Une partition « / » avec un système de fichiers « ext3 » ou compatible Linux.\n<br /><li> Une partition de type « swap » d’une taille au moins égale à celle de la mémoire vive.\n<h2>Installation du système de base Debian</h2>\n<p class=\"spip\">L’installation des paquets commence et se termine par l’installation du programme de démarrage Grub.</p>\n\n<p class=\"spip\">Ensuite, il est demandé de redémarrer l’ordinateur. Lors du démarrage et de l’affichage du menu de Grub, il est possible de vérifier que les autres systèmes installés sur le disque dur fonctionnent toujours.</p>\n\n<h2>Configuration du système de base Debian</h2>\n<p class=\"spip\">Après le redémarrage, il est posé un certain nombre de questions auxquelles il est possible de répondre dans la majorité des cas en utilisant les valeurs par défaut.</p>\n\n<p class=\"spip\">Il faut également saisir un mot de passe pour l’administrateur et indiquer un nom d’utilisateur avec son mot de passe.</p>\n\n<p class=\"spip\">Vers la fin il est demandé de choisir le type de paquets à installer. Personnellement, j’indique « Système standard » et surtout pas l’environnement graphique proposé par défaut car cela installe Gnome avec tout un ensemble de logiciels par forcément désirés.</p>\n\n<p class=\"spip\">Et le login de connexion apparaît indiquant que l’installation du système de base est terminée :-)</p>\n\n<h2>En ligne de commande, faut-il utiliser « aptitude » ou « apt-get » ?</h2>\n<p class=\"spip\">Si comme moi, vous utilisez la ligne de commande pour installer vos paquets, vous avez le choix entre « <strong class=\"spip\">apt-get install </strong> » ou « <strong class=\"spip\">aptitude install </strong> »</p>\n\n<p class=\"spip\">Aptitude est reconnu pour mieux gérer les dépendances et en plus il est capable de proposer l’installation de paquets conseillés.</p>\n\n<p class=\"spip\">Donc, je conseille d’utiliser aptitude, mais apt-get fonctionne très bien également :-)</p>\n\n<p class=\"spip\">Dans tous les cas il est déconseillé d’alterner entre les deux systèmes, donc faites votre choix si possible dés le début.</p>\n\n<h2>Installer VIM avec la coloration syntaxique</h2>\n<p class=\"spip\">Installer vim :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install vim vimhelp-fr</code></p>\n\n<p class=\"spip\">Pour activer la coloration syntaxique il faut décommenter dans le fichier « /<strong class=\"spip\">etc/vim/vimrc </strong> » la ligne suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>syntax on</code></p>\n\n<h2>Remarques sur /etc/profile et /etc/bash.bashrc</h2>\n<p class=\"spip\">Le fichier « <strong class=\"spip\">/etc/bash.bashrc</strong> » est utilisé pour les shells interactifs (ex : Un terminal sous KDE)</p>\n\n<p class=\"spip\">Le fichier « <strong class=\"spip\">/etc/profile</strong> » est utilisé pour les shells de connexion (ex : Shell de ALT+F1 ou via SSH)</p>\n\n<p class=\"spip\">Pour avoir la même configuration que ce soit en shell interactif ou de connexion, il est possible d’exécuter le contenu de « <strong class=\"spip\">/etc/profile</strong> » depuis « <strong class=\"spip\">/etc/bash.bashrc » </strong>en ajoutant ces lignes au début de « <strong class=\"spip\">/etc/profile </strong> » :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>if [ -f /etc/bash.bashrc ]; then<br />\r\n    . /etc/bash.bashrc<br />\r\nfi</code></div>\n<h2>Adapter le menu de démarrage ou les options du noyau avec Grub</h2>\n<p class=\"spip\">Le fichier de configuration de Grub est « <strong class=\"spip\">/boot/grub/menu.lst</strong> ». Contrairement à Lilo, il n’est pas nécessaire de réinstaller Grub après avoir modifié son fichier de configuration.</p>\n\n<p class=\"spip\">Si vous avez plusieurs systèmes installés, vous pouvez changer celui lancé par défaut en modifiant la ligne « <strong class=\"spip\"> default </strong> » :\n<br /></p>\n<li> default 0 -> Démarre la première ligne du menu.\n<br /><li> default 2 -> Démarre la troisième ligne du menu.\n<p class=\"spip\">Pour augmenter le nombre de lignes affichées sur l’écran lors du démarrage, il faut activer le framebuffer dans les options du noyau. Pour avoir un affichage en 1024x768 sur 16 bits, il faut ajouter l’option « <strong class=\"spip\">vga=791</strong> » dans les options du noyau, ce qui donne dans mon cas :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>kernel /boot/vmlinuz-2.6.15-1-686 root=/dev/sda6 ro vga=791</code></p>\n\n<p class=\"spip\">Pour mettre une option par défaut pour chaque noyau de votre système (y compris les futurs noyaux), vous pouvez ajouter vos options dans le fichier « <strong class=\"spip\">/boot/grub/menu.lst</strong> » au bout de la ligne « <strong class=\"spip\"># defoptions=</strong> ». Exemple :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># defoptions=vga=791</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Attention</strong> : Il ne faut pas décommenter la ligne en enlevant le « # »</p>\n\n<p class=\"spip\">La commande suivante, permet de détecter vos noyaux et de mettre à jour le menu de grub en conséquence en tenant comptes des options indiquées précédemment :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># update-grub</code></p>\n\n<h2>Mise à jour du système</h2>\n<p class=\"spip\">Récupérer la dernière liste des paquets, d’après le contenu de « /etc/apt/sources.liste »</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude update</code></p>\n\n<p class=\"spip\">Mettre à jour le système :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude upgrade</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque 1 </strong> : Plus la version du CD d’installation est ancienne, plus le nombre de paquets à mettre à jour est important.</p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque 2</strong> : La commande « <strong class=\"spip\">aptitude dist-upgrade</strong> », permet également de mettre à jour le système, mais cette dernière est conseillée uniquement pour passer d’une version stable à testing ou de testing à unstable. Elle permet également de forcer l’installation de certains paquets récalcitrants.</p>\n\n<p class=\"spip\">Purger les fichiers téléchargés dans « <strong class=\"spip\">/var/cache/apt/archives</strong> » pour libérer de la place</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude clean</code></p>\n\n<h2>Bash avec complétion intelligente</h2>\n<p class=\"spip\">Sous Linux, tout le monde connaît la complétion automatique avec la touche TAB, mais la complétion intelligente permet en plus d’avoir la liste des options d’une commande (ex : apt-get) ou de connaître la liste des paquets commençant par certains caractères (ex : apt-get install vi +TAB). Je trouve qu’utiliser les commandes « apt » avec la complétion intelligente est pour moi plus simple que d’utiliser synaptique.</p>\n\n<p class=\"spip\">Pour activer la complétion intelligente, il faut décommenter les lignes suivantes dans le fichier « <strong class=\"spip\">/etc/bash.bashrc</strong> » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>if [ -f /etc/bash_completion ]; then</code></p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>    . /etc/bash_completion</code></p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>fi</code></p>\n\n<h2>Bash avec complétion dès la première tabulation</h2>\n<p class=\"spip\">Sous Debian, pour avoir la liste des choix possibles de la complétion il est nécessaire d’appuyer deux fois sur la touche TAB.</p>\n\n<p class=\"spip\">En ajoutant la ligne suivante à la fin du fichier « <strong class=\"spip\">/etc/inputrc</strong> » ou du fichier «  /.inputrc », la liste des choix sera affichée dés la première tabulation :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>set show-all-if-ambiguous on </code></p>\n\n<h2>Coloration du résultat de la commande ls</h2>\n<p class=\"spip\">Pour avoir un résultat avec différentes couleurs de la commande ls, il faut saisir le paramètre \n« &mdash;color », ce qui donne :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ls --color</code></p>\n\n<p class=\"spip\">Pour ne pas saisir ce paramètre à chaque fois, il faut ajouter un alias à cette commande dans le fichier «  /.bashrc » ou le fichier « /etc/profile » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>alias ls=\'ls --color\'</code></p>\n\n<h2>Synchroniser l’heure du PC sur celle d’un serveur </h2>\n<p class=\"spip\">Installer le paquet ntpdate</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install ntpdate</code></p>\n\n<p class=\"spip\">Pour synchroniser l’heure du poste sur celle du serveur 192.0.0.1 il faut saisir la commande :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ntpdate 192.0.0.1 </code></p>\n\n<p class=\"spip\">Il est possible enfin de redémarrer le service ntpdate, pour synchroniser l’heure sur un serveur par défaut (pool.ntp.org) :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/init.d/ntpdate reload</code></p>\n\n<p class=\"spip\">Pour synchroniser l’heure automatiquement tous les jours, il faut éditer la crontab de root :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>crontab -e</code></p>\n\n<p class=\"spip\">Et saisir la ligne suivante pour actualiser l’heure du lundi au vendredi (1-5) à 6H30 du matin :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>30 06 * * 1-5 /usr/sbin/ntpdate 192.0.0.1 </code></p>\n\n<p class=\"spip\">Pour vérifier dans les logs, que la commande fonctionne correctement :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>tail -f /var/log/syslog</code></p>\n\n<h2>Utiliser VIM comme éditeur de texte par défaut</h2>\n<p class=\"spip\">Depuis quelques temps sous Debian, l’éditeur par défaut utilisé par exemple pour « crontab -e », n’est plus « <strong class=\"spip\"> vim </strong> » mais « <strong class=\"spip\"> nano </strong> ». Pour remettre « <strong class=\"spip\"> vim </strong> », il faut utiliser cette commande et choisir votre éditeur favoris dans la liste :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># update-alternatives --config editor</code></p>\n\n<h2>Installer KDE, CUPS et d’autres programmes</h2>\n<p class=\"spip\">Pour installer KDE et CUPS, vous pouvez suivre ce mémo :\n<br /></p>\n<li> <a href=\"http://www.coagul.org/article.php3?id_article=159\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=159</a>\n<p class=\"spip\">Pour installer d’autres programmes, vous pouvez regarder dans cette rubrique :\n<br /></p>\n<li> <a href=\"http://www.coagul.org/rubrique.php3?id_rubrique=32\" class=\"spip_out\">http://www.coagul.org/rubrique.php3 ?id_rubrique=32</a>\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>21/09/04</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>1.0</td><td>10/06/06</td><td>Nombreuses modifications suite à deux nouvelles installations</td></tr>\n<tr class=\"row_even\"><td>1.2</td><td>04/09/06</td><td>Mise à jour suite à l’installation d’un nouveau poste</td></tr>\n<tr class=\"row_odd\"><td>1.3</td><td>31/03/08</td><td>Mise à jour suite à l’installation d’un nouveau serveur</td></tr>\n</tbody>\n</table>','<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour installer une <strong class=\"spip\">Debian</strong> <strong class=\"spip\">ETCH</strong> (Stable) de base (sans interface graphique). Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<p class=\"spip\">L’installation se fait à partir d’un CD minimal et d’une liaison ADSL.</p>','',1288361719,2),(116,116,1,'Installation de KDE sur une Debian Etch','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour installer <strong class=\"spip\">KDE</strong> sur une <strong class=\"spip\">Debian</strong> Etch. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<h2>Pré-requis</h2>\n<p class=\"spip\">Avoir installé une Debian de Base :\n<br /></p>\n<li> cf mon autre document sur ce sujet : <a href=\"http://www.coagul.org/article.php3?id_article=158\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=158</a>\n<h2>Améliorer la détection du matériel</h2>\n<p class=\"spip\">Pour améliorer la détection du matériel et donc faciliter l’installation de XFree, il est conseillé de commencer par installer les paquets suivants :\n<br /></p>\n<li> <strong class=\"spip\">discover</strong> ou <strong class=\"spip\">discover1</strong> : Normalement ce paquet est déjà installé avec l’installation de base. Ce paquet permet d’identifier le matériel.\n<br /><li> <strong class=\"spip\">mdetect</strong> : Outil de détection de la souris.\n<br /><li> <strong class=\"spip\">read-edid </strong> : Outil de détection des moniteurs.\n<br /><li> <strong class=\"spip\">hwinfo : </strong>Donne des informations sur le matériel. \n<br /><li> <strong class=\"spip\">xdebconfigurator</strong> : Outil utilisant les paquets précédents pour initialiser « <strong class=\"spip\"> debconf </strong> ».\n<p class=\"spip\">Ce qui donne :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install mdetect read-edid hwinfo xdebconfigurator</code></p>\n\n<h2>Installation des paquets</h2>\n<p class=\"spip\">La commande suivante permet d’installer tous les paquets nécessaires à XOrg, KDE et KDM (150 paquets et 121 Mo dans mon cas) : \n<br /></p>\n<li> x-window-system : Serveur Xorg.\n<br /><li> kde-core et kde-i18n-fr : KDE avec localisation en français.\n<br /><li> kdm : Gestionnaire de connexion de KDE.\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install x-window-system kde-core kde-i18n-fr  kdm</code></p>\n\n<h2>Test de KDE</h2>\n<p class=\"spip\">Après l’installation des paquets, pour démarrer et tester KDE sans redémarrer complètement le système, il faut redémarrer kdm :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># /etc/init.d/kdm restart</code></p>\n\n<h2>Amélioration de la configuration de Xorg</h2>\n<p class=\"spip\">Normalement Xorg est configuré automatiquement. Mais en cas de problème il faut lancer ces deux commandes :\n<br /></p>\n<li> La première commande essaie de détecter le matériel et pré-configure « debconf »\n<br /><li> La deuxième commande utilise « debconf » pour configurer Xorg.\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># xdebconfigurator<br />\r\n# dpkg-reconfigure xserver-xorg</code></div>\n<p class=\"spip\">Autrement, si cette solution ne fonctionne pas, il faut modifier manuellement le fichier « etc/X11/xorg.conf ».</p>\n\n<h2>Activer le pavé numérique au démarrage de KDE</h2>\n<p class=\"spip\">Il est possible de le faire dans le panneau de configuration de KDE :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>Centre de configuration / Périphériques / Clavier<br />\r\nVerrouillage numérique au démarrage de KDE -> Activer</code></div>\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>21/09/04</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.3</td><td>03/01/05</td><td>Correction suite aux remarques de Jibux</td></tr>\n<tr class=\"row_even\"><td>0.4</td><td>01/03/05</td><td>Ajout configuration de XFree avec « <strong class=\"spip\">xdebconfigurator </strong> »</td></tr>\n<tr class=\"row_odd\"><td>0.6</td><td>27/09/05</td><td>Mise à jour suite au passage à X.org</td></tr>\n<tr class=\"row_even\"><td>0.7</td><td>10/06/06</td><td>Mise à jour suite à installation nouveau poste</td></tr>\n<tr class=\"row_odd\"><td>0.8</td><td>31/03/08</td><td>Mise à jour suite à installation nouveau poste</td></tr>\n</tbody>\n</table>','Ce document me sert de <strong class=\"spip\">mémo</strong> pour installer <strong class=\"spip\">KDE</strong> sur une <strong class=\"spip\">Debian</strong> Etch. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.','',1288361719,2),(117,117,1,'Mardi 30 Novembre (Projets Coagul et atelier Povray)','<p class=\"spip\">Ce soir-là comme le dernier mardi de chaque mois était essentiellement consacré à l’avancement des projets de Coagul.</p>\n\n<p class=\"spip\">Lors de cette réunion, il y avait 16 personnes : Gnunux, Marc, Jean.B, Jean.C, Luc, Antoine, Tony, Laurent, Gérald, Mircéa, Didier, Philippe, Nicolas, Jibux, Yogi et Frantz</p>\n\n<h2>2 Visiteurs</h2>\nLuc JULLIOT connaît l’association car il est déjà venu à plusieurs reprises.\n<p class=\"spip\">Antoine DUPONT qui est déjà venu la semaine dernière, vient d’installer sa première Mandrake.</p>\n\n<h2>Nouveau Membre </h2>\n<p class=\"spip\">Inscrire Didier MEUZARD (didier.meuzard chez wanadoo.fr) sur le site de Coagul (Questionnaire)</p>\n\n<h2>Réunion d’organisation des RMLL de samedi</h2>\n<p class=\"spip\">Jean.B se propose d’héberger Ludowic le samedi soir.</p>\n\n<p class=\"spip\">6 Personnes de Coagul devraient venir à la réunion d’organisation des RMLL.</p>\n\n<p class=\"spip\">La salle pour la réunion à partir de 14H et pour le repas du soir est réservée par Laurent. (Adresse : Pizzeria la primaverra av Raymond Poincarré.</p>\n\n<p class=\"spip\">Pour le repas du libre, Laurent a déjà des propositions à faire.</p>\n\n<p class=\"spip\">Yogi est chargé par Ludowic de trouver des traducteurs pour les conférences et de faire des devis.</p>\n\n<p class=\"spip\">Gérald a commencé à demander des devis pour les affiches. Il faut encore demander d’autres devis. Philippe propose ICO et Gérald peut y aller mercredi.</p>\n\n<p class=\"spip\">Présence et organisation du stand de Coagul dans le village des associations : Mircea, Tony, Philippe, Gérald, Frantz et Didier se proposent pour organiser le stand. Pour la tenue du stand il faudra en reparler.</p>\n\n<h2>Format propriétaire de diffusion des vidéos utilisé par France3</h2>\n<p class=\"spip\">Gnunux et Hugin sont allés à France3. La personne rencontrée a indiqué que la décision était nationale et qu’il fallait contacter une autre personne.</p>\n\n<p class=\"spip\">Le responsable régional d’internet de France3 doit parler de leur demande a la direction nationale. Gnunux doit contacter également la direction par courrier.</p>\n\n<p class=\"spip\">Philippe a des contacts politiques (Maire de Chenove,...)</p>\n\n<p class=\"spip\">Gnunux va envoyer une nouvelle lettre à France 3 au nom de Coagul.</p>\n\n<p class=\"spip\">Ludovic Penet au niveau de l’April devrait également faire une action dans le même sens.</p>\n\n<h2>Tampon pour Coagul</h2>\n<p class=\"spip\">Gérald et Gnunux pensent qu’il serait bien d’avoir un tampon pour l’association. Didier se propose de nous faire un tampon gratuitement.</p>\n\n<h2>Présentation des nouvelles Listes</h2>\n<p class=\"spip\">Yogi nous a fait une présentation des nouvelles listes de Coagul :\n<br /></p>\n<li> c-public : Liste ouverte à tout le monde même aux personnes externes de Coagul.\n<br /><li> c-bureau : Pour les 4 membres du bureau.\n<br /><li> c-orga : Organisation de l’association (Ordre du jour, Spip,...).\n<h2>Atelier Povray présenté par Nicolas</h2>\n<p class=\"spip\">Nicolas nous a fait une présentation (Merci à lui) sous forme d’atelier du superbe logiciel Povray.</p>\n\n<p class=\"spip\">Nous avons saisi dans un fichier texte nommé « essai.pov » quelques lignes de commandes pour décrire l’objet à dessiner et la commande :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">povray essai.pov +p +h600 +w800</p>\n</blockquote>\n<p class=\"spip\">nous a généré une très belle image de synthèse.</p>\n\n<p class=\"spip\">Nous avons fait plusieurs manipulations, pour créer des sphères, des cônes,...  et nous avons fait des intersections de volumes.</p>\n\n<p class=\"spip\">Pour finir, Nicolas, nous a présenté le logiciel kPovModeler, qui est une interface graphique à Povray et des images très impressionnantes réalisées avec ce logiciel par des spécialistes (le mot est faible).</p>\n\n<p class=\"spip\">Voici le document, revu et corrigé, qui a permis de présenter aux membres de Coagul quelques bases de POV-Ray.</p>\n\n<dl class=\'spip_document_70 spip_documents spip_documents_center\' >\n<dt><a href=\"http://download.tuxfamily.org/assocoagul/drupal-files/spip/atelier_povray-2.pdf\" title=\'PDF - 963 ko\' type=\"application/pdf\"><img src=\'dist/vignettes/pdf.png\' width=\'52\' height=\'52\' alt=\'PDF - 963 ko\' /></a><dt>\n<dt class=\'spip_doc_titre\' style=\'width:120px;\'><strong>Atelier Povray</strong></dt>\n</dl>','Ce soir-là comme le dernier mardi de chaque mois était essentiellement consacré à l’avancement des projets de Coagul.','',1289142199,2),(118,118,1,'Ordre du jour du 7 Décembre 2004 (Porte Ouverte)','<p class=\"spip\"><strong class=\"spip\">Cette soirée, comme tous les premiers mardis de chaque mois, sera une porte ouverte pour permettre à qui le souhaite de venir nous rencontrer.</strong></p>\n\n<p class=\"spip\">Si vous avez entendu parler des logiciels libres ou de Linux et si voulez en savoir plus sur le sujet, c’est le moment de venir nous rencontrer pour poser toutes vos questions.</p>\n\n<p class=\"spip\">Si vous venez d’installer votre premier Linux et avez quelques questions techniques à poser, n’hésitez pas à venir et nous essayerons de faire de notre mieux pour vous aider.</p>\n\n<p class=\"spip\">Si vous êtes déjà un accroc de Linux (et on le devient vite :-) ), vous pouvez venir nous rencontrer pour venir partager votre expérience et éventuellement devenir membre de notre association qui a beaucoup de projets pour la saison 2004-2005 :\n<br /></p>\n<li> Participation à l’organisation des RMLL 2005 qui auront lieu à Dijon en Juillet 2005.\n<p class=\"spip\">Cette porte-ouverte comme toutes nos réunions se tient dans la salle de la mairie de Chevigny Saint-Sauveur et débutera à 20H.\n<br /></p>\n<li> <a href=\"http://www.mappy.com/PlanPerso/coagul/0\" class=\"spip_out\">http://www.mappy.com/PlanPerso/coagul/0</a>','<strong class=\"spip\">Cette soirée, comme tous les premiers mardis de chaque mois, sera une porte ouverte pour permettre à qui le souhaite de venir nous rencontrer.</strong>','',1289136108,2),(119,119,1,'Ordre du jour du 14 Décembre 2004 (Atelier OpenLDAP)','<p class=\"spip\"><strong class=\"spip\">Cette soirée sera consacrée à un atelier présenté par Tony sur « Notions de base sur OpenLDAP </strong><i class=\"spip\"> <strong class=\"spip\">(Installation et création d’une petite base) » </strong> </i></p>\n\n<p class=\"spip\">Pour information, voici les personnes intéressées par cet atelier :</p>\n\n<p class=\"spip\">7 -> <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=FtZ\" class=\"spip_out\">FtZ</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=GnunuX\" class=\"spip_out\">GnunuX</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=JibuX\" class=\"spip_out\">JibuX</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=LauRent\" class=\"spip_out\">LauRent</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=MarciUn\" class=\"spip_out\">MarciUn</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=BouiL\" class=\"spip_out\">BouiL</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=YogI\" class=\"spip_out\">YogI</a></p>\n\n<p class=\"spip\">Pour suivre cet atelier, il est nécessaire d’installer les paquets suivants :\n<br /></p>\n<li> ldap-server (ou slapd)\n<br /><li> ldap-client (ou ldap-utils)\n<p class=\"spip\">Cet atelier sera une introduction à OpenLDAP, donc aucune connaissance particulière n’est requise.</p>\n\n<p class=\"spip\">Une base <strong class=\"spip\">LDAP</strong>, est une base de données où les informations sont enregistrées de manière hiérarchique sous forme d’arbre et non sous forme tabulaire.</p>\n\n<p class=\"spip\">Une base LDAP est optimisée pour la lecture d’un nombre important de petits enregistrements et convient donc parfaitement pour stocker des annuaires ou des profils utilisateurs.</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">Cette réunion est consacrée en priorité à cet atelier qui débutera à 20H30. Si vous souhaitez y assister, vous êtes le bienvenu. Mais si vous souhaitez simplement nous rencontrer, il est recommandé de venir le premier mardi de chaque mois où nous organisons une soirée porte ouvertes et où nous serons plus disponibles pour vous accueillir.</p>\n\n</blockquote>','<strong class=\"spip\">Cette soirée sera consacrée à un atelier présenté par Tony sur « Notions de base sur OpenLDAP </strong><i class=\"spip\"> <strong class=\"spip\">(Installation et création d’une petite base) » </strong> </i>','',1289136108,2),(121,121,1,'Ordre du jour du 21 Décembre 2004 (Atelier Postfix)','<p class=\"spip\"><strong class=\"spip\">Cette soirée sera consacrée à un atelier présenté par Tony sur « Installation et configuration d’un serveur de messagerie Postfix</strong><i class=\"spip\"> <strong class=\"spip\"> » </strong> </i></p>\n\n<p class=\"spip\">Pour information, voici les personnes intéressées par cet atelier :\n<br /></p>\n<li> FtZ, HuGin, GnunuX, JibuX, LauRent, YogI, PhilippE\n<p class=\"spip\">Pour suivre cet atelier, il est nécessaire d’installer le paquet suivant :\n<br /></p>\n<li> postfix\n<p class=\"spip\">Cet atelier sera une introduction à Postfix, donc aucune connaissance particulière n’est requise.</p>\n\n<p class=\"spip\">Postfix est le serveur de messagerie le plus populaire actuellement. Il est développé en grande partie par IBM.</p>\n\n<p class=\"spip\">Postfix est le concurrent directe de Sendmail qui reste le plus utilisé. Mais Sendmail est très compliqué à configurer alors que Postfix est très simple. De plus l’image de Sendmail c’est sérieusement dégradée ces dernières années à cause de grosses failles de sécurité.</p>\n\n<p class=\"spip\">Postfix fonctionne aussi bien en tant que gros serveur de courrier pour internet que sur des petite structures locales intranet.</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">Cette réunion est consacrée en priorité à cet atelier qui débutera à 20H30. Si vous souhaitez y assister, vous êtes le bienvenu. Mais si vous souhaitez simplement nous rencontrer, il est recommandé de venir le premier mardi de chaque mois où nous organisons une soirée porte ouvertes et où nous serons plus disponibles pour vous accueillir.</p>\n\n</blockquote>','<strong class=\"spip\">Cette soirée sera consacrée à un atelier présenté par Tony sur « Installation et configuration d’un serveur de messagerie Postfix</strong><i class=\"spip\"> <strong class=\"spip\"> » </strong> </i>','',1289136108,2),(122,122,1,'Réunion Organisation RMLL 2005 à Dijon le 2 avril 2005','Réunion Organisation RMLL 2005 à Dijon le 2 avril 2005','Réunion Organisation RMLL 2005 à Dijon le 2 avril 2005','',1289136322,2),(123,123,1,'Installation d’un serveur DHCP sous Debian Etch','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de mémo pour installer un <strong class=\"spip\">serveur DHCP</strong> sur une Debian Stable (Etch)</p>\n\n<p class=\"spip\">Ce mémo a été écrit et testé pour une Debian Etch, mais il doit être possible de l’adapter facilement à d’autres distributions.</p>\n\n<h2>Pré-requis</h2>\n<p class=\"spip\">Avoir installé une Debian de Base :\n<br /></p>\n<li> cf mon autre document sur ce sujet : <a href=\"http://www.coagul.org/article.php3?id_article=337\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=337</a>\n<h2>Installation et Configuration du serveur DHCP</h2>\n<p class=\"spip\">Paquet à installer :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install dhcp3-server</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : Par défaut le serveur DHCP écoutera sur eth0. Pour modifier cette interface, il est possible de faire « <strong class=\"spip\">dpkg-reconfigure dhcp3-server</strong> » ou de modifier le fichier « <strong class=\"spip\">/etc/default/dhcp3-server</strong> »</p>\n\n<h2>Configuration du serveur </h2>\n<p class=\"spip\">Le fichier de configuration du serveur <strong class=\"spip\">dhcp</strong> est « <strong class=\"spip\">/etc/dhcp3/dhcpd.conf</strong> »</p>\n\n<p class=\"spip\">Je conseille pour commencer de faire une copie de sauvegarde de ce fichier. Ensuite, vous pouvez effacer ou commenter les lignes existantes et ajouter les lignes suivantes :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>option domain-name \"mondomaine.com\";<br />\r\noption domain-name-servers 192.0.0.1, 194.2.0.50;<br />\r\noption routers 192.0.0.151;<br />\r\ndefault-lease-time 3600;<br />\r\nsubnet 192.0.0.0 netmask 255.255.255.0 {<br />\r\n  range 192.0.0.200 192.0.0.254;<br />\r\n  authoritative;<br />\r\n}</code></div>\n<p class=\"spip\">La première ligne permet de fournir aux clients le nom du domaine.</p>\n\n<p class=\"spip\">La ligne suivante donne aux clients le ou les serveurs DNS.</p>\n\n<p class=\"spip\">La ligne suivante donne l’adresse de la passerelle par défaut</p>\n\n<p class=\"spip\">La ligne suivante donne le délai du bail en secondes. Il est préférable d’augmenter la valeur par défaut pour limiter le trafic sur le réseau.</p>\n\n<p class=\"spip\">Les 4 dernières lignes permettent d’indiquer la plage d’adresses gérée par le serveur dhcp :</p>\n\n<p class=\"spip\">La ligne « <strong class=\"spip\"> authoritative </strong> » permet d’indiquer que le serveur DHCP sera responsable de la zone concernée</p>\n\n<p class=\"spip\">Une fois la configuration terminée, il faut démarrer ou redémarrer le démon pour prendre en compte les modifications :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># /etc/init.d/dhcp3-server restart</code></p>\n\n<p class=\"spip\">Si le démarrage retourne une erreur, il faut penser à consulter les logs :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># tail -f /var/log/syslog</code></p>\n\n<p class=\"spip\">Le fichier suivant donne la liste des adresses IP délivrées par le serveur. Pour chaque adresse IP l’on retrouve : son adresse mac, le nom de l’ordinateur, la date de début et de fin du bail :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/var/lib/dhcp3/dhclient.leases </code></p>\n\n<h2>Comment avoir des IP fixes avec un serveur DHCP </h2>\n<p class=\"spip\">Pour cela, il faut ajouter dans le fichier « <strong class=\"spip\">/etc/dhcp3/dhcpd.conf</strong> », de nouvelles lignes.</p>\n\n<p class=\"spip\">L’exemple suivant permet de fixer une adresse IP en fonction de son adresse MAC :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>host INFO-TG  {<br />\r\n  hardware ethernet 00:05:5d:f5:08:02;<br />\r\n  fixed-address 192.0.0.11;<br />\r\n}</code></div>\n<p class=\"spip\">Redémarrer le démon pour prendre en compte les modifications :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/init.d/dhcp3-server restart</code></p>\n\n<h2>Configuration des postes clients</h2>\n<p class=\"spip\">Pour configurer un poste client sous Linux, il faut modifier le fichier :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/network/interfaces</code></p>\n\n<p class=\"spip\">Ce fichier doit contenir :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>auto lo eth0<br />\r\niface lo inet loopback<br />\r\niface eth0 inet dhcp</code></div>\n<p class=\"spip\">Il ne faut pas oublier de redémarrer le démon après modification :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/init.d/networking restart</code></p>\n\n<p class=\"spip\">Pour les postes Windows, c’est du clickodrome :-)</p>\n\n<h2>Comment vérifier que le client est correctement configuré</h2>\n<p class=\"spip\">Sur un poste client linux, la commande suivante, permet de connaître la configuration IP et également de retrouver l’adresse MAC :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ifconfig</code></p>\n\n<p class=\"spip\">Sur un poste client Windows, la commande est la suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ipconfig /all</code></p>\n\n<p class=\"spip\">La consultation des logs sur le serveur en temps réel (avec le paramètre -f), permet également de vérifier que tout fonctionne correctement :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>tail -f /var/log/messages</code></p>\n\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>19/11/04</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.2</td><td>03/01/05</td><td>MAJ suite à installation nouveau serveur DHCP sur le  P200</td></tr>\n<tr class=\"row_even\"><td>0.3</td><td>10/06/05</td><td>Corrections suite aux remarques de Jibux</td></tr>\n<tr class=\"row_odd\"><td>0.4</td><td>07/11/06</td><td>Ajout commentaire pour modifier l’interface en écoute par défaut</td></tr>\n<tr class=\"row_even\"><td>0.5</td><td>15/10/08</td><td>Mise à jour suite à installation sur Debian ETCH</td></tr>\n</tbody>\n</table>','<p class=\"spip\">Ce document me sert de mémo pour installer un <strong class=\"spip\">serveur DHCP</strong> sur une Debian Stable (Etch)</p>\n\n<p class=\"spip\">Ce mémo a été écrit et testé pour une Debian Etch, mais il doit être possible de l’adapter facilement à d’autres distributions.</p>','',1288361725,2),(124,124,1,'Installation et utilisation de SSH sous Linux','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour <strong class=\"spip\">installer et utiliser SSH sous Linux</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<p class=\"spip\">Les instructions de ce document sont données pour une Debian ETCH, mais il est possible de les adapter aux autres distributions.</p>\n\n<h2>Pré-requis</h2>\n<p class=\"spip\">Avoir installé une Debian de Base :\n<br /></p>\n<li> cf mon autre document sur ce sujet : <a href=\"http://www.coagul.org/article.php3?id_article=158\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=158</a>\n<h2>Installation et configuration de SSH</h2>\n<p class=\"spip\">Installation du paquet :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install openssh-client openssh-server</code></p>\n\n<p class=\"spip\">Une fois les paquets installés, le client et le serveur seront directement utilisables. Il est possible depuis ce poste de se connecter à un autre serveur SSH ou il est possible de se connecter à ce poste via SSH depuis un autre poste.</p>\n\n<p class=\"spip\">Cependant, il est préférable pour augmenter la sécurité, de modifier le fichier de configuration :</p>\n\n<p class=\"spip\">Fichier de configuration du démon sshd :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/ssh/sshd_config</code></p>\n\n<p class=\"spip\">Pour interdire la connexion directe sous root, modifier la ligne suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>PermitRootLogin no </code></p>\n\n<p class=\"spip\">Ajouter la ligne suivante pour autoriser uniquement pglinux</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>AllowUsers pglinux </code></p>\n\n<p class=\"spip\">Redémarrer le démon pour prendre en compte les modifications :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/init.d/ssh restart</code></p>\n\n<h2>Commandes pour se connecter à un serveur distant</h2>\n<p class=\"spip\">La commande suivante, permet de se connecter au serveur pgdebian sous l’identité de celui qui lance la commande :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ ssh pgdebian</code></p>\n\n<p class=\"spip\">Il est possible de préciser un autre login avec le paramètre -l :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ ssh -l root pgdebian</code></p>\n\n<p class=\"spip\">Il est possible aussi d’utiliser la syntaxe suivante pour se connecter à pgdebian sous root :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ ssh root@pgdebian</code></p>\n\n<h2>Connexion à un serveur SSH via un autre serveur SSH</h2>\n<p class=\"spip\">Si vous avez deux serveurs SSH mais qu’il est nécessaire de se connecter au premier pour pouvoir accéder au deuxième, cette commande permet de réaliser les deux connexions :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ssh root@serveur1 -t ssh root@serveur2</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : Cela est surtout intéressant si la connexion aux serveurs se fait via une clé public (cf chapitre suivant)</p>\n\n<h2>Connexion SSH en utilisant une clé privée et une clé public</h2>\n<p class=\"spip\">Une connexion SSH en utilisant une clé privée et une clé public est plus sécurisée qu’une connexion classique par mot de passe. De plus elle permet d’éviter de ressaisir un mot de passe à chaque connexion.</p>\n\n<p class=\"spip\">Création de la clé privée et de la clé public :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ ssh-keygen -t dsa</code></p>\n\n<p class=\"spip\">Après la saisie de la pass-phrase (Mot de passe long), cette commande va générer deux fichiers dans le dossier «  /.ssh » :\n<br /></p>\n<li> La clé privée : id_dsa\n<br /><li> La clé public : id_dsa.pub\n<p class=\"spip\">Ensuite, il faut exporter la clé public sur le ou les serveurs distant à utiliser avec ssh :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ ssh-copy-id -i .ssh/id_dsa.pub root@NomDuServeurSSH</code></p>\n\n<p class=\"spip\">Après la copie de cette clé, à chaque connexion via ssh, la pass-phrase sera demandée.</p>\n\n<p class=\"spip\">Pour éviter de saisir la pass-phrase (qui normalement est encore plus longe que le mot de passe), il est possible d’utiliser le démon ssh-agent qui se chargera de mémoriser la pass-phrase pour éviter de la ressaisir :</p>\n\n<p class=\"spip\">Sous Debian le démon ssh-agent est lancé automatiquement au démarrage de la session.</p>\n\n<p class=\"spip\">La commande suivante, permet de mémoriser la pass-phrase une fois pour toute pendant la durée de la session :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ ssh-add</code></p>\n\n<p class=\"spip\">Une fois cette commande saisie, il est possible de se connecter aux différentes serveurs ssh sans saisir aucun mot de passe ou pass-phrase.</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ ssh root@NomDuServeurSSH</code></p>\n\n<h2>Copier des fichiers entre un serveur et un client ssh avec scp</h2>\n<p class=\"spip\">La commande <strong class=\"spip\">scp</strong> livrée avec le paquet <strong class=\"spip\">ssh</strong>, permet de copier des fichiers entre le serveur et le client ssh d’une manière sécurisée.</p>\n\n<p class=\"spip\">La commande suivante, permet d’envoyer dans le répertoire /tmp du serveur pgdebian le fichier /etc/fstab disponible sur le serveur local :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ scp /etc/fstab root@pgdebian:/tmp</code></p>\n\n<h2>Exécuter une commande à distance avec ssh</h2>\n<p class=\"spip\">La commande <strong class=\"spip\">ssh</strong>, permet également d’exécuter une commande sur un serveur distant.</p>\n\n<p class=\"spip\">Par exemple, la commande suivante, permet de se connecter sous root sur l’ordinateur pgdebian et d’exécuter la commande halt pour arrêter l’ordinateur :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ ssh root@pgdebian halt</code></p>\n\n<h2>Lancer une application graphique disponible sur un serveur distant</h2>\n<p class=\"spip\">Pour lancer une application graphique sur un serveur distant, il suffit de se connecter avec l’option « -X » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ ssh -X user@serveur</code></p>\n\n<p class=\"spip\">Et de lancer l’application graphique en ligne de commande.</p>\n\n<p class=\"spip\">Le paramètre « -C » permet de comprimer les données ce qui améliore (un peu) la réactivité :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ ssh -CX user@serveur</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : Une méthode plus efficace pour lancer des applications graphiques est de passer par un serveur FreeNX et un client NoMachine comme expliqué dans ce mémo :\n<br /></p>\n<li> <a href=\"http://www.coagul.org/article.php3?id_article=330\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=330</a>\n<h2>Ajouter dans « Konsole » des signets vers des serveurs SSH</h2>\n<p class=\"spip\">Pour les utilisateurs de KDE et de Konsole, il est possible d’ajouter dans les signets des liens vers des serveurs SSH. Pour cela, il faut :\n<br /></p>\n<li> Menu « Signet / Modifier les signets »\n<br /><li> Menu « Signet / Nouveau signet »\n<br /><li> Saisir dans la zone URL « ssh ://user@serveur »\n<h2>Lien pour avoir plus d’informations</h2>\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ man ssh </code></p>\n\n<p class=\"spip\">ou : <a href=\"http://www.delafond.org/traducmanfr/man/man1/ssh.1.html\" class=\"spip_out\">http://www.delafond.org/traducmanfr/man/man1/ssh.1.html</a></p>\n\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>19/11/04</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.2</td><td>20/12/04</td><td>Ajout chapitres « Commandes pour se connecter à un serveur distant » et « Exécuter une commande à distance avec rsh »</td></tr>\n<tr class=\"row_even\"><td>0.3</td><td>30/05/05</td><td>Ajout « Connexion SSH en utilisant une clé privée et une clé public »</td></tr>\n<tr class=\"row_odd\"><td>0.4</td><td>03/07/06</td><td>Mise à jour suite aux remarque sur le forum</td></tr>\n<tr class=\"row_even\"><td>0.5</td><td>06/08/08</td><td>Ajout « Connexion à un serveur SSH via un autre serveur SSH » et « Ajouter dans « Konsole » des signets vers des serveurs SSH » et « Lancer une application graphique disponible sur un serveur distant »</td></tr>\n</tbody>\n</table>','<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour <strong class=\"spip\">installer et utiliser SSH sous Linux</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<p class=\"spip\">Les instructions de ce document sont données pour une Debian ETCH, mais il est possible de les adapter aux autres distributions.</p>','',1288361725,2),(125,125,1,'Installation Apache, PHP, MySQL et phpMyAdmin sur une Debian Testing','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour installer <strong class=\"spip\">Apache</strong> (version 1 ou 2),<strong class=\"spip\"> PHP </strong>(version 4 ou 5) et<strong class=\"spip\"> MySQL</strong> (version 5) sur une <strong class=\"spip\">Debian Testing ou SID</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<h2>Pré-requis</h2>\n<p class=\"spip\">Avoir installé une Debian de Base :\n<br /></p>\n<li> cf mon autre document sur ce sujet : <a href=\"http://www.coagul.org/article.php3?id_article=158\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=158</a>\n<h2>Installation d’Apache version 1.3 et de PHP4</h2>\n<p class=\"spip\">Ces paquets installent apache, php4 et le module php4 pour apache :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install apache php4 libapache-mod-php4</code></p>\n\n<p class=\"spip\">Cette installation, doit installer par dépendance les paquets suivants :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apache-common apache2-utils libapache-mod-php4 libapr1 libaprutil1 php4-common</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong> : Le paquet apache2-utils est commun à Apache 1.3 et Apache 2.</p>\n\n<p class=\"spip\">Pour le php, il existe d’autres paquets que vous pouvez installer en fonction de vos besoins. La commande suivant permet de connaître la liste de ces paquets :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude search php4</code></p>\n\n<p class=\"spip\">Personnellement, j’installe le paquet suivant pour pouvoir faire des scripts php en ligne de commande :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install php4-cli</code></p>\n\n<p class=\"spip\">Pour des raisons de sécurité, le php n’est pas activé par défaut dans apache. Pour l’activer et configurer apache, il faut exécuter cette commande et sélectionner le module php4 dans la liste des modules indiqués :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># dpkg-reconfigure apache</code></p>\n\n<p class=\"spip\">La commande précédente, va modifier la configuration d’apache (/etc/apache/httpd.conf) et la liste des modules chargés au démarrage (/etc/apache/modules.conf)</p>\n\n<p class=\"spip\">Après chaque modification de la configuration, il faut redémarrer (ou reloader) Apache. La commande suivante permet de démarrer, d’arrêter, de redémarrer ou de recharger la configuration :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># /etc/init.d/apache start (ou stop ou restart ou reload)</code></p>\n\n<p class=\"spip\">Pour valider qu’Apache fonctionne correctement, il faut saisir l’adresse suivante dans un navigateur :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>http://localhost</code></p>\n\n<p class=\"spip\">Pour vérifier que php4 fonctionne correctement avec Apache, il faut créer par exemple le fichier « test.php » dans « /var/www » contenant la commande suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'><? phpinfo(); ?></code></p>\n\n<p class=\"spip\">Et ensuite depuis un navigateur, il faut saisir l’adresse suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>http://localhost/test.php</code></p>\n\n<p class=\"spip\">Si votre navigateur essaye de télécharger le fichier php au lieu d’afficher le résultat souhaité, vérifier les points suivants :\n<br /></p>\n<li> Vérifier que le module php4 est bien présent dans « <strong class=\"spip\">/etc/apache/modules.conf</strong> ». Si ce n’est pas le cas, il faut vérifier que le paquet « <strong class=\"spip\">libapache-mod-php4</strong> » est bien installé et reconfigurer Apache avec la commande « <strong class=\"spip\">dpkg-reconfigure apache</strong> » en sélectionnant bien dans la liste des modules proposés php4.\n<br /><li> Vider le cache de votre navigateur avant de faire un nouveau test ou essayer avec un autre navigateur ou un nouveau fichier .php\n<h2>Installation d’Apache version 1.3 et de PHP5</h2>\n<p class=\"spip\">Ces paquets installent apache, php5 et le module php5 pour apache :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install apache php5 libapache-mod-php5</code></p>\n\n<p class=\"spip\">Cette installation, doit installer par dépendance les paquets suivants :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apache-common apache2-utils libapache-mod-php5 libapr1 libaprutil1 php5-common</code></p>\n\n<p class=\"spip\">Pour activer php5, le tester et pour les autres remarques, vous pouvez vous reporter au chapitre précédent.</p>\n\n<h2>Installation d’Apache version 2.2 et de PHP4</h2>\n<p class=\"spip\">Ces paquets installent apache 2.2, php4 et le module php4 pour apache :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install apache2 php4 libapache2-mod-php4</code></p>\n\n<p class=\"spip\">Cette installation, doit installer par dépendance les paquets suivants :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php4 libapr1 libaprutil1 php4-common</code></p>\n\n<p class=\"spip\">Avec Apache vers 2.3, les modules disponibles sont dans le dossier « <strong class=\"spip\">/etc/apache2/mods-available/</strong> » et les modules activés sont dans le dossier « <strong class=\"spip\">/etc/apache2/mods-enabled/</strong> ».</p>\n\n<p class=\"spip\">Si le module php4 n’est pas chargé, il faut le charger avec la commande suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># a2enmod php4</code></p>\n\n<p class=\"spip\">Après chaque modification de la configuration, il faut redémarrer (ou reloader) Apache :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># /etc/init.d/apache2 restart</code></p>\n\n<p class=\"spip\">Pour valider qu’Apache fonctionne correctement, il faut saisir l’adresse suivante dans un navigateur :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>http://localhost</code></p>\n\n<p class=\"spip\">Pour vérifier que php4 fonctionne correctement avec Apache, il faut créer par exemple le fichier « test.php » dans « /var/www » contenant la commande suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'><? phpinfo(); ?></code></p>\n\n<p class=\"spip\">Et ensuite depuis un navigateur, il faut saisir l’adresse suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>http://localhost/test.php</code></p>\n\n<p class=\"spip\">Si votre navigateur essaye de télécharger le fichier php au lieu d’afficher le résultat souhaité, vérifier les points suivants :\n<br /></p>\n<li> Vérifier que le module php4 est bien présent dans « <strong class=\"spip\">/etc/apache2/mods-enabled/</strong> ». Si ce n’est pas le cas, il faut vérifier que le paquet « <strong class=\"spip\">libapache2-mod-php4</strong> » est bien installé et charger le module avec la commande « <strong class=\"spip\">a2enmod php4</strong> ».\n<br /><li> Vider le cache de votre navigateur avant de faire un nouveau test.\n<h2>Installation d’Apache version 2.2 et de PHP5</h2>\n<p class=\"spip\">Ces paquets installent apache 2.2, php5 et le module php5 pour apache :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install apache2 php5 libapache2-mod-php5</code></p>\n\n<p class=\"spip\">Cette installation, doit installer par dépendance les paquets suivants :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apache2 apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 php5 php5-common</code></p>\n\n<p class=\"spip\">Pour activer php5, le tester et pour les autres remarques, vous pouvez vous reporter au chapitre précédent.</p>\n\n<h2>Installation de MySQL 5.0</h2>\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : A ce jour, il n’est plus possible d’installer la version 4.0 de MySQL sur Debian Testing/SID, car seul la version 5 est disponible.</p>\n\n<p class=\"spip\">Paquet à installer :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install mysql-server</code></p>\n\n<p class=\"spip\">La commande suivante permet de démarrer, d’arrêter, de redémarrer ou de recharger le serveur :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># /etc/init.d/mysql start (ou stop ou restart ou reload)</code></p>\n\n<p class=\"spip\">Si aucun mot de passe n’a encore été défini pour MySQL, la commande suivante sous root permet d’entrer dans le mode ligne de commande de MySQL pour valider que tout fonctionne :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># mysql        </code></p>\n\n<p class=\"spip\">Saisir « quit » pour sortir du mode de commande de MySQL.</p>\n\n<p class=\"spip\">Si un mot de passe a été défini pour l’utilisateur « root » de MySQL, la commande suivante permet de se connecter à MySQL depuis n’importe quel utilisateur Linux :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ mysql -u root -p</code></p>\n\n<h2>Installation de phpmyadmin</h2>\n<p class=\"spip\">Paquet à installer :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install phpmyadmin</code></p>\n\n<p class=\"spip\">Pour vérifier que « <strong class=\"spip\"> phpmyadmin </strong> » fonctionne, il faut saisir l’adresse suivante dans un navigateur :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>http://localhost/phpmyadmin</code></p>\n\n<p class=\"spip\">Une fenêtre de connexion à MySQL doit apparaître et si aucun mot de passe n’a encore été défini dans MySQL, il faut mettre « root » en nom d’utilisateur et ne rien mettre en mot de passe.</p>\n\n<p class=\"spip\"><strong class=\"spip\">Après cette installation, je vous conseille vivement de mettre un mot de passe à l’utilisateur « root » de MySQL en cliquant sur le lien « Modifier le mot de passe ».</strong></p>\n\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>21/09/04</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.2</td><td>06/12/04</td><td>MAJ suite à installation ordinateur personnel PII 350</td></tr>\n<tr class=\"row_even\"><td>0.3</td><td>12/04/05</td><td>Installation d’apache2 à la place d’apache et ajout « Installation de phpmyadmin »</td></tr>\n<tr class=\"row_odd\"><td>0.4</td><td>15/04/05</td><td>Ajout « Activer le module MySQL dans PHP »</td></tr>\n<tr class=\"row_even\"><td>0.5</td><td>14/03/07</td><td>Ce document a été entièrement refait pour prendre en compte les différentes versions d’Apache et de PHP.</td></tr>\n</tbody>\n</table>','Ce document me sert de <strong class=\"spip\">mémo</strong> pour installer <strong class=\"spip\">Apache</strong> (version 1 ou 2),<strong class=\"spip\"> PHP </strong>(version 4 ou 5) et<strong class=\"spip\"> MySQL</strong> (version 5) sur une <strong class=\"spip\">Debian Testing ou SID</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.','',1288361726,2),(126,126,1,'Mardi 7 Décembre (Portes-Ouvertes)','<p class=\"spip\">Pour cause de porte ouverte fermée, Gérald nous a emmené au petit atelier de Dijon (Merci Gérald pour la solution de secours).</p>\n\n<p class=\"spip\">Pour cette quatrième porte-ouverte, il y avait 10 personnes et sûrement d’autres inconnus qui ont trouvé la porte de Chevigny fermée :\n<br /></p>\n<li> 7 membres : Paul, Piou, Laurent, Mircea, Tony, Gérald et Yogi.\n<br /><li> 3 visiteurs : Gérard, Luc et Antoine.\n<h2>3 visiteurs</h2>\n<br /><li> Gérard CHATEILLER venu pour découvrir Linux et l’association.\n<br /><li> Luc JULLIOT connaît l’association car il est déjà venu à plusieurs reprises.\n<br /><li> Antoine DUPONT qui est déjà venu aux deux dernières réunions. Il est content de sa Mandrake qui fonctionne très bien sur son portable.\n<h2>Questionnaire nouveau membre pour Paul</h2>\n<br /><li> Envoyer le questionnaire des nouveaux membres à Paul SOUSA (kagypaul chez aol.com)\n<h2>Gestion des membres avec Galette</h2>\n<p class=\"spip\">Yogi a installé le logiciel de gestion des membres Galette sur notre serveur. Il souhaite développer une interface entre Spip et Galette pour éviter de créer deux fois les utilisateurs.</p>\n\n<h2>Compte-rendu de la réunion des RMLL</h2>\n<p class=\"spip\">Yogi a fait le compte-rendu de la réunion d’organisation des RMLL qui a eu lieu le samedi 4 décembre.</p>','Pour cause de porte ouverte fermée, Gérald nous a emmené au petit atelier de Dijon (Merci Gérald pour la solution de secours).','',1289142199,2),(127,127,1,'Mardi 14 Décembre (OpenLDAP)','<p class=\"spip\">Ce soir-là était essentiellement consacré à un atelier présenté par moi-même sur l’installation et la configuration d’OpenLDAP.</p>\n\n<p class=\"spip\">Pour cause de porte fermée, cette réunion a eu lieu au café d’en face.</p>\n\n<p class=\"spip\">Le responsable des clés (Frantz) pour se faire pardonner, a commencé par payer sa tournée :-)</p>\n\n<p class=\"spip\">Lors de cette réunion, il y avait 11 personnes : Luc, Frantz, Yogi, Marc, Antoine, Jean.B, Tony, Didier, Jibux, Laurent et Jean.C.</p>\n\n<h2>1 visiteur</h2>\n<br /><li> Luc JULLIOT : Notre visiteur habituel :-)\n<h2>Compilation de Gnumeric</h2>\n<p class=\"spip\">Marc avec l’assistance de Jean.B, s’est lancé dans la compilation de Gnumeric sur son Pentium 200.</p>\n\n<h2>Atelier OpenLDAP</h2>\n<h3>Installation</h3>\n<p class=\"spip\">Paquets à installer :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install ldap-server ldap-client</code></p>\n\n<p class=\"spip\">Ce qui installera en fait :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install slapd ldap-utils</code></p>\n\n<h3>Modification du fichier de configuration « /etc/ldap/slapd.conf »</h3>\n<p class=\"spip\">Définition de la base LDAP :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>suffix \"dc=votredomaine,dc=com\"<br />\r\nrootdn \"cn=admin,dc=votredomaine,dc=com\"<br />\r\nrootpw admin<br />\r\n#rootpw {SSHA}yaZf/SRMvP+glo/KI+fG1idsm7FimhuD</code></div>\n<p class=\"spip\">Remarque : La commande slappasswd permet de générer un mot de passe crypté (rootpw)</p>\n\n<p class=\"spip\">Gestion des droits d’accès :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>access to attribute=userPassword<br />\r\n       by dn=\"cn=admin,dc=votredomaine,dc=com\" write<br />\r\n       by anonymous auth<br />\r\n       by self write<br />\r\n       by * none<br />\r\naccess to *<br />\r\n       by dn=\"cn=admin,dc=votredomaine,dc=com\" write<br />\r\n       by * read</code></div>\n<h3>Démarrage du serveur (slapd)</h3>\n<p class=\"spip\">Le serveur slapd se démarre d’une manière classique avec la commande :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># /etc/init.d/slapd restart</code></p>\n\n<h3>Création de la racine de la base LDAP </h3>\n<p class=\"spip\">Écrire le fichier « AjoutRacine.ldif » ci-dessous pour créer la racine de l’arbre LDAP :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>dn: dc=votredomaine,dc=com<br />\r\nobjectClass: dcObject<br />\r\nobjectClass: organization<br />\r\no: Votre Societe<br />\r\ndc: votresociete</code></div>\n<p class=\"spip\">Commande pour ajouter la racine :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ldapadd -x -D \"cn=admin,dc=votredomaine,dc=com\" -w admin -f AjoutRacine.ldif</code></p>\n\n<h3>Création d’une fiche</h3>\n<p class=\"spip\">Écrire le fichier « AjoutFiche.ldif » ci-dessous pour créer une nouvelle fiche :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>dn: cn=Tony GALMICHE,dc=votredomaine,dc=com<br />\r\nobjectClass: inetOrgPerson<br />\r\ncn: Tony GALMICHE<br />\r\ngivenName: Tony<br />\r\nsn: GALMICHE<br />\r</code></div>\n<p class=\"spip\">Commande pour ajouter la fiche :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ldapadd -x -D \"cn=admin,dc=votredomaine,dc=com\" -w admin -f AjoutFiche.ldif</code></p>\n\n<h3>Interroger la base de données LDAP </h3>\n<p class=\"spip\">Commande pour afficher tous les enregistrements de la base :</p>\n\n<p class=\"spip\">ldapsearch -x -b \"dc=votredomaine,dc=com\"</p>\n\n<p class=\"spip\">Commande pour rechercher une partie des enregistrements :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ldapsearch -x -b \"dc=votredomaine,dc=com\" \"mail=tony*\"</code></p>\n\n<p class=\"spip\">Pour retourner tous les enregistrements, la commande suivante est souvent utilisée</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ldapsearch -x -b \"dc=votredomaine,dc=com\" \"objectclass=*\"</code></p>\n\n<h3>Modification d’une fiche </h3>\n<p class=\"spip\">Écrire le fichier « ModifFiche.ldif » pour ajouter le numéro de téléphone dans une fiche :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>dn: cn=Tony GALMICHE,dc=votredomaine,dc=com<br />\r\nchangetype: modify<br />\r\nadd: telephonenumber<br />\r\ntelephonenumber: 03 80 97 98 99</code></div>\n<p class=\"spip\">Commande pour modifier la fiche :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ldapadd -x -D \"cn=admin,dc=votredomaine,dc=com\" -w admin -f ModifFiche.ldif</code></p>\n\n<h3>Suppression d’une fiche </h3>\n<p class=\"spip\">Écrire le fichier « SuppFiche.ldif » pour supprimer une fiche :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>dn: cn=Tony GALMICHE,dc=votredomaine,dc=com<br />\r\nchangetype: delete</code></div>\n<p class=\"spip\">Commande pour supprimer la fiche :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ldapadd -x -D \"cn=admin,dc=votredomaine,dc=com\" -w admin -f SuppFiche.ldif</code></p>','Ce soir-là était essentiellement consacré à un atelier présenté par moi-même sur l’installation et la configuration d’OpenLDAP.','',1289142198,2),(128,128,1,'Installation et Utilisation de OpenLDAP sous Debian ','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de mémo sur <strong class=\"spip\">l’installation et l’utilisation d’OpenLDAP sous Debian</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<h2>Pré-requis</h2>\n<p class=\"spip\">Avoir installé une Debian de Base :\n<br /></p>\n<li> cf mon autre document sur ce sujet : <a href=\"http://www.coagul.org/article.php3?id_article=158\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=158</a>\n<h2>Présentation rapide</h2>\n<p class=\"spip\">Une base <strong class=\"spip\">LDAP</strong> est une base de données où les informations sont enregistrées de manière hiérarchique sous forme d’arbre et non sous forme tabulaire.</p>\n\n<p class=\"spip\">Une base LDAP est optimisée pour la lecture d’un nombre important de petits enregistrements et convient donc parfaitement pour stocker des annuaires ou des profils utilisateurs.</p>\n\n<p class=\"spip\">Le système LDAP utilise des <strong class=\"spip\">schémas</strong> (/etc/ldap/schema) pour décrire des objets.</p>\n\n<p class=\"spip\">Chaque <strong class=\"spip\">objet</strong> contient plusieurs <strong class=\"spip\">attributs</strong> (obligatoire ou facultatifs). Et chaque objet peut <strong class=\"spip\">hériter</strong> des attributs d’un autre objet. Exemple :\n<br /></p>\n<li> L’objet « person » a comme attributs : commonName, surname,..\n<br /><li> L’objet fils « organizationalPerson » dérivé de l’objet « person » ajoute les attributs : title, PostalAddress,...\n<p class=\"spip\">Les objets et les attributs sont <strong class=\"spip\">normalisés</strong> pour assurer les échanges entre les logiciels.</p>\n\n<p class=\"spip\">Il est possible de modifier un schéma en rajoutant des attributs à un objet (déconseillé) ou en créant un nouvel objet (mieux), mais le mieux est de faire valider cette modification par l’IANA.</p>\n\n<p class=\"spip\">Chaque donnée enregistrée dans la base est identifiée par son <strong class=\"spip\">DN</strong> (Distinguished Name). Ce DN est comparable au chemin complet d’un fichier. Exemple : dc=mondomaine,dc=fr</p>\n\n<p class=\"spip\">Pour ajouter ou modifier des données dans la base, il est possible d’utiliser le format <strong class=\"spip\">LDIF</strong>.</p>\n\n<h2>Installation</h2>\n<p class=\"spip\">Paquets à installer :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># apt-get install ldap-server ldap-client</code></p>\n\n<p class=\"spip\">Ce qui installera en fait :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># apt-get install slapd ldap-utils</code></p>\n\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Écran (Titre en rouge) </strong></th><th scope=\'col\'><strong class=\"spip\">Message </strong></th><th scope=\'col\'><strong class=\"spip\">Réponse</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>Configuration de slapd</td><td>Enter your DNS domain </td><td><strong class=\"spip\">mondomaine.com</strong></td></tr>\n<tr class=\"row_odd\"><td> </td><td>Enter the name of organisation</td><td><strong class=\"spip\">mondomaine.com</strong></td></tr>\n<tr class=\"row_even\"><td> </td><td>Admin password</td><td><strong class=\"spip\">xxxx</strong></td></tr>\n<tr class=\"row_odd\"><td> </td><td>Allow LDAPv2 protocol </td><td><strong class=\"spip\">Oui *</strong></td></tr>\n</tbody>\n</table>\n<p class=\"spip\"><strong class=\"spip\">* J’ai été obligé d’autoriser la norme v2 pour les clients Win 2000</strong>. Avec les clients Win NT, il n’y avait pas de problème.</p>\n\n<h2>Configuration</h2>\n<p class=\"spip\">Le fichier de configuration est :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/ldap/slapd.conf</code></p>\n\n<p class=\"spip\">La ligne suivante permet d’autoriser l’utilisation de la norme V2 de LDAP.</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>allow bind_v2</code></p>\n\n<p class=\"spip\">La ligne suivante donne la racine de la base LDAP :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>suffix \"dc=mondomaine,dc=com\"</code></p>\n\n<p class=\"spip\">La ligne suivante <strong class=\"spip\">qu’il faut ajouter manuellement </strong>donne le login de l’administrateur (admin avec le rappel de la racine). Cette ligne et la suivante sont obligatoires pour avoir un accès root sur la base depuis un programme externe (ex : PHP)</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>rootdn \"cn=admin,dc=mondomaine ,dc=com\"</code></p>\n\n<p class=\"spip\">La ligne suivante <strong class=\"spip\">qu’il faut ajouter manuellement </strong>donne le mot de passe en clair :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>rootpw admin</code></p>\n\n<p class=\"spip\">Pour plus de sécurité, il est préférable de générer un mot de passe crypté en utilisant la commande :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># slappasswd<br />\r\nNew password:<br />\r\nRe-enter new password:<br />\r\n{SSHA}5y67xJ/t7esuGKUD7TQPcgykd8xiYMO2</code></div>\n<p class=\"spip\">Ensuite, il faut copier la chaîne cryptée à la place du mot de passe en clair</p>\n\n<p class=\"spip\">Paramétrage de l’accès en écriture de la base. Il faut indiquer le bon login et la racine de la base :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>access to attribute=userPassword<br />\r\n        by dn=\"cn=admin,dc=test,dc=com\" write<br />\r\n        by anonymous auth<br />\r\n        by self write<br />\r\n        by * none</code></div>\n<p class=\"spip\">Paramétrage de l’accès en lecture seule de la base. Il faut indiquer le bon login et la racine de la base :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>access to *<br />\r\n        by dn=\"cn=admin,dc=test,dc=com\" write<br />\r\n        by * read</code></div>\n<h2>Démarrage du serveur (slapd)</h2>\n<p class=\"spip\">Le serveur slapd se démarre d’une manière classique avec la commande :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># /etc/init.d/slapd restart</code></p>\n\n<h2>Le format de fichier LDIF</h2>\n<p class=\"spip\">Ce format de fichier est utilisé pour faire des imports / exports entre plusieurs bases ou pour modifier ou ajouter des données dans une base.</p>\n\n<p class=\"spip\">ATTENTION : Il est obligatoire de coder les données en UTF-8. Si lors de l’importation une erreur est rencontrée, celle-ci est abandonnée à l’endroit où elle en était.</p>\n\n<h3>Fichier LDIF pour ajouter des enregistrements</h3>\n<p class=\"spip\">Voici la structure d’un fichier LDIF</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>dn: <distinguished name <br />\r\n    objectClass: <object class <br />\r\n    objectClass: <object class <br />\r\n    ... <br />\r\n    <attribute type:<attribute value <br />\r\n    <attribute type:<attribute value <br />\r\n    ...</code></div>\n<p class=\"spip\">Voici un exemple de fichier LDIF (AjoutRacine.ldif) pour créer la racine de l’arbre LDAP :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>dn: dc=mondomaine,dc=com<br />\r\nobjectClass: dcObject<br />\r\nobjectClass: organization<br />\r\no: Votre Societe<br />\r\ndc: mondomaine</code></div>\n<p class=\"spip\">Commande pour ajouter la racine :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ldapadd -x -D \"cn=admin,dc=mondomaine,dc=com\" -w admin -f AjoutRacine.ldif</code></p>\n\n<p class=\"spip\">Voici un exemple de fichier LDIF (AjoutFiche.ldif) pour créer une nouvelle fiche :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>dn: cn=Tony GALMICHE,dc=mondomaine,dc=com<br />\r\nobjectClass: inetOrgPerson<br />\r\ncn: Tony GALMICHE<br />\r\ngivenName: Tony<br />\r\nsn: GALMICHE</code></div>\n<p class=\"spip\">Commande pour ajouter la fiche :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ldapadd -x -D \"cn=admin,dc=mondomaine,dc=com\" -w admin -f AjoutFiche.ldif</code></p>\n\n<h3>Fichier LDIF pour modifier des enregistrements</h3>\n<p class=\"spip\">Les commandes de modification ont la syntaxe suivante :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>   dn: distinguished name<br />\r\n    changetype  {{TYPE}} <br />\r\n    change operation identifier<br />\r\n    list of attributes...<br />\r\n    ...<br />\r\n   -<br />\r\n    change operation identifier<br />\r\n    list of attributes<br />\r\n    ...</code></div>\n<p class=\"spip\">TYPE peu avoir l’une des valeurs suivantes :\n<br /></p>\n<li> add (ajout d’une entrée), \n<br /><li> delete (suppression), \n<br /><li> modrdn (modification du RDN), \n<br /><li> modify (modification : add, replace, delete d’un attribut)\n<p class=\"spip\">Le fichier « ModifFiche.ldif » ci-dessous permet d’ajouter le numéro de téléphone :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>dn: cn=Tony GALMICHE,dc=mondomaine,dc=com<br />\r\nchangetype: modify<br />\r\nadd: telephonenumber<br />\r\ntelephonenumber: 03 80 97 98 99</code></div>\n<p class=\"spip\">Commande pour modifier la fiche :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ldapadd -x -D \"cn=admin,dc=mondomaine,dc=com\" -w admin -f ModifFiche.ldif</code></p>\n\n<h3>Fichier LDIF pour supprimer des enregistrements</h3>\n<p class=\"spip\">Le fichier « SuppFiche.ldif » ci-dessous permet de supprimer une fiche :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>dn: cn=Tony GALMICHE,dc=mondomaine,dc=com<br />\r\nchangetype: delete</code></div>\n<p class=\"spip\">Commande pour supprimer la fiche :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ldapadd -x -D \"cn=admin,dc=mondomaine,dc=com\" -w admin -f SuppFiche.ldif</code></p>\n\n<h2>Commande pour rechercher des enregistrements</h2>\n<p class=\"spip\">Rechercher les enregistrements contenant un attribut objectclass (donc tous) depuis la racine :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ldapsearch -x -b \"dc=mondomaine,dc=com\" \"objectclass=*\"</code></p>\n\n<p class=\"spip\">Rechercher les enregistrements contenant un attribut cn dans la branche Eloyes :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ldapsearch -x -b \"o=Eloyes,dc=mondomaine,dc=com\" \"cn=*\"</code></p>\n\n<p class=\"spip\">Rechercher les enregistrements donc l’attribut dc se termine par gray depuis la racine :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ldapsearch -x -b \"dc=mondomaine,dc=com\" \"dc=*gray\"</code></p>\n\n<h2>Sauvegarde et Restauration d’une base de données LDAP</h2>\n<p class=\"spip\">La commande suivante permet de générer un fichier .LDIF contenant la base complète :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>slapcat -l DumpLDAP.ldif -b \"dc=mondomaine,dc=com\"</code></p>\n\n<h2>LDAP Browser</h2>\n<p class=\"spip\">LDAP Browser est un programme en Java, permettant de consulter et de modifier une base LDAP :\n<br /></p>\n<li> <a href=\"http://www-unix.mcs.anl.gov/~gawor/ldap/\" class=\"spip_out\">http://www-unix.mcs.anl.gov/ gawor/ldap/</a>\n<h2>Exemples de scripts PHP</h2>\n<h3>Exemple de script PHP pour se connecter au serveur LDAP</h3>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>$server=\"localhost\";<br />\r\n$port=\"389\";<br />\r\n$dn=\"dc=mondomaine,dc=com\";<br />\r\n$rootdn=\"cn=admin,$dn\";<br />\r\n$rootpw=\"admin\";<br />\r\n<br />\r\n$ds=ldap_connect($server,$port); <br />\r\nldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);<br />\r\n$r=ldap_bind($ds,$rootdn,$rootpw) <br />\r\n        or die (\"Impossible de se connecter au serveur ! \\n\");<br />\r\necho \"Authentification sur le serveur OpenLDAP -> OK \\n\\n\";</code></div>\n<h3>Exemple de script PHP pour rechercher des enregistrements</h3>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>$sr=ldap_search($ds,$dn,\"(objectclass=*)\");<br />\r\nif ($sr) {<br />\r\n        $info=ldap_get_entries($ds,$sr);<br />\r\n        echo $info[\"count\"].\" enregistrements dans OpenLDAP \\n\";<br />\r\n        for ($i=0;$i<=$info[\"count\"];$i++) {<br />\r\n                echo \"$i - \".$info[$i][\"dn\"].\" \\n\";<br />\r\n        }<br />\r\n}</code></div>\n<h2>Liste partielle des attributs de la classe « organization »</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Attribut</strong></th><th scope=\'col\'><strong class=\"spip\">Description</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>businessCategory</td><td>Activité professionnelle d’une entreprise ou d’une personne</td></tr>\n<tr class=\"row_odd\"><td>c</td><td>Code du pays en deux lettres (respectant le standard ISO 3166)</td></tr>\n<tr class=\"row_even\"><td>cn</td><td>Nom de l’objet (common name)</td></tr>\n<tr class=\"row_odd\"><td>description</td><td>Description de l’objet</td></tr>\n<tr class=\"row_even\"><td>distinguishedName</td><td>Nom distingué (utilisé par d’autres attributs par héritage)</td></tr>\n<tr class=\"row_odd\"><td>facsimileTelephoneNumber</td><td>Numéro de fax</td></tr>\n<tr class=\"row_even\"><td>givenName</td><td>Prénom de la personne</td></tr>\n<tr class=\"row_odd\"><td>houseIdentifier</td><td>Identifiant d’un batiment</td></tr>\n<tr class=\"row_even\"><td>initials</td><td>Initiales d’une personne</td></tr>\n<tr class=\"row_odd\"><td>internationalSDNNumber</td><td>Numéro ISDN</td></tr>\n<tr class=\"row_even\"><td>l</td><td>localité de l’objet (géographique)</td></tr>\n<tr class=\"row_odd\"><td>member</td><td>Distinguished Name des membres</td></tr>\n<tr class=\"row_even\"><td>name</td><td>Nom (utilisé par d’autres attributs par héritage)</td></tr>\n<tr class=\"row_odd\"><td>o</td><td>Nom de l’organisation</td></tr>\n<tr class=\"row_even\"><td>objectClass</td><td>Classe d’objets</td></tr>\n<tr class=\"row_odd\"><td>ou</td><td>Unité organisationnelle (branche de l’organisation)</td></tr>\n<tr class=\"row_even\"><td>owner</td><td>Nom du propriétaire de l’objet</td></tr>\n<tr class=\"row_odd\"><td>postalAddress</td><td>Adresse postale (sans le code postal)</td></tr>\n<tr class=\"row_even\"><td>postalCode</td><td>Code postal</td></tr>\n<tr class=\"row_odd\"><td>postalOfficeBox</td><td>Boîte aux lettres (postale)</td></tr>\n<tr class=\"row_even\"><td>presentationAddress</td><td>Adresse réseau de la présentation de l’objet (généralement une URL vers la présentation en ligne)</td></tr>\n<tr class=\"row_odd\"><td>protocolInformation</td><td>Attribut complémentaire à presentationAddress pour définir le protocole à utiliser</td></tr>\n<tr class=\"row_even\"><td>registeredAddress</td><td>Adresse postale pour des envois de courriers recommandés et de colis</td></tr>\n<tr class=\"row_odd\"><td>seeAlso</td><td>DN d’objets complémentaires</td></tr>\n<tr class=\"row_even\"><td>serialNumber</td><td>Numéro de série de l’objet</td></tr>\n<tr class=\"row_odd\"><td>sn</td><td>Nom de famille de la personne (surname)</td></tr>\n<tr class=\"row_even\"><td>st</td><td>Etat ou région (state)</td></tr>\n<tr class=\"row_odd\"><td>streetAddress</td><td>Nom de la rue et assimiilé (boulevard, ...)</td></tr>\n<tr class=\"row_even\"><td>telephoneNumber</td><td>Numéro de téléphone</td></tr>\n<tr class=\"row_odd\"><td>title</td><td>Titre de la personne (différent de fonction)</td></tr>\n<tr class=\"row_even\"><td>uid</td><td>Identifiant unique de l’objet</td></tr>\n<tr class=\"row_odd\"><td>userPassword</td><td>Mot de passe de l’utilisateur</td></tr>\n</tbody>\n</table>\n<h2>Liste partielle des attributs de la classe « inetOrgPerson »</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Nom</strong></th><th scope=\'col\'><strong class=\"spip\">Sémantique</strong></th><th scope=\'col\'><strong class=\"spip\">Mono</strong></th><th scope=\'col\'><strong class=\"spip\">Obl</strong></th><th scope=\'col\'><strong class=\"spip\">Lecture</strong></th><th scope=\'col\'><strong class=\"spip\">Utilisation</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>cn</td><td>nom(s) complet(s) (d’usage) sans accent</td><td> </td><td>O</td><td>RI</td><td>Ordre : Nom, Prénom. Attention : pas d’accent pour simplifier les recherches. Voir aussi displayName. Exemple : \"Bugale Jerome\"</td></tr>\n<tr class=\"row_odd\"><td>displayName</td><td>nom complet avec accents</td><td> </td><td> </td><td> </td><td>Version accentuée de la valeur principale de cn. Exemple : \"Bugalé Jérôme\"</td></tr>\n<tr class=\"row_even\"><td>employeeType</td><td>type de personnel</td><td> </td><td>D ?</td><td>RI ?</td><td>Définir les grandes familles ?</td></tr>\n<tr class=\"row_odd\"><td>facsimileTelephoneNumber</td><td>Numéro de fax</td><td> </td><td> </td><td>RI</td><td>Format E 123 (cf Références)</td></tr>\n<tr class=\"row_even\"><td>givenName</td><td>Prénom</td><td>M</td><td>D</td><td>RI</td><td>idem sn. Exemple : \"Jérôme\"</td></tr>\n<tr class=\"row_odd\"><td>l</td><td> </td><td> </td><td> </td><td> </td><td>localité de l’objet (géographique)</td></tr>\n<tr class=\"row_even\"><td>labeledURI</td><td>Page personnelle</td><td> </td><td> </td><td>RI</td><td> </td></tr>\n<tr class=\"row_odd\"><td>mail</td><td>adresse mel canonique</td><td>M</td><td> </td><td>RI ?</td><td> </td></tr>\n<tr class=\"row_even\"><td>mobile</td><td>numéro de téléphone mobile</td><td> </td><td> </td><td>RI</td><td>Format E 123 (cf Références)</td></tr>\n<tr class=\"row_odd\"><td>o</td><td> </td><td> </td><td> </td><td> </td><td>Nom de l’organisation</td></tr>\n<tr class=\"row_even\"><td>ou</td><td> </td><td> </td><td> </td><td> </td><td>Unité organisationnelle (branche de l’organisation)</td></tr>\n<tr class=\"row_odd\"><td>postalAddress</td><td>Adresse postale</td><td> </td><td> </td><td>RI</td><td>Adresse complète. Attention au format (\"$\" séparateur, voir RFC2256)</td></tr>\n<tr class=\"row_even\"><td>postalCode</td><td>Code postal</td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr class=\"row_odd\"><td>preferredLanguage</td><td>langue préférée</td><td>M</td><td> </td><td>RI</td><td>cf RFC2068</td></tr>\n<tr class=\"row_even\"><td>sn</td><td>Nom </td><td> </td><td>O</td><td>RI</td><td>Contient le nom d’usage. Il est possible d’ajouter le nom de famille (nom patronymique) en seconde valeur. Tout caractère diacritique. Première lettre en majuscule. Voir aussi cn. Exemple : \"Bugalé\". </td></tr>\n<tr class=\"row_odd\"><td>st</td><td> </td><td> </td><td> </td><td> </td><td>Etat ou région (state)</td></tr>\n<tr class=\"row_even\"><td>telephoneNumber</td><td>numéro de téléphone fixe</td><td> </td><td> </td><td>RI</td><td>Format E 123 (cf Références)</td></tr>\n<tr class=\"row_odd\"><td>title</td><td>titre</td><td> </td><td> </td><td>RI</td><td>Responsabilité ; président, directeur, ... (cf Harpège ?). Code ou intitulé complet ?</td></tr>\n<tr class=\"row_even\"><td>uid</td><td>identifiant unique</td><td>M</td><td>D</td><td>R</td><td>utilisé comme rdn, contenu indifférent mais aussi court que possible</td></tr>\n<tr class=\"row_odd\"><td>userCertificate</td><td>certificat X509</td><td> </td><td> </td><td>A ?</td><td> </td></tr>\n</tbody>\n</table>\n<h2>Problème rencontré</h2>\n<p class=\"spip\">Suite à une coupure brutale du serveur, le serveur ldap n’est pas reparti. Voici le message que j’avais au démarrage en mode débugage :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># slapd -d 1<br />\r\nbdb_db_open: dbenv_open(/var/lib/ldap)<br />\r\nbdb(dc=mondomaine,dc=com): operation not permitted during recovery<br />\r\nbdb_db_open: db_open(/var/lib/ldap) failed: Invalid argument (22)<br />\r\nbackend_startup: bi_db_open failed! (22)<br />\r\nbdb_db_destroy: close failed: Invalid argument (22)<br />\r\nslapd stopped.</code></div>\n<p class=\"spip\">En fait, c’était la base ldap qui était corrompue et pour régler ce problème, je l’ai simplement ré-indexée avec ces commandes :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># /etc/init.d/slapd stop<br />\r\n# slapindex<br />\r\n# /etc/init.d/slapd start </code></div>\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>18/11/04</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.2</td><td>03/12/04</td><td>MAJ suite à installation serveur Pentium Pro 2000</td></tr>\n<tr class=\"row_even\"><td>0.3</td><td>17/12/04</td><td>MAJ suite à présentation atelier Coagul</td></tr>\n<tr class=\"row_odd\"><td>0.4</td><td>15/03/07</td><td>Ajout « Problème rencontré »</td></tr>\n</tbody>\n</table>','Ce document me sert de mémo sur <strong class=\"spip\">l’installation et l’utilisation de OpenLDAP sous Debian</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.','',1288361728,2),(130,130,1,'Installation du Noyau 2.6 sur une Debian Testing (Sarge)','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de mémo pour <strong class=\"spip\">passer du noyau 2.4 au noyau 2.6</strong> sur une Debian Testing (Sarge). Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<h2>Pré-requis</h2>\n<p class=\"spip\">Avoir installé une Debian de Base :\n<br /></p>\n<li> cf mon autre document sur ce sujet : <a href=\"http://www.coagul.org/article.php3?id_article=158\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=158</a>\n<h2>Installation du noyau 2.6</h2>\n<p class=\"spip\">Pour information, j’ai un noyau 2.4.27-1 avant d’effectuer cette opération.</p>\n\n<p class=\"spip\">Paquet à installer :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install kernel-image-2.6.8-1-386</code></p>\n\n<p class=\"spip\">A ma grande surprise, aucune question n’est posée après l’installation du nouveau noyau.</p>\n\n<p class=\"spip\">L’installation ajoute automatiquement de nouvelles entrées de menu dans Grub.</p>\n\n<p class=\"spip\">La seule chose facultative à faire est donc de réorganiser le menu pour modifier le noyau à démarrer par défaut ou renommer les lignes de menus.</p>\n\n<p class=\"spip\">Fichier à modifier :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/boot/grub/menu.lst</code></p>\n\n<h2>Problème avec le Scanner</h2>\n<p class=\"spip\">Au redémarrage, je n’ai rencontré aucun souci avec le noyau 2.6 :\n<br /></p>\n<li> KDE s’est lancé sans problème (Carte graphique, souris, son,...)\n<br /><li> Ma clé USB était toujours reconnue\n<br /><li> Mon disque SCSI lors d’une autre installation a également été reconnu.\n<p class=\"spip\">Par contre, il n’y avait plus que root qui pouvait faire fonctionner le scanner.</p>\n\n<p class=\"spip\">Pour corriger ce problème, j’ai dû ajouter mon utilisateur pglinux au group « scanner » créé automatiquement :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>usermod -G scanner pglinux </code></p>\n\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>20/12/04</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.11</td><td>17/01/05</td><td>Suppression du sommaire</td></tr>\n</tbody>\n</table>','Ce document me sert de mémo pour <strong class=\"spip\">passer du noyau 2.4 au noyau 2.6</strong> sur une Debian Testing (Sarge). Je le diffuse en espérant qu’il puisse servir à d’autres personnes.','',1288361729,2),(131,131,1,'Mise en place des ACL sur une Debian Testing','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de mémo pour la <strong class=\"spip\">mise en place des ACL sur une Debian Testing</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<p class=\"spip\">Je rappelle que les <strong class=\"spip\">ACL (Listes de contrôles d’accès),</strong> permettent d’étendre les droits d’accès des fichiers sous Linux pour les rendre aussi complets que ceux du système de fichier NTFS de Microsoft. Par exemple, avec les ACL, il est possible d’autoriser plusieurs groupes avec un accès en lecture/écriture et d’autres groupes (ou utilisateurs) avec un accès en lecture seule. Le support des ACL est particulièrement intéressant lors de la mise en place d’un serveur SAMBA.</p>\n\n<h2>Pré-requis</h2>\n<p class=\"spip\">Avoir installé une Debian de Base :\n<br /></p>\n<li> cf mon autre document sur ce sujet : <a href=\"http://www.coagul.org/article.php3?id_article=158\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=158</a>\n<p class=\"spip\">Avoir installé le noyau 2.6 pour avoir nativement le support des ACL ou avoir un noyau 2.4 supportant les ACL.\n<br /></p>\n<li> cf mon autre document sur ce sujet.\n<h2>Vérifier que le noyau supporte correctement les ACL </h2>\n<p class=\"spip\">Les logs de votre noyau :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>cat /boot/config-2.6.8-1-386 | grep _ACL</code></p>\n\n<p class=\"spip\">Doivent donner le résultat ci-dessous :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>CONFIG_EXT3_FS_POSIX_ACL=y<br />\r\nCONFIG_EXT2_FS_POSIX_ACL=y<br />\r\nCONFIG_XFS_POSIX_ACL=y</code></div>\n<h2>Installation des ACL</h2>\n<p class=\"spip\">Paquet à installer :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install acl</code></p>\n\n<h2>Activation du support des ACL sur une partition (ext3)</h2>\n<p class=\"spip\">Par défaut le noyau 2.6, supporte les ACL sur les systèmes de fichiers suivants :ext2, ext3, jfs, xfs,...</p>\n\n<p class=\"spip\">Si la partition (ex : hda6) est déjà montée, il faut utiliser la commande suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>mount -o remount,acl /dev/hda6</code></p>\n\n<p class=\"spip\">Si la partition n’est pas encore montée ou pour la monter automatiquement au démarrage du système, il faut modifier « /etc/fstab » et ajouter « acl » dans la liste des options :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/dev/hda6 / ext3 {{acl}},defaults,errors=remount-ro 0 1</code></p>\n\n<h2>Consulter et modifier les ACL </h2>\n<p class=\"spip\">Pour manipuler les acl sous Linux, le paquet « <strong class=\"spip\"> acl </strong> », fournit les deux commandes « <strong class=\"spip\"> getfacl </strong> » et « <strong class=\"spip\">setfacl </strong> ».</p>\n\n<p class=\"spip\">Consulter les ACL du fichier test.acl :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>getfacl test.acl</code></p>\n\n<p class=\"spip\">Ajouter l’utilisateur (u=user) tony avec un accès en écriture (w) sur le fichier test.acl</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>setfacl -m u:tony:w test.acl</code></p>\n\n<p class=\"spip\">Ajouter le group (g=group) root avec un accès en lecture (r) sur le fichier test.acl</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>setfacl -m g:root:w test.acl</code></p>\n\n<p class=\"spip\">Ajouter tous les utilisateurs (o=others) avec un accès en lecture (r) sur le fichier test.acl</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>setfacl -m o::r test.acl</code></p>\n\n<p class=\"spip\">Mettre par défaut (d) le groupe pglinux en écriture pour les nouveaux fichiers de « TestDir »</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>setfacl -m d:g:pglinux:w TestDir</code></p>\n\n<p class=\"spip\">Supprimer toutes les acl du fichier test.acl :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>setfacl -b test.acl</code></p>\n\n<p class=\"spip\">Supprimer récursivement toutes les acl du dossiers TestDir et de tous les fichiers qu’il contient :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>setfacl -b -R TestDir</code></p>\n\n<p class=\"spip\">Lors de l’affichage détaillé des fichiers avec un « ls -l », le signe + à la fin des droits, indique que le fichier contient une ACL :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>-rw-rwxr-x+ 1 root root 0 2004-12-14 14:37 test.acl</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : La modification ou la consultation des ACL, peut se faire en ligne de commande sous Linux ou graphiquement depuis un poste Windows, si le dossier est partagé via Samba.</p>\n\n<h2>Sauvegarde des fichiers avec les ACL</h2>\n<p class=\"spip\">Le programme « <strong class=\"spip\"> star </strong> », permet de faire des sauvegardes en conservant les ACL :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install star</code></p>\n\n<h2>Liens pour avoir plus d’informations</h2>\n<p class=\"spip\">J’ai trouvé cet article particulièrement bien écrit sur le sujet et surtout assez récent :\n<br /></p>\n<li> <a href=\"http://www.linuxfrench.net/article.php3?id_article=1463\" class=\"spip_out\">http://www.linuxfrench.net/article.php3 ?id_article=1463</a>\n<p class=\"spip\">Ne pas oublier non plus, la consultation des pages de man : setfacl, getfact et acl.</p>\n\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>17/12/04</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.2</td><td>20/12/04</td><td>Ajout de nouveaux exemples et chapitre « Sauvegarde des fichiers avec les ACL »</td></tr>\n<tr class=\"row_even\"><td>0.21</td><td>10/01/05</td><td>Correction suite à remarque de Gnunux</td></tr>\n<tr class=\"row_odd\"><td>0.22</td><td>17/01/05</td><td>Suppression du sommaire</td></tr>\n<tr class=\"row_even\"><td>0.3</td><td>07/02/05</td><td>Ajout exemple utilisation des ACL suite à remarque sur le forum</td></tr>\n</tbody>\n</table>','Ce document me sert de mémo pour la <strong class=\"spip\">mise en place des ACL sur une Debian Testing</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.','',1288361730,2),(132,132,1,'Installation de Samba avec le support des ACL sur une Debian Testing','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de mémo pour <strong class=\"spip\">installer Samba avec le support des ACL sur une Debian Testing</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<p class=\"spip\">Je rappelle que Samba permet de partager des dossiers et des imprimantes pour des postes Windows. Il peut également faire office de contrôleur secondaire ou principal pour un domaine Windows.</p>\n\n<p class=\"spip\">Le support des ACL permet d’avoir la même finesse de gestion des droits que le système de fichiers NTFS des serveurs Windows.</p>\n\n<h2>Pré-requis</h2>\n<p class=\"spip\">Avoir installé une Debian de Base :\n<br /></p>\n<li> cf mon autre document sur ce sujet : <a href=\"http://www.coagul.org/article.php3?id_article=158\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=158</a>\n<p class=\"spip\">Avoir installé le noyau 2.6 pour avoir nativement le support des ACL.\n<br /></p>\n<li> cf mon autre document sur ce sujet : <a href=\"http://www.coagul.org/article.php3?id_article=175\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=175</a>\n<p class=\"spip\">Avoir activé les ACL sur le système de fichiers à partager par Samba :\n<br /></p>\n<li> cf mon autre document sur ce sujet : <a href=\"http://www.coagul.org/article.php3?id_article=176\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=176</a>\n<h2>Installation de Samba (Version 3.0.9-1)</h2>\n<p class=\"spip\">Paquets à installer :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install samba samba-client</code></p>\n\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Écran (Titre en rouge) </strong></th><th scope=\'col\'><strong class=\"spip\">Question </strong></th><th scope=\'col\'><strong class=\"spip\">Réponse</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>Samba-Serveur</td><td>Groupe de travail et nom de domaine ?</td><td><strong class=\"spip\">MonDomaine</strong></td></tr>\n<tr class=\"row_odd\"><td> </td><td>Voulez-vous chiffrer les mots de passe ?</td><td>Oui</td></tr>\n<tr class=\"row_even\"><td> </td><td>Modifier smb.conf pour utiliser les paramètre Wins fournis par DHCP ?</td><td>Non</td></tr>\n<tr class=\"row_odd\"><td> </td><td>Comment voulez-vous lancer Samba ?</td><td>démons</td></tr>\n<tr class=\"row_even\"><td> </td><td>Faut-il créer une base de données /var/lib/samba/passdb.tdb ?</td><td>Oui</td></tr>\n</tbody>\n</table>\n<h2>Préparation de la configuration</h2>\n<p class=\"spip\">Il faut commencer par créer le dossier à partager, s’il n’existe pas. Exemple :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>mkdir /SAMBA</code></p>\n\n<p class=\"spip\">Ensuite, il faut créer les utilisateurs autorisés à accéder à ce partage :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>useradd tony</code></p>\n\n<p class=\"spip\">Et définir un mot de passe spécifique à Samba pour chaque utilisateur.</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>smbpasswd -a tony</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : Si le serveur Samba fait partie d’un domaine contrôlé par un serveur Windows, il faut créer les mêmes utilisateurs avec le mêmes mots de passe que celui du domaine, pour que les partages soient accessibles par les postes Windows. Mais dans ce cas, il est préférable d’utiliser Winbind, pour éviter de gérer les utilisateurs à la fois sur le serveur Windows et sur le serveur Samba.</p>\n\n<h2>Configuration de /etc/samba/smb.conf</h2>\n<p class=\"spip\">Normalement, il n’y a rien à modifier dans la section <strong class=\"spip\">[global]</strong>, pour que cela fonctionne. Pour information, voici un exemple de configuration qui fonctionne. :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[global]<br />\r\n   workgroup = MonDomaine<br />\r\n   netbios name = MonServeur<br />\r\n   server string = %h server (Samba %v)<br />\r\n   log file = /var/log/samba/log.%m<br />\r\n   max log size = 1000<br />\r\n   syslog = 0</code></div>\n<p class=\"spip\">Ensuite, à la fin du fichier, il faut configurer le dossier à partager (ex : SAMBA)</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[SAMBA]<br />\r\n  path=/SAMBA<br />\r\n  browseable=yes<br />\r\n  writeable=yes<br />\r\n  valid users = tony<br />\r\n  admin users = tony</code></div>\n<p class=\"spip\">La commande suivante permet de vérifier que la configuration est correcte :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>testparm</code></p>\n\n<h2>Démarrage du serveur (démon)</h2>\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/init.d/samba restart</code></p>\n\n<h2>Tester la configuration</h2>\n<p class=\"spip\">Afficher les dossiers partagés d’un serveur Samba (ex : MonServeur) et vérifier que la connexion fonctionne avec l’utilisateur tony :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>smbclient -L //MonServeur -U tony</code></p>\n\n<p class=\"spip\">Autrement, depuis un poste Windows, avec l’utilisateur tony, le serveur doit être visible dans le voisinage réseau et le partage doit être utilisable.</p>\n\n<h2>Support des ACL</h2>\n<p class=\"spip\">La version actuelle de Samba (Version 3.0.9-1) est compilée avec le support des ACL. Donc si les ACL sont activées sur le système de fichier utilisé par les partages de Samba, il n’y a rien à faire.</p>\n\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>17/12/04</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.11</td><td>17/01/05</td><td>Suppression du sommaire et corrections mineures</td></tr>\n</tbody>\n</table>','Ce document me sert de mémo pour <strong class=\"spip\">installer Samba avec le support des ACL sur une Debian Testing</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.','',1288361730,2),(133,133,1,'Installation de Winbind pour intégrer Samba dans un Domaine Windows','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour <strong class=\"spip\">Installer et configurer Winbind dans le but d’intégrer Samba dans un domaine contrôlé par un serveur Windows NT</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<p class=\"spip\">Je rappelle que <strong class=\"spip\">Winbind</strong> permet de récupérer les utilisateurs et les groupes du contrôleur de domaine Windows, pour éviter de gérer plusieurs bases de données d’utilisateurs.</p>\n\n<h2>Pré-requis</h2>\n<p class=\"spip\">Avoir installé et configuré Samba :\n<br /></p>\n<li> cf mon autre document sur ce sujet : <a href=\"http://www.coagul.org/article.php3?id_article=177\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=177</a>\n<h2>Installation de Winbind</h2>\n<p class=\"spip\">Paquet à installer :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install winbind</code></p>\n\n<h2>Configuration de /etc/nsswitch.conf</h2>\n<p class=\"spip\">Ce fichier permet d’indiquer le programme qui s’occupe de la gestion des utilisateurs :</p>\n\n<p class=\"spip\">Il faut simplement ajouter <strong class=\"spip\">winbind</strong> et <strong class=\"spip\">wins</strong> comme indiqué dans l’exemple ci-dessous :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>passwd:     compat winbind<br />\r\ngroup:      compat winbind<br />\r\nshadow:     compat<br />\r\nhosts:      files dns wins<br />\r\nnetworks:   files<br />\r\nprotocols:  db files<br />\r\nservices:   db files<br />\r\nethers:     db files<br />\r\nrpc:        db files<br />\r\nnetgroup:   nis</code></div>\n<h2>Configuration de /etc/samba/smb.conf</h2>\n<p class=\"spip\">Il faut modifier ce fichier, pour prendre en compte Winbind. Voici un exemple de section [global] qui fonctionne :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[global]<br />\r\n   workgroup = MonDomaine<br />\r\n   security = DOMAIN<br />\r\n<br />\r\n   netbios name = NomDuServeur<br />\r\n   server string = %h server (Samba %v)<br />\r\n<br />\r\n   wins server = 192.0.0.9<br />\r\n <br />\r\n   idmap uid = 10000-20000<br />\r\n   idmap gid = 10000-20000<br />\r\n   <br />\r\n   winbind separator = /<br />\r\n   <br />\r\n   log file = /var/log/samba/log.%m<br />\r\n   max log size = 1000<br />\r\n   syslog = 0</code></div>\n<p class=\"spip\">Pour finir, il faut modifier les partages pour ajouter le nom du domaine dans les noms des utilisateurs. Voici un exemple de partage qui fonctionne :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[SAMBA]<br />\r\n   path=/SAMBA<br />\r\n   browseable=yes<br />\r\n   writeable=yes<br />\r\n   valid users=MonDomaine/tony<br />\r\n   admin users=MonDomaine/tony</code></div>\n<h2>Ajouter le serveur Samba au contrôleur de domaine Windows</h2>\n<p class=\"spip\">Il faut commencer par arrêter le serveur Samba :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/init.d/samba stop</code></p>\n\n<p class=\"spip\">Voici la commande pour ajouter le serveur Samba au gestionnaire de serveurs du contrôleur de domaine Windows (l’utilisateur root, doit avoir l’autorisation d’ajouter des serveurs au domaine) :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>net rpc join -U root</code></p>\n\n<p class=\"spip\">Et si tout se passe bien, le message suivant doit apparaître :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>Joined domain MonDomaine</code></p>\n\n<p class=\"spip\">Ensuite, il faut redémarrer le serveur Winbind et le serveur Samba :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>/etc/init.d/winbind start<br />\r\n/etc/init.d/samba start</code></div>\n<h2>Quelques commandes pour vérifier que tout fonctionne</h2>\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : Avant de saisir les commandes suivantes, il faut vérifier que le serveur Samba est correctement ajouté dans la liste des serveurs du « gestionnaire de serveurs » du contrôleur de  domaine Windows. Si ce  n’est pas le cas, il faut peut-être attendre quelques minutes pour que la mise à jour se fasse.</p>\n\n<p class=\"spip\">La commande suivante doit donner la liste des utilisateurs du domaine :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>wbinfo -u</code></p>\n\n<p class=\"spip\">Celle-ci la liste des groupes du domaine :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>wbinfo -g</code></p>\n\n<p class=\"spip\">Celle-ci permet de vérifier que les utilisateurs du domaine sont ajoutés à la liste des utilisateurs du serveur Linux avec les bons uid :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>getent passwd</code></p>\n\n<p class=\"spip\">La même chose avec les groupes d’utilisateurs :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>getent group </code></p>\n\n<p class=\"spip\">Cette commande permet de vérifier qu’un utilisateur particulier est correctement reconnu</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>wbinfo -a MonDomaine/tony%LeMotDePasse</code></p>\n\n<p class=\"spip\">La commande suivante permet d’afficher les ressources partagées par le serveur Samba « pgdebian » pour l’utilisateur « tony » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>smbclient -L //pgdebian -U tony</code></p>\n\n<p class=\"spip\">Pour finir, il ne reste plus qu’à aller sur un poste client sous Windows et vérifier que tout fonctionne correctement :-)</p>\n\n<h2>Liens pour avoir plus d’informations</h2>\n<p class=\"spip\">Le plus complet est certainement le site officiel de Samba :\n<br /></p>\n<li> <a href=\"http://us1.samba.org/samba/\" class=\"spip_out\">http://us1.samba.org/samba/</a>\n<p class=\"spip\">Je conseille particulièrement le chapitre 9 des exemples :\n<br /></p>\n<li> <a href=\"http://us1.samba.org/samba/docs/man/Samba-Guide/unixclients.html\" class=\"spip_out\">http://us1.samba.org/samba/docs/man/Samba-Guide/unixclients.html</a>\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>20/12/04</td><td>Création par  <a href=\"http://www.infosaone.com/\" class=\"spip_out\">Tony GALMICHE</a></td></tr>\n<tr class=\"row_odd\"><td>0.11</td><td>11/01/05</td><td>Corrections mineures</td></tr>\n<tr class=\"row_even\"><td>0.12</td><td>17/01/05</td><td>Suppression du sommaire</td></tr>\n</tbody>\n</table>','Ce document me sert de <strong class=\"spip\">mémo</strong> pour <strong class=\"spip\">Installer et configurer Winbind dans le but d’intégrer Samba dans un domaine contrôlé par un serveur Windows NT</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.','',1288361731,2),(134,134,1,'Ordre du jour du 28 Décembre 2004 (Avancement projets + OpenLDAP )','<p class=\"spip\">Comme le dernier mardi de chaque mois, cette réunion sera consacrée en priorité à l’avancement des projets de Coagul.</p>\n\n<p class=\"spip\">S’il reste du temps, un atelier sur OpenLDAP, sera proposé.</p>\n\n<h2>La gestion des droits dans Spip</h2>\n<p class=\"spip\">Tout le monde devrais au moins pouvoir rééditer ses propres articles.</p>\n\n<p class=\"spip\"><strong class=\"spip\">Proposition </strong> : remettre tout le monde admin de Spip en rédigent une \"charte de bonne conduite\" (ne pas toucher à la configuration, ne pas créer de rubriques,...)</p>\n\n<h2>Installe Partie </h2>\n<p class=\"spip\">Organiser l’après-midi et la soirée le dernier mardi de chaque mois une porte-ouverte / installe-partie au petit atelier.</p>\n\n<p class=\"spip\">Pour cela, il faudrait :\n<br /></p>\n<li> Avoir la confirmation que le petit atelier est d’accord (Gérald ?)\n<br /><li> Valider qu’il y aura au moins 2 ou 3 membres de Coagul pendant l’après midi et la soirée.\n<p class=\"spip\">Autrement, une autre idée, serait de faire une installe partie tous les 2 mois un samedi après-midi.</p>\n\n<p class=\"spip\">Pour que cette installe partie soit viable, il faut au moins 3 membres de Coagul au minimum à chaque fois.</p>\n\n<h2>RBULL</h2>\n<p class=\"spip\">Prendre une décision sur l’annulation ou pas des RBULL</p>\n\n<h2>Atelier OpenLDAP</h2>\n<p class=\"spip\">S’il reste du temps, je referai mon atelier sur OpenLDAP qui a eu lieu il y a 15 jours au café :-)</p>','<p class=\"spip\">Comme le dernier mardi de chaque mois, cette réunion sera consacrée en priorité à l’avancement des projets de Coagul.</p>\n\n<p class=\"spip\">S’il reste du temps, un atelier sur OpenLDAP, sera proposé.</p>','',1289136108,2),(135,135,1,'Description de COAGUL ','<p class=\"spip\">L’association a pour objet :</p>\n\n<li> la promotion directe ou indirecte des logiciels libres, des logiciels « open source », des standards ouverts, et du système d’exploitation GNU/Linux en particulier.\n<li> la fédération des utilisateurs de logiciels libres et/ou « open source » et du système d’exploitation GNU/Linux, résidant en Côte-d’Or, à des fins d’entraide et de mise en commun des connaissances ou des productions quel qu’en soit le support.\n<li> la participation active à des projets ou manifestations s’inscrivant dans le cadre de l’informatique libre.\n<li> la protection et la défense de la propriété intellectuelle de ses adhérents lorsque ceux-ci sont les auteurs de logiciels ou de documentations protégés par une licence d’utilisation libre, etc.\n<li> la mise en oeuvre d’une informatique sociale par la récupération ou le rachat à faible coût de matériels d’occasion, l’installation sur ceux-ci de logiciels libres, et le don ou la mise à disposition (sous conditions) de ces postes à des personnes ou associations ne disposant pas des ressources suffisantes pour s’équiper.','L’association a pour objet :\n\n\n<br />la promotion directe ou indirecte des logiciels libres, des logiciels « open source », des standards ouverts, et du système d’exploitation GNU/Linux en particulier.\n\n\n<br />la fédération des utilisateurs de logiciels libres et/ou « open source » et du système d’exploitation GNU/Linux, résidant en Côte-d’Or, à des fins d’entraide et de mise en commun des connaissances ou des productions quel qu’en soit le support.\n\n\n<br />la participation active à des projets ou manifestations (...)\n','',1288361732,2),(136,136,1,'Ordre du jour du 4 Janvier 2005 (Porte Ouverte)','<p class=\"spip\"><strong class=\"spip\">Cette soirée, comme tous les premiers mardis de chaque mois, sera une porte ouverte pour permettre à qui le souhaite de venir nous rencontrer.</strong></p>\n\n<p class=\"spip\">Si vous avez entendu parler des logiciels libres ou de Linux et si voulez en savoir plus sur le sujet, c’est le moment de venir nous rencontrer pour poser toutes vos questions.</p>\n\n<p class=\"spip\">Si vous venez d’installer votre premier Linux et avez quelques questions techniques à poser, n’hésitez pas à venir et nous essayerons de faire de notre mieux pour vous aider.</p>\n\n<p class=\"spip\">Si vous êtes déjà un accroc de Linux (et on le devient vite :-) ), vous pouvez venir nous rencontrer pour venir partager votre expérience et éventuellement devenir membre de notre association qui a beaucoup de projets pour la saison 2004-2005 :\n<br /></p>\n<li> Participation à l’organisation des RMLL 2005 qui auront lieu à Dijon en Juillet 2005.\n<p class=\"spip\">Cette porte-ouverte comme toutes nos réunions se tient dans la salle de la mairie de Chevigny Saint-Sauveur et débutera à 20H.\n<br /></p>\n<li> <a href=\"http://www.mappy.com/PlanPerso/coagul/0\" class=\"spip_out\">http://www.mappy.com/PlanPerso/coagul/0</a>','<strong class=\"spip\">Cette soirée, comme tous les premiers mardis de chaque mois, sera une porte ouverte pour permettre à qui le souhaite de venir nous rencontrer.</strong>','',1289136108,2),(137,137,1,'Ordre du jour du 11 Janvier 2005 (Virus/Root kit sous GNU/Linux)','<p class=\"spip\"><strong class=\"spip\">Cette soirée sera consacrée à un atelier présenté par GnunuX sur « Virus/Root kit sous GNU/Linux</strong><i class=\"spip\"> <strong class=\"spip\"> » </strong> </i> :</p>\n\n<p class=\"spip\">Niveau : \n<br /></p>\n<li> Moyen\n<p class=\"spip\">Objectifs :\n<br /></p>\n<li> Présentation des menaces types logiciels sous gnu/linux\n<br /><li> Le virus sous linux, mythes ou réalités ?\n<br /><li> Les root kit : du keylogger au contrôle complet du système\n<br /><li> Les outils pour s’en prémunir (anti-virus (utile ?), les anti-rootkit ...)\n<p class=\"spip\">Pour information, voici les personnes intéressées par cet atelier :\n<br /></p>\n<li> HuGin, JibuX, LauRent, MarciUn, YogI, YaST, GronGruik, BenUx21, FtZ\n<blockquote class=\"spip\">\n<p class=\"spip\">Cette réunion est consacrée en priorité à cet atelier qui débutera à 20H30. Si vous souhaitez y assister, vous êtes le bienvenu. Mais si vous souhaitez simplement nous rencontrer, il est recommandé de venir le premier mardi de chaque mois où nous organisons une soirée portes-ouvertes et où nous serons plus disponibles pour vous accueillir.</p>\n</blockquote>','<strong class=\"spip\">Cette soirée sera consacrée à un atelier présenté par GnunuX sur « Virus/Root kit sous GNU/Linux</strong><i class=\"spip\"> <strong class=\"spip\"> » </strong> </i> :','',1289136108,2),(138,138,1,'Mardi 4 Janvier 2005 (Portes-Ouvertes)','<p class=\"spip\">Pour cette cinquième porte-ouverte et la première de 2005 :-), il y avait 14 personnes : \n<br /></p>\n<li> 11 membres : Jean.B, Jean.C, Tony, Laurent, Gérald, Philippe, Mircea, Yogi, Jibux, Nicolas et Didier.\n<br /><li> 3 visiteurs : Luc, Jean-Claude et la compagne de Marc.\n<h2>3 visiteurs</h2>\n<br /><li> Luc JULLIOT : Notre visiteur habituel.\n<br /><li> Jean-Claude ROUSSEAU un collègue de Laurent connaît les logiciels libres depuis 2 ans et a installé son premier Linux il y a 6 mois. Il est également inscrit sur la liste user de OpenOffice depuis presque 2 ans.\n<br /><li> La compagne de Marc venue nous rencontrer pour la dernière réunion avant leur déménagement sur Nantes.\n<h2>Départ de Marc</h2>\n<p class=\"spip\">Marc est venu avec sa compagne pour sa dernière réunion à Coagul.</p>\n\n<p class=\"spip\">Il quitte la région pour aller sur Nantes où il retrouvera d’autres pingouins :-)</p>\n\n<p class=\"spip\">Pour l’occasion, Didier a apporté deux bouteilles de sa production (Merci Didier).</p>\n\n<h2>Repas des membres de Coagul</h2>\n<p class=\"spip\">Le repas annuel des membres de Coagul est prévu pour le mardi 25 Janvier. Laurent se charge de nous trouver une  salle.</p>\n\n<h2>Administrateurs de Spip</h2>\n<p class=\"spip\">A partir de ce jour, tous les membres de Coagul peuvent devenir des administrateurs de Spip sur simple demande sur la liste c-orga.</p>\n\n<h2>Organisation d’installes parties</h2>\n<p class=\"spip\">Il est envisageable d’organiser des installes parties un samedi tous les 2 mois.</p>\n\n<p class=\"spip\">Cette installe partie pourrait se faire au petit atelier lors des vacances scolaires.</p>\n\n<p class=\"spip\">Pour le moment aucune décision n’a été prise.</p>\n\n<h2>Participation au forums social ATTAC (FSL) à Auxerre</h2>\n<p class=\"spip\">Gnunux et Gérald ont prévu de participer à ce forum le Samedi 22 pour présenter les logiciels libres. Yogi pourrait également y participer.</p>\n\n<h2>Atelier Gimp</h2>\n<p class=\"spip\">Gérald nous a fait un atelier surprise sur Gimp (Merci Gérald)</p>','Pour cette cinquième porte-ouverte et la première de 2005 :-), il y avait 14 personnes : \n<br /><li> 11 membres : Jean.B, Jean.C, Tony, Laurent, Gérald, Philippe, Mircea, Yogi, Jibux, Nicolas et Didier.\n<br /><li> 3 visiteurs : Luc, Jean-Claude et la compagne de Marc.','',1289142198,2),(139,139,1,'Installation de Squid et SquidGuard sur une Debian ETCH','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour installer <strong class=\"spip\">Squid</strong> et <strong class=\"spip\">SquidGuard</strong> sur une <strong class=\"spip\">Debian ETCH</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<h2>Pré-requis</h2>\n<p class=\"spip\">Avoir installé une Debian de Base :\n<br /></p>\n<li> cf mon autre document sur ce sujet : <a href=\"http://www.coagul.org/article.php3?id_article=158\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=158</a>\n<h2>Installation Squid</h2>\n<p class=\"spip\">Paquet à installer :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install squid</code></p>\n\n<h2>Configuration de Squid</h2>\n<p class=\"spip\">Fichier de configuration de Squid :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/squid/squid.conf</code></p>\n\n<p class=\"spip\">Le fichier de configuration de Squid comporte de nombreuses pages (surtout des commentaires), mais il y a très peu de choses à changer pour le faire fonctionner.</p>\n\n<p class=\"spip\">Personnellement, j’ai supprimé les commentaires après avoir fait une copie de sauvegarde du fichier d’origine :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># cd /etc/squid/<br />\r\n# mv squid.conf squid.conf.sav<br />\r\n# cat squid.conf.sav | grep -v ^# | grep -v ^$ > squid.conf</code></div>\n<p class=\"spip\">Rechercher la partie concernant la déclaration des acl et ajouter une ligne correspondante à la configuration du réseau :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>acl VotreDomaine src 192.168.0.0/255.255.255.0</code></p>\n\n<p class=\"spip\">Ensuite, quelques lignes plus bas avant la dernière ligne « http_access deny all » ajouter la ligne suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>http_access allow  VotreDomaine</code></p>\n\n<p class=\"spip\">Redémarrer le serveur pour prendre en compte les modifications :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/init.d/squid restart</code></p>\n\n<h2>Configuration du poste client </h2>\n<p class=\"spip\">Dans la partie configuration du proxy, il faut indiquer le nom ou l’adresse IP du proxy et le port par défaut 3128.</p>\n\n<p class=\"spip\">Il est possible de désactiver le cache du navigateur en le mettant à 0 car celui du proxy est suffisant.</p>\n\n<p class=\"spip\">Il est possible aussi d’indiquer une liste de serveurs accessibles sans passer par le proxy (ex : Intranet)</p>\n\n<h2>Vérification du fonctionnement</h2>\n<p class=\"spip\">La commande suivante permet de surveiller les logs du proxy pour vérifier que tout fonctionne correctement :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>tail - f /var/log/squid/access.log</code></p>\n\n<h2>Problème pour accéder aux serveurs internes</h2>\n<p class=\"spip\">Si sur votre réseau, vous avez des serveurs Web accessibles par exemple à l’adresse « monserveur », vous allez certainement rencontrer ce message si vous tentez d’y accéder en passant par squid :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>The requested URL could not be retrieved</code></p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>Unable to determine IP address from host name for { intranet }</code></p>\n\n<p class=\"spip\">Pour résoudre ce problème, il y a trois solutions :\n<br /></p>\n<li> Ajouter dans la configuration du proxy de votre navigateur le nom de votre serveur pour qu’il n’utilise pas Squid\n<br /><li> Ajouter le nom de votre domaine dans l’URL pour accéder à votre serveur :  http://monserveur.mondomaine.net\n<br /><li> Configurer « Squid » pou qu’il ajoute automatiquement le nom de votre domaine aux urls en ajoutant cette ligne dans « <strong class=\"spip\">squid.conf</strong> » :\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>append_domain .mondomaine.net</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : Après chaque modification du fichier « squid.conf », il faut recharger la configuration :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/init.d/squid reload</code></p>\n\n<h2>Modifier la taille du cache</h2>\n<p class=\"spip\">Si votre disque dur dispose de suffisant de place, vous pouvez augmenter la taille du cache de Squid.</p>\n\n<p class=\"spip\">Pour cela, il faut ajouter ou modifier cette ligne dans « <strong class=\"spip\">squid.conf</strong> » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>cache_dir ufs /var/spool/squid 1024 256 256</code></p>\n\n<p class=\"spip\">Voici la signification des différentes valeurs :\n<br /></p>\n<li> Type de stockage\n<br /><li> Emplacement du cache\n<br /><li> Taille totale du cache en MB\n<br /><li> Nombre de répertoires de niveau 1 et de niveau 2\n<p class=\"spip\">Ensuite, il faut initialiser le cache avec ces commandes :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># /etc/init.d/squid stop<br />\r\n# squid -z<br />\r\n# /etc/init.d/squid start</code></div>\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : Vous pouvez vérifier que l’arborescence est correctement créée dans « <strong class=\"spip\">/var/spool/squid</strong> ».</p>\n\n<h2>Comment créer un cache supplémentaire</h2>\n<p class=\"spip\">Pour augmenter les performances de squid, il faut répartir les caches sur le maximum de disques. Si le serveur comporte deux disques, il est donc conseillé de créer un nouveau cache sur ce deuxième disque. Voici la procédure à suivre pour créer ce nouveau cache :</p>\n\n<p class=\"spip\">Création du répertoire sur le deuxième disque (ex : /sdb1) :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># mkdir /sdb1/squid</code></p>\n\n<p class=\"spip\">Affectation des mêmes droits que le répertoire du premier cache « /var/spool/squid » créé lors de l’installation :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># chmod 750 /sdb1/squid<br />\r\n# chown proxy.proxy /sdb1/squid  </code></div>\n<p class=\"spip\">Ligne à ajouter dans « /etc/squid/squid.conf » pour paramétrer le nouveau cache :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># cache_dir ufs /sdb1/squid 200 16 256</code></p>\n\n<p class=\"spip\">Commandes pour initialiser le nouveau cache (Création des sous-répertoires) :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># /etc/init.d/squid stop<br />\r\n# squid -z<br />\r\n# /etc/init.d/squid start</code></div>\n<h2>Optimisation des performances</h2>\n<p class=\"spip\">Il est possible de modifier quelques variables dans « <strong class=\"spip\">squid.conf</strong> » pour optimiser les performances du cache :</p>\n\n<p class=\"spip\">Taille maximum de mémoire vive utilisée pour stocker du cache :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>cache_mem 128 MB</code></p>\n\n<p class=\"spip\">Taille maximum des objets stockés dans le cache :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>maximum_object_size 15 MB</code></p>\n\n<p class=\"spip\">Utilisation illimitée de la bande passante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>delay_parameters 1 -1/-1 -1/-1</code></p>\n\n<h2>Installation de SquidGuard</h2>\n<p class=\"spip\">Paquets à installer :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install squidguard</code></p>\n\n<p class=\"spip\">Récupération de la liste des sites sensibles :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>wget ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz<br />\r\ntar zxvf blacklists.tar.gz -C /var/lib/squidguard/db/<br />\r\ncd /var/lib/squidguard/db<br />\r\nmv blacklists/* .<br />\r\n/usr/bin/squidGuard -C all<br />\r\nchown -R proxy: /var/lib/squidguard/db/</code></div>\n<p class=\"spip\"><strong class=\"spip\">ATTENTION</strong> : Si les bases de données ne sont pas générées ou les droits incorrectes au lancement de squid, squidGuard va monopoliser toute la puissance du serveur et la seule solution sera de tuer les processus de squidGuard avec par exemple cette commande :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># kill `ps aux | grep squidGuard | grep -v grep | awk \'{print $2}\' | xargs`</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">ATTENTION</strong> : Le temps de compilation des  blacklists avec la commande « squidGuard -C all » est très long (plus de 10mn)</p>\n\n<p class=\"spip\">Ajouter les deux lignes suivantes dans <strong class=\"spip\">/etc/squid/squid.conf</strong></p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>redirect_program /usr/bin/squidGuard<br />\r\nredirect_children 10</code></div>\n<p class=\"spip\">J’ai commencé par épurer le fichier de configuration de SquidGuard :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># cd /etc/squid/</code></p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># mv squidGuard.conf squidGuard.conf.sav<br />\r\n# cat squidGuard.conf.sav | grep -v ^# | grep -v ^$ > squidGuard.conf                         </code></div>\n<p class=\"spip\">J’ai ajouté les lignes suivantes dans <strong class=\"spip\">/etc/squid/squidGuard.conf</strong> pour filtrer les sites adultes :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>dest adult {<br />\r\n        domainlist      adult/domains<br />\r\n        urllist         adult/urls<br />\r\n        expressionlist  adult/expressions<br />\r\n        redirect        http://votresite/interdit.html<br />\r\n}<br />\r\n<br />\r\nacl {<br />\r\n        default {<br />\r\n                pass     !adult<br />\r\n                redirect http://votresite/interdit.html<br />\r\n        }<br />\r\n}</code></div>\n<p class=\"spip\">Redémarrer le serveur pour prendre en compte les modifications :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/init.d/squid restart</code></p>\n\n<h2>Exemple complet et commenté du fichier /etc/squid/squid.conf</h2>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># Le fichier de configuration fourni par défaut sous Debian<br />\r\n# est très long et contient énormément de commentaires.<br />\r\n# -> Cette version est épurée de tous les commentaires<br />\r\n<br />\r\n# Pas d\'infos sur ces lignes<br />\r\nhierarchy_stoplist cgi-bin ?<br />\r\nacl QUERY urlpath_regex cgi-bin \\?<br />\r\nno_cache deny QUERY<br />\r\n<br />\r\n# Taille maximum de mémoire vive utilisée pour stocker du cache<br />\r\ncache_mem 16 MB<br />\r\n# Taille maximum des objets stockés dans le cache<br />\r\nmaximum_object_size 15 MB<br />\r\n<br />\r\n# Paramétrage du cache N°1 sur le premier disque<br />\r\n# - Type de stockage<br />\r\n# - Emplacement du cache<br />\r\n# - Taille totale du cache en MB<br />\r\n# - Nombre de répertoires de niveau 1 et de niveau 2<br />\r\ncache_dir ufs /var/spool/squid 200 16 256<br />\r\n<br />\r\n# Paramétrage du cache N°2 sur le deuxième disque<br />\r\ncache_dir ufs /mnt/sdb1/squid 200 16 256<br />\r\n<br />\r\n# Format des logs :<br />\r\n# -> Avec off, squid utilise son propre format de logs, <br />\r\n#    mais la date et l\'heure ne sont pas lisible.<br />\r\n# -> Avec on, squid utilise le format standard CLF<br />\r\nemulate_httpd_log off<br />\r\n<br />\r\n# Ces deux lignes permettent d\'intégrer le plugin SquidGuard <br />\r\nredirect_program /usr/bin/squidGuard<br />\r\nredirect_children 4<br />\r\n<br />\r\n# Pas d\'infos sur ces lignes<br />\r\nrefresh_pattern ^ftp:                1440        20%        10080<br />\r\nrefresh_pattern ^gopher:        1440        0%        1440<br />\r\nrefresh_pattern .                0        20%        4320<br />\r\n<br />\r\n# **********************************************************<br />\r\n# ** Définition des restrictions pour l\'accès au cache    **<br />\r\n# **********************************************************<br />\r\n<br />\r\n# Liste des acl par défaut -> A conserver<br />\r\nacl all src 0.0.0.0/0.0.0.0<br />\r\nacl manager proto cache_object<br />\r\nacl localhost src 127.0.0.1/255.255.255.255<br />\r\nacl to_localhost dst 127.0.0.0/8<br />\r\nacl SSL_ports port 443 563        # https, snews<br />\r\nacl SSL_ports port 873                # rsync<br />\r\nacl Safe_ports port 80                # http<br />\r\nacl Safe_ports port 21                # ftp<br />\r\nacl Safe_ports port 443 563        # https, snews<br />\r\nacl Safe_ports port 70                # gopher<br />\r\nacl Safe_ports port 210                # wais<br />\r\nacl Safe_ports port 1025-65535        # unregistered ports<br />\r\nacl Safe_ports port 280                # http-mgmt<br />\r\nacl Safe_ports port 488                # gss-http<br />\r\nacl Safe_ports port 591                # filemaker<br />\r\nacl Safe_ports port 777                # multiling http<br />\r\nacl Safe_ports port 631                # cups<br />\r\nacl Safe_ports port 873                # rsync<br />\r\nacl Safe_ports port 901                # SWAT<br />\r\nacl purge method PURGE<br />\r\nacl CONNECT method CONNECT<br />\r\n<br />\r\n# ACL qui définit le réseau utilisant le cache<br />\r\nacl MonReseau src 192.168.0.0/255.255.255.0<br />\r\n<br />\r\n# Accès par défaut -> A conserver<br />\r\nhttp_access allow manager localhost<br />\r\nhttp_access deny manager<br />\r\nhttp_access allow purge localhost<br />\r\nhttp_access deny purge<br />\r\nhttp_access deny !Safe_ports<br />\r\nhttp_access deny CONNECT !SSL_ports<br />\r\nhttp_access allow localhost<br />\r\n<br />\r\n# Donne accès au cache au réseau<br />\r\nhttp_access allow  MonReseau<br />\r\n<br />\r\n# Interdit tout le reste<br />\r\nhttp_access deny all<br />\r\n<br />\r\n# Autorise les réponses pour tout le monde (par défaut)<br />\r\nhttp_reply_access allow all<br />\r\n# Autorise le protocole icp pour tout le monde (par défaut)<br />\r\nicp_access allow all<br />\r\n<br />\r\ncoredump_dir /var/spool/squid</code></div>\n<h2>Proxy transparent avec Squid et Shorewall</h2>\n<p class=\"spip\">Dans « /etc/shorewall/rules » il faut ajouter cette ligne pour rediriger le port 3128 sur le port 80 sauf pour les adresses internes</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>REDIRECT  loc:192.0.0.16  3128  tcp    www        -            !192.168.0.0/24</code></p>\n\n<p class=\"spip\">De plus, il faut configurer Squid pour activer le mode transparent en ajoutant cette ligne au fichier « /etc/squid/squid.conf » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>http_port 3128 transparent</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">ATTENTION</strong> : Pour l’accès à certains site https via ssl, il est nécessaire d’indiquer le proxy dans la configuration du navigateur pour que ça fonctionne</p>\n\n<h2>Installation de Webalizer</h2>\n<p class=\"spip\">Webalizer permet de générer des graphiques à partir des fichiers de logs d’Apache, de serveur FTP ou de Squid.</p>\n\n<p class=\"spip\">Installation :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install webalizer</code></p>\n\n<p class=\"spip\">Ensuite, il faut modifier les lignes suivantes du fichier « <strong class=\"spip\">/etc/webalizer/webalizer.conf </strong> » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>LogFile  /var/log/squid/access.log</code></p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>LogType squid</code></p>\n\n<p class=\"spip\">Cette commande permet d’exécuter l’analyse des logs :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># webalizer</code></p>\n\n<p class=\"spip\">Le résultat de l’analyse est stocké par défaut dans « /var/www/webalizer »</p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarques</strong> : \n<br /></p>\n<li> Une analyse sera exécuté automatiquement tous les soirs par le script « <strong class=\"spip\">/etc/cron.daily/webalizer</strong> »\n<br /><li> Pour analyser plusieurs fichiers de logs, il faut créer plusieurs fichiers de configuration dans « « <strong class=\"spip\">/etc/webalizer </strong> »\n<h2>Liens pour avoir plus d’informations</h2>\n<p class=\"spip\">Document très complet, récent et surtout en français sur la configuration de Squid :\n<br /></p>\n<li> <a href=\"http://igm.univ-mlv.fr/~dr/XPOSE2003/Squid/\" class=\"spip_out\">http://igm.univ-mlv.fr/ dr/XPOSE2003/Squid/</a>\n<p class=\"spip\">Site officiel de Squid :\n<br /></p>\n<li> <a href=\"http://www.squid-cache.org/\" class=\"spip_out\">http://www.squid-cache.org/</a>\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>25/11/04</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.2</td><td>03/12/04</td><td>Mise à jour</td></tr>\n<tr class=\"row_even\"><td>0.3</td><td>06/01/05</td><td>Mise à jour suite à installation serveur Pentium Pro 200</td></tr>\n<tr class=\"row_odd\"><td>0.4</td><td>14/01/05</td><td>Ajout des chapitres « Exemple complet et commenté du fichier /etc/squid/squid.conf », « Comment créer un cache supplémentaire » et « Liens pour avoir plus d’informations »</td></tr>\n<tr class=\"row_even\"><td>0.5</td><td>26/01/09</td><td>Mise à jour suite à installation sur nouveau serveur</td></tr>\n</tbody>\n</table>','Ce document me sert de <strong class=\"spip\">mémo</strong> pour installer <strong class=\"spip\">Squid</strong> et <strong class=\"spip\">SquidGuard</strong> sur une <strong class=\"spip\">Debian ETCH</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.','',1288361735,2),(140,140,1,'Installation d’un serveur DNS Bind 9 sur Debian','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo pour installer un serveur Bind 9 sur une Debian.</strong> Ce document a été testé sur Debian Etch et Debian Sarge. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<h2>Pré-requis</h2>\n<p class=\"spip\">Avoir installé une Debian de Base :\n<br /></p>\n<li> cf mon autre document sur ce sujet : <a href=\"http://www.coagul.org/article.php3?id_article=158\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=158</a>\n<h2>Présentation rapide d’un système DNS</h2>\n<p class=\"spip\">L’architecture de réseau TCP/IP sur lequel est basé Internet et la plupart des réseaux locaux actuels, utilisent des adresses IP numériques du type 192.168.0.1. Mais pour faciliter la lecture de ces adresses par l’homme, un système permet de transformer ces adresses en adresses plus lisibles comme <a href=\"http://www.coagul.org/\" class=\"spip_out\">www.coagul.org</a></p>\n\n<p class=\"spip\">Pour effectuer cette opération, il est nécessaire d’utiliser des serveurs DNS. Un serveur DNS fera donc la correspondance entre les adresses IP et les noms des domaines.</p>\n\n<p class=\"spip\">Un serveur DNS s’occupe en général d’un domaine limité et s’occupe de transmettre les questions à d’autres serveurs s’il ne connaît pas la réponse.</p>\n\n<h2>Principe de fonctionnement de la recherche de noms</h2>\n<p class=\"spip\">Lorsque qu’une demande de résolution de  nom est demandée, Linux commence par regarder le fichier « <strong class=\"spip\">/etc/hosts.conf</strong> :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>order hosts,bind<br />\r\nmulti on</code></div>\n<p class=\"spip\">La première ligne de ce fichier indique qu’il faut commencer la recherche en regardant la table hosts locale et ensuite il faut interroger le serveur DNS.</p>\n\n<p class=\"spip\">La table hosts locale est enregistrée dans le fichier « <strong class=\"spip\">/etc/hosts </strong> » elle contient une table de correspondance entre des adresses IP et des noms, elle ressemble à :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>127.0.0.1       localhost.localdomain   localhost<br />\r\n192.168.0.6     debian1.mondomaine.com     debian1</code></div>\n<p class=\"spip\">La première ligne est obligatoire pour que le système fonctionne même quand le réseau est désactivé. L’adresse IP 127.0.0.1 est toujours associée au nom localhost.</p>\n\n<p class=\"spip\">Les lignes suivantes peuvent être ajoutées manuellement pour faire la correspondance entre des adresses IP et des noms. C’est ce qui est fait en l’absence de serveur DNS.</p>\n\n<p class=\"spip\">Si le résultat n’est pas trouvé dans la table hosts,le système recherche le serveur DNS indiqué dans le fichier « <strong class=\"spip\">/etc/resolv.conf</strong> » :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>search mondomaine.com<br />\r\nnameserver 192.168.0.1<br />\r\nnameserver 194.2.0.50</code></div>\n<p class=\"spip\">La première ligne indique quel domaine il faut ajouter au noms si celui-ci n’est pas indiqué lors d’une demande de résolution de nom. Exemple :\n<br /></p>\n<li> ping monserveur.mondomaine.com -> Aucun domaine ne sera ajouté lors de la résolution du nom, car le domaine est fourni.\n<br /><li> ping monserveur -> Le domaine mondomaine.com, sera ajouté avant d’effectuer la demande de résolution du nom (La recherche du nom, portera donc sur monserveur.mondomaine.com)\n<p class=\"spip\">La deuxième ligne indique le serveur DNS principal.</p>\n\n<p class=\"spip\">Et c’est donc le serveur DNS qui sera chargé de donner le résultat s’il connaît la réponse ou de transmettre la question à un autre serveur DNS.</p>\n\n<p class=\"spip\">Si le serveur principal n’est pas disponible, le serveur DNS indiqué sur la ligne suivante sera utilisé.</p>\n\n<h2>Pourquoi installer un serveur DNS </h2>\n<p class=\"spip\">Pour au moins deux raisons :\n<br /></p>\n<li> Éviter de tenir à jour la table hosts de chaque poste client d’un réseau.\n<br /><li> Avoir un cache DNS qui accélère la recherche des noms.\n<br /><li> Sur un réseau locale, un serveur DNS permet d’accélérer le trafic sur le réseau car de nombreux services ont besoins d’un serveur DNS bien configuré pour fonctionner correctement (WEB, POP, SMTP,..)\n<h2>Installation de Bind 9</h2>\n<p class=\"spip\">Sous Debian, il faut installer le paquet suivant :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install bind9</code></p>\n\n<h2>Fichier de Configuration Principal (/etc/bind/named.conf)</h2>\n<p class=\"spip\">Le fichier de Configuration principal « <strong class=\"spip\">/etc/bind/named.conf</strong> » contient la liste des zones (ou domaines) que le serveur DNS doit prendre en charge.</p>\n\n<p class=\"spip\">Voici un exemple de description de zone :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>zone \"mondomaine.com\" {<br />\r\n        type master;<br />\r\n        file \"/etc/bind/db.mondomaine.com\";<br />\r\n        forwarders{};<br />\r\n};</code></div>\n<p class=\"spip\"><strong class=\"spip\">mondomaine.com </strong> : Nom du domaine à prendre en charge</p>\n\n<p class=\"spip\"><strong class=\"spip\">type master</strong> : Cette ligne indique que le serveur est le serveur principal de ce domaine.</p>\n\n<p class=\"spip\"><strong class=\"spip\">file \"/etc/bind/db.mondomaine.com\"</strong> ; :Cette ligne donne le chemin du fichier qui contiendra la correspondance entre les noms et les adresses IP pour ce domaine.</p>\n\n<h2>Fichier de configuration secondaire</h2>\n<p class=\"spip\">Pour chaque domaine à gérer, il faut créer le fichier indiqué dans  « <strong class=\"spip\"> named.conf </strong> ». Dans l’exemple précédent, il faudra créer le fichier « <strong class=\"spip\">/etc/bind/db.mondomaine.com</strong> »</p>\n\n<p class=\"spip\">Voici le contenu de ce fichier :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>$TTL    604800<br />\r\n@ IN SOA pgdebian.mondomaine.com. root.mondomaine.com.  (<br />\r\n         20041122   ; Serial  -> N° de série à incrémenter à chaque modif<br />\r\n                    ;            de ce fichier. Ce N° est utilisé par les<br />\r\n                    ;            serveurs esclaves pour lui indiquer qu\'il<br />\r\n                    ;            doit mettre à jour sa base. Par commodité<br />\r\n                    ;            ce n° est une date à l\'envers.<br />\r\n         604800     ;Refresh ->  A l\'expiration du délai Refresh exprimé en<br />\r\n                    ;            secondes, le serveur excalve va entrer en<br />\r\n                    ;            communication avec le maitre et si il ne<br />\r\n                    ;            le trouve pas, il fera une nouvelle<br />\r\n                    ;            tentative au bout du délai Retry et si au<br />\r\n                    ;            bout du délai Expire il considerera que le<br />\r\n                    ;            serveur n\'est plus disponible.<br />\r\n         86400      ; Retry<br />\r\n         2419200    ; Expire<br />\r\n         604800 )   ; Minimum -> Durée de vie minimum du cache en secondes<br />\r\n<br />\r\n<br />\r\n;** Les 3 lignes suivantes permettent au serveur de se retrouver lui même<br />\r\n                NS      pgdebian.mondomaine.com.        ;Nom du serveur<br />\r\npgdebian        A       192.168.0.3                     ;Adresse IP du<br />\r\n                                                        ;serveur de noms<br />\r\npgdebian        HINFO   \"PII 233 :-)\" \"Debian Testing\"  ;Info<br />\r\ncomplèmentaire<br />\r\n<br />\r\n;** Les lignes suivantes définissent la table entre les noms et les IP<br />\r\npglinux         A       192.168.0.1<br />\r\npg-cao          A       192.168.0.2<br />\r\nplgmao          A       192.168.0.9<br />\r\ncpi             A       192.168.0.10<br />\r\nprod            A       192.168.0.100<br />\r\npgcie           A       10.2.2.1<br />\r\n<br />\r\n;** Les lignes suivantes sont des alias entre des noms et des autres noms<br />\r\npop             CNAME   pglinux<br />\r\nsmtp            CNAME   pglinux<br />\r\nwww             CNAME   pglinux<br />\r\nldap            CNAME   pgdebian</code></div>\n<p class=\"spip\">La première partie est utilisée pour la gestion maître-esclave des serveurs DNS.</p>\n\n<p class=\"spip\">La deuxième partie permet au serveur DNS de se retrouver lui-même.</p>\n\n<p class=\"spip\">La troisième partie contient la table de correspondance entre les noms et les adresses IP.</p>\n\n<p class=\"spip\">La dernière partie donne les alias possibles pour un même nom de serveur.</p>\n\n<h2>Résolution Inverse</h2>\n<p class=\"spip\">De nombreux services réseaux utilisent la résolution inverse (Trouver l’adresse IP à partir du nom) pour vérifier que le nom est valide.</p>\n\n<p class=\"spip\">Il est donc nécessaire de configurer le serveur pour qu’il prenne également en charge la résolution inverse.</p>\n\n<p class=\"spip\">Le principe est quasiment le même que pour la résolution classique. il faut déjà définir le domaine inverse dans le fichier « <strong class=\"spip\">named.conf </strong> » comme dans l’exemple suivant :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>zone \"0.168.192.in-addr.arpa\" {<br />\r\n        type master;<br />\r\n        file \"/etc/bind/db.mondomaine.com.inv\";<br />\r\n        forwarders{};<br />\r\n};</code></div>\n<p class=\"spip\">L’adresse IP doit être indiquée à l’envers et il faut ajouter .in-addr.arpa.</p>\n\n<p class=\"spip\">Il faut également définir un nouveau fichier qui ressemblera à ceci :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>$TTL    604800<br />\r\n@       IN      SOA     pgdebian.mondomaine.com.<br />\r\nroot.mondomaine.com.  (<br />\r\n                       20041122         <br />\r\n                         604800        <br />\r\n                          86400         <br />\r\n                        2419200        <br />\r\n                         604800 )      <br />\r\n<br />\r\n                NS      pgdebian.mondomaine.com.   <br />\r\n<br />\r\n1               PTR     pglinux.mondomaine.com.   <br />\r\n2               PTR     pg-cao.mondomaine.com.   <br />\r\n3               PTR     pgdebian.mondomaine.com.   <br />\r\n9               PTR     plgmao.mondomaine.com.   <br />\r\n10              PTR     cpi.mondomaine.com.   <br />\r\n100             PTR     prod.mondomaine.com.   </code></div>\n<p class=\"spip\">La première partie est utilisée pour la gestion maître-esclave des serveurs DNS.</p>\n\n<p class=\"spip\">La deuxième partie donne le nom du serveur DNS (NS = Name Server).</p>\n\n<p class=\"spip\">La troisième partie contient la correspondance entre la fin de l’adresse IP et le nom du serveur.</p>\n\n<p class=\"spip\">Pour finir, il est conseillé (mais pas obligatoire) d’indiquer les adresses IP des serveurs DNS de son fournisseur d’accès à Internet. Pour cela, il faut décommenter et renseigner la section suivante du fichier « <strong class=\"spip\">/etc/bind/named.conf.options</strong> » :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>forwarders {<br />\r\n                194.2.0.50;<br />\r\n                194.2.0.20;<br />\r\n};</code></div>\n<h2>Démarrer le démon</h2>\n<p class=\"spip\">Après chaque modification des fichiers de configuration, il faut redémarrer le démon :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/init.d/bind9 restart</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">ATTENTION</strong> : Il est vivement conseillé de regarder les logs pour vérifier que le démarrage du démon s’est correctement effectué :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>tail -30 /var/log/syslog</code></p>\n\n<h2>Installer un serveur secondaire esclave (slave)</h2>\n<h3>Installation du serveur esclave</h3>\n<p class=\"spip\">La mise en place d’un serveur secondaire sur un réseau important est vivement recommandé pour éviter toute panne de résolutions de noms en cas de dysfonctionnement du serveur principale.</p>\n\n<p class=\"spip\">Sur le deuxième serveur, il faut également installer bind :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install bind9</code></p>\n\n<h3>Configuration du serveur maître</h3>\n<p class=\"spip\">Sur le serveur principal, il faut modifier les zones du fichier « <strong class=\"spip\">/etc/bind/named.conf</strong> », pour ajouter la ligne « <strong class=\"spip\">notify yes</strong> ». Exemple :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>zone \"mondomaine.com\" {<br />\r\n        type master;<br />\r\n        notify yes;<br />\r\n        file \"/etc/bind/db.mondomaine.com\";<br />\r\n        forwarders{};<br />\r\n};</code></div>\n<p class=\"spip\">Sur le serveur principal, il faut ajouter dans chaque zone à exporter une ligne « NS » pour chaque serveur esclave. Exemple :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>NS      ServeurEsclave1.mondomaine.com.  ;Nom du serveur esclave N°1<br />\r\nNS      ServeurEsclave2.mondomaine.com.  ;Nom du serveur esclave N°2</code></div>\n<p class=\"spip\">Sur le serveur principal, il faut autoriser Bind à transférer les données vers le serveur secondaire en ajoutant cette ligne dans « <strong class=\"spip\">/etc/bind/named.conf.options</strong> » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>allow-transfer { 192.168.0.1; };</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong> : Il faut remplacer l’adresse IP par celle de votre serveur esclave.</p>\n\n<h3>Configuration du serveur esclave</h3>\n<p class=\"spip\">Sur le serveur esclave, il faut ajouter dans le fichier « <strong class=\"spip\">/etc/bind/named.conf.local</strong> », les zones à importer du serveur principal. Voici un exemple :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>zone \"mondomaine.com\" {<br />\r\n        type slave;<br />\r\n        file \"db.mondomaine.com \";<br />\r\n        masters {192.168.0.4; };<br />\r\n};<br />\r\n<br />\r\nzone \"0.168.192.in-addr.arpa\" {<br />\r\n        type slave;<br />\r\n        file \"db.mondomaine.com.inv\";<br />\r\n        masters {192.168.0.4; };<br />\r\n};</code></div>\n<p class=\"spip\">Le nom des zones doit correspondre exactement aux zones définies sur le serveur principal.</p>\n\n<p class=\"spip\">L’adresse IP du serveur principal est indiqué à la ligne « masters »</p>\n\n<p class=\"spip\">Sur le serveur esclave, il faut l’autoriser à s’envoyer des notifications pour éviter d’avoir des messages d’erreurs dans les logs. Pour cela, il faut ajouter cette ligne dans le fichier « <strong class=\"spip\">/etc/bind/named.conf.options</strong> » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>allow-notify { 192.168.0.1; };</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong> : Il faut remplacer l’adresse IP par celle de votre serveur esclave.</p>\n\n<h3>Test du serveur esclave</h3>\n<p class=\"spip\">La mise à jour des données du serveur esclave, se fera au moment du redémarrage du serveur maître si le champ « <strong class=\"spip\"> Serial </strong> » de la zone concernée est supérieur sur le maître par rapport à l’esclave. Pour vérifier que tout fonctionne correctement, il faut regarder les logs au niveau du serveur esclave et au niveau du serveur maître.</p>\n\n<p class=\"spip\">Lors du démarrage du serveur, les fichiers contenant la résolution des noms, seront importés dans  « <strong class=\"spip\">/var/cache/bind</strong> »</p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : Il est possible de supprimer les fichiers enregistrés dans  « <strong class=\"spip\">/var/cache/bind</strong> » car ils seront recréés au prochain démarrage du serveur maître.</p>\n\n<h2>Tester la résolution des noms</h2>\n<p class=\"spip\">Il existe plusieurs outils pour tester le bon fonctionnement de la résolution des noms :</p>\n\n<h3>ping</h3>\n<p class=\"spip\">La commande « <strong class=\"spip\"> ping </strong> » est la plus simple (mais la plus limité). Elle permet de tester la résolution du nom, mais pas la résolution inverse :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ ping NomDuServeur</code></p>\n\n<h3>host </h3>\n<p class=\"spip\">La commande « <strong class=\"spip\"> host </strong> », permet de tester la résolution du nom et la résolution inverse :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ host NomDuServeur</code></p>\n\n<p class=\"spip\">ou :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ host AdresseIPduServeur</code></p>\n\n<h3>nslookup</h3>\n<p class=\"spip\">La commande « <strong class=\"spip\"> nslookup </strong> » du paquet « <strong class=\"spip\"> dnsutils </strong> », permet également de tester la résolution du nom et la résolution inverse :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ nslookup NomDuServeur</code></p>\n\n<p class=\"spip\">ou :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ nslookup AdresseIPduServeur</code></p>\n\n<h3>dig</h3>\n<p class=\"spip\">La commande « <strong class=\"spip\">dig</strong> » du paquet « <strong class=\"spip\"> dnsutils </strong> », permet également de tester la résolution du nom et la résolution inverse. Mais la commande « <strong class=\"spip\"> dig </strong> » permet surtout d’interroger directement le serveur bind et obtenir de nombreuses autres informations :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ dig NomDuServeur.NomDuDomaine</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : Le nom du domaine est obligatoire pour obtenir une réponse (ANSWER SECTION)</p>\n\n<p class=\"spip\">ou :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ dig -x AdresseIPduServeur</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : Le paramètre « -x » est obligatoire pour obtenir une réponse (ANSWER SECTION)</p>\n\n<h2>Remarques sur les fichiers de configuration</h2>\n<p class=\"spip\">Dans ce document, nous avons ajouté dans « <strong class=\"spip\">/etc/bind/named.conf.options</strong> » la ligne suivante pour autoriser Bind à transférer les données vers le serveur secondaire :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>allow-transfer { 192.168.0.1; };</code></p>\n\n<p class=\"spip\">Nous aurions pu écrire cette ligne sous cette forme :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>allow-transfer { <br />\r\n    192.168.0.1;   # Il est même possible d\'ajouter un commentaire <br />\r\n};</code></div>\n<p class=\"spip\">Nous pouvons également autoriser plusieurs serveurs comme cela :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>allow-transfer { <br />\r\n    192.168.0.1;   # Serveur N°1<br />\r\n    192.168.0.2;   # Serveur N°2<br />\r\n};</code></div>\n<p class=\"spip\">Nous pouvons aussi utiliser cette syntaxe :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>allow-transfer { <br />\r\n    192.168.0/24;   # Autorise tous les postes du réseau locale  <br />\r\n};</code></div>\n<p class=\"spip\">Pour autoriser tout le monde, nous pouvons utiliser cette syntaxe :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>allow-transfer { any; };</code></p>\n\n<p class=\"spip\">Ou celle-ci :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>allow-transfer { 0/0; };</code></p>\n\n<p class=\"spip\">Pour finir, il est possible de créer une ACL à la fin ou au début du fichier qui ressemble à cela :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>acl MesServeurs {<br />\r\n   192.168.0.1;   # Serveur N°1<br />\r\n   192.168.0.2;   # Serveur N°2<br />\r\n};</code></div>\n<p class=\"spip\">Et d’utiliser cette ACL comme ceci :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>allow-transfer { MesServeurs; };</code></p>\n\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>29/11/04</td><td>Création par <a href=\"http://www.infosaone.com/\" class=\"spip_out\">Tony GALMICHE</a></td></tr>\n<tr class=\"row_odd\"><td>0.2</td><td>03/12/04</td><td>Mise à jour</td></tr>\n<tr class=\"row_even\"><td>0.3</td><td>06/01/05</td><td>Mise à jour suite à installation serveur Pentium Pro 200</td></tr>\n<tr class=\"row_odd\"><td>0.31</td><td>14/01/05</td><td>Suppression du Sommaire</td></tr>\n<tr class=\"row_even\"><td>0.4</td><td>09/02/05</td><td>Mise à jour du chapitre « Principe de fonctionnement de la recherche de noms »</td></tr>\n<tr class=\"row_odd\"><td>0.5</td><td>25/07/06</td><td>Ajout chapitre « Tester la résolution des noms »</td></tr>\n<tr class=\"row_even\"><td>0.6</td><td>19/06/07</td><td>Mise à jour du chapitre « Installer un serveur secondaire esclave » et ajout chapitre « Remarques sur les fichiers de configuration »</td></tr>\n</tbody>\n</table>','Ce document me sert de <strong class=\"spip\">mémo pour installer un serveur Bind 9 sur une Debian.</strong> Ce document a été testé sur Debian Testing (Etch) et Debian Stable (Sarge). Je le diffuse en espérant qu’il puisse servir à d’autres personnes.','',1288361736,2),(141,141,1,'Installation et configuration du FireWall TDI FW','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de mémo pour <strong class=\"spip\">installer et configurer le FireWall TDI FW</strong> sur des postes Win NT, Win 2000 ou Win XP. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<p class=\"spip\"><strong class=\"spip\">TDI FW </strong>est un <strong class=\"spip\">FireWall</strong> <strong class=\"spip\">libre</strong> (sous licence BSD) très léger mais très efficace destiné aux postes Win NT, Win 2000 et Win XP (y compris SP2).</p>\n\n<p class=\"spip\">Ce mémo a été testé sous Win NT, Win 2000 et Win XP SP2 avec les versions 1.3.2 et 1.4.3 de TDI FireWall.</p>\n\n<h2>Installation</h2>\n<p class=\"spip\"><strong class=\"spip\">TDI FW</strong> est téléchargeable à cette adresse :\n<br /></p>\n<li> <a href=\"http://sourceforge.net/projects/tdifw/\" class=\"spip_out\">http://sourceforge.net/projects/tdifw/</a>\n<p class=\"spip\">Décompresser le fichier .zip dans le dossier de votre choix. Cependant, il est conseillé d’installer ce dossier sur le poste à configurer pour pourvoir ultérieurement utiliser le script de désinstallation (uninstall.bat ou uninstall_nt4.bat pour Win NT).</p>\n\n<p class=\"spip\">Pour installer le Firewall, il faut exécuter le script « <strong class=\"spip\">install_nt4.bat</strong> » pour les postes Win NT ou « <strong class=\"spip\">install.bat</strong> » pour les autres.</p>\n\n<p class=\"spip\">Il faut ensuite redémarrer l’ordinateur pour que le service soit correctement installé.</p>\n\n<p class=\"spip\">Il est conseillé de lire les fichiers « readme.txt », « tdifw.conf » et « log_format.txt »</p>\n\n<h2>Configuration</h2>\n<p class=\"spip\">Pour configurer le FireWall, il faut modifier son fichier de configuration « <strong class=\"spip\"> tdifw.conf </strong> » disponible dans :\n<br /></p>\n<li> C :\\winNT\\system32\\drivers\\etc\n<p class=\"spip\">A chaque modification de ce fichier, il faut redémarrer le service en ligne de commandes :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>net stop tdifw<br />\r\nnet start tdifw</code></div>\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong>:Quelque fois, il est nécessaire de redémarrer l’ordinateur pour que la modification soit correctement prise en compte.</p>\n\n<h2>Consultation des logs</h2>\n<p class=\"spip\">En fonction de la configuration du FireWall, les logs sont consultable dans un fichier texte à cet emplacement :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>C:\\winNT\\system32\\LogFiles\\tdifw</code></p>\n\n<p class=\"spip\">ou dans l’observateur d’événements de Windows</p>\n\n<h2>Exemple de fichier de configuration « tdifw.conf »</h2>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[_signature_]<br />\r\n_signature_=$tdi_fw$<br />\r\n<br />\r\n[_config_]<br />\r\n;** Logs des évenements autorisés dans System32\\LogFile\\stdifw ****<br />\r\neventlog_allow=0<br />\r\n;** Logs des accès refusés dans le gestionnaire d\'évenements ******<br />\r\neventlog_deny=1<br />\r\n;** Logs des erreurs dans le gestionnaire d\'évenements ************<br />\r\neventlog_error=1<br />\r\n<br />\r\n[_main_]<br />\r\n;** Autoriser par défaut les règles suivantes ********************<br />\r\n_default_=network localhost<br />\r\n<br />\r\n;** Autoriser FileZilla pour tout*********************************<br />\r\n;C:\\Program Files\\FileZilla\\filezilla.exe=allow_all<br />\r\n;** Autoriser Firefox pour tout (sans proxy) *********************<br />\r\n;C:\\Program Files\\Mozilla Firefox\\firefox.exe=allow_all<br />\r\n<br />\r\n[_users_]<br />\r\n_default_=*<br />\r\nNT AUTHORITY\\SYSTEM=*<br />\r\n<br />\r\n[_hosts_]<br />\r\nALL=0.0.0.0/0<br />\r\nNETGRAY=192.168.0.0/24<br />\r\nNETELOYES=10.0.0.0/8<br />\r\nLOCALHOST=127.0.0.1<br />\r\n<br />\r\n;** Règles pour le réseau local *****************************<br />\r\n[network]<br />\r\nnetgray: ALLOW * * FROM ALL TO NETGRAY NOLOG<br />\r\nneteloyes: ALLOW * * FROM ALL TO NETELOYES NOLOG<br />\r\nbroadcast: ALLOW UDP OUT FROM ALL TO 255.255.255.255 NOLOG<br />\r\n<br />\r\n;** Règle pour autoriser l\'activité sur localhost ***********<br />\r\n[localhost]<br />\r\nlocalhost: ALLOW * * FROM ALL TO LOCALHOST NOLOG<br />\r\n<br />\r\n;** Règle pour tout autoriser !!! ***************************<br />\r\n[allow_all]<br />\r\n<br />\r\nallowall: ALLOW  * * FROM ALL TO ALL<br />\r\n<br />\r\n;** Règle pour tout interdire !!! ***************************<br />\r\n[deny_all]<br />\r\ndenyall: DENY  * * FROM ALL TO ALL</code></div>\n<h2>Remarques</h2>\n<p class=\"spip\">Un message d’erreur apparaît dans les logs suite à mise en place du Firewall sur les postes Win 2000 et Win XP (Paquets non valides...).</p>\n\n<p class=\"spip\">Ce message n’apparaît pas sur les postes Win NT.</p>\n\n<p class=\"spip\">Ce message apparaît à chaque utilisation d’un lecteur réseau depuis l’explorateur ou le poste de travail, mais pas en utilisant un programme. Ce message n’apparaît pas non plus en utilisant les favoris réseaux.</p>\n\n<p class=\"spip\">Apparemment ce message n’a aucune incidence sur le fonctionnement de l’ordinateur.</p>\n\n<p class=\"spip\"><strong class=\"spip\">J’ai toujours le même problème avec la version 1.4.3. Si quelqu’un a une explication et/ou une solution, je suis preneur :-)</strong></p>\n\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>06/01/05</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.11</td><td>14/01/05</td><td>Suppression du sommaire</td></tr>\n<tr class=\"row_even\"><td>0.2</td><td>18/02/05</td><td>Mise à jour suite à déploiement sur 80 postes de la version 1.3.2</td></tr>\n<tr class=\"row_odd\"><td>0.3</td><td>17/05/05</td><td>Mise à jour suite à installation nouvelle version 1.4.3</td></tr>\n</tbody>\n</table>','Ce document me sert de mémo pour <strong class=\"spip\">installer et configurer le FireWall TDI FW</strong> sur des postes Win NT, Win 2000 ou Win XP. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.','',1288361737,2),(142,142,1,'Installation poste bureautique standard sur Debian Testing','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour installer un <strong class=\"spip\">poste bureautique standard</strong> sur une <strong class=\"spip\">Debian Testing</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<h2>Pré-requis</h2>\n<br /><li> Avoir installé une Debian de Base : <a href=\"http://www.coagul.org/article.php3?id_article=158\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=158</a>\n<br /><li> Avoir installé KDE et CUPS : <a href=\"http://www.coagul.org/article.php3?id_article=159\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=159</a>\n<h2>Installer Mozilla Firefox</h2>\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># apt-get install mozilla-firefox-locale-fr-fr</code></p>\n\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Paquet </strong></th><th scope=\'col\'><strong class=\"spip\">Question </strong></th><th scope=\'col\'><strong class=\"spip\">Réponse</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>Configuration de libpango1.0-common</td><td>Voulez-vous confier la gestion des polices à Deforma ?</td><td>OUI</td></tr>\n</tbody>\n</table>\n<p class=\"spip\">Pour installer le plugin flash :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># apt-get install flashplugin-nonfree</code></p>\n\n<h2>Installer Mozilla Thunderbird</h2>\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># apt-get install mozilla-thunderbird-locale-fr</code></p>\n\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Paquet </strong></th><th scope=\'col\'><strong class=\"spip\">Question </strong></th><th scope=\'col\'><strong class=\"spip\">Réponse</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>Configuration de mozilla-thunderbird</td><td>Méthode d’intégration du navigateur</td><td>Debian</td></tr>\n</tbody>\n</table>\n<p class=\"spip\">Pour avoir le correcteur orthographique dans Thunderbird :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># apt-get install myspell-fr-fr </code></p>\n\n<h2>Installer OpenOffice.org </h2>\n<p class=\"spip\"><strong class=\"spip\">ATTENTION : </strong>La version .deb d’OpenOffice.org ne fonctionne pas correctement (ex : les formulaires). De plus elle ne prend pas en compte Java. Je conseille donc d’installer la version officielle du site d’OpenOffice.org. Pour son installation, il est possible de suivre ce mémo :\n<br /></p>\n<li> <a href=\"http://www.coagul.org/article.php3?id_article=228\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=228</a>\n<h2>Installer « The Gimp »</h2>\n<p class=\"spip\">Paquets à installer :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># apt-get install gimp gimp-help-fr gimp-data-extras gimp-svg</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Problème 1 </strong> : A ce jour et suite à un bug dans la version testing de « Gimp », l’impression n’est pas possible, car le paquet « gimp-print » n’est pas disponible.</p>\n\n<h2>Installer des fontes complémentaires</h2>\n<p class=\"spip\">Les fontes étant l’un des points faibles des logiciels libres, il est nécessaire, pour obtenir une bonne compatibilité avec les postes sous Windows, d’installer des fontes complémentaires.</p>\n\n<p class=\"spip\">Le paquet « <strong class=\"spip\"> msttcorefonts </strong> » contient des polices qui sont recommandées pour OpenOffice et Mozilla.</p>\n\n<p class=\"spip\">Étant donné que ce paquet est dans la zone « <strong class=\"spip\"> contrib </strong> » de Debian, il faut commencer par ajouter \"<strong class=\"spip\">contrib</strong>\" à la fin des lignes de « <strong class=\"spip\">/etc/apt/sources.list</strong> ». Ce qui donne dans mon cas :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>deb http://ftp2.fr.debian.org/debian/ testing main contrib<br />\r\ndeb-src http://ftp2.fr.debian.org/debian/ testing main contrib<br />\r\ndeb http://security.debian.org/ testing/updates main</code></div>\n<p class=\"spip\">Ensuite, il faut mettre à jour la liste des paquets :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># apt-get update</code></p>\n\n<p class=\"spip\">Et installer le paquet :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># apt-get install msttcorefonts</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong> : Pour que les nouvelles fontes apparaissent dans KDE, il faut quitter la session.</p>\n\n<h2>Monter des partages Windows (SMB)</h2>\n<p class=\"spip\">Le paquet « <strong class=\"spip\"> smbfs </strong> » qui contient la commande « <strong class=\"spip\"> smbmount </strong> » doit être installé sur le système :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install smbfs</code></p>\n\n<p class=\"spip\">Voici un exemple de ligne à ajouter au fichier « /etc/fstab » pour monter un partage Samba :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>//MonServeur/MonPartage /mnt/MonServeur smbfs<br />\r\nusername=LeLogin,password=LeMotDePasse,uid=MonUser,gid=MonUser,<br />\r\nfmask=700,dmask=700,iocharset=iso8859-1,codepage=cp850 0 0</code></div>\n<p class=\"spip\">Il ne faut pas oublier de créer le dossier de destination pour le montage</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>mkdir /mnt/MonServeur</code></p>\n\n<p class=\"spip\">Étant donné que le fichier « /etc/fstab » est accessible par tout le monde, il est préférable de placer les mots de passe dans un fichier séparé pour les protéger. Créer par exemple le fichier « /root/fstab.pwd » contenant les informations suivantes :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>username=LeLogin<br />\r\npassword=LeMotDePasse</code></div>\n<p class=\"spip\">Et modifier le fichier « /etc/fstab » comme ceci</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>//MonServeur/MonPartage /mnt/MonServeur smbfs<br />\r\ncredentials=/root/fstab.pwd,uid=MonUser,gid=MonUser ,fmask=700,<br />\r\ndmask=700,iocharset=iso8859-1,codepage=cp850 0 0</code></div>\n<p class=\"spip\">Ne pas oublier de protéger le fichier contenant le mot de passe :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>chmod 600 /root/fstab.pwd</code></p>\n\n<h2>Monter automatiquement des partages en fonction du login de l’utilisateur</h2>\n<p class=\"spip\">La méthode précédente permet de monter des partages au démarrage de l’ordinateur. Mais si l’ordinateur est utilisé par plusieurs personnes, il est plus intéressant de monter les partages en fonction des utilisateurs qui se connectent. Pour cela, je conseille la lecture de ce mémo :\n<br /></p>\n<li> <a href=\"http://www.coagul.org/article.php3?id_article=297\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=297</a>\n<h2>Installer un correcteur orthographique pour KDE</h2>\n<p class=\"spip\">Installation du correcteur orthographique :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install aspell-fr aspell-bin</code></p>\n\n<p class=\"spip\">Configuration de KDE :\n<br /></p>\n<li> K / Centre de configuration de KDE / Composants de KDE\n<br /><li> Vérification orthographique\n<br /><li> Client = Aspell\n<br /><li> Encodage = ISO 8859-1\n<br /><li> Dictionnaire = Français\n<p class=\"spip\">Le correcteur sera opérationnel dans la plupart des applications de KDE comme Kate. Pour tester le fonctionnement du dictionnaire et des accents, je conseille de saisir le mot « l’accés »</p>\n\n<h2>Paquets divers à installer</h2>\n<p class=\"spip\">Pour lire des fichiers PDF :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install kpdf</code></p>\n\n<p class=\"spip\">Pour consulter des photos en diaporama :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install kuickshow</code></p>\n\n<p class=\"spip\">Pour ajouter de nombreux écrans de veille dont un diaporama (Pour sélectionner le diaporama, il faut choisir « Bannières et images / Diaporama ») :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install kscreensaver</code></p>\n\n<p class=\"spip\">Pour configurer facilement le pare-feu :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install guarddog</code></p>\n\n<p class=\"spip\">Pour avoir un client ssh (et éventuellement le serveur) :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install ssh</code></p>\n\n<p class=\"spip\">Après <strong class=\"spip\">lsmod</strong> (Liste des modules), <strong class=\"spip\">lspci</strong> (liste des périphériques pci), <strong class=\"spip\">lsusb</strong> (liste des périphériques USB), voici une commande permettant d’avoir un rapport complet sur les composants de l’ordinateur -> lshw :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install lshw</code></p>\n\n<p class=\"spip\">Informations détaillées en mode texte :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>lshw</code></p>\n\n<p class=\"spip\">Informations détaillées dans une page html</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># lshw -html > lshw.html</code></p>\n\n<p class=\"spip\">Informations résumées :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># lshw -short</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">gftp</strong> : Un client FTP graphique en GTK (Gnome) :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install gftp</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">kbear</strong> : Un client FTP graphique en QT (KDE) :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install kbear</code></p>\n\n<p class=\"spip\">Pour piloter un scanner :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install xsane</code></p>\n\n<p class=\"spip\">Un autre paquet pour piloter un scanner avec OCR :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install kooka gocr gocr-doc</code></p>\n\n<p class=\"spip\">Pour une petite compta personnelle (Interface Gnome et n’apparaît pas dans menu KDE)</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install grisbi</code></p>\n\n<p class=\"spip\">Pour une petite compta personnelle (Interface KDE)</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install kmymoney2</code></p>\n\n<p class=\"spip\">Gestion des clés de cryptage</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install kgpg</code></p>\n\n<p class=\"spip\">Client de messagerie de KDE</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install kmail kaddressbook</code></p>\n\n<p class=\"spip\">Client de messagerie plus évolué pour remplacer Outlook</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install kontact</code></p>\n\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>21/09/04</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.2</td><td>26/11/04</td><td>Mise à jour </td></tr>\n<tr class=\"row_even\"><td>0.3</td><td>09/12/04</td><td>Remplacement FireFox et Thunderbird par Mozilla. </td></tr>\n<tr class=\"row_odd\"><td>0.4</td><td>17/03/05</td><td>Ajout « Installation correcteur orthographique pour KDE »</td></tr>\n<tr class=\"row_even\"><td>0.5</td><td>27/09/05</td><td>Mise à jour suite à installation nouveau poste </td></tr>\n<tr class=\"row_odd\"><td>0.6</td><td>30/09/05</td><td>Mise à jour suite à installation nouveau poste </td></tr>\n<tr class=\"row_even\"><td>0.7</td><td>28/10/05</td><td>Ajout installation plugin flash pour Firefox</td></tr>\n</tbody>\n</table>','Ce document me sert de <strong class=\"spip\">mémo</strong> pour installer un <strong class=\"spip\">poste bureautique standard</strong> sur une <strong class=\"spip\">Debian Testing</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.','',1288361738,2),(143,143,1,'Installation et Configuration de sudo sur une Debian Testing','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour <strong class=\"spip\">installer et configurer sudo sur une Debian Testing</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<p class=\"spip\">Je rappelle que <strong class=\"spip\">sudo</strong> permet de donner les droits de root (ou d’un autre utilisateur) à certains utilisateurs et sous certaines conditions.</p>\n\n<h2>Pré-requis</h2>\n<p class=\"spip\">Avoir installé une Debian de Base :\n<br /></p>\n<li> cf mon autre document sur ce sujet : <a href=\"http://www.coagul.org/article.php3?id_article=158\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=158</a>\n<h2>Installation de sudo</h2>\n<p class=\"spip\">Paquet à installer :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install sudo</code></p>\n\n<h2>Exemple de configuration de sudo pour kppp</h2>\n<p class=\"spip\">Dans cet exemple, nous allons autoriser l’utilisateur <strong class=\"spip\">pglinux</strong> à lancer <strong class=\"spip\">kppp</strong> pour se connecter à Internet. Par défaut il n’y a que root qui peut lancer kppp. Sans sudo, la solution la plus simple consiste à activer le <strong class=\"spip\">bit</strong> <strong class=\"spip\">suid</strong> de kppp avec la commande suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>chmod 4777 /usr/bin/kppp</code></p>\n\n<p class=\"spip\">Mais cette commande autorise tous les utilisateurs à prendre les droits de root sur kppp ce qui peut ouvrir une faille de sécurité.</p>\n\n<p class=\"spip\">Pour remédier à ce problème, il est préférable d’utiliser sudo.</p>\n\n<p class=\"spip\">Pour configurer sudo, il faut éditer le fichier « <strong class=\"spip\">/etc/sudoers </strong> ». Il est possible d’éditer ce fichier directement, mais il est préférable de passer par la commande « <strong class=\"spip\"> visudo </strong> » qui validera le fichier avant de le mettre en service.</p>\n\n<p class=\"spip\">Dans ce fichier, il faut ajouter la ligne suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>pglinux localhost=(root)NOPASSWD:/usr/bin/kppp</code></p>\n\n<p class=\"spip\">Cette commande permet à pglinux d’exécuter la commande kppp sous le compte de root sans demander de mot de passe depuis l’ordinateur localhost.</p>\n\n<h2>Comment exécuter un programme en utilisant sudo </h2>\n<p class=\"spip\">Une fois le fichier « <strong class=\"spip\">/etc/sudoers </strong> » correctement configuré, il suffit d’écrire sudo devant la commande à exécuter pour bénéficier des droits spéciaux :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>sudo /usr/bin/kppp</code></p>\n\n<h2>Autre exemple plus complet</h2>\n<p class=\"spip\">Dans l’exemple, ci-dessous, les 3 premières lignes permettent de définir des alias pour donner à un groupe d’utilisateurs la possibilité d’utiliser un groupe de commandes, depuis un groupe d’ordinateurs.</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>#La liste MES_USERS a le droit depuis MES_ORDIS à prendre les droits de root<br />\r\n#sans demande de mot de passe pour la liste de commandes MES_COMMANDES<br />\r\nUser_Alias MES_USERS     = pglinux,tony<br />\r\nHost_Alias MES_ORDIS     = localhost,192.0.0.*<br />\r\nCmnd_Alias MES_COMMANDES = /usr/bin/kppp,/usr/sbin/ppp<br />\r\nMES_USERS MES_ORDIS=(root)NOPASSWD:MES_COMMANDES</code></div>\n<p class=\"spip\">Autrement, il faut toujours laisser dans le fichier « /etc/sudoers », la ligne suivante pour autoriser root à tout faire :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>root    ALL=(ALL) ALL</code></p>\n\n<h2>Problème rencontré </h2>\n<p class=\"spip\">En utilisant sudo, j’ai rencontré un bug de KDE :\n<br /></p>\n<li> Impossible de lancer « sudo kppp » depuis une icône du lanceur rapide en ayant modifié les menus avec KMenuEdit.\n<br /><li> En modifiant un icône manuellement, ça fonctionne, mais il n’est pas possible de modifier la commande d’un icône du lanceur d’applications.\n<p class=\"spip\">J’ai donc remis le suid bit pour lancer kppp mais uniquement pour le group dip qui est affecté par défaut à kppp :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>chmod 4754 /usr/bin/kppp </code></p>\n\n<p class=\"spip\">Ensuite, il faut ajouter l’utilisateur pglinux (dans mon cas) au group dip :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>usermod -G dip pglinux </code></p>\n\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>22/12/04</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.11</td><td>14/01/05</td><td>Suppression du sommaire</td></tr>\n<tr class=\"row_even\"><td> </td><td> </td><td> </td></tr>\n</tbody>\n</table>','<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour <strong class=\"spip\">installer et configurer sudo sur une Debian Testing</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<p class=\"spip\">Je rappelle que <strong class=\"spip\">sudo</strong> permet de donner les droits de root (ou d’un autre utilisateur) à certains utilisateurs et sous certaines conditions.</p>','',1288361738,2),(144,144,1,'Ordre du jour du 18 Janvier 2005 (Installation Postfix)','<p class=\"spip\">Cette soirée sera consacrée à un <strong class=\"spip\">atelier</strong> présenté par <strong class=\"spip\">TonY</strong> sur « <strong class=\"spip\">Serveur de Messagerie Postfix : Installation, configuration</strong> »</p>\n\n<p class=\"spip\"><strong class=\"spip\">Niveau</strong> : \n<br /></p>\n<li> Débutant.\n<p class=\"spip\"><strong class=\"spip\">Pré-requis</strong> : \n<br /></p>\n<li> Avoir Installé Postfix sur son poste.\n<p class=\"spip\"><strong class=\"spip\">Objectifs</strong> :\n<br /></p>\n<li> Initiation au paramétrage de Postfix.\n<p class=\"spip\"><strong class=\"spip\">Personnes intéressées :</strong>\n<br /></p>\n<li> FtZ, HuGin, GnunuX, JibuX, LauRent, YogI, PhilippE, BenUx21\n<blockquote class=\"spip\">\n<p class=\"spip\">Cette réunion est consacrée en priorité à cet atelier qui débutera à 20H30. Si vous souhaitez y assister, vous êtes le bienvenu. Mais si vous souhaitez simplement nous rencontrer, il est recommandé de venir le premier mardi de chaque mois où nous organisons une soirée portes-ouvertes et où nous serons plus disponibles pour vous accueillir.</p>\n</blockquote>','Cette soirée sera consacrée à un <strong class=\"spip\">atelier</strong> présenté par <strong class=\"spip\">TonY</strong> sur « <strong class=\"spip\">Serveur de Messagerie Postfix : Installation, configuration</strong> »','',1289136108,2),(145,145,1,'Mardi 11 Janvier 2005 (Virus et  Rootkit sous Linux)','<p class=\"spip\">Ce soir-là était essentiellement consacré à un atelier présenté par Gnunux sur la détection de virus sous Linux.</p>\n\n<p class=\"spip\">Lors de cette réunion, il y avait 14 personnes : Philippe, Gérald, Gnunux, Benjamin, Jean.C, Luc, Jibux , Jean.B, Jean-Claude, Laurent, Nicolas , Yogi, Vincent et Tony.</p>\n\n<h2>3 visiteurs</h2>\n<br /><li> Luc JULLIOT : Notre visiteur habituel.\n<br /><li> Jean-Claude ROUSSEAU le collègue de Laurent qui était déjà venu la semaine dernière.\n<br /><li> Vincent PELLETIER est venu avec son Portable P133. Il était déjà venu il y a quelques mois. Il utilise Debian depuis 2 ans. Il est programmeur en C et participe entre autre au développement de Grub 2. Il est venu pour suivre l’atelier de Gnunux.\n<h2>Nouveau Membre</h2>\n<p class=\"spip\">Benjamin FRIEDLANDER est déjà inscrit sur nos listes, mais sa fiche de membre n’est pas renseignée :\n<br /></p>\n<li> Envoyer le questionnaire à \"ben.fr1 at free.fr\"\n<h2>Atelier Gnunux</h2>\n<h3>Présentation des différentes infections</h3>\n<p class=\"spip\">Gnunux nous a fait une présentation avec des différentes possibilités d’infecter un système :\n<br /></p>\n<li> <strong class=\"spip\">Malware</strong>, Bombe logique, <strong class=\"spip\">Troyan</strong> (Cheval de Troyes), <strong class=\"spip\">Spyware</strong> (Logiciels espions), <strong class=\"spip\">Backdor</strong>, <strong class=\"spip\">Rootkit </strong>(programme permettant d’utiliser une faille de sécurité pour prendre les droits de root).\n<h3>Programmes permettant de surveiller la sécurité d’un système :</h3>\n<br /><li> <strong class=\"spip\">tiger</strong> est un programme permettant de rechercher les problèmes de configuration.\n<br /><li> <strong class=\"spip\">nessus</strong> est un programme permettant de vérifier que les programmes sont à jour.\n<br /><li> <strong class=\"spip\">nikto</strong> est un programme permettant de détecter des failles dans des services lancés.\n<h3>Programmes de recherche des rootkit</h3>\n<br /><li> <strong class=\"spip\">chkrootkit</strong> -> Ancien et résultat pas très clair\n<br /><li> <strong class=\"spip\">rkhunter</strong>  -> Le préféré de Gnunux\n<br /><li> <strong class=\"spip\">aexplois</strong> -> En cours de développement (Module noyau)\n<h3>Anti-Virus</h3>\n<br /><li> <strong class=\"spip\">clamav</strong> -> Le seul anti-virus libre sous Linux (<strong class=\"spip\">amavisd-new</strong> permet de faire le lien entre Postfix et clamav)\n<h3>Programme de surveillance des logs</h3>\n<br /><li> <strong class=\"spip\">logwatch</strong> -> Permet d’analyser les logs et d’envoyer une synthèse par mail.\n<h2></h2>','Ce soir-là était essentiellement consacré à un atelier présenté par Gnunux sur la détection de virus sous Linux.','',1289142198,2),(146,146,1,'Ordre du jour du 25 Janvier 2005 (Resto = Pas de réunion)','<p class=\"spip\">Exceptionnellement, il n’y aura pas de réunion ce mardi, car les membres de Coagul ont décidés de se retrouver au restaurant.</p>\n\n<p class=\"spip\">Les conjointes sont vivement invitées, car nous allons essayer de ne pas parler informatique pendant le repas :-)</p>','Exceptionnellement, il n’y aura pas de réunion ce mardi, car les membres de Coagul ont décidés de se retrouver au restaurant.','',1289136107,2),(147,147,1,'Mardi 18 Janvier 2005 (Installation et configuration Postfix)','<p class=\"spip\">Ce soir-là était essentiellement consacré à un atelier présenté par moi-même sur l’installation et la configuration de Postfix.</p>\n\n<p class=\"spip\">Lors de cette réunion, il y avait 12 personnes : Philippe, Tony, Luc, Mircea, xxx, Gérald, Piou, Nicolas, Laurent, Benjamin, Gnunux et Yogi.</p>\n\n<h2>2 visiteurs</h2>\n<br /><li> Luc JULLIOT : Notre visiteur habituel.\n<br /><li> xxx\n<h2>Atelier Postfix</h2>\n<h3>Pourquoi installer un serveur de Messagerie</h3>\n<p class=\"spip\">Sur un poste Linux (et plus généralement Unix), le serveur de messagerie est indispensable au bon fonctionnement du système. Il permet à de nombreux programmes d’envoyer des messages d’informations ou d’avertissements à l’administrateur de l’ordinateur.</p>\n\n<h3>Installation de Postfix</h3>\n<p class=\"spip\">Installation :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">apt-get install postfix</p>\n</blockquote>\n<p class=\"spip\">Fichier de configuration :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">/etc/postfix/main.cf</p>\n</blockquote>\n<p class=\"spip\">Afficher tous les paramètres de configuration :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">postconf</p>\n</blockquote>\n<p class=\"spip\">Afficher les paramètres modifiés</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">postconf -n</p>\n</blockquote>\n<p class=\"spip\">Deamon :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">/etc/init.d/postfix start ou stop ou restart ou reload</p>\n</blockquote>\n<p class=\"spip\">Il est nécessaire de faire un reload après chaque modification du fichier de configuration.</p>\n\n<h3>Détail du fichier de configuration /etc/postfix/main.cf</h3>\n<p class=\"spip\">Cette ligne indique le domaine géré par le serveur. Ce nom de domaine sera ajouté automatiquement à l’émetteur et aux destinataires du message si le domaine n’est pas précisé (ex : si root envoie un message à toto, se sera en fait root@mondomaine.com qui enverra un message à toto@mondomaine.com)</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">myhostname = mondomaine.com</p>\n</blockquote>\n<p class=\"spip\">Ces deux lignes indiquent le chemin de la table des alias à utiliser. La table des alias permet de diriger les messages envoyés à certains destinataires (ex : root) vers d’autres destinataires (ex : toto)</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">alias_maps = hash :/etc/aliases\nalias_database = hash :/etc/aliases</p>\n</blockquote>\n<p class=\"spip\">Cette ligne indique les domaines de destination que le serveur doit prendre en compte (ex : toto@debian1 ou toto@mondomaine.com sera géré par ce serveur)</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">mydestination = debian1, debian1.gray.mondomaine.com,\n localhost.gray.mondomaine.com, localhost, mondomaine.com</p>\n</blockquote>\n<p class=\"spip\">Cette ligne indique le serveur SMTP auquel il faut transférer les messages non gérés par ce serveur (Serveur SMTP du fournisseur d’accès à internet)</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">relayhost = 192.0.0.1</p>\n</blockquote>\n<p class=\"spip\">Cette ligne indique le réseau que ce serveur prend en compte</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">mynetworks = 127.0.0.0/8</p>\n</blockquote>\n<p class=\"spip\">Cette ligne permet d’indiquer une taille maximum pour les messages (0=pas de limite)</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">mailbox_size_limit = 0</p>\n</blockquote>\n<h3>Tester le fonctionnement</h3>\n<p class=\"spip\">Le plus simple est d’avoir au moins deux utilisateurs sur l’ordinateur (toto et tutu)  et de faire des tests d’envois de messages avec la commande \"mail\"</p>\n\n<p class=\"spip\">Exemple où tutu envoie un message à toto :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">tutu$ mail -s \"Sujet du message\" toto\nSaisir le contenu du message et finir par un point\n.\nCc :</p>\n</blockquote>\n<p class=\"spip\">Ou en utilisant un pipe :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">cat LeMessage.txt | mail -s \"Objet du message\" toto</p>\n</blockquote>\n<p class=\"spip\">Ensuite, sous le compte de toto, la commande mail permet de connaître les messages en attente :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">toto$ mail\ntoto$ mail\nMail version 8.1.2 15/12/2004.  Type ? for help.\n\"/var/mail/toto\" : 1 message 1 unread\n>U  1 tutu@mondomaine.com  Fri Jan 24 00:35   17/525</p>\n</blockquote>\n<p class=\"spip\">Il faut saisir le numéro du message pour le lire et la touche q, permet de sortir.</p>\n\n<h3>Que faire en cas de dysfonctionnement</h3>\n<p class=\"spip\">Il faut commencer par regarder les logs :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\"># tail /var/log/mail.log</p>\n</blockquote>\n<p class=\"spip\">Pour vérifier ce qui se passe en cas de problème, il faut envoyer un message sur un utilisateur inconnu du système (ex : test) et un autre message pour un utilisateur non géré par le serveur (test@test.test) en pensant à déconnecter le poste du réseau pour éviter que le message ne parte sur internet.</p>\n\n<p class=\"spip\">Dans le deuxième cas un message de ce genre apparaîtra dans les logs :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">Jan 24 00:37:15 debian1 postfix/smtp[3357] : <strong class=\"spip\">B1E8F3059A</strong> : to=<<a href=\"mailto:test@test.test\" class=\"spip_out\">test@test.test</a>>,\n relay=none, delay=1, status=deferred (connect to 192.0.0.1[192.0.0.1] : Network is unreachable)</p>\n</blockquote>\n<p class=\"spip\">Le code indiqué en gras indique dans quel fichier est stocké le message en attente. Voici les commandes permettant de voir le contenu de celui-ci :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\"># cd /var/spool/postfix/deferred/\n# find -itype f\n./B/B1E8F3059A\n# cat B/B1E8F3059A</p>\n</blockquote>\n<h3>Rediriger les mails et créer des alias avec la table aliases</h3>\n<p class=\"spip\">Cette table permet par exemple d’indiquer que les messages pour root, seront dirigés vers l’utilisateur toto.</p>\n\n<p class=\"spip\">Elle permet aussi de créer des aliases pour indiquer par exemple que l’utilisateur tony.galmcihe sera dirigé vers l’adresse de toto.</p>\n\n<p class=\"spip\">Elle permet enfin de créer des listes de diffusion pour envoyer à plusieurs personnes un message destiné à une seule :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">root :		toto \ntony.galmiche :	toto \nmaliste :		toto tutu tata</p>\n</blockquote>\n<h3>Mise en place de la table aliases</h3>\n<p class=\"spip\">Pour transformer ce fichier texte en base de données utilisable par Postfix, il faut utiliser la commande :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">postalias /etc/aliases</p>\n</blockquote>\n<p class=\"spip\">Vérifier la présence de ces deux lignes dans /etc/main.cf :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">alias_maps = hash :/etc/aliases\nalias_database = hash :/etc/aliases</p>\n</blockquote>\n<p class=\"spip\">Ne pas oublier de recharger Postfix pour prendre en compte les modifications :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">/etc/init.d/postfix reload</p>\n</blockquote>\n<h3>Réécriture des adresses avec la table canonical</h3>\n<p class=\"spip\">Si \"myhostname = mondomaine.com\"</p>\n\n<p class=\"spip\">Si /etc/canonical contient :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">toto	tony.galmiche</p>\n</blockquote>\n<p class=\"spip\">Alors l’adresse toto deviendra tony.galmiche@mondomaine.com</p>\n\n<p class=\"spip\">Si /etc/canonical contient :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">toto	tony.galmiche@mondomaine.com</p>\n</blockquote>\n<p class=\"spip\">Alors l’adresse toto deviendra tony.galmiche@mondomaine.com</p>\n\n<p class=\"spip\">Si /etc/canonical contient :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">@mondomaine.com	@mondomaine.com</p>\n</blockquote>\n<p class=\"spip\">Toutes les adresses se terminant par @mondomaine.com seront remplacées par @mondomaine.com</p>\n\n<p class=\"spip\">Si /etc/canonical contient :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">@mondomaine.com	tony.galmiche</p>\n</blockquote>\n<p class=\"spip\">Toutes les adresses se terminant par @mondomaine.com seront remplacées par tony.galmiche@mondomaine.com</p>\n\n<h3>Mise en place de la table canonical</h3>\n<p class=\"spip\">Créer ou modifier le fichier \"/etc/canonical\" pour indiquer comment Postfix doit récrire les adresses. Exemple :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">toto 		tony.galmiche@monautredomaine.net\n@mondomaine.com	@ monautredomaine.net</p>\n</blockquote>\n<p class=\"spip\">Il faut créer la base de données à partir du ficher texte avec la commande :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">postmap /etc/canonical</p>\n</blockquote>\n<p class=\"spip\">Il faut également modifier \"/etc/postfix/main.cf\" pour indiquer le chemin de la table canonical :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">sender_canonical_maps = hash :/etc/canonical</p>\n</blockquote>\n<p class=\"spip\">Et ne pas oublier de recharger Postfix pour prendre en compte les modifications :</p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">/etc/init.d/postfix reload</p>\n</blockquote>','Ce soir-là était essentiellement consacré à un atelier présenté par moi-même sur l’installation et la configuration de Postfix.','',1289142198,2),(148,148,1,'Installation de XFCE4 sur une Debian Testing','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour installer <strong class=\"spip\">XFCE4</strong> sur une <strong class=\"spip\">Debian</strong> <strong class=\"spip\">Testing</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<p class=\"spip\">Je rappelle que XFCE4 est un environnement de bureau très léger. Il peut fonctionner sans problème sur un pentium 233. Pour plus d’informations, n’hésitez à consulter le site officiel :\n<br /></p>\n<li> <a href=\"http://www.xfce.org/\" class=\"spip_out\">http://www.xfce.org/</a>\n<h2>Pré-requis</h2>\n<p class=\"spip\">Avoir installé une Debian de Base :\n<br /></p>\n<li> cf mon autre document sur ce sujet : <a href=\"http://www.coagul.org/article.php3?id_article=158\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=158</a>\n<h2>Installation de XFree + XFCE4</h2>\n<h3>Installation des paquets</h3>\n<p class=\"spip\">La commande suivante permet d’installer tous les paquets nécessaires (98 paquets, 186 Mo) :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install x-window-system xfce4</code></p>\n\n<h3>Questions posées à la fin du téléchargement des paquets : </h3>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Paquet </strong></th><th scope=\'col\'><strong class=\"spip\">Question </strong></th><th scope=\'col\'><strong class=\"spip\">Réponse</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>Configuration de fontconfig</td><td>Méthode à utiliser pour le rendu du texte</td><td>Autohinter</td></tr>\n<tr class=\"row_odd\"><td>Configuration de libpango1.0-common</td><td> </td><td>OK</td></tr>\n<tr class=\"row_even\"><td> </td><td>Voulez-vous confier la gestion des polices à defoma ?</td><td>Oui</td></tr>\n<tr class=\"row_odd\"><td>Format de papier par défaut du système</td><td> </td><td>A4</td></tr>\n<tr class=\"row_even\"><td>Configuration de xservers-xfree86</td><td>Faut-il essayer de détecter automatiquement votre carte vidéo</td><td><strong class=\"spip\">OUI</strong></td></tr>\n<tr class=\"row_odd\"><td> </td><td>Clavier</td><td>OK</td></tr>\n<tr class=\"row_even\"><td> </td><td>Jeu de règles XKB à utiliser</td><td>xfree86</td></tr>\n<tr class=\"row_odd\"><td> </td><td>Port de branchement de votre souris</td><td>/dev/psaux</td></tr>\n<tr class=\"row_even\"><td> </td><td>Ce qui correspond le mieux à votre souris</td><td>PS/2</td></tr>\n<tr class=\"row_odd\"><td> </td><td>Votre écran est-il de type LCD</td><td>NON</td></tr>\n<tr class=\"row_even\"><td> </td><td>Interface Graphique</td><td>OK</td></tr>\n<tr class=\"row_odd\"><td> </td><td>Méthode de sélection des caractéristiques de l’écran</td><td>advanced</td></tr>\n<tr class=\"row_even\"><td> </td><td>Valeur de rafraîchissement horizontale</td><td>28-50</td></tr>\n<tr class=\"row_odd\"><td> </td><td>Rafraîchissement vertical</td><td>43-75</td></tr>\n<tr class=\"row_even\"><td> </td><td>Modes vidéo utilisés</td><td><strong class=\"spip\">800x600</strong><strong class=\"spip\">1024x768</strong></td></tr>\n<tr class=\"row_odd\"><td> </td><td>Profondeur de 24 bits</td><td>OK</td></tr>\n<tr class=\"row_even\"><td> </td><td>Profondeur des couleurs</td><td>24</td></tr>\n</tbody>\n</table>\n<h3>Test de XFCE4</h3>\n<p class=\"spip\">Une fois l’installation terminée, il faut se connecter sous un utilisateur standard (pas sous root) et utiliser la commande « startx ».</p>\n\n<p class=\"spip\">Il est possible aussi de redémarrer l’ordinateur, pour vérifier que XFCE4 (XDM) démarre automatiquement.</p>\n\n<h3>Purge des paquets téléchargés</h3>\n<p class=\"spip\">La commande suivante permet de purger les paquets téléchargés pour libérer de la place :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get clean</code></p>\n\n<p class=\"spip\">Après l’installation de XFCE4, il doit y avoir environ 250 paquets et 411 Mo d’utilisés.</p>\n\n<h2>Installation de Mozilla</h2>\n<p class=\"spip\">De base, XFCE4, ne possède pas de navigateur et de messagerie. Il est donc nécessaire d’installer par exemple Mozilla</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install mozilla-browser mozilla-mailnews</code></p>\n\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>25/01/05</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.2</td><td>27/01/05</td><td>Corrections suite aux remarques de Gnunux</td></tr>\n</tbody>\n</table>','Ce document me sert de <strong class=\"spip\">mémo</strong> pour installer <strong class=\"spip\">XFCE4</strong> sur une <strong class=\"spip\">Debian</strong> <strong class=\"spip\">Testing</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.','',1288361741,2),(149,149,1,'Ordre du jour du 1 Février 2005 (Porte Ouverte)','<p class=\"spip\"><strong class=\"spip\">Cette soirée, comme tous les premiers mardis de chaque mois, sera une porte ouverte pour permettre à qui le souhaite de venir nous rencontrer.</strong></p>\n\n<p class=\"spip\">Si vous avez entendu parler des logiciels libres ou de Linux et si voulez en savoir plus sur le sujet, c’est le moment de venir nous rencontrer pour poser toutes vos questions.</p>\n\n<p class=\"spip\">Si vous venez d’installer votre premier Linux et avez quelques questions techniques à poser, n’hésitez pas à venir et nous essayerons de faire de notre mieux pour vous aider.</p>\n\n<p class=\"spip\">Si vous êtes déjà un accroc de Linux (et on le devient vite :-) ), vous pouvez venir nous rencontrer pour venir partager votre expérience et éventuellement devenir membre de notre association qui a beaucoup de projets pour la saison 2004-2005 :\n<br /></p>\n<li> ex : Participation à l’organisation des RMLL 2005 qui auront lieu à Dijon en Juillet 2005.\n<p class=\"spip\">Cette porte-ouverte comme toutes nos réunions se tient dans la salle de la mairie de Chevigny Saint-Sauveur et débutera à 20H :\n<br /></p>\n<li> <a href=\"http://www.mappy.com/PlanPerso/coagul/0\" class=\"spip_out\">http://www.mappy.com/PlanPerso/coagul/0</a>','<strong class=\"spip\">Cette soirée, comme tous les premiers mardis de chaque mois, sera une porte ouverte pour permettre à qui le souhaite de venir nous rencontrer.</strong>','',1289136107,2),(150,150,1,'Installation Apache 1.3.xx mod ssl','<p class=\"spip\"><strong class=\"spip\">Installation Apache 1.3.xx - mod-ssl 1.3.xx  - OpenSSL</strong></p>\n\n<p class=\"spip\">L’installation du mode ssl sur Apache nécessite un même numéro de version d’apache et de mod_ssl</p>\n\n<li> <strong class=\"spip\">Installation openssl</strong>\n<ul class=\"spip\"><li class=\"spip\"> télécharger le tar dans /tmp</li><li class=\"spip\"> cd /usr/local/src 		# pour détarage </li><li class=\"spip\"> tar -xzvf /tmp/openssl-x-xx-xx.gz</li><li class=\"spip\"> cd openssl-x-xx-xx</li><li class=\"spip\"> ./config shared -prefix=/usr/local/openssl</li><li class=\"spip\"> make</li><li class=\"spip\"> make test</li><li class=\"spip\"> make install</li><li class=\"spip\"> echo « usr/local/lib » >> /etc/ld.so.conf # écriture à la fin du fichier de conf des librairies partagées</li><li class=\"spip\"> ldconfig # force la  relecture du fichier des librairies partagées</li></ul>\n<li> <strong class=\"spip\">Détarage de Apache et de mod_ssl </strong>\n<ul class=\"spip\"><li class=\"spip\"> télécharger les tar dans /tmp</li><li class=\"spip\"> cd /usr/local/src 		# pour détarage </li><li class=\"spip\"> tar -xzvf /tmp/apache-x-xx-xx. 	# attention nr version identique avec mod_ssl </li><li class=\"spip\"> tar -xzvf /tmp/mod_ssl-x-xx-xx.</li></ul>\n<li> <strong class=\"spip\">Installation mod_ssl</strong>\n<ul class=\"spip\"><li class=\"spip\">  se placer dans le répertoire de mod_ssl-x-x-xx</li><li class=\"spip\"> ./configure -with-apache=../apache &mdash;with-ssl=../openssl -enable-shared=max -prefix=/usr/local/apache</li><li class=\"spip\"> # le fichier de configuration config.status de apache est crée et mis à jour =>le <strong class=\"spip\">sauvegarder</strong></li></ul>\n<li> <strong class=\"spip\">Installation Apache</strong>\n<ul class=\"spip\"><li class=\"spip\"> cd ../apache</li><li class=\"spip\"> sauvegarder le fichier config.status</li><li class=\"spip\"> ./config.status</li><li class=\"spip\"> make</li><li class=\"spip\"> make certificate TYPE=custom #pour fonctionner en mod ssl avec startssl</li><li class=\"spip\"> make install</li></ul>\n<li> <strong class=\"spip\">Installation PHP</strong>\n<ul class=\"spip\"><li class=\"spip\"> cd /usr/local/src	# pour détarage </li><li class=\"spip\"> tar -xzvf /tmp/php-x-xx-xx. 	</li><li class=\"spip\"> ./configure &mdash;prefix=/usr/local/php &mdash;with-apxs=/usr/local/apache/bin/apxs</li><li class=\"spip\"> make</li><li class=\"spip\"> make install</li><li class=\"spip\"> modifier le php.ini (préciser le chemin de stockage des variables de session et le chemin de stockage des upload temporaire) </li><li class=\"spip\"> ajouter la ligne \n AddType application/x-httpd-php .phtml .php .php3\ndans le fichier de configuration d’apache (httpd.conf)</li></ul>\n<p class=\"spip\"><strong class=\"spip\">Attention</strong> si on veut par la suite rajouter des options dans apache et qu’il faille recompiler apache toujours faire une sauvegarde de <i class=\"spip\"> <strong class=\"spip\">config</strong> </i><i class=\"spip\"> <strong class=\"spip\">.status</strong> </i> il est tassé à chaque<i class=\"spip\"> <strong class=\"spip\"> configure</strong> </i></p>\n\n<p class=\"spip\"><strong class=\"spip\">Faire un certificat d’authentification SSL (signé par soi-même)</strong></p>\n\n<p class=\"spip\">Prérequis : openssl installé</p>\n\n<p class=\"spip\">###Création de la clé privée pour le serveur</p>\n\n<p class=\"spip\">openssl genrsa -out ./server.key 1024</p>\n\n<p class=\"spip\">### Création du certificat : repondre aux questions posées</p>\n\n<p class=\"spip\">openssl req -new -key server.key -out server.csr</p>\n\n<p class=\"spip\">### autosignature  (incrementer le numéro de série \"N\" pour chaque nouveau certificat)</p>\n\n<p class=\"spip\">openssl x509 -req -days 365 -set_serial N -in server.csr -signkey server.key -out server.crt</p>\n\n<p class=\"spip\">### combiner le certificat dans le même fichier pour plus de simplicité</p>\n\n<p class=\"spip\">cat server.key server.crt > combined.pem</p>\n\n<p class=\"spip\">### voir les détails du certificat que l’on vient de générer</p>\n\n<p class=\"spip\">openssl x509 -in combined.pem -noout -text</p>\n\n<p class=\"spip\">### copier le certificat au bon endroit ex :</p>\n\n<p class=\"spip\">cp combined.pem /etc/ssl/certs/</p>\n\n<p class=\"spip\">#Apache :</p>\n\n<hr>\n<p class=\"spip\">#editer httpd.conf et/ou ssl.conf et ajouter</p>\n\n<p class=\"spip\">SSLCertificateFile /etc/ssl/certs/combined.pem</p>\n\n<p class=\"spip\">#démarrage apache en mod ssl</p>\n\n<p class=\"spip\">./apachectl startssl</p>','Installation Apache 1.3.xx - mod-ssl 1.3.xx  - OpenSSL\n\n\n<br />L’installation du mode ssl sur Apache nécessite un même numéro de version d’apache et de mod_ssl\n\n\n<br />Installation openssl\n\n\n<br />télécharger le tar dans /tmp\n\n\n<br />cd /usr/local/src 		# pour détarage\n\n\n<br />tar -xzvf /tmp/openssl-x-xx-xx.gz\n\n\n<br />cd openssl-x-xx-xx\n\n\n<br />./config shared -prefix=/usr/local/openssl\n\n\n<br />make\n\n\n<br />make test\n\n\n<br />make install\n\n\n<br />echo « usr/local/lib » >> /etc/ld.so.conf # écriture à la fin du fichier de conf des librairies partagées\n\n\n<br />ldconfig # force la (...)\n','',1288361753,2),(151,151,1,'Installation terminal et imprimante AS400 5250 sur Debian avec tn5250','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour installer <strong class=\"spip\">un</strong> <strong class=\"spip\">terminal 5250 et une imprimante pour un AS400 avec tn5250</strong>. Ce mémo est testé sur une Debian Testing, mais il doit être possible de l’adapter aux autres distributions Linux.</p>\n\n<h2>Pré-requis</h2>\n<br /><li> Avoir installé une Debian de Base : <a href=\"http://www.coagul.org/article.php3?id_article=158\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=158</a>\n<br /><li> Avoir installé KDE : <a href=\"http://www.coagul.org/article.php3?id_article=159\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=159</a>\n<h2>Installation de TN5250</h2>\n<h3>Installation / Lancement</h3>\n<p class=\"spip\">Le paquet tn5250 est un émulateur de terminal 5250 (AS400). Installation du paquet :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># apt-get install tn5250</code></p>\n\n<p class=\"spip\">Commande à exécuter pour se connecter à l’AS400 192.0.0.100</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ tn5250 map=297 192.0.0.100</code></p>\n\n<p class=\"spip\">Commande pour lancer une console séparée</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ konsole -e tn5250 map=297 192.0.0.100</code></p>\n\n<h3>Fichier de configuration ( /.tn5250rc)</h3>\n<p class=\"spip\">Le fichier de configuration « <strong class=\"spip\"> /.tn5250rc</strong> »  ou « <strong class=\"spip\">/etc/tn5250</strong> » permet d’éviter de saisir de nombreux paramètres sur la ligne de commande. Par défaut ce fichier n’existe pas. Voici un exemple :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>MonAS400 {<br />\r\n  host=192.0.0.100<br />\r\n  map=297<br />\r\n  green=white<br />\r\n}</code></div>\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong> : La dernière ligne permet d’indiquer qu’il faut remplacer la couleur « green » par la couleur « white ».</p>\n\n<p class=\"spip\">La commande suivante permet d’utiliser ce paramétrage :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ tn5250 MonAS400</code></p>\n\n<h3>Quelques raccourcis claviers utiles : </h3>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>CTRL+q -> Pour quitter l\'AS400 une fois sur la mire.<br />\r\nCTRL+r -> Pour restaurer clavier après \"Touche de fonction incorrecte\"<br />\r\nCTRL+a -> Touche ATTN<br />\r\nCTRL+c -> Appel système<br />\r\nCTRL+p -> Impression Écran<br />\r\nCTRL+x -> Zone suivante en effaçant ce qu\'il y a derrière le curseur<br />\r\nTAB    -> Zone suivante </code></div>\n<p class=\"spip\">Dans la page de man de tn5250, tous les raccourcis sont indiqués, mais pour arriver à faire par un exemple un « M-a » qui correspond à ATTN, il faut faire :\n<br /></p>\n<li> Si le clavier est en majuscule : ESC et ensuite la touche a\n<br /><li> Si le clavier est en minuscule : ESC et ensuite la touche majuscule et en même temps la touche a\n<p class=\"spip\">Pour faire F24, il est indiqué « M-+ » :\n<br /></p>\n<li> Si le clavier est en majuscule : ESC et ensuite MAJ + +\n<br /><li> Si le clavier est en minuscule : CTRL + g et ensuite MAJ + +\n<h3>Création de l’icône pour KDE</h3>\n<br /><li> Clic droit dans la barre des taches et \"Ajouter / Bouton Spécial / Application non KDE\"\n<br /><li> Mettre \"konsole -e tn5250 map=297 192.0.0.100\" dans \"Exécutable\"\n<br /><li> Choisir une icône de terminal (ex : alevt)\n<h3>Modifier la police par défaut de \"Konsole\" pour que l’affichage soit plus lisible</h3>\n<br /><li> Depuis \"Konsole\" utiliser le menu \"Configuration / Police / Personnalisée\"\n<br /><li> Sélectionner la police « Courrier New » fournie avec le paquet « msttcorefonts » en taille 17 (il ne faut pas utiliser une police supérieure à 17, car l’impression de l’écran ne tient plus sur une page).\n<br /><li> Utiliser le menu \"Configuration / Par défaut\" pour sauvegarder.\n<h2>Personnalisation des couleurs, de la police et du clavier avec xt5250</h2>\n<p class=\"spip\">xt5250 est un script permettant de personnaliser les couleurs et le clavier de tn5250.</p>\n\n<p class=\"spip\">xt5250 à besoin du terminal « <strong class=\"spip\"> xterm </strong> » pour fonctionner correctement :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># apt-get install xterm </code></p>\n\n<p class=\"spip\">La commande suivante lance tn5250 dans un xterm avec quelques touches du clavier modifiées par défaut :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ xt5250 MonAS400</code></p>\n\n<p class=\"spip\">La personnalisation du clavier est faite grâce au fichier suivant :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/usr/share/tn5250/XTerm</code></p>\n\n<p class=\"spip\">Par défaut, la personnalisation apporte au moins les deux améliorations suivantes :\n<br /></p>\n<li> La touche « Echap »  correspond à la touche « ATTN ». Il n’est plus nécessaire de faire CTRL+A.\n<br /><li> La touche « CTRL » de gauche permet de restaurer le clavier (Équivalent CTRL+r).\n<p class=\"spip\">Pour personnaliser la police et les couleurs, il faut modifier le fichier « <strong class=\"spip\"> /.Xresources</strong> » pour chaque utilisateur ou le fichier « <strong class=\"spip\">/usr/lib/X11/app-defaults/XTerm</strong> » pour tous les utilisateurs. Voici par exemple les lignes que j’ai ajouté à la fin du fichier :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>!** Font Courrier et taille 13 pour tous les XTerm<br />\r\nXTerm*faceName:Courier New<br />\r\nXTerm*faceSize:13<br />\r\n<br />\r\n!** Taille 19, curseur clignote et gris pour xt5250<br />\r\nxt5250*VT100.faceSize:19<br />\r\nxt5250*VT100.cursorBlink:true<br />\r\nxt5250*VT100.cursorColor:grey</code></div>\n<p class=\"spip\">Pour personnaliser le clavier, il faut modifier le fichier « <strong class=\"spip\">/usr/share/tn5250/XTerm</strong> ».</p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong> : La première ligne permet de définir la police « Courrier New » pour tous les xterm et la deuxième définit la taille 19 uniquement pour xt5250.</p>\n\n<p class=\"spip\">La ligne suivante permet de prendre en compte pour chaque utilisateur les modifications sans être obligé de redémarrer X :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ xrdb -load .Xresources</code></p>\n\n<p class=\"spip\">ou pour tous les utilisateurs en même temps :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># xrdb -load /usr/lib/X11/app-defaults/XTerm </code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong> : Pour connaître les paramètres qu’il est possible de personnaliser, il faut regarder la page de man de xterm. Mais de nombreux paramètres ne sont pas pris en compte par xt5250.</p>\n\n<p class=\"spip\"><strong class=\"spip\">ATTENTION</strong> : Suite à une mise à jour de Xorg, le chemin de configuration des « <strong class=\"spip\"> xterm </strong> » a changé. Auparavant c’était « <strong class=\"spip\">/usr/X11R6/lib/X11/app-defaults/XTerm</strong> » mais désormais, c’est « <strong class=\"spip\">/usr/lib/X11/app-defaults/Xterm</strong> ». Dans mon cas , j’ai du créer manuellement le dossier « <strong class=\"spip\">app-defaults</strong> » et le fichier « <strong class=\"spip\">XTerm</strong> ». De plus, toujours suite à cette mise à jour, j’ai du créer le lien symbolique suivant pour faire fonctionner « xt5250 » car il ne trouvait plus la table des couleurs :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ln -s /etc/X11/rgb.txt /usr/X11R6/lib/rgb.txt</code></p>\n\n<p class=\"spip\">Après ces modifications, il faut se déconnecter et se reconnecter de KDE.</p>\n\n<h2>Utiliser « Konsole » comme terminal AS400</h2>\n<p class=\"spip\">Configuration de l’affichage :\n<br /></p>\n<li> Changer la taille de police : Configuration / Police / Sélectionner\n<br /><li> Configurer l’encodage des caractères en ISO-8859-1 : Configuration / Encodage / ISO 8859-1\n<p class=\"spip\">Créer une nouvelle session pour accéder à l’AS400 :\n<br /></p>\n<li> Configuration / Configurer Konsole\n<br /><li> Onglet « Session »\n<ul class=\"spip\"><li class=\"spip\"> Nom = AS400</li><li class=\"spip\"> Exécuter = tn5250 Prodstar</li><li class=\"spip\"> $TERM = xterm</li><li class=\"spip\"> Tabulation = Xfree 4.x</li><li class=\"spip\"> Modèle = Couleur Linux</li><li class=\"spip\"> Cliquer sur « Enregistrer la session »</li></ul>\n<p class=\"spip\">Cette nouvelle session est disponible dans le menu « Session »</p>\n\n<p class=\"spip\">Enregistrer les paramètres des sessions :\n<br /></p>\n<li> Avec le menu « Session », ouvrir une ou plusieurs sessions AS400\n<br /><li> Menu « Configuration / Enregistrer les paramètres des sessions » et indiquer par exemple « Profil-AS400 » comme nom de session\n<p class=\"spip\">La commande suivante permet d’ouvrir une nouvelle Konsole en utilisant le profite « AS400 » qui lui même utilise une ou plusieurs sessions « AS400 » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ konsole --profile Profil-AS400</code></p>\n\n<p class=\"spip\">Il est dons possible de créer une entrée de menu avec KMenuEdit qui exécutera cette commande et démarrera la session AS400</p>\n\n<p class=\"spip\">Pour remplacer l’icône de « Konsole » par un autre, il faut ajouter l’option « &mdash;icon » et indiquer l’icône :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ konsole --icon alevt --profile Profil-AS400</code></p>\n\n<p class=\"spip\">Pour supprimer dans le titre « Konsole », il faut ajouter l’option « &mdash;caption \"\" »</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ konsole --icon alevt --caption \"\" --profile Profil-AS400</code></p>\n\n<p class=\"spip\">Pour que rendre ce profil disponible pour tous les utilisateurs, il faut le déplacer dans la partie système :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>mv ~/.kde/share/apps/konsole/profiles/Profil-AS400 /usr/share/apps/konsole/profiles/</code></p>\n\n<p class=\"spip\">Il est possible aussi d’éditer ce fichier manuellement pour effectuer quelques réglages. Dans mon cas, j’ai changé le nom de l’application apparaissant dans la barre de tache :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>Title0=AS400</code></p>\n\n<h2>Installation d’une imprimante AS400</h2>\n<p class=\"spip\">Pour pouvoir imprimer sur une imprimante installée sur un poste Linux ou Windows, il faut démarrer un émulateur d’imprimantes. Le paquet « <strong class=\"spip\"> tn5250 </strong> » fournit également le programme « lp5250d » permettant d‘émuler une imprimante.</p>\n\n<p class=\"spip\">Avant d’utiliser ce programme, il est nécessaire d’avoir une imprimante correctement configurée sur le poste Linux.</p>\n\n<p class=\"spip\">Par exemple, la ligne suivante permet de créer l’imprimante virtuelle « MONIMPRIMANTE » sur l’AS400 192.0.0.100 de type Laser Jet 4 en utilisant l’imprimante Linux nommée HP1300, lancer</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ lp5250d env.DEVNAME=MONIMPRIMANTE env.IBMMFRTYPMDL=*HP4 outputcommand=\'scs2ascii | lpr -P HP1300\' 192.0.0.100</code></p>\n\n<p class=\"spip\">Un poste linux peut démarrer plusieurs imprimantes en même temps et peut faire office de serveur d’imprimantes AS400 pour toutes les imprimantes disponibles sur les postes Windows et Linux.</p>\n\n<p class=\"spip\">Pour démarrer ces imprimantes automatiquement au démarrage du poste Linux, il est possible d’ajouter une ligne par imprimante dans le fichier « /etc/inittab » :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>pa:2345:wait:/usr/bin/lp5250d env.DEVNAME=IMPCPTA4  env.IBMMFRTYPMDL=*HP4 outputcommand=\'scs2ascii | lpr -PHP1320\' prod<br />\r\npb:2345:wait:/usr/bin/lp5250d env.DEVNAME=IMPACHAT1 env.IBMMFRTYPMDL=*HP4 outputcommand=\'scs2ascii | lpr -PHP1100\' prod</code></div>\n<h2>Problèmes rencontrés</h2>\n<br /><li> <strong class=\"spip\">Impossible de faire fonctionner la touche duplication et la touche moins dans certians champs (mais pas dans tous ??)</strong>\n<br /><li> <strong class=\"spip\">Problème dans le réglage des couleurs (il manque des couleurs)</strong>\n<h2>Liens utiles</h2>\n<p class=\"spip\">How-to très complet mais en anglais  \n<br /></p>\n<li> <a href=\"http://www.chowhouse.com/~james/tn5250-HOWTO.pdf\" class=\"spip_out\">www.chowhouse.com/ james/tn5250-HOWTO.pdf</a>\n<p class=\"spip\">Liste de discussion très intéressante mais également en anglais :\n<br /></p>\n<li> <a href=\"http://archive.midrange.com/linux5250/\" class=\"spip_out\">http://archive.midrange.com/linux5250/</a>\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>06/12/04</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.3</td><td>29/07/05</td><td>Ajout chapitre « Installation d’une imprimante AS400 »</td></tr>\n<tr class=\"row_even\"><td>0.4</td><td>12/09/05</td><td>Ajout chapitre « Personnalisation des couleurs, de la police et du clavier avec xt5250 »</td></tr>\n<tr class=\"row_odd\"><td>0.5</td><td>22/05/06</td><td>Ajout compléments sur la personnalisation des couleurs de xt5250</td></tr>\n<tr class=\"row_even\"><td>0.6</td><td>08/09/06</td><td>Correction problème dans les chemins suite à mise à jour de Xorg</td></tr>\n<tr class=\"row_odd\"><td>0.7</td><td>18/12/06</td><td>Compréhension partielle du fonctionnement des touches spéciales</td></tr>\n<tr class=\"row_even\"><td>0.9</td><td>01/06/08</td><td>Ajout du chapitre : Utiliser « Konsole » comme terminal AS400</td></tr>\n</tbody>\n</table>','Ce document me sert de <strong class=\"spip\">mémo</strong> pour installer <strong class=\"spip\">un</strong> <strong class=\"spip\">terminal 5250 et une imprimante pour un AS400 avec tn5250</strong>. Ce mémo est testé sur une Debian Testing, mais il doit être possible de l’adapter aux autres distributions Linux.','',1288361753,2),(152,152,1,'Installation et Configuration de Postfix sur une Debian Testing','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour installer <strong class=\"spip\">Postfix</strong> sur une <strong class=\"spip\">Debian Testing</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<h2>Pré-requis</h2>\n<p class=\"spip\">Avoir installé une Debian de Base :\n<br /></p>\n<li> cf mon autre document sur ce sujet : <a href=\"http://www.coagul.org/article.php3?id_article=158\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=158</a>\n<h2>Installation de Postfix</h2>\n<p class=\"spip\">Par défaut, sur Debian testing, le serveur SMTP installé est Exim4 mais étant donné que je connais Postfix, je préfère donc supprimer Exim4 et le remplacer par Postfix :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install postfix </code></p>\n\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Écran (Titre en rouge) </strong></th><th scope=\'col\'><strong class=\"spip\">Question </strong></th><th scope=\'col\'><strong class=\"spip\">Réponse</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>Postfix configuration</td><td> </td><td>Ok</td></tr>\n<tr class=\"row_odd\"><td> </td><td>Type de configuration</td><td><strong class=\"spip\">Internet par un FAI </strong></td></tr>\n<tr class=\"row_even\"><td> </td><td>A qui envoyer les courriers de root</td><td><strong class=\"spip\">pglinux</strong></td></tr>\n<tr class=\"row_odd\"><td> </td><td>Nom du courrier </td><td>pgdebian</td></tr>\n<tr class=\"row_even\"><td> </td><td>Faut-il ajouter .domaine aux adresses simples</td><td>Non</td></tr>\n<tr class=\"row_odd\"><td> </td><td>Machine du relais SMTP</td><td>mon.relais.smtp</td></tr>\n<tr class=\"row_even\"><td> </td><td>Pour quelles autres destinations accepter le courrier</td><td>Ok</td></tr>\n<tr class=\"row_odd\"><td> </td><td>Forcer les mises à jour synchronisées</td><td>Oui</td></tr>\n</tbody>\n</table>\n<p class=\"spip\">Lors de l’installation de Postfix, apt-get doit supprimer automatiquement Exim4.</p>\n\n<h2>Configuration de Postfix en simple relais SMTP</h2>\n<p class=\"spip\">Il faut ajouter dans le fichier « <strong class=\"spip\">/etc/postfix/main.cf </strong> » l’adresse du relais SMTP :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>relayhost = 192.0.0.1 </code></p>\n\n<p class=\"spip\">et redémarrer Postfix</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/init.d/postfix restart</code></p>\n\n<h2>Configuration de Postfix en serveur complet</h2>\n<p class=\"spip\"><strong class=\"spip\">Détail de la configuration du fichier « /etc/postfix/main.cf »</strong></p>\n\n<p class=\"spip\">Définition du nom du serveur et du domaine :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>myhostname = mail.mondomaine.com<br />\r\nmydomain =  mondomaine.com</code></div>\n<p class=\"spip\">Lire les requêtes depuis toutes les interfaces réseau :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>inet_interfaces = all</code></p>\n\n<p class=\"spip\">Quel domaine afficher dans le courrier sortant :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>myorigin = $mydomain</code></p>\n\n<p class=\"spip\">De quels domaines recevoir le courrier :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>mydestination = $myhostname localhost.$mydomain $mydomain</code></p>\n\n<p class=\"spip\">De quels clients relayer le courrier :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>mynetworks = 192.168.0/8, 10.2.2/8, 10.2.3/8, 127.0.0.0/8</code></p>\n\n<p class=\"spip\">Gestion des aliases et de la re-direction des mails :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>alias_maps = hash:/etc/postfix/aliases</code></p>\n\n<p class=\"spip\">Adresse du relais SMTP pour les courrier non traités par le serveur :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>relayhost = smtp.wanadoo.fr</code></p>\n\n<p class=\"spip\">Ré-écriture de l’adresse de l’expéditeur (ligne à ajouter -> facultatif) :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>sender_canonical_maps = hash:/etc/postfix/canonical</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">ATTENTION : </strong>A chaque modification de ce fichier ou des tables ci-dessous, il faut recharger la configuration :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/rc.d/init.d/postfix reload</code></p>\n\n<h2>Création du fichier des aliases « /etc/postfix/aliases »</h2>\n<p class=\"spip\">Le fichier des alias permet de re-diriger une adresse vers une autre boite (même externe) ou d’écrire une même adresse sous plusieurs formes.</p>\n\n<p class=\"spip\">La création de la table des aliases s’effectue avec la commande spécifique « <strong class=\"spip\"> postalias </strong> » et en mettant le signe «  : » comme séparateur de colonne alors que les autres tables (canonical, transport...) sont créées avec la commande « <strong class=\"spip\"> postmap </strong> » sans le signe «  : » comme séparateur :</p>\n\n<p class=\"spip\">Éditer le fichier « <strong class=\"spip\">/etc/postfix/aliases</strong> » et saisir les informations sous la forme suivante :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>root :        pglinux<br />\r\npglinux :        tony.galmiche@pg.com<br />\r\ntg :        tony.galmiche@pg.com</code></div>\n<p class=\"spip\">Créer la table à partir du fichier texte :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>postalias /etc/postfix/aliases </code></p>\n\n<p class=\"spip\"><strong class=\"spip\">ATTENTION : </strong>Après chaque modification de ce fichier, il faut recréer la table et recharger le fichier de configuration :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>postalias /etc/postfix/aliases<br />\r\n/etc/rc.d/init.d/postfix reload</code></div>\n<h2>Création du ficher de ré-écriture de l’adresse de l’expéditeur.</h2>\n<p class=\"spip\">L’utilisation de ce fichier est facultatif pour le fonctionnement de « Postfix »</p>\n\n<p class=\"spip\">Éditer le fichier /etc/postfix/canonical et saisir les informations sous la forme suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>tg        tony.galmiche@pg.com</code></p>\n\n<p class=\"spip\">Créer la table à partir du fichier texte :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>postmap /etc/postfix/canonical </code></p>\n\n<p class=\"spip\"><strong class=\"spip\">ATTENTION : </strong>Après chaque modification de ce fichier, il faut recréer la table et recharger le fichier de configuration :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>postmap /etc/postfix/canonical<br />\r\n/etc/rc.d/init.d/postfix reload</code></div>\n<h2>Création du fichier des modes de transport.</h2>\n<p class=\"spip\">Ce fichier permet de spécifier un mode de transport différent de « SMTP » ou un relais SMTP spécifique en fonction de chaque domaine.</p>\n\n<p class=\"spip\">Éditer le fichier « <strong class=\"spip\">/etc/postfix/transport </strong> » et saisir les informations sous la forme suivante :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>domaine1.com        local:<br />\r\ndomaine2.com        smtp : 10.2.2.1</code></div>\n<p class=\"spip\">Créer la table à partir du fichier texte :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>postmap /etc/postfix/transport </code></p>\n\n<p class=\"spip\"><strong class=\"spip\">ATTENTION : </strong>Après chaque modification de ce fichier, il faut recréer la table et recharger le fichier de configuration :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>postmap /etc/postfix/transport<br />\r\n/etc/rc.d/init.d/postfix reload</code></div>\n<h2>Consultation des logs</h2>\n<p class=\"spip\">Lire les logs des messages envoyés :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>tail -f /var/log/mail/info</code></p>\n\n<p class=\"spip\">Compter les messages deffered par Postfix :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>find /var/spool/posfix/deffered -type f | wc</code></p>\n\n<h2>Autres sources d’informations</h2>\n<p class=\"spip\">Documentation en français répertoriée sur le site officielle de Postfix :\n<br /></p>\n<li> <a href=\"http://www.postfix.org/non-english.html#french\" class=\"spip_out\">http://www.postfix.org/non-english.html#french</a>\n<p class=\"spip\">Livre « Postfix - La référence » chez O’Reilly :\n<br /></p>\n<li> <a href=\"http://www.oreilly.fr/catalogue/2841772853.html\" class=\"spip_out\">http://www.oreilly.fr/catalogue/2841772853.html</a>\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>01/01/02</td><td>Création par Tony GALMICHE (sous Mandrake)</td></tr>\n<tr class=\"row_odd\"><td>0.2</td><td>10/12/04</td><td>Reprise du document pour Debian</td></tr>\n<tr class=\"row_even\"><td>0.3</td><td>27/07/05</td><td>Ajout du chapitre « Autres sources d’informations »</td></tr>\n<tr class=\"row_odd\"><td>0.4</td><td>19/05/06</td><td>Petite correction</td></tr>\n</tbody>\n</table>','Ce document me sert de <strong class=\"spip\">mémo</strong> pour installer <strong class=\"spip\">Postfix</strong> sur une <strong class=\"spip\">Debian Testing</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.','',1288361754,2),(153,153,1,'\r\nOrdre du jour du 8 Février 2005 (Reconnaissance de systèmes d’exploitations à distance)','<p class=\"spip\">Cette soirée sera consacrée à un atelier présenté par <strong class=\"spip\">Gnunux</strong> sur <strong class=\"spip\">« De la reconnaissance de système d’exploitation à distance au camouflage. </strong><i class=\"spip\"> <strong class=\"spip\"> » </strong> </i></p>\n\n<p class=\"spip\"><strong class=\"spip\">Niveau </strong> : Elevé</p>\n\n<p class=\"spip\"><strong class=\"spip\">Objectifs </strong> : . technique pour identifier un système d’exploitation (nmap, p0f ...). les moyens de se cacher (et les problèmes que cela peut poser) cela peut déboucher sur les moyens de reconnaissance et de suivi des clients internet (avec étude du protocole http notamment : cookie, user agent, referent ...)</p>\n\n<p class=\"spip\">Pour information, voici les personnes intéressées par cet atelier :\n<br /></p>\n<li> <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=HuGin\" class=\"spip_out\">HuGin</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=JibuX\" class=\"spip_out\">JibuX</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=LauRent\" class=\"spip_out\">LauRent</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=MarciUn\" class=\"spip_out\">MarciUn</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=YogI\" class=\"spip_out\">YogI</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=PhilippE\" class=\"spip_out\">PhilippE</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=GronGruik\" class=\"spip_out\">GronGruik</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=BenUx21\" class=\"spip_out\">BenUx21</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=FtZ\" class=\"spip_out\">FtZ</a>\n<blockquote class=\"spip\">\n<p class=\"spip\">Cette réunion est consacrée en priorité à cet atelier qui débutera à 20H30. Si vous souhaitez y assister, vous êtes le bienvenu. Mais si vous souhaitez simplement nous rencontrer, il est recommandé de venir le premier mardi de chaque mois où nous organisons une soirée porte ouvertes et où nous serons plus disponibles pour vous accueillir.</p>\n\n</blockquote>','Cette soirée sera consacrée à un atelier présenté par <strong class=\"spip\">Gnunux</strong> sur <strong class=\"spip\">« De la reconnaissance de système d’exploitation à distance au camouflage. </strong><i class=\"spip\"> <strong class=\"spip\"> » </strong> </i>','',1289136107,2),(154,154,1,'Lecture / écriture en C de fichiers distants en combinant libxml2 et GnomeVFS','<h3>Comment combiner GnomeVFS et libxml pour lire et écrire des fichiers XML sur des serveurs distants.</h3>\n<p class=\"spip\"><strong class=\"spip\">Première étape, permettre l’authentification de l’utilisateur si nécessaire :</strong></p>\n\n<p class=\"spip\">Il faut en tout premier initaliser GnomeVFS, puis le gestionnaire d’authentification.</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\ngnome_vfs_init ();<br />\r\ngnome_authentication_manager_init ();<br />\r</code></div>\n<p class=\"spip\">Cet appel n’est nécessaire que si le serveur distant nécessite une authentification. Dans le doute, il l’est. La fonction est implémentée dans libgnomeui et donc cette bibliothèque est nécessaire.\nRemarque : si le premier accès se fait à travers la boite de dialogue GtkFileChooserDialog, cet appel n’est pas nécessaire, et si on veut éviter l’utilisation de libgnomeui, on peut toujours écire une fonction équivalente.</p>\n\n<p class=\"spip\"><strong class=\"spip\">Deuxième étape, lire le fichier pour obtenir une structure xmlDoc :</strong></p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\nGnomeVFSHandle *handle;<br />\r\nxmlDocPtr xml;<br />\r\nGnomeVFSResult result = gnome_vfs_open (&handle, filename, GNOME_VFS_OPEN_READ);<br />\r\nif (result != GNOME_VFS_OK) {<br />\r\n        /* traiter l\'erreur, par exemple en émettant un message et en retournant un code d\'erreur */<br />\r\n}<br />\r\nif (!(xml = xmlReadIO ((xmlInputReadCallback) cb_vfs_to_xml, <br />\r\n                                 (xmlInputCloseCallback) gnome_vfs_close, handle, filename, NULL, 0))) {<br />\r\n        /* traiter l\'erreur de lecture */<br />\r\n}<br />\r</code></div>\n<p class=\"spip\">La fonction cb_vfs_to_xml est nécessaire car gnome_vfs_write n’a pas les mêmes arguments que xmlInputCloseCallback. Son code source est :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\nstatic int        cb_vfs_to_xml (GnomeVFSHandle *handle, char* buf, int nb)<br />\r\n{<br />\r\n        GnomeVFSFileSize ndone;<br />\r\n        return  (gnome_vfs_read (handle, buf, nb, &ndone) == GNOME_VFS_OK)? (int) ndone: -1;<br />\r\n}<br />\r</code></div>\n<p class=\"spip\"><strong class=\"spip\">De même, pour écrire un fichier :</strong></p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\nxmlDocPtr xml;<br />\r\n/* Ici, construire l\'arbre ... */<br />\r\n<br />\r\nxmlOutputBufferPtr buf = xmlAllocOutputBuffer (NULL);<br />\r\nGnomeVFSHandle *handle;<br />\r\nint n;<br />\r\nGnomeVFSResult result = gnome_vfs_open (&handle, filename, GNOME_VFS_OPEN_WRITE);<br />\r\nif (result == GNOME_VFS_ERROR_NOT_FOUND)<br />\r\n        result = gnome_vfs_create (&handle, filename, GNOME_VFS_OPEN_WRITE, true, 0644); /* on peut utiliser un autre droit d\'accès, mais ils ne sont utilisés que si le serveur l\'autorise */<br />\r\nif (result != GNOME_VFS_OK) {<br />\r\n        /* traiter l\'erreur, par exemple en émettant un message et en retournant un code d\'erreur */<br />\r\n}<br />\r\nbuf->context = handle;<br />\r\nbuf->closecallback = (xmlOutputCloseCallback) gnome_vfs_close;<br />\r\nbuf->writecallback = (xmlOutputWriteCallback) cb_xml_to_vfs;<br />\r\nint n = xmlSaveFormatFileTo (buf, xml, NULL, true);<br />\r</code></div>\n<p class=\"spip\">De la même façon que pour la lecture, on a besoin d’une fonction utilitaire, appelée ici cb_xml_to_vfs. Son code est :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\nstatic int        cb_xml_to_vfs (GnomeVFSHandle *handle, const char* buf, int nb)<br />\r\n{<br />\r\n        GnomeVFSFileSize ndone;<br />\r\n        return (int) gnome_vfs_write (handle, buf, nb, &ndone);<br />\r\n}<br />\r</code></div>','Comment combiner les fonctionnalités de libxml2 et GnomeVFS pour lire et écrire des fichiers XML situés sur des serveurs distants.','',1288361756,2),(156,156,1,'Réparation d’un système de fichiers ext2 ou ext3 sous Linux ','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour <strong class=\"spip\">réparer</strong> un système de fichiers de type « <strong class=\"spip\"> ext2 </strong> » ou « <strong class=\"spip\"> ext3 </strong> » sous Linux. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>\n\n<h2>Connaître la liste des partitions</h2>\n<p class=\"spip\">La première chose à faire est de connaître la liste des partitions utilisées par le système.</p>\n\n<p class=\"spip\">La commande suivante permet de connaître les partitions montées :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>df</code></p>\n\n<p class=\"spip\">La commande suivante, permet d’avoir la liste complète des partitions du disque « /dev/sda » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>fdisk -l /dev/sda</code></p>\n\n<h2>Passer le système de fichiers en lecture seule</h2>\n<p class=\"spip\">Avant de pouvoir corriger un système de fichiers, il est nécessaire de le passer en lecture seule. Dans certains cas, cette opération est possible en utilisant les commandes suivantes, mais en général, il est préférable de booter sur un cd de réparation ou sur un live cd (comme la Knoppix) pour avoir un système de fichiers en lecture seule.</p>\n\n<p class=\"spip\">La commande suivante permet de passer en mode mono-utilisateur :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>init 1</code></p>\n\n<p class=\"spip\">La commande suivante démonte et remonte en lecture seule la partition racine « / » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>mount -n -o remount,ro /</code></p>\n\n<p class=\"spip\">La commande suivante permet de remonter la partition racine « / » en lecture écriture lorsque celle-ci est réparée :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>mount -n -o remount,rw /</code></p>\n\n<h2>Corriger le système de fichiers</h2>\n<p class=\"spip\">La commande « <strong class=\"spip\"> e2fsck </strong> » permet de réparer les systèmes de fichiers « <strong class=\"spip\">ext2 </strong> » ou « <strong class=\"spip\">ext3 </strong> ».</p>\n\n<p class=\"spip\">La commande suivante permet de vérifier si la partition « /dev/sda1 » comporte des fichiers défectueux :\n<br /></p>\n<li> -f : Force la vérification même si le système de fichiers semble propre.\n<br /><li> -n : Ouvre en lecture-seule le système de fichiers, et répond « non » à toutes  les  questions.\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>e2fsck -f -n /dev/sda1</code></p>\n\n<p class=\"spip\">La commande suivante permet de corriger la partition « /dev/sda1 ». <strong class=\"spip\">ATTENTION</strong> : Il est impératif que le système de fichiers soit en lecture seule et qu’il soit bien de type ext2 ou ext3 : \n<br /></p>\n<li> -p : Répare automatiquement le système de fichiers sans poser la moindre question.\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>e2fsck -f -p /dev/sda1</code></p>\n\n<h2>Réparer un superbloc défectueux :</h2>\n<p class=\"spip\">Une copie du superbloc est effectuée automatiquement par le système de fichiers tous les 8ko. La commande suivante permet donc de récupérer cette copie et donc de réparer le superbloc :</p>\n\n<p class=\"spip\">La commande « <strong class=\"spip\">e2fsck /dev/sda1 -b n </strong> » ou n est un multiple de 8192 +1 permet de réparer un système de fichiers dont le superbloc est défectueux. ex :\n<br /></p>\n<li> -b : Au lieu d’utiliser le superbloc normal, utilise un autre superbloc spécifié.\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>e2fsck /dev/sda1 -b 8193</code></p>\n\n<p class=\"spip\">ou :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>e2fsck /dev/sda1 -b 16385</code></p>\n\n<h2>Marquer les secteurs défectueux</h2>\n<p class=\"spip\">La commande suivante permet de marquer les secteurs défectueux de la partition « /dev/sda1 » pour empêcher l’enregistrement sur ceux-ci :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>e2fsck -c /dev/sda1</code></p>\n\n<h2>Autres commandes</h2>\n<p class=\"spip\">La commande « <strong class=\"spip\"> debugfs </strong> » permet aussi de réparer le système de fichier. A utiliser uniquement si la commande « <strong class=\"spip\"> e2fsck </strong> » a échouée.</p>\n\n<p class=\"spip\">La commande « <strong class=\"spip\"> fsck </strong> » permet de réparer tous les systèmes de fichiers (man fsck pour plus d’infos).</p>\n\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>26/11/02</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.2</td><td>04/02/05</td><td>Mise à jour pour mise en ligne et suite à remarque de Piou.</td></tr>\n</tbody>\n</table>','Ce document me sert de <strong class=\"spip\">mémo</strong> pour <strong class=\"spip\">réparer</strong> un système de fichiers de type « <strong class=\"spip\"> ext2 </strong> » ou « <strong class=\"spip\"> ext3 </strong> » sous Linux. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.','',1288361757,2),(157,157,1,'Un logiciel libre c’est quoi ?','<h2>Un logiciel libre, c’est gratuit et copiable légalement</h2>\n<p class=\"spip\">Un logiciel libre est un logiciel qui peut être téléchargé <strong class=\"spip\">gratuitement</strong> sur Internet.</p>\n\n<p class=\"spip\">Il est possible (et parfaitement légal) de le <strong class=\"spip\">copier</strong> et de le distribuer à autant de personnes que vous voulez (c’est même fortement recommandé).</p>\n\n<p class=\"spip\">Il est possible de l’utiliser dans un but personnel ou professionnel et il est même possible de le revendre.</p>\n\n<p class=\"spip\"><strong class=\"spip\">Mais un logiciel libre, c’est encore mieux que ça :-)</strong></p>\n\n<h2>Le code source est également disponible gratuitement</h2>\n<p class=\"spip\">Le code source (recette de fabrication) du logiciel libre est également disponible gratuitement.</p>\n\n<p class=\"spip\">Si on veut comparer le logiciel libre avec un plat cuisiné, on pourrait dire, qu’un logiciel libre est un plat cuisiné qui serait gratuit et dont la recette de fabrication serait également disponible gratuitement.</p>\n\n<p class=\"spip\">Cette notion de code source disponible est très importante car si le développeur du logiciel décide d’arrêter le développement du logiciel, un autre pourra continuer son travail en reprenant le code source.</p>\n\n<p class=\"spip\"><strong class=\"spip\">Cela garantit également que le logiciel libre sera toujours libre et ne pourra jamais devenir payant.</strong></p>\n\n<p class=\"spip\"><strong class=\"spip\">Mais un logiciel libre, c’est encore plus que ça :-)</strong></p>\n\n<h2>Il est possible d’intervenir sur le développement du logiciel</h2>\n<p class=\"spip\">Si vous trouvez un dysfonctionnement ou si vous pensez que le logiciel ne fonctionne pas comme vous en avez envie, il est possible d’en discuter avec les auteurs et, souvent, d’obtenir rapidement une amélioration si elle est jugée raisonnable.</p>\n\n<p class=\"spip\">Si vous êtes programmeur, vous pouvez modifier le code source et donc le logiciel à votre convenance à condition de rendre les modifications publiques et d’en faire profiter tout le monde.</p>\n\n<h2>Existe-il beaucoup de logiciels libres ?</h2>\n<p class=\"spip\">Il existe des centaines (milliers) de logiciels libres dans tous les domaines :\n<br /></p>\n<li> Le plus connu (par les informaticiens) est certainement <strong class=\"spip\">Linux</strong> qui est un système d’exploitation capable de remplacer Windows dans de nombreux cas.\n<ul class=\"spip\"><li class=\"spip\"> <a href=\"http://linuxfr.org/pub/\" class=\"spip_out\">http://linuxfr.org/pub/</a></li><li class=\"spip\"> <a href=\"http://www.mandrakelinux.com/fr/\" class=\"spip_out\">http://www.mandrakelinux.com/fr/</a></li></ul>\n<li> Pour la bureautique il existe <strong class=\"spip\">OpenOffice.org</strong> qui peut remplacer Word, Excel et PowerPoint (OpenOffice.org est de plus en plus utilisé dans les administrations françaises).\n<ul class=\"spip\"><li class=\"spip\"> <a href=\"http://fr.openoffice.org/\" class=\"spip_out\">http://fr.openoffice.org/</a></li></ul>\n<li> Pour naviguer sur Internet en remplacement d’Internet Explorer, il existe <strong class=\"spip\">Mozilla</strong> ou son dérivé <strong class=\"spip\">FireFox. </strong>D’ailleurs, si vous voulez limiter le nombre de virus et d’espions sur votre ordinateur, il est fortement recommandé de ne plus utiliser Internet Explorer.\n<li> Pour votre messagerie, à la place d’Outlook ou d’Outlook Express, il existe <strong class=\"spip\">Mozilla</strong> ou son dérivé <strong class=\"spip\">Thunderbird. </strong>Ce logiciel est également fortement recommandé pour limiter le risque de virus.\n<ul class=\"spip\"><li class=\"spip\"> <a href=\"http://frenchmozilla.sourceforge.net/\" class=\"spip_out\">http://frenchmozilla.sourceforge.net/</a></li><li class=\"spip\"> <a href=\"http://www.mozilla-europe.org/fr/\" class=\"spip_out\">http://www.mozilla-europe.org/fr/</a></li></ul>\n<li> Je finirai par <strong class=\"spip\">Gimp</strong> qui est comparable à Photoshop et permet de retoucher vos photos.\n<ul class=\"spip\"><li class=\"spip\"> <a href=\"http://www.gimp-fr.org/html/index.html\" class=\"spip_out\">http://www.gimp-fr.org/html/index.html</a></li></ul>\n<p class=\"spip\">Pour avoir une liste beaucoup plus complète sur les logiciels libres, je vous conseille l’excellent site de Framasoft :</p>\n\n<ul class=\"spip\"><li class=\"spip\"> <a href=\"http://www.framasoft.net/\" class=\"spip_out\">http://www.framasoft.net/</a></li></ul>\n<h2>Mais si c’est si bien pourquoi ce n’est pas connu ?</h2>\n<p class=\"spip\">Le logiciel libre étant basé en grande partie sur le bénévolat, il n’a pas de moyens financiers. Donc il n’a pas la possibilité de faire de la pub à la télé ou dans les magazines.</p>\n\n<p class=\"spip\">Mais avec l’arrivée de grosses sociétés, cela est en train de changer et IBM a déjà fait de nombreux spots publicitaires sur Linux, à la télévision et dans des magazines.</p>\n\n<p class=\"spip\">De plus, le logiciel libre étant de plus en plus adopté par de grandes sociétés et dans de grandes administrations (ex : Ministère de l’intérieur) de nombreux articles sortent dans les journaux.</p>\n\n<h2>Si tout est gratuit, comme ça peut fonctionner ?</h2>\n<p class=\"spip\">Depuis l’origine de l’informatique, il y a toujours eu des utilisateurs qui considèrent l’informatique comme un passe temps ou plutôt une passion. De nombreuses personnes peuvent passer des journées (et même des nuits) sur un ordinateur juste pour le plaisir de développer des programmes.</p>\n\n<p class=\"spip\">Avec l’arrivée d’Internet, ces passionnés d’informatique ont pu partager leurs connaissances et  développer en commun des programmes de plus en plus performants.</p>\n\n<p class=\"spip\">De plus, depuis quelques années de nombreuses sociétés dont la plus connue est IBM, sont venues rejoindre les rangs des bénévoles ce qui permet aux logiciels libres de se développer encore plus vite.</p>\n\n<h2>Mais pourquoi IBM participe t-il au développement de logiciels gratuits ?</h2>\n<p class=\"spip\">Chaque société participant au développement de logiciels libres a forcement une bonne raison de le faire.</p>\n\n<p class=\"spip\">IBM est devenue ces dernières années essentiellement une société de services en informatique et non plus un fabricant d’ordinateurs.</p>\n\n<p class=\"spip\">En participant au développement de Linux, IBM peut l’adapter plus facilement à ses serveurs et vendre des heures de formations et de maintenance sur ceux-ci.</p>\n\n<h2>Conclusion</h2>\n<p class=\"spip\">Avec ces quelques lignes, j’espère vous avoir donné envie de découvrir les logiciels libres. Si ces logiciels vous conviennent, n’hésitez pas à en parler autour de vous.</p>\n\n<p class=\"spip\">Et peut-être qu’un jour, vous viendrez rejoindre les milliers de bénévoles qui oeuvrent dans tous les domaines (programmation, traduction, documentation,...)</p>','<p class=\"spip\">Un logiciel libre est un logiciel qui peut être téléchargé <strong class=\"spip\">gratuitement</strong> sur Internet.</p>\n\n<p class=\"spip\">Il est possible (et parfaitement légal) de le <strong class=\"spip\">copier</strong> et de le distribuer à autant de personnes que vous voulez (c’est même fortement recommandé).</p>','',1288361757,2),(158,158,1,'Coagul au JDLL 2004','<p class=\"spip\">Quelques photos prises au JDLL 2004 à Lyon.</p>\n\n<p class=\"spip\">Merci a l’équipe de l’ALDIL pour ce bon moment</p>','Quelques photos prises au JDLL 2004 à Lyon.\n\n\n<br />Merci a l’équipe de l’ALDIL pour ce bon moment\n','',1288361764,2),(159,159,1,'Coagul au salon Solution Linux','<p class=\"spip\">Dans le cadre de la promotion des Rencontres Mondiales du Logiciel Libre, nous étions invités sur le stand de l’APRIL.</p>\n\n<p class=\"spip\">Gerald et moi même avons répondu présents.\nNous nous sommes donc rendus sur le salon Solution Linux, qui aurait du s’apeller \"<i class=\"spip\">solution GNU/linux</i>\" selon certains activistes, pour les trois jours.</p>\n\n<p class=\"spip\">C’était une première pour nous deux. Le choc fut un peu rude au début, mais on s’y habitue très vite.\nUn salon rien que sur linux et les solutions libres, quel pied !!</p>\n\n<p class=\"spip\">Mais bon, on distingue quand même deux mondes bien séparés.</p>\n\n<li> D’un coté les pro : moquette bleue, costumes cravattes, commerciaux, champagne et beaux stands.\n<li> De l’autre le village : moquette violette, t-shirt geek, barbu, cola/biere et franche rigolade.\n<p class=\"spip\">Je vous laisse deviner quel coté m’a le plus intéressé ...</p>\n\n<p class=\"spip\">Nous avons donc largement distribué le tract d’information, et pour le coup, c’était nous les commerciaux ;)\nNous avons révisé le concept de communication récurente. Il y en avait partout !</p>\n\n<p class=\"spip\">Mais nous n’avons pas fait que ça, heureusement.</p>\n\n<p class=\"spip\">Gerald, étant de l’organisation du village des associations, nous en avons profité pour contacter les projets et les GULL présents sur le salon.\nIdem pour les éventuels sponsorts des éventuels concours ...</p>\n\n<p class=\"spip\">Nous avons eu aussi une très intéressante réunion avec Jean Peyratout de SCIDERALLE au sujet de la journée de préfiguration pour l’éducation. (objet d’une autre nouvelle)\nUne bonne mise en jambes dirons nous :)</p>\n\n<p class=\"spip\">Et je ne m’étendrai pas ici sur les soirées du salon, ou nous avons passé de bon moments avec l’APRIL, entre autre.\n(Merci Ludo de m’avoir logé)</p>\n\n<p class=\"spip\"><span class=\'spip_document_99 spip_documents spip_documents_center\' >\n<img src=\'http://download.tuxfamily.org/assocoagul/drupal-files/spip/tract_escargot.jpg\' width=\"400\" height=\"563\" alt=\"Tract escargot\" title=\"Tract escargot\" /></span><p>','Promotion des Rencontres Mondiales du Logiciel Libre. [Photo du tract]','',1288361765,2),(360,790,1,'Dernière minute : nouvelle salle de réunion à Quetigny','A compter du mardi 4 avril 2006, nos réunions se dérouleront dans une salle du centre social et culturel Léo Lagrange de Quétigny (rue des prairies)\r\n<br /><li> <a href=\"http://www.mappy.com/mappymoi/map?data_id=3953AD29-12D0-4B0B-9B4E-956CFED104FF\" class=\"spip_out\">Plan d’accès</a>','A compter du mardi 4 avril 2006, nos réunions se dérouleront dans une salle du centre social et culturel Léo Lagrange de Quétigny (rue des prairies)\r\n<br /><li> <a href=\"http://www.mappy.com/mappymoi/map?data_id=3953AD29-12D0-4B0B-9B4E-956CFED104FF\" class=\"spip_out\">Plan d’accès</a>','',1289212016,2),(360,791,1,'Dernière minute : nouvelle salle de réunion à Quetigny','A compter du mardi 4 avril 2006, nos réunions se dérouleront dans une salle du centre social et culturel Léo Lagrange de Quétigny (rue des prairies)\r\n<br /><li> <a href=\"http://www.mappy.com/mappymoi/map?data_id=3953AD29-12D0-4B0B-9B4E-956CFED104FF\" class=\"spip_out\">Plan d’accès</a>','A compter du mardi 4 avril 2006, nos réunions se dérouleront dans une salle du centre social et culturel Léo Lagrange de Quétigny (rue des prairies)\r\n<br /><li> <a href=\"http://www.mappy.com/mappymoi/map?data_id=3953AD29-12D0-4B0B-9B4E-956CFED104FF\" class=\"spip_out\">Plan d’accès</a>','',1289212070,2),(161,161,1,'Ordre du jour du 15 Février 2005 (Présentation de Digikam)','<p class=\"spip\">Cette soirée sera consacrée à un atelier présenté par <strong class=\"spip\">YogI</strong> sur <strong class=\"spip\">« Présentation de Digikam </strong><i class=\"spip\"> <strong class=\"spip\"> » </strong> </i></p>\n\n<p class=\"spip\"><strong class=\"spip\">Niveau </strong> : Débutant.</p>\n\n<p class=\"spip\">Pour information, voici les personnes intéressées par cet atelier :\n<br /></p>\n<li> <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=LauRent\" class=\"spip_out\">LauRent</a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=FtZ\" class=\"spip_out\">, </a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=YaST\" class=\"spip_out\">YaST</a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=FtZ\" class=\"spip_out\">, </a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=TonY\" class=\"spip_out\">TonY,</a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=FtZ\" class=\"spip_out\"> </a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=BenUx21\" class=\"spip_out\">BenUx21</a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=FtZ\" class=\"spip_out\">, </a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=JibuX\" class=\"spip_out\">JibuX</a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=FtZ\" class=\"spip_out\">, </a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=BouiL\" class=\"spip_out\">BouiL</a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=FtZ\" class=\"spip_out\">, </a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=PhilippE\" class=\"spip_out\">PhilippE</a>\n<blockquote class=\"spip\">\n<p class=\"spip\">Cette réunion est consacrée en priorité à cet atelier qui débutera à 20H30. Si vous souhaitez y assister, vous êtes le bienvenu. Mais si vous souhaitez simplement nous rencontrer, il est recommandé de venir le premier mardi de chaque mois où nous organisons une soirée porte ouvertes et où nous serons plus disponibles pour vous accueillir.</p>\n\n</blockquote>','Cette soirée sera consacrée à un atelier présenté par <strong class=\"spip\">YogI</strong> sur <strong class=\"spip\">« Présentation de Digikam </strong><i class=\"spip\"> <strong class=\"spip\"> » </strong> </i>','',1289136107,2),(162,162,1,'Jouons avec ARP','<p class=\"spip\"><strong class=\"spip\"> <i class=\"spip\">Introduction aux couches réseaux</i> </strong></p>\n\n<p class=\"spip\">Pour comprendre ce qu’est ARP [<a href=\"#nb1\" name=\"nh1\" id=\"nh1\" class=\"spip_note\" title=\'[1] http://fr.wikipedia.org/wiki/ARP\' >1</a>], il faut comprendre un minimum le transport de paquet sur le réseau.\nPour qu’un paquet circule il faut déjà un matériel. Le matériel se charge du transport physique des paquets. Cela peut être par un câble, par des ondes électro-magnétiques ...</p>\n\n<p class=\"spip\">Puis il faut un réseau. Aujourd’hui les réseau ethernet [<a href=\"#nb2\" name=\"nh2\" id=\"nh2\" class=\"spip_note\" title=\'[2] http://fr.wikipedia.org/wiki/Ethernet\' >2</a>] sont majoritaires mais il reste encore d’autre type comme le token ring [<a href=\"#nb3\" name=\"nh3\" id=\"nh3\" class=\"spip_note\" title=\'[3] http://fr.wikipedia.org/wiki/Token_Ring\' >3</a>].</p>\n\n<p class=\"spip\">Une des caractéristiques du réseau ethernet, c’est qu’il est nécessaire d’avoir l’adresse MAC [<a href=\"#nb4\" name=\"nh4\" id=\"nh4\" class=\"spip_note\" title=\'[4] http://fr.wikipedia.org/wiki/Adresse_MAC\' >4</a>]  unique de la carte réseau de l’expéditeur (notre machine) et l’adresse MAC du destinataire pour pouvoir faire circuler un paquet.</p>\n\n<p class=\"spip\">Par dessus nous avons souvent le protocole IPv4 [<a href=\"#nb5\" name=\"nh5\" id=\"nh5\" class=\"spip_note\" title=\'[5] http://fr.wikipedia.org/wiki/IPv4\' >5</a>] (IP version 4). Cette fois-ci c’est l’adresse IP qui est nécessaire.</p>\n\n<p class=\"spip\"><span class=\'spip_document_102 spip_documents spip_documents_center\' >\n<img src=\'http://download.tuxfamily.org/assocoagul/drupal-files/spip/reseau.png\' width=\"458\" height=\"155\" alt=\"schéma du réseau\" title=\"schéma du réseau\" /></span><p>\n\n<p class=\"spip\"><strong class=\"spip\"> <i class=\"spip\">ARP sous GNU</i> </strong></p>\n\n<p class=\"spip\">Dans la suite nous utiliseront deux machines (il est obligatoire d’avoir deux machines) :</p>\n\n<p class=\"spip\">la première machine :\n<br /></p>\n<li> ip : 192.168.12.1\n<br /><li> mac : 00:10:AA:1B:CB:AA\n<p class=\"spip\">la deuxième machine :\n<br /></p>\n<li> ip : 192.168.12.2\n<br /><li> mac : 00:06:25:AA:57:3A\n<p class=\"spip\">Nous sommes sur la deuxième machine.</p>\n\n<p class=\"spip\">Commencons par regarder le cache de la table ARP :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># arp -a<br />\r\n#</code></div>\n<p class=\"spip\">Ici nous voyons que notre cache est vide.</p>\n\n<p class=\"spip\">Lancons une requête ARP et voyons le resultat dans notre cache :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># arping 192.168.12.1<br />\r\n[...]<br />\r\n# arp -a<br />\r\n? (192.168.12.1) at 00:06:25:EA:57:36 [ether] on wlan0<br />\r</code></div>\n<p class=\"spip\">(ceci ne semble pas fonctionner avec toutes les versions d’arping).</p>\n\n<p class=\"spip\"><strong class=\"spip\"> <i class=\"spip\">La mystification ARP</i> </strong></p>\n\n<p class=\"spip\">La mystification ARP consiste à tromper le système cible en donnant un adresse MAC erronné.</p>\n\n<p class=\"spip\">Pour cela nous allons utiliser le petit logiciel send_arp.c attaché au document (pour compiler, il suffit de faire : gcc send_arp.c -o send_arp).</p>\n\n<p class=\"spip\">Sur la première machine faire :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># arping 192.168.12.3</code></p>\n\n<p class=\"spip\">Sur la deuxième machine faire :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># ./send_arp 192.168.12.3 00:09:5B:B2:2D:78 192.168.12.2 00:10:A7:1B:CB:AD</code>.</p>\n\n<p class=\"spip\">Si vous regardez votre cache ARP, vous verrez la machine apparaitre.</p>\n\n<p class=\"spip\">Il est à noté que si la machine cible est sur un autre réseau, l’adresse MAC sera celle de la route par défaut (voir route -n).</p>\n\n<dl class=\'spip_document_100 spip_documents spip_documents_center\' >\n<dt><a href=\"http://download.tuxfamily.org/assocoagul/drupal-files/spip/send_arp.c\" title=\'C source - 3.6 ko\' type=\"text/x-csrc\"><img src=\'dist/vignettes/c.png\' width=\'52\' height=\'52\' alt=\'C source - 3.6 ko\' /></a><dt>\n<dt class=\'spip_doc_titre\' style=\'width:120px;\'><strong>send_arp.c</strong></dt>\n<dd class=\'spip_doc_descriptif\' style=\'width:120px;\'>Petit outil pour mystifier une adresse ARP</dd>\n</dl>','Compréhension des mécanismes ARP et du réseau ethernet.','',1288361770,2),(163,163,1,'De la reconnaissance de système d’exploitation à distance au camouflage','<p class=\"spip\">Les différents systèmes d’exploitation ont des caractèristiques particulières. La reconnaissance d’un système d’exploitation passe par la récolte d’information qui va nous permettre de déterminer le système d’exploitation distant.</p>\n\n<p class=\"spip\">Dans la suite nous utiliseront deux machines (il est obligatoire d’avoir deux machines) :</p>\n\n<p class=\"spip\">la première machine :\n<br /></p>\n<li> ip : 192.168.12.1\n<br /><li> mac : 00:10:AA:1B:CB:AA\n<p class=\"spip\">la deuxième machine :\n<br /></p>\n<li> ip : 192.168.12.2\n<br /><li> mac : 00:06:25:AA:57:3A\n<br /><li> port : 22\n<br /><li> noyau : 2.4.24\n<p class=\"spip\">Il n’y a aucun firewall sur aucune des machines.</p>\n\n<p class=\"spip\"><strong class=\"spip\"> <i class=\"spip\">Les services</i> </strong></p>\n\n<p class=\"spip\">Pour lister les services de la machine distante nous allons utiliser nmap [<a href=\"#nb1\" name=\"nh1\" id=\"nh1\" class=\"spip_note\" title=\'[1] http://www.insecure.org/nmap/\' >1</a>] :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># nmap -sV 192.168.12.2</code></p>\n\n<p class=\"spip\">Nous auront par exemple :</p>\n\n<p class=\"spip\">80/tcp open  http    Apache httpd 2.0.50 ((YDL))</p>\n\n<p class=\"spip\">Nous savons alors que c’est une yellow dog ;)</p>\n\n<p class=\"spip\">Certains services sont plus courant sur un système ou un autre (par exemple netbios est courant sous windows et moins sous unix).</p>\n\n<p class=\"spip\">Pour se protéger, il faut limiter le nombre de service sur les machines. De plus, il est possible bien souvent de retirer les bannières des services.</p>\n\n<p class=\"spip\"><strong class=\"spip\"> <i class=\"spip\">Les implémentations réseaux</i> </strong></p>\n\n<p class=\"spip\">Il y a des différences dans les implémentations réseaux. Nous allons voir trois outils qui utilise cette technique :</p>\n\n<li> nmap :\n<p class=\"spip\">Nmap est une boite à outil du scan. Il se sert principalement des paquets TCP (souvent mal formaté) pour déterminer une empreinte d’un système.</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># nmap -O 192.168.12.2 -p 22 -sS<br />\r\n[...]<br />\r\nRunning: Linux 2.4.X|2.5.X<br />\r\nOS details: Linux 2.4.0 - 2.5.20<br />\r\nUptime 12.063 days (since Wed Jan 26 22:15:44 2005)<br />\r</code></div>\n<li> Xprobe2 [<a href=\"#nb2\" name=\"nh2\" id=\"nh2\" class=\"spip_note\" title=\'[2] http://xprobe.sourceforge.net/\' >2</a>]\n<p class=\"spip\">Xprobe2 travaille surtout au niveau ICMP</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># xprobe2 -p tcp:22:open 192.168.12.2<br />\r\n[...]<br />\r\n[+] Host 192.168.12.2 Running OS: \"Linux Kernel 2.6.3\" (Guess probability: 100%)[+] Other guesses:<br />\r\n[+] Host 192.168.12.2 Running OS: \"Linux Kernel 2.6.2\" (Guess probability: 100%)[+] Host 192.168.12.2 Running OS: \"Linux Kernel 2.6.7\" (Guess probability: 100%)[+] Host 192.168.12.2 Running OS: \"Linux Kernel 2.6.6\" (Guess probability: 100%)[+] Host 192.168.12.2 Running OS: \"Linux Kernel 2.6.5\" (Guess probability: 100%)[+] Host 192.168.12.2 Running OS: \"Linux Kernel 2.6.4\" (Guess probability: 100%)[+] Host 192.168.12.2 Running OS: \"Linux Kernel 2.6.1\" (Guess probability: 100%)[+] Host 192.168.12.2 Running OS: \"Linux Kernel 2.6.0\" (Guess probability: 100%)[+] Host 192.168.12.2 Running OS: \"Linux Kernel 2.4.28\" (Guess probability: 100%)<br />\r\n[+] Host 192.168.12.2 Running OS: \"Linux Kernel 2.4.27\" (Guess probability: 100%)<br />\r</code></div>\n<p class=\"spip\">- p0f [<a href=\"#nb3\" name=\"nh3\" id=\"nh3\" class=\"spip_note\" title=\'[3] http://lcamtuf.coredump.cx/p0f.shtml\' >3</a>]</p>\n\n<p class=\"spip\">Contrairement à nmap et Xprobe2 p0f ne se connecte à un serveur distant. Il attent qu’on se connecte à lui.</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># p0f</code></p>\n\n<p class=\"spip\">Sur l’autre machine :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># ssh 192.168.12.2</code></p>\n\n<p class=\"spip\">Résultat :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>192.168.0.2:1456 - Linux 2.4/2.6 <= 2.6.7 (up: 333 hrs)<br />\r\n  -> 192.168.0.25:80 (distance 0, link: ethernet/modem)<br />\r</code></div>\n<p class=\"spip\"><strong class=\"spip\"> <i class=\"spip\">Exemple de particularité lié au système d’exploitation : le RTO</i> </strong></p>\n\n<p class=\"spip\">Nous allons étudier le fonctionnement des sessions TCP.\nPour établir une session, il faut procéder à trois étapes.</p>\n\n<p class=\"spip\">La machine voulant établir une connexion envoi un paquet SYN avec un numéro de séquence. La machine distante répond par un paquet avec l’option ACK et le numéro de séquence + 1. Dans le même paquet, la machine distance demande si la machine est prête à ouvrir la session avec avec l’option SYN et un numéro de séquence. Enfin la première machine répond avec un paquet ACK avec les deux numéros de séquence + 1.</p>\n\n<p class=\"spip\"><span class=\'spip_document_103 spip_documents spip_documents_center\' >\n<img src=\'http://download.tuxfamily.org/assocoagul/drupal-files/spip/tcp.png\' width=\"489\" height=\"266\" alt=\"ouverture de session TCP\" title=\"ouverture de session TCP\" /></span><p>\n\n<p class=\"spip\">Suite à ce processus, comportant trois échanges, les deux machines sont synchronisées et la communication peut commencer.</p>\n\n<p class=\"spip\">Le but du RTO (retransmission timeout) est d’envoyer un paquet SYN et de ne jamais renvoyer la réponse ACK. Suivant les systèmes d’exploitation, le comportement est différent.</p>\n\n<p class=\"spip\">Voyons en pratique ce que cela donne :\nNous envoyons un paquet (-c 1) de type SYN (-S) avec l’adresse source mystifié de 192.168.12.3 (machine qui n’existe pas) sur le port ouvert 22 :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># hping2 -S -a 192.168.12.3 192.168.12.2 -p 22 -I eth0 -c 1</code></p>\n\n<p class=\"spip\">Linux envoi une requête ARP pour connaître l’adresse MAC de la machine 192.168.12.3. Il nous faut mystifier une réponse ARP (voir <a href=\"http://www.coagul.org/article.php3?id_article=208\" class=\"spip_out\">Jouons avec ARP</a>) :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>./send_arp 192.168.12.3 00:09:5B:B2:2D:78 192.168.12.2 00:10:A7:1B:CB:AD</code></p>\n\n<p class=\"spip\">Sous linux nous remarquons qu’il envoi 6 paquets avec un intervalle de plus en plus loin. Sous freeBSD 4.8 il n’y aurait eu que 4 paquets à intervalle régulier. N’ayant pas de RFC décrivant explicitant la marche à suivre, chaque système à une implémentation de façon différente.</p>\n\n<p class=\"spip\"><strong class=\"spip\"> <i class=\"spip\">Contrer les détections</i> </strong></p>\n\n<p class=\"spip\">Il n’y a pas de technique sûr pour contrer ce genre d’attaque. Nous pouvons jouer sur les options réseaux pour tromper les tests.</p>\n\n<p class=\"spip\">Dans un premier test, nous allons limiter les réponses aux paquets mal-formatés.</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>iptables -F<br />\r\niptables -P INPUT DROP<br />\r\niptables -P OUTPUT ACCEPT<br />\r\niptables -P FORWARD ACCEPT<br />\r\n <br />\r\niptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT<br />\r\niptables -A INPUT -p tcp -m state --state NEW --tcp-flags ALL SYN -j ACCEPT<br />\r\n <br />\r\niptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT<br />\r</code></div>\n<p class=\"spip\">Avec nmap (en ajoutant l’option -vv), nous voyons qu’il se trompe. En effet, seuls deux des sept tests fonctionnent.</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>Device type: general purpose|media device<br />\r\nRunning: Linux 2.4.X|2.6.X, Pace embedded<br />\r\nOS details: Linux 2.4.21 (Suse, X86), Linux 2.4.6 - 2.4.21, Linux 2.6.8 (Debian), Pace digital cable TV receiver<br />\r\nOS Fingerprint:<br />\r\nTSeq(Class=RI%gcd=1%SI=328779%IPID=Z%TS=100HZ)<br />\r\nT1(Resp=Y%DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW)<br />\r\nT2(Resp=N)<br />\r\nT3(Resp=N)<br />\r\nT4(Resp=N)<br />\r\nT5(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)<br />\r\nT6(Resp=N)<br />\r\nT7(Resp=N)<br />\r\nPU(Resp=N)<br />\r</code></div>\n<p class=\"spip\">xprobe2 et p0f sont moins précis.</p>\n\n<p class=\"spip\">Nous allons changer quelques options de la couche TCP pour essayer de tromper les outils :</p>\n\n<p class=\"spip\">D’abord, nous allons augmenter la valeur de ttl (ttl représente le TimeToLive ou la durée de vie du paquet). De 64, nous passons à 128 :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>echo 128 > /proc/sys/net/ipv4/ip_default_ttl</code></p>\n\n<p class=\"spip\">Enfin nous allons désactiver deux options TCP :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>echo 0 > /proc/sys/net/ipv4/tcp_window_scaling<br />\r\necho 0 > /proc/sys/net/ipv4/tcp_timestamps</code></div>\n<p class=\"spip\">p0f et xprobe2 seront ainsi trompé.\nAttention, changer les options de la couche TCP peut avoir des conséquence sur les performances réseaux.</p>','Comprendre comment il est possible de découvrir le système d’exploitation distant et comment s’en protéger.','',1288361771,2),(164,164,1,'Configuration de Syslogd (Gestion des logs sous Linux)','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour <strong class=\"spip\">Configurer Syslogd sur un système Linux</strong> (Testé sur Mandrake et Debian).</p>\n\n<p class=\"spip\">Je rappelle que <strong class=\"spip\">syslogd</strong> est un démon permettant de rediriger vers des fichiers ou des terminaux les messages envoyés par d’autres démons, services ou par le noyau Linux.</p>\n\n<p class=\"spip\">Par exemple les messages d’informations ou d’erreurs émis par le système de messagerie (ex : Postfix), sont enregistrés grâce à syslogd dans le fichier « /var/log/mail.info ».</p>\n\n<p class=\"spip\">Il est également possible avec syslogd de centraliser sur un seul serveur les logs en provenance de routeurs ou d’autres serveurs sous Linux ou sous Windows.</p>\n\n<h2>Configuration de /etc/syslog.conf</h2>\n<p class=\"spip\">Le fichier « <strong class=\"spip\">/etc/syslog.conf</strong> » est le principal fichier de configuration du démon « <strong class=\"spip\"> syslogd </strong> ».</p>\n\n<h3>Syntaxe générale</h3>\n<p class=\"spip\">Chaque ligne de ce fichier indique le type du message (appelé <strong class=\"spip\">Service </strong>ou<strong class=\"spip\"> </strong><strong class=\"spip\">Facility</strong> en anglais), le niveau de gravité (appelé <strong class=\"spip\">Priorité</strong>) et sa <strong class=\"spip\">Destination</strong> (fichier, terminal,...).</p>\n\n<p class=\"spip\">Par exemple, la ligne suivante permet d’envoyer les messages d’information des programmes de messagerie dans le fichier « mail.info » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>mail.info        /var/log/mail.info</code></p>\n\n<p class=\"spip\">Chaque ligne est de la forme :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>Service.Priorité       Destination</code>\n<br /></p>\n<li> <strong class=\"spip\">Service</strong> correspond au type de programme (Démon, Noyau,...) et doit être l’un de ces mots-clés : <strong class=\"spip\">auth</strong>, <strong class=\"spip\">authpriv</strong>, <strong class=\"spip\">cron</strong>, <strong class=\"spip\">daemon</strong>, <strong class=\"spip\">kern</strong>, <strong class=\"spip\">lpr</strong>, <strong class=\"spip\">mail</strong>, <strong class=\"spip\">mark</strong>, <strong class=\"spip\">news</strong>, <strong class=\"spip\">security</strong> (identique à auth), <strong class=\"spip\">syslog</strong>, <strong class=\"spip\">user</strong>, <strong class=\"spip\">uucp</strong> et <strong class=\"spip\">local0</strong> à <strong class=\"spip\">local7.</strong>\n<br /><li> <strong class=\"spip\">Priorité</strong> représente le niveau de gravité du message et doit être l’un de ces mots clés : <strong class=\"spip\">debug</strong>, <strong class=\"spip\">info</strong>, <strong class=\"spip\">notice</strong>, <strong class=\"spip\">warning</strong>, <strong class=\"spip\">warn</strong> (identique à warning), <strong class=\"spip\">err</strong>, <strong class=\"spip\">error</strong> (identique à err), <strong class=\"spip\">crit</strong>, <strong class=\"spip\">alert</strong>, <strong class=\"spip\">emerg</strong>, <strong class=\"spip\">panic</strong> (identique à emerg). <strong class=\"spip\">ATTENTION</strong> : En indiquant un niveau, syslog enverra les messages de ce niveau et tous les messages des niveaux plus importants. Donc en mettant « debug », syslog enverra tous les messages (de debug à panic).\n<br /><li> <strong class=\"spip\">Destination</strong> représente la destination du message est peut être un chemin vers un fichier texte (ex : /var/log/mail.info) ou le nom d’une console pour envoyer les messages à l’écran (ex : /dev/tty8) ou un autre serveur (ex : @MonAutreServeur).\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong> : Chaque programme détermine les « <strong class=\"spip\"> Services </strong> » et les « <strong class=\"spip\"> Priorités </strong> » qu’il utilise et il est rarement possible de les modifier. Par exemple, les programmes Postfix et Fetchmail  utilisent la Service « mail »</p>\n\n<h3>Le signe «  ; » pour séparer plusieurs « Services »</h3>\n<p class=\"spip\">Il est possible de mettre plusieurs services pour une même destination en utilisant le «  ; » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>Service1.Priorité1; Service2.Priorité2     Destination</code></p>\n\n<h3>Le signe « , » pour plusieurs « Services » avec une même « Priorité »</h3>\n<p class=\"spip\">Il est possible d’indiquer plusieurs « Services » pour le même niveau de « Priorité » avec le signe « , ». La ligne suivante envoie dans le fichier « mail_news » les messages en provenance des « Services » « mail » et « new » dont la « Priorité » est supérieure ou égale à « info ». :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>mail,news.info  /var/log/mail_news</code></p>\n\n<h3>Le signe « = » pour ne traiter que la « Priorité » indiquée </h3>\n<p class=\"spip\">Il est possible de n’envoyer que les messages d’une seule « Priorité » (sans les « Priorités » de niveaux supérieures) avec le singe « = ». Exemple :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>mail.=err  /var/log/mail.err</code></p>\n\n<h3>Le signe « * » pour traiter toutes les « Services »</h3>\n<p class=\"spip\">La commande suivante permet d’envoyer les messages d’erreurs de toutes les « Services » dans le fichier « error »</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>*.error  /var/log/error</code></p>\n\n<h3>Le signe « * » pour traiter toutes les « Priorités »</h3>\n<p class=\"spip\">Le signe « * » permet d’indiquer que l’on souhaite toutes les « Priorités » (Le résultat est le même qu’en mettant « debug », mais c’est plus lisible). Exemple :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>mail.*  /var/log/mail</code></p>\n\n<h3>Le signe « * » pour envoyer des messages sur toutes les consoles ouvertes</h3>\n<p class=\"spip\">La ligne suivante, permet d’envoyer tous les messages d’erreurs sur toutes les consoles ouvertes grâce au signe « * » placé en destination à la fin de la ligne :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>*.alert  *</code></p>\n\n<h3>Le signe «  ! » pour exclure les niveaux supérieurs ou égaux à la « Priorité » indiquée</h3>\n<p class=\"spip\">Le signe «  ! » permet d’indiquer que l’on souhaite exclure le niveaux indiqué et tous les niveaux supérieurs à celui indiqué. La ligne suivante, permet d’envoyer dans le fichier « mail » tous les messages sauf ceux supérieurs ou égaux à la « Priorité » « warn » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>mail.*;mail.!warn  /var/log/mail</code></p>\n\n<p class=\"spip\">La ligne suivante permet d’envoyer dans le fichier « mail » tous les messages supérieurs ou égaux à la « Priorité » « notice » et inférieure à la « Priorité » « crit » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>mail.notice;mail.!crit  /var/log/mail</code></p>\n\n<h3>Le signe « - » pour améliorer les performances en écriture</h3>\n<p class=\"spip\">Le signe « - » est utilisé devant les chemins de fichiers les moins critiques pour améliorer les performances en écriture au risque de perdre des données en cas de crash du système (pas de synchronisation des fichiers). Cette ligne enregistre tous les messages de la « Service » « mail » dans le fichier « mail » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>mail.*  -/var/log/mail</code></p>\n\n<h3>Le signe « \\ » pour écrire une instruction sur plusieurs lignes</h3>\n<p class=\"spip\">La commande suivante écrite sur deux lignes grâce au signe « \\ », permet d’envoyer tous les messages de mails ou de news dans le fichier « mail_news » :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>mail.*;\\<br />\r\nnews.*   /var/log/mail_news</code></div>\n<h3>Envoyer les logs dans une console</h3>\n<p class=\"spip\">La ligne suivante permet d’envoyer tous les logs dans la console « tty8 » (CTRL+ALT+F8) :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>*.*  /dev/tty8</code></p>\n\n<p class=\"spip\">Les lignes suivantes permettent d’envoyer les logs des mails dans le fichier « mail » et en même temps sur la console « tty8 »</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>mail.*  /var/log/mail<br />\r\nmail.*  /dev/tty8</code></div>\n<h3>Le signe @ pour envoyer les logs sur un autre serveur </h3>\n<p class=\"spip\">La ligne suivante permet d’envoyer tous les logs sur un autre serveur nommé « pgdebian » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>*.* @pgdebian</code></p>\n\n<h2>Redémarrer le démon </h2>\n<p class=\"spip\">A chaque modification du fichier « /etc/syslog.conf », il faut redémarrer le démon :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/init.d/sysklogd restart</code></p>\n\n<p class=\"spip\">Lors du démarrage, le démon créera les nouveaux fichiers de logs, si ceux-ci n’existent pas.</p>\n\n<h2>Mettre syslogd à l’écoute du réseau</h2>\n<p class=\"spip\">Pour pouvoir centraliser les logs en provenance d’autres serveurs ou routeurs, il faut mettre le démon « syslogd » à l’écoute du réseau.</p>\n\n<p class=\"spip\">Pour cela, il faut ajouter le paramètre « -r » sur la commande de démarrage du démon.</p>\n\n<p class=\"spip\">Sur Debian testing, il faut modifier le fichier « <strong class=\"spip\">/etc/default/syslogd</strong> » et renseigner la variable « <strong class=\"spip\"> SYSLOGD </strong> » comme indiquée ci-dessous :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>SYSLOGD=\"-r\"</code></p>\n\n<p class=\"spip\">Il faut aussi configurer les routeurs ou les autres serveurs pour que ceux-ci exportent leurs logs vers le serveur principal.</p>\n\n<h3>Exporter des logs d’un autre poste sous Linux</h3>\n<p class=\"spip\">Pour exporter tous les logs d’un poste vers un serveur appelé par exemple « <strong class=\"spip\"> pgdebian </strong> », il suffit d’ajouter la ligne suivante dans le fichier « /etc/syslog.conf » de ce poste :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>*.* @pgdebian</code></p>\n\n<p class=\"spip\">La ligne suivante permet de n’envoyer que les messages d’erreurs :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>*.notice{{ }}@pgdebian</code></p>\n\n<h3>Exporter les logs d’un poste Windows</h3>\n<p class=\"spip\">Pour qu’un système Windows (NT, 2000,..) exporte ses logs sur un serveur syslog sous Linux, il faut installer le programme « <strong class=\"spip\"> ntsyslog </strong> »\n<br /></p>\n<li> <a href=\"http://ntsyslog.sourceforge.net/\" class=\"spip_out\">http://ntsyslog.sourceforge.net/</a>\n<p class=\"spip\">La commande suivante, permet d’installer le service sur le poste Windows :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ntsyslog -install</code></p>\n\n<p class=\"spip\">Le programme « <strong class=\"spip\"> NTSyslogCtrl.exe </strong> » permet de configurer le service pour indiquer le serveur et les logs à envoyer sur celui-ci.</p>\n\n<h3>Exporter les logs d’un routeur Zyxel ZyWall 10</h3>\n<p class=\"spip\">Pour un routeur Zyxel ZyWall 10, une fois connecté sur le routeur, il faut :\n<br /></p>\n<li> Aller dans le menu 24.3.2 (System Maintenance / Unix Syslog)\n<br /><li> Activer le système Syslog (Active=Yes)\n<br /><li> Indiquer l’adresse IP du serveur devant recevoir les logs (Syslog IP Adresse = 192.168.0.1)\n<br /><li> Indiquer dans quelle « Service » les logs doivent arriver (Log Facility = Local 1)\n<br /><li> Indiquer le type de logs à envoyer (Firewall log = Yes)\n<h2>Quelques commandes pour consulter les logs</h2>\n<p class=\"spip\">La commande suivante permet de voir les 10 dernières lignes du fichier « syslog »</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># tail /var/log/syslog</code></p>\n\n<p class=\"spip\">La commande suivante, permet de voir les 200 dernières lignes :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># tail -200 /var/log/syslog</code></p>\n\n<p class=\"spip\">La ligne suivante permet de voir les 10 dernières lignes avec une actualisation en temps réel :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># tail -f /var/log/syslog </code></p>\n\n<p class=\"spip\">Cette commande retourne les lignes du fichiers « syslog » contenant la chaîne de caractères « LeMotif » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># cat /var/log/syslog | grep -i LeMotif</code></p>\n\n<p class=\"spip\">En combinant les deux commandes précédentes, il est possible par exemple d’avoir en temps réel, les logs de fetchmail :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># tail -f /var/log/syslog | grep fetchmail</code></p>\n\n<p class=\"spip\">Pour avoir uniquement les logs du noyau Linux au démarrage du poste :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># dmesg</code></p>\n\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>10/02/05</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.2</td><td>12/04/05</td><td>Ajout exemple commande dmesg</td></tr>\n<tr class=\"row_even\"><td>0.3</td><td>11/08/06</td><td>Remplacement ’Facilité’ par ’Service’ suite à remarque</td></tr>\n<tr class=\"row_odd\"><td>0.4</td><td>12/02/07</td><td>Petite correction</td></tr>\n<tr class=\"row_even\"><td>0.41</td><td>08/08/07</td><td>Correction chemin « /etc/default/syslogd »</td></tr>\n</tbody>\n</table>','<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour <strong class=\"spip\">Configurer Syslogd sur un système Linux</strong> (Testé sur Mandrake et Debian).</p>\n\n<p class=\"spip\">Je rappelle que <strong class=\"spip\">syslogd</strong> est un démon permettant de rediriger vers des fichiers ou des terminaux les messages envoyés par d’autres démons, services ou par le noyau Linux.</p>','',1288361771,2),(165,165,1,'Le cheval de Troie électronique','<p class=\"spip\"><strong class=\"spip\">Le cheval de Troie électronique</strong></p>\n\n<p class=\"spip\">Il y a une quinzaine d’années, l’informatique était encore une affaire de professionnels et de passionnés.\nAvec la démocratisation du micro-ordinateur, la situation s’est inversée, il y a actuellement moins de 1% de concepteurs pour plus de 99% d’utilisateurs.\nL’informatique est devenue un outil bien pratique et surtout de plus en plus indispensable. Certains domaines de l’industrie et la totalité du secteur tertiaire sont maintenant entièrement dépendants de l’outil informatique.\nDe nos jours, nous assistons à une extension du phénomène. L’informatique (au sens large) s’invite partout et jusque dans nos vies privées : communication électronique et téléphonique, finances, santé, automobile, éducation, jeux, sondages d’opinion, fichiers de clientèle, mass media... Et cette situation est en phase d’accélération. Après la micro-informatique, voilà la nano-informatique dont on peut dire, au sens littéral, qu’elle se glisse partout : appareils ménagés, électronique embarquée, micro webcam de surveillance, GPS et localisation des mobiles, prothèses médicales...</p>\n\n<p class=\"spip\">Faisons ensemble un petit bilan :</p>\n\n<li> l’informatique (au sens large) est partout\n<br /><li> une grande partie de cette informatique est dotée de la capacité‚ de communiquer (avec ou sans notre consentement)\n<br /><li> 95 % des logiciels restent la propriété privée des sociétés de génie logiciel\n<br /><li> ces sociétés ne dévoilent jamais le contenu de leurs logiciels (le code source)\n<br /><li> il nous est impossible et interdit de chercher à comprendre le fonctionnement interne de ces logiciels\n<p class=\"spip\">Sans être paranoïaque, ces différents indices me mènent à une conclusion bien alarmante : la disparition a moyen terme de la vraie démocratie, celle qui garantit à tous le droit de penser, de protéger et de diriger sa vie privée. Car demain, celui qui contrôlera l’informatique contrôlera TOUT !</p>\n\n<p class=\"spip\">Malheureusement, 99% des utilisateurs n’ont généralement pas conscience de ce grave problème. Pour les 1% restant, la moitié s’inquiète et s’agite sans trouver beaucoup d’écho, et l’autre moitié se lance avec d’énormes moyens financiers dans la bataille pour la domination du monde.</p>\n\n<p class=\"spip\">Une seule solution à ce problème : à l’image des formules mathématiques, le logiciel doit devenir patrimoine de l’humanité ! Il doit être ouvert et lisible par toute personne désireuse de le faire. C’est l’unique façon de garantir qu’aucune fonction cachée ne se dissimule à l’intérieur. Bien sûr, les grandes firmes de génie logiciel refuseront toujours de libérer leurs produits. Alors, ne les achetons plus ! Et faisons le choix des alternatives qui se nomment Logiciels Libres. Ils sont totalement ouverts, gratuits et ils couvrent la plupart de nos besoins (systèmes d’exploitations et applications). Un des plus connus et aussi le plus abouti s’appelle GNU/Linux.</p>\n\n<p class=\"spip\">La famille des logiciels libres commence a déranger fortement le monde juteux du logiciel propriétaire. De très fortes pressions juridiques et financières sont exercées sur tous les acteurs du logiciel libre (concepteurs, testeurs, traducteurs, partenaires...) qui voient leurs actions bénévoles menacées par des armées d’avocats.</p>\n\n<p class=\"spip\">De nombreuses entreprises et services publics qui refusent l’asservissement migrent doucement leurs systèmes informatiques vers GNU/Linux mais l’informatique personnelle reste grandement inféodée au modèle propriétaire (vous savez certainement de quel propriétaire Américain je parle ! ;-)</p>\n\n<p class=\"spip\">Et pendant ce temps, nous continuons à acheter des logiciels propriétaires payants qui sont loin de nous donner toute satisfaction et nous avançons, joyeux, en bêlant vers l’abattoir. Méfions nous, le cheval est déjà dans la citè !</p>\n\n<p class=\"spip\">Mondialisation, brevets sur le vivant, brevets logiciels, commercialisation de l’éducation, pensée unique... Ne nous laissons rien imposer. Comme d’habitude, l’avenir sera ce que nous en ferons...</p>\n\n<p class=\"spip\">par Philippe Bouet (2002)</p>\n\n<p class=\"spip\">Trois ans plus tard. De réçentes analyses confirment la présence de spywares dans la plupart des logiciels propriétaires. En bref, si vous installez un logiciel propriétaire sur votre machine, vous avez deux chances sur trois pour qu’il se livre à des bavardages sur internet (bien sûr sans vous prévenir).\nSurtout, ne vous inquiétez pas, si les logiciels propriétaires se livrent à cette pratique, ce ne peut être que pour votre bien....</p>','Un petit plaidoyer pour les Logiciels Libres. Ecrit il y a quelques années pour Attac, il colle de plus en plus à l’actualité.','',1288361772,2),(166,166,1,'Mardi 15 Février 2005 (Présentation de Digikam)','<p class=\"spip\">Ce soir-là était essentiellement consacré à un atelier présenté par <strong class=\"spip\">Yogi</strong> sur la « <strong class=\"spip\">Présentation des fonctionnalités de Digikam</strong> ».</p>\n\n<p class=\"spip\">Lors de cette réunion, il y avait 6 personnes : Yogi, Mircea, Philippe, Tony, Jibux et notre visiteur habituel Luc.</p>\n\n<h2>Problème avec la clé de la salle et la salle en générale</h2>\n<p class=\"spip\">Au moins 3 personnes (Jean.C, Laurent et Marian) sont reparties ce soir-là avant l’ouverture de la salle, car Philippe est arrivé en retard et nous avons cru qu’il ne viendrait pas.</p>\n\n<p class=\"spip\">Ce problème met une nouvelle fois en évidence les problèmes posés par cette salle :\n<br /></p>\n<li> Pour ouvrir la salle, il est nécessaire d’aller chercher la clé à la mairie avant 18H, ce qui oblige l’un des membres à se déplacer sur Chevigny. Pour le moment, c’est Philippe qui s’en charge et je tiens à le remercier, mais cela est quand même une grosse contrainte pour lui et le risque est important de se retrouver devant une salle fermée.\n<br /><li> De plus, cette salle ne nous permet pas d’entreposer du matériel informatique et ne dispose pas d’un accès à Internet.\n<p class=\"spip\">Le seul avantage de cette salle, mais qui est loin d’être négligeable est qu’elle est gratuite et réservée pour Coagul tous les mardis soirs.</p>\n\n<h2>Fiches du libre de l’ALDIL</h2>\n<p class=\"spip\">Philippe a imprimé en couleur (Encore merci à lui) et en 20 exemplaires les 8 fiches du libre de l’ALDIL.</p>\n\n<p class=\"spip\">Ces fiches permettent de présenter les logiciels libres pour les débutants. Elles seront utilisées pour les portes-ouvertes ou pour d’autres manifestations.</p>\n\n<p class=\"spip\">Merci à l’ALDIL pour ce beau travail :\n<br /></p>\n<li> <a href=\"http://www.aldil.org/projets/fiches_libres/\" class=\"spip_out\">http://www.aldil.org/projets/fiches_libres/</a>\n<h2>Photo sous licence libre pour la journée du libre.</h2>\n<p class=\"spip\">Philippe (encore lui :-) ), nous a montré ses superbes photos, qu’il compte présenter et mettre sous licence libre lors de la journée du libre.</p>\n\n<h2>Remplacement de Windows XP par Linux Mandrake 10.1, sur un portable tout neuf</h2>\n<p class=\"spip\">Philippe (encore et toujours lui :-) ) est venu avec son portable tout neuf reçu le jour-même pour installer une Mandrake 10.1 en remplacement (et non pas en dual boot) du Windows XP présent sur celui-ci.</p>\n\n<p class=\"spip\">L’installation s’est très bien passée sauf pour l’écran en 1280x800 pour lequel il a  fallu modifier manuellement le fichier de configuration de X.org, pour le faire fonctionner dans la bonne résolution.</p>\n\n<h2>Atelier : Présentation par Yogi du logiciel Dijikam</h2>\n<p class=\"spip\">Yogi nous a présenté l’ensemble des fonctionnalités du logiciel Dijikam.</p>\n\n<p class=\"spip\">Dijikam est un projet très actif, permettant d’organiser des photos en provenance de différentes sources (Appareil photos, scanner,...).</p>\n\n<p class=\"spip\">Il reconnaît un nombre impressionnant d’appareils photos et même des très récents à 17 millions de pixels.</p>\n\n<p class=\"spip\">J’ai été particulièrement impressionné par la vitalité de ce logiciel, car je l’avais survolé il y a plus d’un an et depuis, les fonctionnalités ont explosé :\n<br /></p>\n<li> Possibilité d’organiser les photos, par catégories thèmes, dates,... (Les informations de classement sont enregistrées dans un fichier XML et dans une base Sqlite présents dans chaque sous-dossier contenant les photos, ce qui garantit la pérennité des informations et la possibilité de déplacer un dossier sans les perdre).\n<br /><li> De nombreux plugins ressemblant à ceux de Gimp permettent de modifier les photos (contrastes, flou, goutte d’eau...) une par une ou par dossiers complets.\n<br /><li> Création de diaporamas\n<br /><li> Regroupement de photos sur une page pour imprimer des index\n<br /><li> Création de sites HTML très complets pour consulter les photos\n<br /><li> Création de vidéos MPEG pour consulter les photos sur un lecteur de DVD\n<p class=\"spip\">En conclusion, j’ai été impressionné par les possibilités de ce logiciel et je compte commencer à l’utiliser très rapidement (Merci Yogi :-) )</p>','Ce soir-là était essentiellement consacré à un atelier présenté par <strong class=\"spip\">Yogi</strong> sur la « <strong class=\"spip\">Présentation des fonctionnalités de Digikam</strong> ».','',1289142198,2),(167,167,1,'Dual screen avec portable ACER Aspire 1363WLMi / Carte graphique nVidia FX5200','<p class=\"spip\"><br /></p>\n<li> <i class=\"spip\"> Matériel : Carte vidéo nVidia FX5200 sortie VGA + TV, 64 Mo, sur un portable ACER Aspire 1363WLMi. </i>\n<br /><li> <i class=\"spip\"> Distribution : Mandrake Official 10.1 32 bits, serveur graphique X.org . </i>\n<br /><li> <i class=\"spip\"> Resource :  </i><a href=\"http://www.nvidia.com/object/linux.html\" class=\"spip_out\">http://www.nvidia.com/object/linux.html</a>\n<br /><li> <i class=\"spip\"> But : Mise en place d’un affichage étendu doubles écrans (Moniteur CRT + écran LCD du portable) avec une carte vidéo nVidia FX5200. </i>\n<br /><li> <i class=\"spip\"> Prérequis : Driver nVidia installé. </i>\n<hr>\n<p class=\"spip\">Pour commencer, faire une sauvegarde du fichier XF86Config en XF86Config_single par exemple. Ce fichier devrait se trouver dans /etc/X11 . Le fichier ainsi renommé pourra servir,le cas échéant, à lancer la machine en mono-écran.</p>\n\n<p class=\"spip\">Pour information comme l’indique la documentation nVidia, l’affichage étendu sur deux moniteurs est possible. De plus, la sortie VGA externe est l’affichage principal, l’écran du portable est donc le second moniteur.</p>\n\n<p class=\"spip\">Voici, pour exemple, mon fichier XF86Config_single :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># File generated by XFdrake.<br />\r\n<br />\r\n# **********************************************************************<br />\r\n# Refer to the XF86Config man page for details about the format of<br />\r\n# this file.<br />\r\n# **********************************************************************<br />\r\n<br />\r\nSection \"Files\"<br />\r\n    # Multiple FontPath entries are allowed (they are concatenated together)<br />\r\n    # By default, Mandrake 6.0 and later now use a font server independent of<br />\r\n    # the X server to render fonts.<br />\r\n    FontPath \"unix/:-1\"<br />\r\nEndSection<br />\r\n<br />\r\nSection \"ServerFlags\"<br />\r\n    #DontZap # disable <Crtl><Alt><BS> (server abort)<br />\r\n    AllowMouseOpenFail # allows the server to start up even if the mouse doesn\'t work<br />\r\n    #DontZoom # disable <Crtl><Alt><KP_+>/<KP_-> (resolution switching)<br />\r\nEndSection<br />\r\n<br />\r\nSection \"Module\"<br />\r\n    Load \"dbe\" # Double-Buffering Extension<br />\r\n    Load \"v4l\" # Video for Linux<br />\r\n    Load \"extmod\"<br />\r\n    Load \"type1\"<br />\r\n    Load \"freetype\"<br />\r\n    Load \"synaptics\"<br />\r\n    Load \"/usr/X11R6/lib/modules/extensions/libglx.so\"<br />\r\nEndSection<br />\r\n<br />\r\nSection \"InputDevice\"<br />\r\n    Identifier \"Keyboard1\"<br />\r\n    Driver \"keyboard\"<br />\r\n    Option \"XkbModel\" \"pc105\"<br />\r\n    Option \"XkbLayout\" \"fr\"<br />\r\n    Option \"XkbOptions\" \"\"<br />\r\nEndSection<br />\r\n<br />\r\nSection \"InputDevice\"<br />\r\n    Identifier \"SynapticsMouse1\"<br />\r\n    Driver \"synaptics\"<br />\r\n    Option \"Protocol\" \"auto-dev\"<br />\r\n    Option \"Device\" \"/dev/input/mice\"<br />\r\n    Option \"MaxSpeed\" \"0.12\"<br />\r\n    Option \"MinSpeed\" \"0.06\"<br />\r\n    Option \"BottomEdge\" \"4200\"<br />\r\n    Option \"SHMConfig\" \"on\"<br />\r\n    Option \"LeftEdge\" \"1700\"<br />\r\n    Option \"FingerLow\" \"25\"<br />\r\n    Option \"MaxTapTime\" \"180\"<br />\r\n    Option \"MaxTapMove\" \"220\"<br />\r\n    Option \"FingerHigh\" \"30\"<br />\r\n    Option \"VertScrollDelta\" \"100\"<br />\r\n    Option \"TopEdge\" \"1700\"<br />\r\n    Option \"RightEdge\" \"5300\"<br />\r\n    Option \"AccelFactor\" \"0.0010\"<br />\r\nEndSection<br />\r\n<br />\r\nSection \"Monitor\"<br />\r\n    Identifier \"monitor1\"<br />\r\n    VendorName \"Generic\"<br />\r\n    ModelName \"Flat Panel 1280x800\"<br />\r\n    HorizSync 31.5-90<br />\r\n    VertRefresh 60<br />\r\n    <br />\r\n    # Sony Vaio C1(X,XS,VE,VN)?<br />\r\n    # 1024x480 @ 85.6 Hz, 48 kHz hsync<br />\r\n    #ModeLine \"1024x480\"    65.00 1024 1032 1176 1344   480  488  494  563 -hsync -vsync<br />\r\n    <br />\r\n    # Dell D800 and few Inspiron (16/10) 1280x800<br />\r\n    #ModeLine \"1280x800\"  147.89  1280 1376 1512 1744  800 801 804 848<br />\r\n    ModeLine \"1280x800\"  87.09 1280 1336 1616 1728 800 802 814 840<br />\r\n    <br />\r\n    # Dell D800 and few Inspiron (16/10) 1680x1050<br />\r\n    #ModeLine \"1680x1050\"  214.51  1680 1800 1984 2288  1050 1051 1054 1103<br />\r\n    <br />\r\n    # Dell D800 and few Inspiron (16/10) 1920x1200<br />\r\n    #ModeLine \"1920x1200\" 230 1920 1936 2096 2528 1200 1201 1204 1250 +HSync +VSync<br />\r\n    <br />\r\n    # TV fullscreen mode or DVD fullscreen output.<br />\r\n    # 768x576 @ 79 Hz, 50 kHz hsync<br />\r\n    #ModeLine \"768x576\"     50.00  768  832  846 1000   576  590  595  630<br />\r\n    <br />\r\n    # 768x576 @ 100 Hz, 61.6 kHz hsync<br />\r\n    #ModeLine \"768x576\"     63.07  768  800  960 1024   576  578  590  616<br />\r\nEndSection<br />\r\n<br />\r\nSection \"Device\"<br />\r\n    Identifier \"device1\"<br />\r\n    VendorName \"nVidia\"<br />\r\n    BoardName \"NVIDIA GeForce FX (generic)\"<br />\r\n    Driver \"nvidia\"<br />\r\n    Option \"DPMS\"<br />\r\n    Option \"IgnoreEDID\" \"1\"<br />\r\nEndSection<br />\r\n<br />\r\nSection \"Screen\"<br />\r\n    Identifier \"screen1\"<br />\r\n    Device \"device1\"<br />\r\n    Monitor \"monitor1\"<br />\r\n    DefaultColorDepth 24<br />\r\n    <br />\r\n    Subsection \"Display\"<br />\r\n        Depth 8<br />\r\n        Virtual 1280 800<br />\r\n    EndSubsection<br />\r\n    <br />\r\n    Subsection \"Display\"<br />\r\n        Depth 15<br />\r\n        Virtual 1280 800<br />\r\n    EndSubsection<br />\r\n    <br />\r\n    Subsection \"Display\"<br />\r\n        Depth 16<br />\r\n        Virtual 1280 800<br />\r\n    EndSubsection<br />\r\n    <br />\r\n    Subsection \"Display\"<br />\r\n        Depth 24<br />\r\n        Virtual 1280 800<br />\r\n    EndSubsection<br />\r\nEndSection<br />\r\n<br />\r\nSection \"ServerLayout\"<br />\r\n    Identifier \"layout1\"<br />\r\n    InputDevice \"Keyboard1\" \"CoreKeyboard\"<br />\r\n    InputDevice \"SynapticsMouse1\" \"CorePointer\"<br />\r\n    Screen \"screen1\"<br />\r\nEndSection</code></div>\n<p class=\"spip\">Comme on peut le constater, le portable a un écran 16/10 (1280x800). Par ailleurs, j’ai été obligé de modifier le ModeLine (Voir la ligne soulignée), car celui par défaut ne permet pas un bon affichage. Il est possible de calculer le ModeLine à cette adresse : <a href=\"http://koala.ilog.fr/cgi-bin/nph-colas-modelines-fr\" class=\"spip_out\">http://koala.ilog.fr/cgi-bin/nph-colas-modelines-fr</a> . Il suffit d’indiquer la Fréquence verticale maximum, soit 60 Hz, et la largeur et la hauteur (en pixels) de l’écran. Il ne reste plus qu’à recopier le résultat obtenu dans le fichier à la place des anciennes valeurs.</p>\n\n<p class=\"spip\">Le paramétrage d’un affichage sur deux moniteurs se fait dans la section « Device ».</p>\n\n<p class=\"spip\">Allons voir ce qui s’y passe :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>Section \"Device\"<br />\r\n    Identifier \"device1\"<br />\r\n    VendorName \"nVidia\"<br />\r\n    BoardName \"NVIDIA GeForce FX (generic)\"<br />\r\n    Driver \"nvidia\"<br />\r\n    Option \"DPMS\"<br />\r\n    Option \"MetaModes\" \"1280x1024,1280x800\"<br />\r\n    Option \"SecondMonitorVertRefresh\" \"60\"<br />\r\n    Option \"ConnectedMonitor\" \"crt,dfp\"<br />\r\n    Option \"TwinViewOrientation\" \"RightOf\"<br />\r\n    Option \"TwinView\"<br />\r\n    Option \"SecondMonitorHorizSync\" \"32-90\"<br />\r\n    Option \"IgnoreEDID\" \"1\"<br />\r\nEndSection</code></div>\n<p class=\"spip\">De plus, vu que la sortie VGA externe est l’affichage principal, on aura pris soin dans la section « Monitor » de mettre les paramètres liés au moniteur externe.</p>\n\n<p class=\"spip\">Voici donc mon fichier XF86Config :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># File generated by XFdrake.<br />\r\n<br />\r\n# **********************************************************************<br />\r\n# Refer to the XF86Config man page for details about the format of<br />\r\n# this file.<br />\r\n# **********************************************************************<br />\r\n<br />\r\nSection \"Files\"<br />\r\n    # Multiple FontPath entries are allowed (they are concatenated together)<br />\r\n    # By default, Mandrake 6.0 and later now use a font server independent of<br />\r\n    # the X server to render fonts.<br />\r\n    FontPath \"unix/:-1\"<br />\r\nEndSection<br />\r\n<br />\r\nSection \"ServerFlags\"<br />\r\n    #DontZap # disable <Crtl><Alt><BS> (server abort)<br />\r\n    #DontZoom # disable <Crtl><Alt><KP_+>/<KP_-> (resolution switching)<br />\r\n    AllowMouseOpenFail # allows the server to start up even if the mouse doesn\'t work<br />\r\nEndSection<br />\r\n<br />\r\nSection \"Module\"<br />\r\n    Load \"dbe\" # Double-Buffering Extension<br />\r\n    Load \"v4l\" # Video for Linux<br />\r\n    Load \"extmod\"<br />\r\n    Load \"type1\"<br />\r\n    Load \"freetype\"<br />\r\n    Load \"synaptics\"<br />\r\n    Load \"/usr/X11R6/lib/modules/extensions/libglx.so\"<br />\r\nEndSection<br />\r\n<br />\r\nSection \"InputDevice\"<br />\r\n    Identifier \"Keyboard1\"<br />\r\n    Driver \"keyboard\"<br />\r\n    Option \"XkbModel\" \"pc105\"<br />\r\n    Option \"XkbLayout\" \"fr\"<br />\r\n    Option \"XkbOptions\" \"\"<br />\r\nEndSection<br />\r\n<br />\r\nSection \"InputDevice\"<br />\r\n    Identifier \"SynapticsMouse1\"<br />\r\n    Driver \"synaptics\"<br />\r\n    Option \"Protocol\" \"auto-dev\"<br />\r\n    Option \"Device\" \"/dev/input/mice\"<br />\r\n    Option \"MinSpeed\" \"0.06\"<br />\r\n    Option \"MaxSpeed\" \"0.12\"<br />\r\n    Option \"BottomEdge\" \"4200\"<br />\r\n    Option \"SHMConfig\" \"on\"<br />\r\n    Option \"LeftEdge\" \"1700\"<br />\r\n    Option \"FingerLow\" \"25\"<br />\r\n    Option \"MaxTapTime\" \"180\"<br />\r\n    Option \"MaxTapMove\" \"220\"<br />\r\n    Option \"FingerHigh\" \"30\"<br />\r\n    Option \"VertScrollDelta\" \"100\"<br />\r\n    Option \"AccelFactor\" \"0.0010\"<br />\r\n    Option \"TopEdge\" \"1700\"<br />\r\n    Option \"RightEdge\" \"5300\"<br />\r\nEndSection<br />\r\n<br />\r\nSection \"Monitor\"<br />\r\n    Identifier \"monitor1\"<br />\r\n    VendorName \"Iiyama\"<br />\r\n    ModelName \"Iiyama HM704UTC, Diamondtron\"<br />\r\n    HorizSync 30.0-96.0<br />\r\n    VertRefresh 50-160<br />\r\n    <br />\r\n    # Sony Vaio C1(X,XS,VE,VN)?<br />\r\n    # 1024x480 @ 85.6 Hz, 48 kHz hsync<br />\r\n    ModeLine \"1024x480\"    65.00 1024 1032 1176 1344   480  488  494  563 -hsync -vsync<br />\r\n    <br />\r\n    # Dell D800 and few Inspiron (16/10) 1280x800<br />\r\n    ModeLine \"1280x800\"  87.09  1280 1336 1616 1728  800 802 814 840<br />\r\n    <br />\r\n    # Dell D800 and few Inspiron (16/10) 1680x1050<br />\r\n    ModeLine \"1680x1050\"  214.51  1680 1800 1984 2288  1050 1051 1054 1103<br />\r\n    <br />\r\n    # Dell D800 and few Inspiron (16/10) 1920x1200<br />\r\n    ModeLine \"1920x1200\" 230 1920 1936 2096 2528 1200 1201 1204 1250 +HSync +VSync<br />\r\n    <br />\r\n    # TV fullscreen mode or DVD fullscreen output.<br />\r\n    # 768x576 @ 79 Hz, 50 kHz hsync<br />\r\n    ModeLine \"768x576\"     50.00  768  832  846 1000   576  590  595  630<br />\r\n    <br />\r\n    # 768x576 @ 100 Hz, 61.6 kHz hsync<br />\r\n    ModeLine \"768x576\"     63.07  768  800  960 1024   576  578  590  616<br />\r\nEndSection<br />\r\n<br />\r\nSection \"Device\"<br />\r\n    Identifier \"device1\"<br />\r\n    VendorName \"nVidia\"<br />\r\n    BoardName \"NVIDIA GeForce FX (generic)\"<br />\r\n    Driver \"nvidia\"<br />\r\n    Option \"DPMS\"<br />\r\n    Option \"MetaModes\" \"1280x1024,1280x800\"<br />\r\n    Option \"SecondMonitorVertRefresh\" \"60\"<br />\r\n    Option \"ConnectedMonitor\" \"crt,dfp\"<br />\r\n    Option \"TwinViewOrientation\" \"RightOf\"<br />\r\n    #Option \"TwinViewOrientation\" \"Clone\"<br />\r\n    Option \"TwinView\"<br />\r\n    Option \"SecondMonitorHorizSync\" \"32-90\"<br />\r\n    Option \"IgnoreEDID\" \"1\"<br />\r\nEndSection<br />\r\n<br />\r\nSection \"Screen\"<br />\r\n    Identifier \"screen1\"<br />\r\n    Device \"device1\"<br />\r\n    Monitor \"monitor1\"<br />\r\n    DefaultColorDepth 24<br />\r\n    <br />\r\n    Subsection \"Display\"<br />\r\n        Depth 8<br />\r\n        Modes \"1280x1024\" \"1280x800\"<br />\r\n    EndSubsection<br />\r\n    <br />\r\n    Subsection \"Display\"<br />\r\n        Depth 15<br />\r\n        Modes \"1280x1024\" \"1280x800\"<br />\r\n    EndSubsection<br />\r\n    <br />\r\n    Subsection \"Display\"<br />\r\n        Depth 16<br />\r\n        Modes \"1280x1024\" \"1280x800\"<br />\r\n    EndSubsection<br />\r\n    <br />\r\n    Subsection \"Display\"<br />\r\n        Depth 24<br />\r\n        Modes \"1280x1024\" \"1280x800\"<br />\r\n    EndSubsection<br />\r\nEndSection<br />\r\n<br />\r\nSection \"ServerLayout\"<br />\r\n    Identifier \"layout1\"<br />\r\n    InputDevice \"Keyboard1\" \"CoreKeyboard\"<br />\r\n    InputDevice \"SynapticsMouse1\" \"CorePointer\"<br />\r\n    Screen \"screen1\"<br />\r\nEndSection</code></div>\n<p class=\"spip\">Il va de soi que les valeurs sont à adapter en fonction de votre second moniteur. L’option TwinViewOrientation détermine la position des moniteurs entre eux, ici, le second moniteur se trouve à droite du premier. L’option ConnectedMonitor détermine le type d’écran, CRT pour tube cathodique, DFP pour écran plat et TV pour téléviseur. Toutes les options sont documentées dans le fichier README.txt accessible depuis le site de nVidia suivant la version du driver.</p>','Matériel : Carte vidéo nVidia FX5200 sortie VGA + TV, 64 Mo, sur un portable ACER Aspire 1363WLMi.\n\n\n<br />Distribution : Mandrake Official 10.1 32 bits, serveur graphique X.org .\n\n\n<br />Resource :  http://www.nvidia.com/object/linux.html\n\n\n<br />But : Mise en place d’un affichage étendu doubles écrans (Moniteur CRT + écran LCD du portable) avec une carte vidéo nVidia FX5200.\n\n\n<br />Prérequis : Driver nVidia installé.\n\n\n<br />Pour commencer, faire une sauvegarde du fichier XF86Config en XF86Config_single par exemple. Ce (...)\n','',1288361773,2),(168,168,1,'Installation de Linux Terminal Server (LTSP 4.2) sur une Debian Etch','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour <strong class=\"spip\">installer et configurer « Linux Terminal Server (LTSP 4.2) » </strong>sur une Debian Etch.</p>\n\n<p class=\"spip\">Ce système permet de recycler de vieux ordinateurs en terminaux graphiques. Pour cela, il faut un ordinateur assez puissant (qui fera office de serveur) et avec suffisamment de mémoire vive pour pouvoir gérer les terminaux. Les terminaux peuvent être, par exemple, des pentium 166 avec 32 Mo de mémoire vive et sans disque dur.</p>\n\n<p class=\"spip\">Pour seulement 200€, il est possible également d’acheter de vrais terminaux Linux (ou clients légers) comme les t5000 de chez HP :\n<br /></p>\n<li> <a href=\"http://h10010.www1.hp.com/wwpc/fr/fr/sm/WF04a/35943-342061-342061-342061-637147.html\" class=\"spip_out\">http://h10010.www1.hp.com/wwpc/fr/fr/sm/WF04a/35943-342061-342061-342061-637147.html</a>\n<p class=\"spip\">Les développeurs de LTSP propose même un site pour acheter des terminaux et des cartes réseaux valides pour LTSP :\n<br /></p>\n<li> <a href=\"http://www.disklessworkstation.com/\" class=\"spip_out\">http://www.disklessworkstation.com/</a>\n<h2>Pré-requis</h2>\n<p class=\"spip\">Avoir installé une Debian avec un serveur X opérationnel et toutes les applications utiles aux terminaux. Pour cela, vous pouvez consulter mon mémo sur l’installation de KDE :\n<br /></p>\n<li> <a href=\"http://www.coagul.org/article.php3?id_article=159\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=159</a>\n<p class=\"spip\">En plus de ce document, je conseille vivement la lecture de la documentation officielle très complète et en français disponible à cette adresse :\n<br /></p>\n<li> <a href=\"http://wiki.ltsp.org/twiki/bin/view/Ltsp/Documentation\" class=\"spip_out\">http://wiki.ltsp.org/twiki/bin/view/Ltsp/Documentation</a>\n<p class=\"spip\">LTSP est un système relativement complexe faisant intervenir plusieurs services qu’il est nécessaire de connaître au moins un minimum avant de se lancer dans l’installation :\n<br /></p>\n<li> Serveur DHCP pour la connexion automatique des terminaux au réseau \n<br /><li> Serveur TFTP pour fournir le noyau Linux des terminaux (FTP limité)\n<br /><li> Serveur NFS pour fournir le système de fichiers des terminaux\n<br /><li> Serveur XDMCP permettant d’exporter le serveur graphique vers les terminaux\n<h2>Deux normes pour faire booter des terminaux</h2>\n<p class=\"spip\">Il existe au moins deux normes pour booter un ordinateur sur le réseau :</p>\n\n<h3>PXE </h3>\n<p class=\"spip\">Cette norme est maintenant reconnue en standard par quasiment toutes les cartes réseaux et par toutes les cartes mères récentes.</p>\n\n<p class=\"spip\">Sur une carte mère compatible PXE, il est possible de paramétrer le bios pour que le boot se fasse directement sur le réseau. Malheureusement ce système n’existe que sur les ordinateurs récents (Pentium IV) alors qu’il est surtout intéressant d’utiliser des vieux ordinateurs pour en faire des terminaux graphiques.</p>\n\n<p class=\"spip\">Cependant cette méthode de boot est plus rapide et plus fiable, car elle ne nécessite pas de lecteur de disquette. De plus, le fait d’installer une carte réseau PXE sur un veille ordinateur dont le bios ne connaît pas cette norme permet quand même de booter sur le réseau (Testé avec une carte 3COM 3C905CX à 30€).</p>\n\n<p class=\"spip\">Avec cette norme, le terminal cherche un bootloader spécial (pxelinux.0) dont l’adresse est fournie par le serveur DHCP.</p>\n\n<h3>Etherboot</h3>\n<p class=\"spip\">Cette norme est un système libre et très flexible qui permet de faire booter même de vieux PC via le réseau à l’aide de différentes méthodes (Disquettes, CD-ROM, Lilo, Carte Réseau spéciale avec ROM Etherboot,...).</p>\n\n<p class=\"spip\">Il faut donc utiliser cette norme si la carte réseau ou la carte mère du terminal ne permet pas d’utiliser la norme PXE.</p>\n\n<p class=\"spip\">Avec cette norme, le terminal cherche un noyau spécial (vmlinuz-2.4.26-ltsp-2) dont l’adresse est fournie par le serveur DHCP.</p>\n\n<h3>Choix entre PXE et Etherboot</h3>\n<p class=\"spip\">Si votre carte réseau ne reconnaît pas la norme PXE, je conseil vivement de la remplacer (30€) car cela évite de booter sur un lecteur de disquettes.</p>\n\n<h2>Mise en place de l’utilitaire d’installation</h2>\n<p class=\"spip\">LTSP utilise des scripts permettant d’automatiser l’installation. Ces scripts permettent également de vérifier que tous les services fonctionnent correctement.</p>\n\n<p class=\"spip\">Ces scripts sont disponibles dans ce paquet :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install ltsp-utils</code></p>\n\n<p class=\"spip\">Les scripts disponibles suite à cette installation sont les suivants :\n<br /></p>\n<li> <strong class=\"spip\">ltspadmin</strong> : Script principal pour télécharger et configurer les paquets\n<br /><li> <strong class=\"spip\">ltspcfg</strong> : Script de configuration pouvant être appelé directement par ltspadmin\n<br /><li> <strong class=\"spip\">ltspinfo</strong> : Pas d’info sur ce script :-)\n<h2>Téléchargement des paquets de LTSP </h2>\n<p class=\"spip\">La commande « <strong class=\"spip\">ltspadmin</strong> » installée précédemment, permet de télécharger les paquets.</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># ltspadmin</code></p>\n\n<p class=\"spip\">Ensuite, il faut sélectionner le menu « <strong class=\"spip\">Install/Update LTSP Packages</strong> » et suivre les indications.</p>\n\n<p class=\"spip\">Sur l’écran de sélection des paquets, il faut télécharger tous les paquets.</p>\n\n<p class=\"spip\">Lors du lancement de « <strong class=\"spip\"> ltspadmin </strong> », les paramètres de configuration seront enregistrés dans le fichier « <strong class=\"spip\">/etc/ltsp.conf</strong> ».</p>\n\n<h2>Configuration de LTSP  </h2>\n<p class=\"spip\">Toujours avec l’utilitaire « <strong class=\"spip\">ltspadmin </strong> », le menu « <strong class=\"spip\">Configure LTSP</strong> » permet de configurer le système.</p>\n\n<p class=\"spip\">Dans le menu « Configure LTSP » de « <strong class=\"spip\">ltspadmin </strong> », il y a deux sous-menus :\n<br /></p>\n<li> Show de status of all services -> Permet de vérifier l’installation et la configuration des services.\n<br /><li> Configure the services manually -> Permet de configurer les différents services comme indiqué dans les chapitres suivants.\n<h3>1 - RunLevel</h3>\n<p class=\"spip\">Sous Debian, le RunLevel par défaut est 2 alors qu’il est à 5 sur la plupart des autres distributions, mais cela ne pose pas de problème.</p>\n\n<h3>2 - Interface Selection</h3>\n<p class=\"spip\">Possibilité de sélectionner l’interface réseau à utiliser pour les clients.</p>\n\n<h3>3 - DHCP Configuration</h3>\n<p class=\"spip\">Pour faire fonctionner LTSP, il est impératif de disposer d’un serveur DHCP opérationnel. Dans mon cas, le réseau utilise déjà un serveur DHCP qui n’est pas le même que le serveur LTSP.</p>\n\n<p class=\"spip\">Pour avoir plus d’informations sur l’installation d’une serveur DHCP, vous pouvez consulter mon mémo sur le sujet \n<br /></p>\n<li> <a href=\"http://www.coagul.org/article.php3?id_article=167\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=167</a>\n<p class=\"spip\">Pour faire fonctionner LTSP, j’ai dû commencer par ajouter la ligne suivante dans le fichier « <strong class=\"spip\">/etc/dhcp3/dhcpd.conf</strong> », pour indiquer l’adresse du serveur LTSP, car celui-ci est différent du serveur DHCP. Dans le cas où tout est sur le même serveur, cette ligne n’est pas nécessaire (Remplacer « pgltsp » par le nom ou l’adresse IP du serveur ltsp) :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>next-server         pgltsp;</code></p>\n\n<p class=\"spip\">Ensuite, il faut ajouter une ligne pour indiquer le chemin du système de fichiers utilisé par les terminaux qui sera utilisé via NFS (Remplacer « pgltsp » par le nom ou l’adresse IP du serveur ltsp) :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>option root-path    \"pgltsp:/opt/ltsp/i386\";</code></p>\n\n<p class=\"spip\">Pour finir, il faut indiquer le chemin du noyau pour un boot avec la norme Etherboot qui sera obtenu par le serveur TFTP :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>filename            \"/lts/2.6.16.1-ltsp-2/bzImage-2.6.16.1-ltsp-2\";</code></p>\n\n<p class=\"spip\">Ou le chemin du « bootloader » pour un boot avec la norme PXE :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>filename                \"/lts/2.6.16.1-ltsp-2/pxelinux.0\";</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque1</strong> : Il est important de vérifier que le chemin « /opt/ltsp/i386 » contient bien l’arborescence complète d’un système Linux (/bin, /dev, /etc,...) qui sera utilisé par les terminaux via NFS.</p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque2</strong> : Il faut vérifier également que le noyau « bzImage-2.6.16.1-ltsp-2 » ou le bootloader « pxelinux.0 » existe bien dans le dossier « /tftpboot »</p>\n\n<p class=\"spip\"><strong class=\"spip\">ATTENTION </strong> : Pour faire cohabiter les normes PXE et Etherboot sur le serveur DHCP, il est obligatoire d’utiliser une des deux normes par défaut et d’utiliser l’autre en spécifiant les adresses MAC des terminaux qui l’utiliseront.</p>\n\n<p class=\"spip\">L’exemple complet du fichier « <strong class=\"spip\">/etc/dhcp3/dhcpd.conf </strong> » ci-dessous, permet d’utiliser la  norme « <strong class=\"spip\"> pxe </strong> » par défaut pour tous les ordinateurs du réseau qui boot via la carte réseau et d’utiliser la norme « <strong class=\"spip\"> Etherboot </strong> » uniquement pour l’ordinateur « ws001 » dont l’adresse mac est « 00:a0:cc:66:75:51 »</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>ddns-update-style none;<br />\r\noption domain-name \"mondomaine.com\";<br />\r\noption domain-name-servers 192.0.0.4, 194.2.0.50;<br />\r\noption routers 192.0.0.151;<br />\r\n<br />\r\ndefault-lease-time 3600;<br />\r\nmax-lease-time 7200;<br />\r\nlog-facility local7;<br />\r\n<br />\r\nnext-server             pgltsp;<br />\r\noption root-path        \"pgltsp:/opt/ltsp/i386\";<br />\r\nfilename                \"/lts/2.6.16.1-ltsp-2/pxelinux.0\";<br />\r\n<br />\r\nsubnet 192.0.0.0 netmask 255.255.255.0 {<br />\r\n  range 192.0.0.170 192.0.0.254;<br />\r\n}<br />\r\n<br />\r\nhost ws001 {<br />\r\n  hardware ethernet       00:a0:cc:66:75:51;<br />\r\n  filename                \"/lts/2.6.16.1-ltsp-2/bzImage-2.6.16.1-ltsp-2\";<br />\r\n}</code></div>\n<p class=\"spip\">Dans le cas de la mise ne place de plusieurs serveurs LTSP, c’est le serveur DHCP qui doit aiguiller le terminal vers le bon serveur.</p>\n\n<p class=\"spip\">Par exemple la section suivante à ajouter au fichier « <strong class=\"spip\">/etc/dhcp3/dhcpd.conf </strong> » permet d’utiliser un serveur LTSP spécifique (achat-ltsp) pour le terminal ws021 possédant l’adresse MAC indiquée :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>host ws021 {<br />\r\n        fixed-address           192.0.0.21;<br />\r\n        hardware ethernet       00:0a:5e:51:78:f7;<br />\r\n        next-server             achat-ltsp;<br />\r\n        option root-path        \"achat-ltsp:/opt/ltsp/i386\";<br />\r\n        filename                \"/lts/2.6.16.1-ltsp-2/pxelinux.0\";<br />\r\n}</code></div>\n<h3>4 - TFTP Configuration </h3>\n<p class=\"spip\">Le serveur TFTP (Serveur FTP limité) permet de fournir aux terminaux le noyaux linux ou le bootloader qui sera utilisé pour le démarrage.</p>\n\n<p class=\"spip\"><strong class=\"spip\">ATTENTION</strong> : Sur Débian, il existe trois serveurs « <strong class=\"spip\"> tftp </strong> » (tftpd, tftpd-hpa et atftpd) Le premier fonctionne uniquement avec la norme Etherboot et les deux autres avec les normes Etherboot et PXE (Ils supportent l’option tsize). Il est donc conseillé de ne pas utiliser le premier :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install tftpd-hpa</code></p>\n\n<p class=\"spip\">Ensuite, j’ai dû activer le serveur « <strong class=\"spip\"> tftpd </strong> » en modifiant manuellement la ligne ci-dessous dans le fichier « <strong class=\"spip\">/etc/inetd.conf </strong> » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /tftpboot</code></p>\n\n<p class=\"spip\">Dans mon cas, j’ai modifié la fin de la ligne en remplaçant « /var/lib/tftpboot » par « <strong class=\"spip\">/tftpboot </strong> »</p>\n\n<p class=\"spip\">Ensuite, il faut relancer « <strong class=\"spip\"> inetd </strong> » pour prendre en compte les modifications :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># /etc/init.d/openbsd-inetd reload</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque 1 </strong> : Après l’installation et la configuration de « <strong class=\"spip\">tftpd </strong> », il faut relancer le menu « Configure LTSP » pour que le programme « <strong class=\"spip\"> ltspadmin </strong> » refasse les checking.</p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque 2</strong> : Pour avoir plus de logs sur l’utilisation du serveur « <strong class=\"spip\"> tftpd </strong> » lors du démarrage du terminal, il faut ajouter l’option « -v » avant « -s /tftpboot » dans « <strong class=\"spip\">/etc/inetd.conf</strong> ».</p>\n\n<h3>5 - Portmapper Configuration</h3>\n<p class=\"spip\">Pour valider ce menu, j’ai dû installer le paquet suivant<strong class=\"spip\"> </strong> :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install portmap</code></p>\n\n<p class=\"spip\">A la question « Portmap doit-il se limiter à l’adresse de bouclage 127.0.0.1 ? », il faut répondre « Non »</p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : Lors de ma dernière installation d’un serveur LTSP, ce paquet était déjà installé</p>\n\n<h3>6 - NFS Configuration</h3>\n<p class=\"spip\">Pour valider ce menu, j’ai dû installer le paquet suivant<strong class=\"spip\"> </strong> :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># aptitude install nfs-kernel-server</code></p>\n\n<p class=\"spip\">Ensuite, le menu « <strong class=\"spip\">10 - Create /etc/exports entries</strong> » de « <strong class=\"spip\">ltspadmin </strong> » permet d’ajouter dans le fichier de configuration de NFS (/etc/exports) les lignes nécessaires au fonctionnement de NFS.</p>\n\n<p class=\"spip\">Pour information, voici le contenu du fichier de configuration de NFS « /etc/exports » :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>/opt/ltsp               192.0.0.0/255.255.255.0(ro,no_root_squash,sync)<br />\r\n/var/opt/ltsp/swapfiles 192.0.0.0/255.255.255.0 rw,no_root_squash,async)</code></div>\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : Le chemin de cette dernière entrée n’existe pas, mais cela ne semble pas gêner le fonctionnement du système.</p>\n\n<p class=\"spip\">Une fois le fichier de configuration de NFS correct, il est possible de lancer le démon :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># /etc/init.d/nfs-kernel-server restart</code></p>\n\n<h3>7 - XDMCP configuration </h3>\n<p class=\"spip\">Ce menu permet de configurer KDM, GDM ou XDM pour qu’il autorise les clients légers à accéder au serveur X. Par défaut, le serveur X n’autorise pas les accès distants.</p>\n\n<p class=\"spip\">A la question « <strong class=\"spip\">Do </strong><strong class=\"spip\">you</strong><strong class=\"spip\"> </strong><strong class=\"spip\">want</strong><strong class=\"spip\"> </strong><strong class=\"spip\">to</strong><strong class=\"spip\"> </strong><strong class=\"spip\">disable</strong><strong class=\"spip\"> </strong><strong class=\"spip\">the</strong><strong class=\"spip\"> graphique login</strong> », j’ai répondu « <strong class=\"spip\">n</strong> », car je souhaite avoir un accès graphique sur le serveur.</p>\n\n<p class=\"spip\">Suite à cette validation, le fichier « <strong class=\"spip\">/etc/kde3/kdm/kdmrc</strong> », et la section « <strong class=\"spip\"> Xdmcp </strong> » doit contenir au moins ces deux lignes :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[Xdmcp]<br />\r\nEnable=true<br />\r\nWilling=/etc/kde3/kdm/Xwilling</code></div>\n<p class=\"spip\">Ensuite il faut recharger la configuration de KDM en saisissant la commande suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># /etc/init.d/kdm reload</code></p>\n\n<p class=\"spip\">Pour finir, il faut que la résolution des noms soit opérationnelle. Le plus simple pour cela est d’utiliser le menu « 9 - Create /etc/hosts.allow  entries » de « <strong class=\"spip\">ltspadmim </strong> »</p>\n\n<p class=\"spip\">Ensuite pour vérifier qu’il est possible de se connecter au serveur X à distance, il faut depuis un autre poste ayant un serveur X correctement configuré, saisir la commande suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ Xnest :1 -query NomDuServeur</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : Installer le paquet « <strong class=\"spip\"> xnest </strong> », ci la commande ci-dessus n’est pas disponible.</p>\n\n<p class=\"spip\">Pour faire un test en plein écran, il faut saisir la commande suivante sous root :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># X :1 -query NomDuServeur</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : Pour quitter ce nouvel écran, il faut faire « CTRL + ALT + F7 » et arrêter la commande »</p>\n\n<p class=\"spip\">Si ça ne fonctionne pas, il ne faut pas hésiter à regarder les logs sur le serveur :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># tail -f /var/log/syslog</code></p>\n\n<h3>8 - Create /etc/hosts entries</h3>\n<p class=\"spip\">Je dispose d’un serveur DNS Bind, mais j’ai préféré ajouter les entrées des clients LTSP, dans le fichier /etc/hosts du serveur LTSP. Cela me paraissant plus simple à gérer.</p>\n\n<p class=\"spip\">Donc, j’ai répondu « y » a la question « Do you want to add entries to /etc/hosts » et celui-ci a créé 255 entrées nommées de ws000 à ws254 pour les adresses IP de 192.168.0.0 à 192.168.0.254.</p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque1 </strong> : Mais cela ne semble pas fonctionner correctement car je n’arrive pas à configurer un terminal par son nom. Je le configure par son adresse IP ou son adresse Mac. Je pense que ce problème est lié au fait que mon serveur DHCP n’est pas le même que mon serveur LTSP.</p>\n\n<h3>9 - Create /etc/hosts.allow  entries</h3>\n<p class=\"spip\">Ce fichier permet d’autoriser les postes du réseau à accéder au serveur LTSP. J’ai donc répondu « y ».</p>\n\n<h3>10 - Create the /etc/exports  file</h3>\n<p class=\"spip\">J’ai déjà utilisé ce menu au chapitre « 6 - NFS Configuration » donc, je ne l’ai pas utilisé une nouvelle fois.</p>\n\n<h3>11 - Create lts.conf file</h3>\n<p class=\"spip\">Le fichier « /opt/ltsp/i386/etc/lts.conf » donne la configuration par défaut des clients. J’ai donc répondu « y ».</p>\n\n<h2>Configuration des terminaux</h2>\n<p class=\"spip\">Toute la configuration des terminaux est faite sur le serveur dans le fichier <strong class=\"spip\">« /opt/ltsp/i386/etc/lts.conf »</strong> Par défaut, voici son contenu :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[Default]<br />\r\n        SERVER             = 192.0.0.5<br />\r\n        XSERVER            = auto<br />\r\n        X_MOUSE_PROTOCOL   = \"PS/2\"<br />\r\n        X_MOUSE_DEVICE     = \"/dev/psaux\"<br />\r\n        X_MOUSE_RESOLUTION = 400<br />\r\n        X_MOUSE_BUTTONS    = 3<br />\r\n        USE_XFS            = N</code></div>\n<p class=\"spip\">La section [Default] est valable pour tous les terminaux.</p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong> : Vérifier que l’adresse IP de SERVER correspond bien à celle du serveur LTSP.</p>\n\n<p class=\"spip\">Pour activer la molette de la souris, j’ai modifié la ligne suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>X_MOUSE_PROTOCOL   = \"ImPS/2\"</code></p>\n\n<p class=\"spip\">Pour avoir un clavier Français Azerty, j’ai ajouté ces deux lignes :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>XKbModel    = \"pc105\"<br />\r\nXkbLayout   = \"fr\"</code></div>\n<p class=\"spip\">Pour faire fonctionner en mode 800x600 un terminal spécifique qui ne supportait pas le 1024x768, j’ai ajouté la section suivante en me basant sur l’adresse MAC du terminal :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[00:A0:CC:66:75:51]<br />\r\n        XSERVER            = XF86_SVGA</code></div>\n<p class=\"spip\">J’aurais pu utiliser aussi l’adresse IP, mais celle-ci est susceptible de changer :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[192.0.0.191]<br />\r\n        XSERVER            = XF86_SVGA</code></div>\n<p class=\"spip\">Normalement il est possible d’utiliser le nom du terminal, mais dans mon cas cela ne fonctionne pas :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[ws191]<br />\r\n        XSERVER            = XF86_SVGA</code></div>\n<p class=\"spip\">Pour mettre un taux de rafraîchissement à 60Hz pour un terminal avec écran plat, j’ai ajouté la section suivante en me basant sur l’adresse MAC du terminal :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[00:0a:5e:51:78:f7]<br />\r\n        X_VERTREFRESH      = \"60\"</code></div>\n<p class=\"spip\">Pour mettre une résolution de 1280x1024 avec un taux de rafraîchissement à 60Hz sur un terminal spécifique, j’ai ajouté cette section :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[00:0a:5e:51:78:f7]<br />\r\n        X_VERTREFRESH      = \"60\"<br />\r\n        X_MODE_0           = 1280x1024</code></div>\n<p class=\"spip\">Pour faire fonctionner une souris USB sur un terminal spécifique, j’ai ajouté cette section :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[00:14:c2:05:93:dd]<br />\r\n        X_MOUSE_DEVICE     = \"/dev/input/mouse0\"</code></div>\n<p class=\"spip\">Après chaque modification de ce fichier, il est possible de faire « CTRL+ALT+Backspace » sur le terminal pour prendre en compte les modifications sans devoir le redémarrer complètement.</p>\n\n<p class=\"spip\">Pour les autres options disponibles, je conseille la lecture du chapitre « Paramètres du fichier lts.conf » de la documentation officielle :\n<br /></p>\n<li> <a href=\"http://ltsp.mirrors.tds.net/pub/ltsp/docs/ltsp-4.1-fr.html#AEN1294\" class=\"spip_out\">http://ltsp.mirrors.tds.net/pub/ltsp/docs/ltsp-4.1-fr.html#AEN1294</a>\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong> : Pour connaître l’adresse IP ou l’adresse MAC de la carte réseau d’un nouveau terminal, il faut regarder les logs au début du démarrage du terminal ou les logs dans le fichier « <strong class=\"spip\"> syslog </strong> » du serveur DHCP.</p>\n\n<h2>Démarrage des terminaux avec la norme Etherboot</h2>\n<h3>Création d’une disquette pour démarrer (booter) un terminal</h3>\n<p class=\"spip\">Pour créer une disquette, il faut se rendre sur le site ci-dessous :\n<br /></p>\n<li> <a href=\"http://www.rom-o-matic.net/\" class=\"spip_out\">www.rom-o-matic.net</a>\n<p class=\"spip\">Sur la première page, il faut sélectionner la version de la norme « Etherboot » à utiliser. Je conseille d’utiliser la dernière version stable, mais il ne faut pas hésiter à essayer une autre version en cas de problème de boot.</p>\n\n<p class=\"spip\">Sur le deuxième écran il faut sélectionner le driver correspondant à la carte réseau du terminal. Pour trouver plus facilement le bon driver, il faut utiliser la page spéciale en cliquant sur le lien « here ». Si vous ne connaissez pas le type de votre carte réseau, il est possible de booter sur un live-cd comme la Knoppix et de faire un « <strong class=\"spip\"> lspci </strong> » pour connaître le type de la carte.</p>\n\n<p class=\"spip\">Pour finir, il faut sélectionner le type de ROM par défaut « Floppy bootable ROM (.zdsk) ». et cliquer sur le bouton « Get Rom »</p>\n\n<p class=\"spip\">Ensuite pour enregistrer l’image sur une disquette depuis un poste Linux, il faut saisir la commande suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># cat NomDuFichier.zdsk > /dev/fd0 </code></p>\n\n<p class=\"spip\">Pour un poste Windows, il faut utiliser l’utilitaire « rawrite » disponible à cette adresse :\n<br /></p>\n<li> <a href=\"http://www.minix-vmd.org/pub/Minix-vmd/dosutil/\" class=\"spip_out\">http://www.minix-vmd.org/pub/Minix-vmd/dosutil/</a>\n<p class=\"spip\">Il faut renommer l’image téléchargée en « boot.img » et sous Dos, il faut lancer la commande suivante pour créer la disquette :</p>\n\n<p class=\"spip\"># rawrite2 -f boot.img -d A</p>\n\n<h3>Création d’un CD-ROM pour démarrer (booter) un terminal</h3>\n<p class=\"spip\">La procédure est la même que pour une disquette, sauf qu’il faut utiliser le type de ROM « .liso » et non pas « .iso » et encore moins « .zdsk ».</p>\n\n<p class=\"spip\">Ensuite, il faut graver cette image comme une image iso et non pas comme un simple fichier.</p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque1 </strong> : Avec le logiciel de gravure « Prassi Primo CD » sous Windows, j’ai dû renommer le fichier « .liso » en « .iso » pour qu’il veuille bien me graver l’image. Avec K3B sous Linux, ce n’est pas nécessaire.</p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque2 </strong> : Avec le même PC et la même carte Ethernet, le boot en utilisant le driver générique « Etherboot-pci-all » fonctionne avec la disquette mais pas avec le cd-rom. Pour arriver à booter depuis le cd-rom, j’ai dû utiliser le driver spécifique de la carte réseau. Avec le driver générique, j’avais le message d’erreur suivant :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>Could not find Kernel image : etherboo.t-p</code></p>\n\n<h2>Démarrage des terminaux avec la norme PXE</h2>\n<p class=\"spip\">Avec cette norme, il n’y a que le bios de la carte mère à configurer pour indiquer qu’il faut booter via la carte réseau.</p>\n\n<p class=\"spip\">Par exemple sur un portable DELL Latitude, il faut modifier la séquence de boot pour mettre la  ligne « Onboard NIC » en premier</p>\n\n<h2>Connexion et installation d’une imprimante sur un terminal</h2>\n<h3>Configuration du terminal</h3>\n<p class=\"spip\">Sur un terminal, il est possible de connecter jusqu’à 3 imprimantes simultanément en utilisant les ports parallèles, séries ou USB.</p>\n\n<p class=\"spip\">Pour ajouter une imprimante, il faut ajouter ces lignes dans la configuration du terminal du fichier « <strong class=\"spip\">/etc/lts.conf</strong> » :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[192.168.0.100]<br />\r\nPRINTER_0_DEVICE = /dev/lp0<br />\r\nPRINTER_0_TYPE   = P </code></div>\n<p class=\"spip\">La première ligne indique comment est connecté l’imprimante sur le terminal :\n<br /></p>\n<li> Port parallèle : /dev/lp0\n<br /><li> Port série : /dev/ttyS0 \n<br /><li> Port USB :  /dev/usb/lp0\n<p class=\"spip\">La deuxième ligne indique qu’il faut démarrer un serveur d’impression en local qui écoutera sur le port tcp 9100. Le paramètre « P » indique qu’il s’agit d’une imprimante parallèle. Pour une imprimante série ou USB, il faut utiliser le paramètre « S »</p>\n\n<p class=\"spip\"><strong class=\"spip\">ATTENTION</strong> : Après avoir ajouté ces lignes, il faut redémarrer le terminal, car le serveur d’impression est lancé pendant la phase de boot de celui-ci.</p>\n\n<p class=\"spip\">Pour la deuxième imprimante connectée qui écoutera sur le port tcp 9101, il faut utiliser les paramètres « PRINTER_1_DEVICE » et « PRINTER_1_TYPE ».</p>\n\n<p class=\"spip\">Pour la troisième imprimante connectée qui écoutera sur le port tcp 9102, il faut utiliser les paramètres « PRINTER_2_DEVICE » et « PRINTER_2_TYPE ».</p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque</strong> : Pour connaître les autres paramètres concernant l’impression, il faut consulter la documentation officielle.</p>\n\n<p class=\"spip\">La commande suivante permet de vérifier que le terminal est bien en écoute sur le port 9100 :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># nmap 192.168.0.100 | grep 9100<br />\r\n9100/tcp open  jetdirect</code></div>\n<h3>Configuration du serveur</h3>\n<p class=\"spip\">Sur le serveur LTSP, il faut créer une nouvelle imprimante (avec Kprinter ou CUPS) de type réseau en indiquant l’adresse IP du terminal et le port 9100 ou 9101 ou 9102.</p>\n\n<h2>Résolution des problèmes au démarrage :</h2>\n<p class=\"spip\">Sur ce point, je conseille vivement la lecture du chapitre « <strong class=\"spip\">Diagnostic et mise au point</strong> » de la documentation officielle :\n<br /></p>\n<li> <a href=\"http://ltsp.mirrors.tds.net/pub/ltsp/docs/ltsp-4.1-fr.html#AEN874\" class=\"spip_out\">http://ltsp.mirrors.tds.net/pub/ltsp/docs/ltsp-4.1-fr.html#AEN874</a>\n<p class=\"spip\">Mais voici un bref résumé :</p>\n\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Type de problème </strong></th><th scope=\'col\'><strong class=\"spip\">Résolution</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>L’ordinateur ne boot pas et l’adresse MAC et le type de la carte réseau ne s’affichent pas. </td><td>Essayer avec un autre driver ou une autre version du driver Etherboot.Essayer avec le driver spécifique à la carte et non pas le driver all-pciProblème de lecteur de disquettes ou de CD-ROM.Carte réseau non reconnue -> Essayer avec une autre carte réseau.</td></tr>\n<tr class=\"row_odd\"><td>Reboot automatique après le chargement de la ROM</td><td>Essayer avec un autre driver ou une autre version du driver Etherboot.</td></tr>\n<tr class=\"row_even\"><td>Le message suivant apparaît « could not find kernel image »</td><td>Si le système LTSP fonctionne avec d’autres terminaux, essayer avec un autre driver ou une autre version du driver Etherboot.</td></tr>\n<tr class=\"row_odd\"><td>L’affichage reste bloqué sur la recherche du serveur DHCP </td><td>Problème dans la configuration du serveur DHCP.Essayer avec un autre driver ou une autre version du driver Etherboot.</td></tr>\n<tr class=\"row_even\"><td>Les messages de démarrage du noyau ne s’affichent pas.</td><td>Problème dans la configuration de TFTP. </td></tr>\n<tr class=\"row_odd\"><td>Le noyau démarre, mais affiche un kernel panic.</td><td>Problème de configuration de NFS</td></tr>\n<tr class=\"row_even\"><td>Le serveur X démarre mais seulement avec une croix comme curseur sur un fond gris</td><td>Problème de configuration de XDMCPVérifier l’adresse IP du fichier « ltsp.conf »</td></tr>\n</tbody>\n</table>\n<h2>Problèmes rencontrés</h2>\n<h3>Boot impossible depuis un CD-ROM</h3>\n<p class=\"spip\">Étant donné que certains de mes ordinateurs ne disposent pas de lecteurs de disquettes, mais uniquement d’un lecteur de CD-ROM, j’ai essayé de graver des images ISO en provenance du site <a href=\"http://www.rom-o-matic.net/\" class=\"spip_out\">www.rom-o-matic.net</a>, mais sans succès.</p>\n\n<p class=\"spip\">En bootant sur le cd-rom, la carte réseau n’était pas détectée, l’adresse mac n’était pas affichée et le démarrage restait bloqué sur l’écran :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'><sleep></code></p>\n\n<p class=\"spip\">Avec l’aide de la liste [Bourginux], j’ai finis par trouver qu’il fallait utiliser le format « <strong class=\"spip\"> .liso </strong> » et non pas le format « <strong class=\"spip\"> .iso </strong> » :\n<br /></p>\n<li> <a href=\"http://www.coagul.org/article.php3?id_article=151\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=151</a>\n<h3>Problème de Configuration de DHCP</h3>\n<p class=\"spip\">J’ai eu du mal à faire fonctionner LTSP, car mon serveur DHCP n’est pas le même que le serveur LTSP et j’ai dû ajouter cette ligne pour l’indiquer :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>next-server MonServeurLTSP</code></p>\n\n<h3>Problème avec la carte réseau Digitale 21143 PC</h3>\n<p class=\"spip\">Cette carte réseau fonctionne correctement sous Linux et est reconnue avec un « <strong class=\"spip\"> lspci </strong> » comme une « dec 21142/43 », mais après avoir essayé plusieurs drivers Etherboot de <a href=\"http://www.rom-o-matic.net/\" class=\"spip_out\">www.rom-o-matic.net</a>, je n’ai pas réussi à la faire booter sur le réseau. Voici les drivers testés :\n<br /></p>\n<li> Etherboot 5.3.9 : Etherboot-pci-all -> Driver impossible à télécharger\n<br /><li> Etherboot 5.3.8 : Tulip / ds21142\n<br /><li> Etherboot 5.3.7 : Tulip / ds21142\n<br /><li> Etherboot 5.3.7 : Etherboot-pci-all\n<br /><li> Etherboot 5.2.6 : Tulip / ds21142\n<br /><li> Etherboot 5.2.2 : Driver non trouvé avec cette version d’Etherboot\n<p class=\"spip\">Pour tous ces drivers, le démarrage restait bloqué sur le message suivant :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>.TX Timeout !</code></p>\n\n<h3>Problème de configuration du serveur DHCP</h3>\n<p class=\"spip\">Lors du boot d’un poste client juste après la détection de la carte réseau et l’affichage de l’adresse MAC, le démarrage du client est resté bloqué sur ce message :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>Searching for Server (DHCP)<br />\r\nF?.F?.F?</code></div>\n<p class=\"spip\">Cela signifie que le serveur DHCP a bien été détecté, mais qu’il est mal configuré pour les clients qui boot sur le réseau.</p>\n\n<h3>Problème avec la configuration de TFTP </h3>\n<p class=\"spip\">En utilisant le paquet « tftpd », j’ai eu le message suivant lors du boot avec la norme PXE :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>TFTP server does not support the tsize option<br />\r\nBoot failed</code></div>\n<p class=\"spip\">Pour régler ce problème, il faut remplacer le paquet « <strong class=\"spip\"> tftpd </strong> » par le paquet « <strong class=\"spip\">tftpd-hpa</strong> », car celui-ci supporte l’option « <strong class=\"spip\"> tsize </strong> »</p>\n\n<h3>Problème avec la carte réseau D-LINK DFE 530 TX</h3>\n<p class=\"spip\">Après le boot du noyau trouvé dans tftp et juste avant le montage de la partition NFS, le démarrage restait bloqué sur le message suivant :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>crc error <6> Freeing initrd memory<br />\r\nFreeing unused Kernel memory : 88k freed</code></div>\n<p class=\"spip\">Ou aléatoirement sur le message suivant</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>Kernel panic : No init found</code></p>\n\n<p class=\"spip\">Normalement ce message apparaît quand le système de fichiers dans le partage NFS est vide mais ce n’était pas mon cas.</p>\n\n<p class=\"spip\">A la place du driver « D-LINK 530 TX », j’ai fait un essai avec le driver générique « <strong class=\"spip\">Etherboot 5.3.7 : Etherboot-pci-all</strong> » et le boot s’est passé correctement.</p>\n\n<p class=\"spip\">D’une manière générale, ce driver générique a fonctionné pour toutes mes cartes réseaux et je le conseille donc vivement.</p>\n\n<h3>Problème de carte graphique </h3>\n<p class=\"spip\">Sur de vieux PC (Pentium 166), la carte graphique ne supporte pas le mode 1024x768, et le serveur X refusait de démarrer en mettant le message suivant :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>Fatal server error<br />\r\nno screen found</code></div>\n<p class=\"spip\">J’ai dû dans le fichier « <strong class=\"spip\">lts.conf</strong> » remplacer la ligne « <strong class=\"spip\">XSERVER=auto</strong> » par la ligne « <strong class=\"spip\">XSERVER=XF86_SVGA</strong> » pour démarrer le serveur X en 800x600.</p>\n\n<h3>Le boot ne fonctionne pas toujours du premier coup en PXE </h3>\n<p class=\"spip\">Lors du démarrage des terminaux bootant en PXE, il arrive très régulièrement (pour ne pas dire toujours) que le boot ne fonctionne pas du premier coup.</p>\n\n<p class=\"spip\">Je fais donc CTRL+ALT+SUPPR 1 ou 2 fois pour arriver à faire booter le terminal.</p>\n\n<h3>Problèmes suite au changement de configuration réseau du serveur LTSP</h3>\n<p class=\"spip\">Après avoir changé l’adresse IP et la classe d’adresses de mon serveur LRSP, j’ai du effectuer plusieurs réglages pour le faire fonctionner :\n<br /></p>\n<li> Mettre la nouvelle adresse IP du serveur LTSP dans le fichier « <strong class=\"spip\">/opt/ltsp/i386/etc/lts.conf</strong> »\n<br /><li> Revoir les entrées de « <strong class=\"spip\">/etc/hosts</strong> » en utilisant éventuellement « <strong class=\"spip\"> ltspadmin </strong> »\n<br /><li> Revoir les entrées de « <strong class=\"spip\">/etc/hosts.allow</strong> » en utilisant éventuellement « <strong class=\"spip\"> ltspadmin </strong> »\n<br /><li> Revoir les entrées de « <strong class=\"spip\">vim /etc/exports</strong> » en utilisant éventuellement « <strong class=\"spip\"> ltspadmin </strong> »\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong> : Pour ce dernier point, j’ai du corriger le fichier manuellement, car « <strong class=\"spip\"> ltspadmin </strong> » indiquait un chemin erroné.</p>\n\n<h3>Problème carte réseau terminal HP t5000 avec le noyau 2.6.17.8 de LTSP</h3>\n<p class=\"spip\">Lors du chargement du noyau 2.6.17.8 via PXE sur un terminal HP t5000, j’ai obtenu le message suivant :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>ERROR! dhcpd failed!<br />\r\nKernel panic – not syncing: Attempted to kill init!</code></div>\n<p class=\"spip\">Pour régler ce problème, j’ai utilisé le noyau précédent « 2.6.16.1 »</p>\n\n<h3>Défaut d’affichage du curseur avec terminal HP t5000 et LTSP 4.2</h3>\n<p class=\"spip\">Avec LTSP 4.2 et un terminal HP t5000, le curseur de la souris est affiché par moment avec un gros carré noir. Je n’ai pas ce problème avec d’autres terminaux ni avec ce terminal sous LTSP 4.1</p>\n\n<p class=\"spip\">Ce problème est lié à Xorg qui ne détecte pas correctement la carte graphique et la mémoire du terminal. Pour contourner ce problème, il faut indiquer explicitement le type et la mémoire de la carte graphique.  Voici un exemple de configuration complète d’un de mes terminaux :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[00:17:a4:f4:7a:b2]<br />\r\n        XSERVER         = \"via\"<br />\r\n        X_VIDEORAM      = \"16384\"<br />\r\n        X_COLOR_DEPTH   = \"24\"<br />\r\n        X_MODE_0        = \"1280x1024\"<br />\r\n        X_HORZSYNC      = \"60-70\"<br />\r\n        X_VERTREFRESH   = \"60-75\"</code></div>\n<h3>Problème avec la résolution 1280x1024</h3>\n<p class=\"spip\">Quelque soit le terminal utilisé et la version de LTSP, je n’ai jamais réussi à utiliser la résolution d’affichage « 1280x1024 ». Le maximum que j’ai pu atteindre est « 1280x960 ».</p>\n\n<p class=\"spip\">Pour régler ce problème, il fallait simplement ajouter la ligne suivante au fichier « <strong class=\"spip\">lts.conf</strong> » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>X_HORZSYNC = \"60-70\"</code></p>\n\n<h3>Problème de fonctionnement de TFTP</h3>\n<p class=\"spip\">Sur un nouveau serveur LTSP en voulant démarrer mon premier terminal via PXE, il est resté bloqué sur le message suivant :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>PXE-E32 TFTP OPEN TIMEOUT<br />\r\nPXE-MOF exiting intel PXE POM<br />\r\nerror: non system disk or disk error </code></div>\n<p class=\"spip\">Comme mon serveur TFTP était bien opérationnel et que le chemin vers le noyau était correcte, j’ai cherché et j’ai fini par trouvé que le problème venait de la configuration de DHCP et de la résolution des noms. Pour régler ce problème, j’ai remplacé dans la configuration du serveur DHCP le nom du serveur par son adresse IP sur les lignes « <strong class=\"spip\">next-server</strong> » et « <strong class=\"spip\">option root-path</strong> ».</p>\n\n<h3>Autres sources d’informations en cas de problèmes</h3>\n<p class=\"spip\">Ce document contient les problèmes rencontrés par le laboratoire de CIL-CETRIL durant sa progression dans les méandres du boot PXE :\n<br /></p>\n<li> <a href=\"http://www.cetril.org/http://download.tuxfamily.org/assocoagul/drupal-files/spip/Journal_des_erreurs_ltsp.pdf\" class=\"spip_out\">http://www.cetril.org/IMG/pdf/Journal_des_erreurs_ltsp.pdf<a>\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>23/02/05</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.6</td><td>12/07/06</td><td>Mise à jour suite à installation troisième serveur LTSP</td></tr>\n<tr class=\"row_even\"><td>0.7</td><td>11/12/06</td><td>Mise à jour suite à l’installation d’un terminal HP 5000 sous LTSP 4.2</td></tr>\n<tr class=\"row_odd\"><td>0.83</td><td>03/04/07</td><td>Correction du problème du chapitre « Défaut d’affichage du curseur avec terminal HP t5000 et LTSP 4.2 »</td></tr>\n<tr class=\"row_even\"><td>0.9</td><td>03/04/07</td><td>Ajout chapitre « Installation d’une imprimante sur un terminal »</td></tr>\n<tr class=\"row_odd\"><td>1.0</td><td>31/03/08</td><td>Mise à jour suite à l’installation d’un nouveau serveur</td></tr>\n</tbody>\n</table>','<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour <strong class=\"spip\">installer et configurer « Linux Terminal Server (LTSP 4.2) » </strong>sur une Debian Etch.</p>\n\n<p class=\"spip\">Ce système permet de recycler de vieux ordinateurs en terminaux graphiques. Pour cela, il faut un ordinateur assez puissant (qui fera office de serveur) et avec suffisamment de mémoire vive pour pouvoir gérer les terminaux. Les terminaux peuvent être, par exemple, des pentium 166 avec 32 Mo de mémoire vive et sans disque dur.</p>','',1288361774,2),(169,169,1,'Mardi 22 Février 2005 (Avancement projets Coagul)','<p class=\"spip\">Ce soir-là était essentiellement consacré à l’avancement des projets de Coagul.</p>\n\n<p class=\"spip\">Lors de cette réunion, il y avait 11 personnes : Yogi, Jean B, Tony, Didier, Mircea, Laurent, Philippe, Gérald, Nicolas, Luc et Arnaud.</p>\n\n<h2>2 Visiteurs</h2>\n<br /><li> Arnaud du petit atelier venu pour essayer de régler un problème d’ACPI sur son nouveau portable et pour nous proposer sa salle pour des manifestations.\n<br /><li> Luc, notre visiteur habituel\n<h2>Organisation des portes-ouvertes</h2>\n<p class=\"spip\">Je rappelle que la préparation de cette réunion peut se faire sur le wiki :\n<br /></p>\n<li> <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=ProjetsCoagul\" class=\"spip_out\">http://www.coagul.org/wikini/wakka.php ?wiki=ProjetsCoagul</a>\n<h3>Faut-il maintenir la porte-ouverte ?</h3>\n<p class=\"spip\">Oui mais à condition de prévoir une activé grand public (Atelier, Débat) et éventuellement sur Dijon.</p>\n\n<h3>Faut-il maintenir la porte-ouverte le premier mardi de chaque mois ou en faire moins souvent ?</h3>\n<p class=\"spip\">Oui</p>\n\n<h3>Faut-il proposer un ou plusieurs ateliers grand public lors de cette porte-ouverte ?</h3>\n<p class=\"spip\">Oui</p>\n\n<p class=\"spip\">Activités proposées pour les 3 prochaines portes-ouvertes :\n<br /></p>\n<li> Présentation des différentes distributions Linux\n<br /><li> Présentation de Digikam\n<br /><li> Présentation de Gimp\n<h3>Qui proposent des ateliers ?</h3>\n<p class=\"spip\">Gérald, Yogi et Tony.</p>\n\n<h3>Quelle communication faut-il faire pour cette réunion et qui s’en charge ?</h3>\n<p class=\"spip\">Yogi, Gérald et  Nicolas vont continuer à distribuer des plaquettes :\n<br /></p>\n<li> Yogi : Assembleurs, Revendeurs informatique\n<br /><li> Gérald : Les pandas\n<br /><li> Nicolas : Les FAC\n<br /><li> Tony : La LIB de l’U\n<p class=\"spip\">Philippe va corriger et imprimer 200 plaquettes pour la semaine prochaine.</p>\n\n<p class=\"spip\">Prévoir un nouvel article dans Linux FR</p>\n\n<h2>Problème avec la salle</h2>\n<h3>Autre solution pour la clé ?</h3>\n<p class=\"spip\">Non. Philippe se dévoue.</p>\n\n<h3>Autre salle à proposer ?</h3>\n<p class=\"spip\">Yogi et Gérald vont chercher d’autres salles.</p>\n\n<h2>Envisager notre participation à la fête de l’internet à Marsanay du 22 au 25 mars.</h2>\n<p class=\"spip\">Yogi et Laurent vont y participer.</p>\n\n<h2>Participation au libre en fête les 18, 19 et 20 Mars.</h2>\n<p class=\"spip\">Cette manifestation est appuyée par l’April et aura une couverture nationale.</p>\n\n<p class=\"spip\">Philippe proposera des photos sous licences libres.</p>\n\n<p class=\"spip\">Ce sera l’occasion de faire de la pub pour Coagul.</p>\n\n<p class=\"spip\">Gérald a prévu de faire une exposition avec éventuellement le vidéo projecteur du petit atelier les 17, 18 et 19 mars.</p>\n\n<p class=\"spip\">Il faudrait prendre contact avec Cyberbase (Espace public numérique : 200 sur la France) pour éventuellement organiser des installe parties lors de ces journées.</p>\n\n<p class=\"spip\">Le petit atelier est éventuellement disponible pour le samedi 19 mars.</p>\n\n<h2>Vernissage de l’exposition photo art libre (communication et logistique)</h2>\n<p class=\"spip\">A étudier.</p>\n\n<h2>Les journées Chatillonnaises </h2>\n<p class=\"spip\">Sujet reporté.</p>\n\n<h2>La SDAT</h2>\n<p class=\"spip\">Sujet reporté.</p>','Ce soir-là était essentiellement consacré à l’avancement des projets de Coagul.','',1289142198,2),(170,170,1,'Configuration d’un écran 16/10 (1280x800) d’un ACER Aspire 1363WLMi','<p class=\"spip\"><br /></p>\n<li> Matériel : Ecran WXGA 1280x800 (16/10) à 60 Hz, sur un portable ACER Aspire 1363WLMi. \n<br /><li> Distribution : Mandrake Official 10.1 32 bits, serveur graphique X.org . \n<br /><li> But : Configuration du ModeLine dans le XF86Config.conf . \n<br /><li> Prérequis : ...\n<p class=\"spip\">Après avoir installé une Mandrake 10.1 sur le portable, le bureau était plus grand que l’affichage.</p>\n\n<p class=\"spip\">Afin de remettre de l’ordre dans tout cela, il faut modifier les paramètres du ModeLine dans XF86Config ou xorg.conf .</p>\n\n<p class=\"spip\">Nous avons donc besoin de connaître ces paramètres pour un affichage de 1280x800 à 60 Hz.</p>\n\n<p class=\"spip\">Grâce à la commande <i class=\"spip\"> <strong class=\"spip\">gtf</strong> </i>, suivie de la largeur en pixels puis de la hauteur en pixels et enfin de la fréquence de rafraîchissement, nous allons obtenir nos paramètres :</p>\n\n<p class=\"spip\"><span class=\'spip_document_126 spip_documents spip_documents_center\' >\n<img src=\'http://download.tuxfamily.org/assocoagul/drupal-files/spip/gtf.png\' width=\"751\" height=\"234\" alt=\"\" /></span><p>\n\n<p class=\"spip\">Ainsi, il suffit de remplacer la ligne ModeLine correspondante du XF86Config par ces nouvelles valeurs, et ,Oh joie !!, tout rentre dans l’ordre après un redémarrage du serveur X.</p>','Matériel : Ecran WXGA 1280x800 (16/10) à 60 Hz, sur un portable ACER Aspire 1363WLMi.\n\n\n<br />Distribution : Mandrake Official 10.1 32 bits, serveur graphique X.org .\n\n\n<br />But : Configuration du ModeLine dans le XF86Config.conf .\n\n\n<br />Prérequis : ...\n\n\n<br />Après avoir installé une Mandrake 10.1 sur le portable, le bureau était plus grand que l’affichage.\n\n\n<br />Afin de remettre de l’ordre dans tout cela, il faut modifier les paramètres du ModeLine dans XF86Config ou xorg.conf .\n\n\n<br />Nous avons donc besoin de connaître ces (...)\n','',1288361776,2),(171,171,1,'Installation d’un serveur IMAP personnel avec dovecot, postfix et fetchmail','<p class=\"spip\">Installer postfix. Cela fonctionne aussi avec d’autres serveurs de courriel, mais je détaille uniquement pour Postfix.</p>\n\n<p class=\"spip\">Par choix personnel, je prefère utiliser le format Maildir afin de converver mes courriels. Chaque courriel sera alors dans un fichier propre, contrairement au format mbox avec lequel chaque dossier (contenant souvent plusieurs centaines de courriels) est un fichier de plusieurs Mo. Pour configurer ainsi Postfix, modifier alors le fichier <code class=\'spip_code\' dir=\'ltr\'>/etc/postfix/main.cf</code> pour ajouter :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\nhome_mailbox = Courriel/<br />\r</code></div>\n<p class=\"spip\">Le \"/\" final indique à Postfix que l’on veut utiliser le format Maildir. Les courriels seront dont mis dans le repertoire personnel de chaque utilisateur, dans le sous répertoire courriel.</p>\n\n<p class=\"spip\">Redémarrer Postfix. Assurez vous que le répertoire <code class=\'spip_code\' dir=\'ltr\'>~/Courriel</code> existe, avec les droits d’écriture pour votre utilisateur. Afin de créer la structure du Maildir, s’envoyer un courriel :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\n$ mail nom_utilisateur<br />\r\nSubject: Creation de la boite <entrée><br />\r\nVoila qui est fait <ctrl+D><br />\r\nCc: <entree><br />\r\n$<br />\r</code></div>\n<p class=\"spip\">Si on liste le contenu de <code class=\'spip_code\' dir=\'ltr\'>~/Courriel</code>, apparait alors :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\n$ ls -F ~/Courriel/<br />\r\ncur/  new/  tmp/<br />\r\n$<br />\r</code></div>\n<p class=\"spip\">Installer dovecot-imapd. C’est un très bon serveur IMAP, qui est configurable facilement (contrairement à uw-imapd).  Il suffit ensuite de modifier la configuration pour indiquer à Dovecot où il doit chercher les courriels. Dans le fichier <code class=\'spip_code\' dir=\'ltr\'>/etc/dovecot.conf</code>, chercher <code class=\'spip_code\' dir=\'ltr\'>default_mail_env</code> et indiquer à la suite des exemples donnés :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\ndefault_mail_env = maildir:/home/%u/Courriel/<br />\r</code></div>\n<p class=\"spip\">Si vous avez conservé le format mbox, il suffit d’adapter la configuration à votre cas, dovecot pouvant également accéder à une boite au format mbox.</p>\n\n<p class=\"spip\">Redémarrez dovecot. Vous pouvez ensuite tester avec Mozilla Thunderbird, KMail ou évolution votre accès au serveur IMAP. Vous pouvez utiliser IMAP/SSL pour plus de sécurité.</p>\n\n<p class=\"spip\">Il s’agit ensuite de récupérer les courriels distants de votre éventuel fournisseur si vous ne faites pas vous même serveur pour vos courriels. Pour cela, installez fetchmail. Vous pouvez également installer fechtmailconf pour vous aider lors de la configuration de fetchmail. Fetchmail va se charger de récupérer vos courriels par POP3 ou POP3/SSL et va les transférer à Postfix. Créez vous un fichier <code class=\'spip_code\' dir=\'ltr\'>~/.fetchmailrc</code> qui va ressembler à ceci :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\n# Configuration created Wed Apr  7 23:12:15 2004 by fetchmailconf<br />\r\nset postmaster \"bouil\"<br />\r\nset bouncemail<br />\r\nset no spambounce<br />\r\nset properties \"\"<br />\r\npoll pop.ouvaton.org with proto POP3<br />\r\n       user \'mon_login_POP\' there with password \'VOTRE_MOT_DE_PASSE\' is \'mon_login_LOCAL\' here options fetchall ssl<br />\r\npoll mail.altern.org with proto POP3<br />\r\n       user \'mon_login_POP\' there with password \'VOTRE_MOT_DE_PASSE\' is \'mon_login_LOCAL\' here options fetchall<br />\r</code></div>\n<p class=\"spip\">Donc, on relève ici deux boites, la première en SSL (option ssl à la fin de la ligne), l’autre sans SSL. Les courriels seront dans les deux cas transmis dans la boite de l’utilsateur local.</p>\n\n<p class=\"spip\">Lancez ensuite fetchmail à ma main, et vérifiez ainsi que la configuration de fetchmail est correcte. Creez ensuite une tache planifiée afin de faire executer fetchmail de manière régulière, automatiquement. Éditez pour cela votre fichier crontab personnel :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\n$ crontab -e<br />\r</code></div>\n<p class=\"spip\">et ajouter une ligne ressemblant à cela :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\n# m h dom mon dow user  command<br />\r\n*/5 * * * * fetchmail >/dev/null 2>&1<br />\r</code></div>\n<p class=\"spip\">Ceci executera fetchmail toutes les 5 minutes. Les erreurs eventuelles de fetchmail (erreur de résolution de noms, connexion perdue, etc...) seront poubellisées, au lieu de vous être envoyées par courriel (mécanisme classique de cron).</p>\n\n<p class=\"spip\">N’oubliez pas, le cas échéant, d’autoriser IMAP en entrée au niveau de votre pare-feu.</p>\n\n<hr>\n<p class=\"spip\">Cet article est sous licence GNU FDL ou sous licence Creative Commons by-sa version 2, à votre convenance.</p>','Comment installer chez soi un serveur IMAP afin d’avoir accès à tous ses courriels depuis n’importe où, grâce à Postfix, Dovecot et Fetchmail.','',1288361776,2),(172,172,1,'Jouons avec FTP','<p class=\"spip\">Suite à une discussion sur IRC, je me suis remis à m’amuser avec le protocole FTP.\nJ’en profite pour faire un topo rapide.</p>\n\n<h2>C’est quoi FTP</h2>\n<p class=\"spip\">Comme son nom l’indique, FTP (File Transfer protocol) est un protocole de transport de fichiers. Il fonctionne en TCP contrairement à d’autres protocoles comme le TFTP qui fonctionnent en UDP.</p>\n\n<p class=\"spip\">Mais FTP, outre d’être difficile à administrer (pour le firewall notamment), est peu sécurisé. Nous verrons par la suite les limites de ce protocole. Il est a noter que la plupart des serveurs FTP actuels (et heureusement) permettent de limiter les problèmes.</p>\n\n<h2>Comment fonctionne FTP</h2>\n<p class=\"spip\">FTP fonctionne sur deux canaux. Un canal pour les commandes et l’autre canal pour les données.</p>\n\n<p class=\"spip\">Nous supposons que nous avons :\n<br /></p>\n<li> un serveur FTP avec comme ip 192.168.0.1 sur le port 21. Le nom d’utilisateur est gnunux avec comme mot de passe : motdepasse.\n<br /><li> le premier client, appelé victime, a pour ip 192.168.0.2\n<br /><li> le deuxième client, appelé attaquant, a pour ip 192.168.0.3\n<p class=\"spip\">Sur le client, nous allons nous connecter sur le serveur ftp avec telnet :</p>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>victime$ telnet 192.168.0.1 21<br />\r\nTrying 192.168.0.1...<br />\r\nConnected to 192.168.0.1.<br />\r\nEscape character is \'^]\'.<br />\r\n220 ProFTPD 1.2.8 Server (ProFTPD Default Installation) [gnunux.gnunux.info]<br />\r</code></div>\n<p class=\"spip\">Commençons pour nous identifier :</p>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>USER gnunux<br />\r\n331 Password required for gnunux.<br />\r</code></div>\n<p class=\"spip\">Comme indiqué, il faut mettre son mot de passe :</p>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>PASS motdepasse<br />\r\n230 User gnunux logged in.<br />\r</code></div>\n<p class=\"spip\">Nous voilà connecté sur le serveur ! Nous pouvons maintenant découvrir les commandes de base en faisant \"HELP\". Par exemple \"PWD\" nous donne le répertoire courant, \"SYST\" nous donne le type de système.</p>\n\n<p class=\"spip\">Maintenant passons aux choses sérieuses. Pour l’instant nous sommes restés dans le canal commande.</p>\n\n<p class=\"spip\">FTP fonctionne en mode passif ou en mode actif. Dans le premier cas, le serveur ouvre un port non privilégié (supérieur à 1023) en attendant que le client se connecte sur le canal de donnée. Dans le deuxième cas, le client ouvre un port en attendant que le serveur se connecte depuis le port 20. Etudions dans la pratique ce que cela donne.</p>\n\n<h3>mode passif</h3>\n<p class=\"spip\">En mode passif, faisons :</p>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>PASV<br />\r\n227 Entering Passive Mode (192,168,0,1,6,130).<br />\r</code></div>\n<p class=\"spip\">Ici nous avons l’ip du serveur (192.168.0.1) et le port 6,130 (c’est bien des \",\" et non des \".\"). Pour calculer le port, il faut faire : 6x256+130 (donc 1666).</p>\n\n<p class=\"spip\">Depuis une autre console :</p>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>victime$ telnet 192.168.0.1 1666<br />\r\nTrying 192.168.0.1...<br />\r\nConnected to 192.168.0.1.<br />\r\nEscape character is \'^]\'.<br />\r</code></div>\n<p class=\"spip\">Le telnet est en attente. Il faut demander au serveur de transmettre des données depuis le canal de commande :</p>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>LIST<br />\r\n150 Opening ASCII mode data connection for file list<br />\r\n226 Transfer complete.<br />\r</code></div>\n<p class=\"spip\">Dans la fenêtre du canal de donnée nous avons la liste des fichiers des répertoires courant qui s’affiche :</p>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>drwx------   2 gnunux   users        4096 Nov 13 20:02 Amis<br />\r\n-rw-------   1 gnunux   users       37035 Nov 24 11:28 Autre<br />\r\ndrwx------   4 gnunux   users        4096 Nov 13 19:35 Contact<br />\r\ndrwx------   4 gnunux   users        4096 Jan  1 23:05 Lettre<br />\r\ndrwx------   4 gnunux   users        4096 Jan  1 23:05 Liste<br />\r\ndrwx------   2 gnunux   users        4096 Jan  1 23:05 Travail<br />\r\nConnection closed by foreign host.<br />\r</code></div>\n<h3>mode actif</h3>\n<p class=\"spip\">Choisissons un port supérieur à 1023 au hazard ... disons 1867</p>\n\n<p class=\"spip\">Sur le client écoutons sur ce port avec netcat :\n<code class=\'spip_code\' dir=\'ltr\'>victime$ nc -l -p 1867\r</code></p>\n\n<p class=\"spip\">Enfin calculons les valeurs utilisées pour définir le port :</p>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>victime$ echo \"1867/256\" |bc<br />\r\n7<br />\r\nvictime$ echo \"1867%256\" |bc<br />\r\n75<br />\r</code></div>\n<p class=\"spip\">Le port 1867 est donc 7,75.</p>\n\n<p class=\"spip\">Passons donc en mode actif :</p>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>PORT 192,168,0,2,7,75<br />\r\n200 PORT command successful<br />\r\nLIST<br />\r\n150 Opening ASCII mode data connection for file list<br />\r</code></div>\n<p class=\"spip\">Vous pouvez voir que la liste des répertoires est affichée dans la console contenant netcat.</p>\n\n<h2>Usurpation du canal de donnée</h2>\n<p class=\"spip\">Il est facile de constater qu’aucun mécanisme ne permet de s’identifier sur le canal des données. Le serveur se contente de répondre à la première personne qui s’y connecte.</p>\n\n<p class=\"spip\">Il est facile de récuperer des données d’une session d’une autre personne.</p>\n\n<p class=\"spip\">Pour la suite, nous allons utiliser un petit script que j’ai écrit :</p>\n\n<dl class=\'spip_document_130 spip_documents spip_documents_center\' >\n<dt><a href=\"http://download.tuxfamily.org/assocoagul/drupal-files/spip/ftp_passif.py.gz\" title=\'GZ - 709 octets\' type=\"application/x-gzip\"><img src=\'dist/vignettes/gz.png\' width=\'52\' height=\'52\' alt=\'GZ - 709 octets\' /></a><dt>\n<dt class=\'spip_doc_titre\' style=\'width:120px;\'><strong>ftp_passif.py.gz</strong></dt>\n<dd class=\'spip_doc_descriptif\' style=\'width:120px;\'>Script python de ma composition à décompresser (gunzip ftp_passif.py.gz) et à rendre exécutable (chmod +x ftp_passif.py).</dd>\n</dl>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>victime$ ./ftp_passif.py<br />\r\n<br />\r\nDans une autre console, tape :<br />\r\ntelnet 192.168.0.1 1818<br />\r</code></div>\n<p class=\"spip\">Comme indiqué dans une autre console, il suffit de taper \"telnet 192.168.0.1 1818\" pour voir le contenu du répertoire.</p>\n\n<p class=\"spip\">Refaire l’expérience mais en faisant le telnet sur le deuxième client :</p>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>attaquant$ telnet 192.168.0.1 1818<br />\r\nTrying 192.168.0.1...<br />\r\nConnected to 192.168.0.1.<br />\r\nEscape character is \'^]\'.<br />\r\ndrwx------   2 gnunux   users        4096 Nov 13 20:02 Amis<br />\r\n-rw-------   1 gnunux   users       37035 Nov 24 11:28 Autre<br />\r\ndrwx------   4 gnunux   users        4096 Nov 13 19:35 Contact<br />\r\ndrwx------   4 gnunux   users        4096 Jan  1 23:05 Lettre<br />\r\ndrwx------   4 gnunux   users        4096 Jan  1 23:05 Liste<br />\r\ndrwx------   2 gnunux   users        4096 Jan  1 23:05 Travail<br />\r</code></div>\n<h2>Le rebond FTP (ou bounce FTP)</h2>\n<p class=\"spip\">Le rebond FTP est une technique de test de port d’une machine tiers en utilisant le protocole FTP.</p>\n\n<p class=\"spip\">Le principe est d’ouvrir, en mode actif, une connexion sur un port spécifique d’un autre machine (avec la commande PORT). Si le port est ouvert, le serveur FTP considérera que les données ont été transmis. Sinon une erreur sera retournée.</p>\n\n<p class=\"spip\">Pour la suite, nous allons utiliser un petit script que j’ai écrit :</p>\n<dl class=\'spip_document_129 spip_documents spip_documents_center\' >\n<dt><a href=\"http://download.tuxfamily.org/assocoagul/drupal-files/spip/ftp_actif.py.gz\" title=\'GZ - 659 octets\' type=\"application/x-gzip\"><img src=\'dist/vignettes/gz.png\' width=\'52\' height=\'52\' alt=\'GZ - 659 octets\' /></a><dt>\n<dt class=\'spip_doc_titre\' style=\'width:120px;\'><strong>ftp_actif.py.gz</strong></dt>\n<dd class=\'spip_doc_descriptif\' style=\'width:120px;\'>Script python de ma composition à décompresser (gunzip ftp_actif.py.gz) et à rendre exécutable (chmod +x ftp_actif.py).</dd>\n</dl>\n<p class=\"spip\">Sur le premier client faire :\n<code class=\'spip_code\' dir=\'ltr\'>victime$ nc -l -p 1982\r</code></p>\n\n<p class=\"spip\">et dans une autre console :</p>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>victime$ ./ftp_actif.py 192.168.0.2 1982<br />\r\nport ouvert<br />\r</code></div>\n<p class=\"spip\">Sur un port fermé nous aurons :</p>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>victime$ ./ftp_actif.py 192.168.0.2 1983<br />\r\nport ferme<br />\r</code></div>\n<p class=\"spip\">Attention, il est très rare que les serveurs FTP acceptent des ports privilégiés (inférieur a 1024) comme port de destination.</p>\n\n<p class=\"spip\">Maintenant si nous modifions l’ip, il est possible de s’assurer qu’un port est ouvert ou non.\nSur le premier client, faire :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>victime$ nc -l -p 1672\r</code></p>\n\n<p class=\"spip\">et sur le deuxième client :</p>\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>./ftp_actif.py 192.168.0.3 1672<br />\r\nport ouvert.<br />\r</code></div>\n<h2>Se protéger</h2>\n<p class=\"spip\">Avec proftpd, il suffit de mettre l’option \"AllowForeignAddress\" à \"off\".</p>','Découvrir comment fonctionne le FTP et deux techniques de contournement du protocole.','',1288361778,2),(173,173,1,'Configurer XFree pour une carte 3DLabs Oxygen GVX1 AGP','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour configurer « <strong class=\"spip\">XFree » </strong>avec une carte<strong class=\"spip\"> « 3DLabs Oxygen GVX1 AGP</strong> » sur une <strong class=\"spip\">Debian Testing</strong>.</p>\n\n<h2>Pré-requis</h2>\n<br /><li> Avoir installé une Debian de Base : <a href=\"http://www.coagul.org/article.php3?id_article=158\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=158</a>\n<br /><li> Avoir installé XFree : <a href=\"http://www.coagul.org/article.php3?id_article=159\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=159</a>\n<h2>Problème rencontré</h2>\n<p class=\"spip\">Après l’installation de Xfree et KDE, le serveur X n’a pas réussi à démarrer, car la carte graphique n’était pas reconnue automatiquement.</p>\n\n<p class=\"spip\">J’ai essayé d’utiliser la Knoppix, mais celle-ci n’a pas fonctionné non plus.</p>\n\n<p class=\"spip\">J’ai essayé sans succès de configurer le serveur X avec la commande suivante :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>dpkg-reconfigure xserver-xfree86</code></p>\n\n<p class=\"spip\">J’ai essayé aussi de modifier manuellement le fichier de configuration « /etc/X11/XF86Config-4 » et d’utiliser le pilote « vga » :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>Section \"Device\"<br />\r\n        Driver      \"vga\"</code></div>\n<p class=\"spip\">ou « vesa » :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>Section \"Device\"<br />\r\n        Driver      \"vesa\"</code></div>\n<h2>Solution</h2>\n<p class=\"spip\">Je suis donc parti à la pêche aux informations et j’ai trouvé ce site, qui m’a confirmé que ma carte était compatible avec Linux ce qui était bon signe :-)\n<br /></p>\n<li> <a href=\"http://www.docmirror.net/fr/linux/howtos/hardware/HP/hp-hardware.html\" class=\"spip_out\">http://www.docmirror.net/fr/linux/howtos/hardware/HP/hp-hardware.html</a>\n<p class=\"spip\">De plus, ce site m’a indiqué qu’il fallait utiliser le mode Framebuffer (FBDEV) pour faire fonctionner la carte.</p>\n\n<p class=\"spip\">Mon premier réflexe a donc été de mettre le pilote « fbdev » dans la driver de XFree</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>Section \"Device\"<br />\r\n        Driver      \"fbdev\"</code></div>\n<p class=\"spip\">Mais lors du lancement de X, je me suis retrouvé avec ce message d’erreur :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>open /dev/fb0 no such device<br />\r\nno device detected<br />\r\nFatal server error<br />\r\nno sreens found</code></div>\n<p class=\"spip\">Je suis donc reparti à la pêche aux informations, et j’ai trouvé qu’il fallait activer le mode Framebuffer en ajoutant une option au noyau Linux en sai demodifiant Grub.</p>\n\n<p class=\"spip\">Il faut ajouter l’option vga=xxx comme indiqué dans le tableau ci dessous :</p>\n\n<table class=\"spip\">\n<tbody>\n<tr class=\"row_even\"><td> </td><td><strong class=\"spip\">640x480</strong></td><td><strong class=\"spip\">800x600</strong></td><td><strong class=\"spip\">1024x768</strong></td><td><strong class=\"spip\">1280x1024</strong></td></tr>\n<tr class=\"row_odd\"><td>8 bits</td><td>vga=769</td><td>vga=771</td><td>vga=773</td><td>vga=775</td></tr>\n<tr class=\"row_even\"><td>16 bits</td><td>vga=785</td><td>vga=788</td><td>vga=791</td><td>vga=794</td></tr>\n<tr class=\"row_odd\"><td>32 bits</td><td>vga=786</td><td>vga=789</td><td>vga=792</td><td>vga=795</td></tr>\n</tbody>\n</table>\n<p class=\"spip\">J’ai donc modifié le fichier « /etc/boot/grub/menu.lst » et ajouté cette option sur la ligne « kernel » comme indiqué ci-dessous :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>kernel /boot/vmlinuz-2.4.26-1-386 root=/dev/hda8 ro vga=791</code></p>\n\n<p class=\"spip\">Et après un reboot pour prendre en compte cette modification, mon XFree a démarré sans problème :-)</p>\n\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>25/02/05</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td> </td><td> </td><td> </td></tr>\n</tbody>\n</table>','Ce document me sert de <strong class=\"spip\">mémo</strong> pour configurer « <strong class=\"spip\">XFree » </strong>avec une carte<strong class=\"spip\"> « 3DLabs Oxygen GVX1 AGP</strong> » sur une <strong class=\"spip\">Debian Testing</strong>.','',1288361779,2),(174,174,1,'CUPS et Multifonction Ricoh Aficio 1224C.','<p class=\"spip\">Matériel : Photocopieur multifonction Ricoh Aficio 1224C.<br>Distribution : Mandrake Official 10.1 32 bits / KDE 3.2 .<br>But : Mise en place de l’impression couleur en l’absence d’un driver spécifique du constructeur.<br>Pré requis : CUPS installé.</p>\n\n<p class=\"spip\"><span class=\'spip_document_131 spip_documents spip_documents_center\' >\n<img src=\'http://download.tuxfamily.org/assocoagul/drupal-files/spip/ricoh.jpg\' width=\"369\" height=\"371\" alt=\"\" /></span><p>\n\n<p class=\"spip\">Cet article a pour but de présenter la procédure permettant l’impression sur un copieur multifonction Ricoh Aficio 1224C via le serveur d’impression CUPS. Ce copieur est sur un réseau éthernet.</p>\n\n<p class=\"spip\">Nous allons donc voir qu’il est possible de parfaitement imprimer, y compris en couleur, sur ce matériel, malgré l’absence de pilote dédié.</p>\n\n<p class=\"spip\">Lancer le gestionnaire d’impression de KDE en ROOT :</p>\n\n<center><a href=\"http://www.coagul.org/http://download.tuxfamily.org/assocoagul/drupal-files/spip/kde_print_01.png\" target=\"_blank\"><img src=\"http://www.coagul.org/IMG/kde_print_01.jpg\" border=0 alt=\"kde print 01\"></a><center>\n<p class=\"spip\">Ajouter une imprimante réseau (TCP) :</p>\n\n<center><a href=\"http://www.coagul.org/http://download.tuxfamily.org/assocoagul/drupal-files/spip/kde_print_02.png\" target=\"_blank\"><img src=\"http://www.coagul.org/IMG/kde_print_02.jpg\" border=0 alt=\"kde print 01\"></a><center>\n<p class=\"spip\">Ensuite, indiquer son adresse IP et le port (en général : 9100).</p>\n\n<center><a href=\"http://www.coagul.org/http://download.tuxfamily.org/assocoagul/drupal-files/spip/kde_print_03.png\" target=\"_blank\"><img src=\"http://www.coagul.org/IMG/kde_print_03.jpg\" border=0 alt=\"kde print 01\"></a><center>\n<p class=\"spip\">Porter le choix de l’imprimante vers une HP Color Laserjet 5000 :</p>\n\n<center><a href=\"http://www.coagul.org/http://download.tuxfamily.org/assocoagul/drupal-files/spip/kde_print_04.png\" target=\"_blank\"><img src=\"http://www.coagul.org/IMG/kde_print_04.jpg\" border=0 alt=\"kde print 01\"></a><center>\n<p class=\"spip\">Choisir le pilote recommandé, soit Foomatic + hpijs :</p>\n\n<center><a href=\"http://www.coagul.org/http://download.tuxfamily.org/assocoagul/drupal-files/spip/kde_print_05.png\" target=\"_blank\"><img src=\"http://www.coagul.org/IMG/kde_print_05.jpg\" border=0 alt=\"kde print 01\"></a><center>\n<p class=\"spip\">Définir les paramètres de l’imprimante :</p>\n\n<center><a href=\"http://www.coagul.org/http://download.tuxfamily.org/assocoagul/drupal-files/spip/kde_print_06.png\" target=\"_blank\"><img src=\"http://www.coagul.org/IMG/kde_print_06.jpg\" border=0 alt=\"kde print 01\"></a><center>\n<p class=\"spip\">Et pour finir, on cliquera sur le bouton Terminer, après avoir vérifié les informations :</p>\n\n<center><a href=\"http://www.coagul.org/http://download.tuxfamily.org/assocoagul/drupal-files/spip/kde_print_07.png\" target=\"_blank\"><img src=\"http://www.coagul.org/IMG/kde_print_07.jpg\" border=0 alt=\"kde print 01\"></a><center>\n<p class=\"spip\">Et voilà, il est alors possible d’imprimer en couleur sur ce copieur depuis Linux. Il est à noter que l’on peut également utiliser les pilotes de la Laser de même marque Aficio 700, mais l’impression ne se fera qu’en noir.</p>','Matériel : Photocopieur multifonction Ricoh Aficio 1224C.\n\n\n<br />Distribution : Mandrake Official 10.1 32 bits / KDE 3.2 .\n\n\n<br />But : Mise en place de l’impression couleur en l’absence d’un driver spécifique du constructeur.\n\n\n<br />Pré requis : CUPS installé.\n\n\n<br />Cet article a pour but de présenter la procédure permettant l’impression sur un copieur multifonction Ricoh Aficio 1224C via le serveur d’impression CUPS. Ce copieur est sur un réseau éthernet.\n\n\n<br />Nous allons donc voir qu’il est possible de parfaitement imprimer, (...)\n','',1288361787,2),(175,175,1,'Mardi 1er Mars 2005 (Porte-Ouverte)','<p class=\"spip\">Pour cette huitième porte-ouverte, il y avait 21 personnes : \n<br /></p>\n<li> 11 membres : Yogi, Philippe, Laurent, Gnunux, Jean.B, Jean.C, Nicolas, Tony, Piou, Mircea et Jibux.\n<br /><li> Et 10 visiteurs.\n<h2>10 Visiteurs</h2>\n<p class=\"spip\">A la grande surprise des membres de Coagul et pour la première fois depuis le début des portes ouvertes, de nombreux visiteurs sont venus nous rencontrer :\n<br /></p>\n<li> Jean-Michel Dubois : Un copain de Piou. Membre d’un autre groupe informatique sur Dijon (UAICF anciennement Microfer). Venu pour découvrir OpenOffice et Linux et l’organisation des réunions. Pour plus d’infos sur Jean-Michel ->  <a href=\"http://www.dubois21.com/\" class=\"spip_out\">www.dubois21.com</a>\n<br /><li> William venu avec Jean-Michel pour découvrir Linux et l’association.\n<br /><li> Philippe vient d’installer sa première Mandrake mais rencontre quelques difficultés. Il est venu pour approfondir ses connaissances sur Linux.\n<br /><li> Philippe Bouly : Copain de notre Philippe et de Yogi. Venu pour installer sa première Mandrake. Utilise déjà OpenOffice, Gimp et Mozilla. Convaincu de la qualité des logiciels libres mais hésitait à passer sous Linux.\n<br /><li> Fransisco venu de la part d’une connaissance. Il a essayé Linux il y a 5 ans, mais a été assez effrayé et a abandonné. Il est donc venu pour essayer de se convaincre de faire une autre tentative.\n<br /><li> Tony (Un autre :-) ) : Intéressé par la transparence et le partage liés aux logiciels libres.\n<br /><li> xxx : Il a installé Free BSB il y a 5 mois. Venu pour découvrir l’association.\n<br /><li> Luc : Notre visiteur habituel\n<br /><li> Frédéric Garcia : Un ancien et peut-être nouveau membre :-) \n<br /><li> yyy : L’inconnu de la soirée :-)\n<p class=\"spip\">J’espère que nos visiteurs qui sont venus avec pleins de questions, sont repartis avec les bonnes réponses :-)</p>\n\n<h2>Présentation de l’association par Yogi</h2>\n<p class=\"spip\">Promotion logiciels libres dans la région.</p>\n\n<p class=\"spip\">Réunion tous les mardis avec des ateliers sur des sujets donnés.</p>\n\n<p class=\"spip\">Porte ouverte le premier mardi du mois.</p>\n\n<p class=\"spip\">Participation à l’organisation des RMLL du 5 au 9 juillet 2005.</p>\n\n<p class=\"spip\">Participation au libre en fête du 18 au 20 mars 2005 (Expos, concerts,...)</p>\n\n<p class=\"spip\">Présentation de la liste de discussion Bourginux..</p>\n\n<h2>Conclusion</h2>\n<p class=\"spip\">Cette porte-ouverte a donc été une réussite contrairement à la précédente ou aucun visiteur n’était venu.</p>\n\n<p class=\"spip\">De plus, suite à cette porte-ouverte, nous allons sûrement accueillir plusieurs nouveaux membres dans les semaines qui viennent :-)</p>','Pour cette huitième porte-ouverte, il y avait 21 personnes.','',1289142198,2),(176,176,1,'Ordre du jour 08.03.05 - Copier ou partager un fichier entre 2 postes','<p class=\"spip\">Cette soirée sera consacrée à un atelier présenté par <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=GnunuX\" class=\"spip_out\">GnunuX</a> sur <strong class=\"spip\">« Copier ou partager un fichier entre 2 postes </strong><i class=\"spip\"> <strong class=\"spip\"> » </strong> </i></p>\n\n<p class=\"spip\"><strong class=\"spip\">Niveau </strong> : Débutant</p>\n\n<p class=\"spip\"><strong class=\"spip\">Pré-requis </strong> : Avoir les différents outils</p>\n\n<p class=\"spip\"><strong class=\"spip\">Objectifs </strong> :</p>\n\n<p class=\"spip\">Comprendre la différence entre partager et copier un fichier entre deux postes. En effet sur un autre système d’exploitation, lorsqu’on veut copier un fichier d’un poste à un autre, on partage le fichier (pas super logique). . outil de copie de fichiers (<strong class=\"spip\">scp</strong>, <strong class=\"spip\">sftp</strong> ...) . outil de synchronisation (<strong class=\"spip\">rsync</strong>, <strong class=\"spip\">unison</strong>) . outil de partage de fichiers (<strong class=\"spip\">samba, nfs</strong>)</p>\n\n<p class=\"spip\">Cet atelier sera (comme vous le comprenez bien) la présentation d’outil. Je ne pourrai pas passer trop de temps sur chacun. Approfondir l’utilisation d’un outil pourra se faire dans une autre séance.</p>\n\n<p class=\"spip\">Pour information, voici les personnes intéressées par cet atelier :\n<br /></p>\n<li> <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=LauRent\" class=\"spip_out\">LauRent</a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=PhilippE\" class=\"spip_out\">, </a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=BouiL\" class=\"spip_out\">BouiL</a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=PhilippE\" class=\"spip_out\">, </a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=TonY\" class=\"spip_out\">TonY</a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=PhilippE\" class=\"spip_out\">, </a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=PhilippE\" class=\"spip_out\">PhilippE</a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=PhilippE\" class=\"spip_out\">, </a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=YaST\" class=\"spip_out\">YaST</a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=PhilippE\" class=\"spip_out\">, </a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=BenUx21\" class=\"spip_out\">BenUx21</a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=PhilippE\" class=\"spip_out\">, </a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=JibuX\" class=\"spip_out\">JibuX</a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=PhilippE\" class=\"spip_out\">, </a><a href=\"http://www.coagul.org/wikini/wakka.php?wiki=YogI\" class=\"spip_out\">YogI</a>\n<blockquote class=\"spip\">\n<p class=\"spip\">Cette réunion est consacrée en priorité à cet atelier qui débutera à 20H30. Si vous souhaitez y assister, vous êtes le bienvenu. Mais si vous souhaitez simplement nous rencontrer, il est recommandé de venir le premier mardi de chaque mois où nous organisons une soirée porte ouvertes et où nous serons plus disponibles pour vous accueillir.</p>\n</blockquote>','Cette soirée sera consacrée à un atelier présenté par <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=GnunuX\" class=\"spip_out\">GnunuX</a> sur <strong class=\"spip\">« Copier ou partager un fichier entre 2 postes </strong><i class=\"spip\"> <strong class=\"spip\"> » </strong> </i>','',1289136107,2),(177,177,1,'Ordre du jour du 15.03.05 - Programmation objet en C++','<p class=\"spip\">Cette soirée sera consacrée à un atelier présenté par <strong class=\"spip\">JeanB</strong> sur la « <strong class=\"spip\">Programmation objet en C++</strong> »</p>\n\n<p class=\"spip\"><strong class=\"spip\">Niveau</strong> : Avancé</p>\n\n<p class=\"spip\"><strong class=\"spip\">Pré-requis</strong> :\n<br /></p>\n<li> un éditeur de texte (pas de préférence) ;\n<br /><li> un compilateur C++ en état de marche (pour vérifier, taper g++ dans la console). Si vous n’obtenez pas le message d’erreur « g++ : pas de fichier à l’entrée », il faut l’installer. Notez que dans certaine distribution, on peut trouver un fichier g++ dans /usr/bin même s’il n’est pas réellement installé, donc which g++ ne prouve rien ;)\n<p class=\"spip\">Pour information, voici les personnes intéressées par cet atelier :\n<br /></p>\n<li> GnunuX, YogI, PhilippE, Laurent, JeanC, HuGin\n<p class=\"spip\">On peut ajouter au pré-requis une connaissance minimale du C ou d’un langage voisin.</p>\n\n<p class=\"spip\">Je joins le premier exemple qui sera abordé pour donner une idée (c’est promis, j’explique tout).</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>/*****************************************************************<br />\r\n*            objet.cc<br />\r\n*<br />\r\n*  Sat Mar  5 16:37:14 2005<br />\r\n*  Copyright  2005  Jean Bréfort<br />\r\n*  jean dot brefort at normalesup dot org<br />\r\n******************************************************************/<br />\r\n<br />\r\n/*<br />\r\n*  This program is free software; you can redistribute it and/or modify<br />\r\n*  it under the terms of the GNU General Public License as published by<br />\r\n*  the Free Software Foundation; either version 2 of the License, or<br />\r\n*  (at your option) any later version.<br />\r\n*<br />\r\n*  This program is distributed in the hope that it will be useful,<br />\r\n*  but WITHOUT ANY WARRANTY; without even the implied warranty of<br />\r\n*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<br />\r\n*  GNU Library General Public License for more details.<br />\r\n*<br />\r\n*  You should have received a copy of the GNU General Public License<br />\r\n*  along with this program; if not, write to the Free Software<br />\r\n*  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.<br />\r\n*/<br />\r\n<br />\r\n#include <string><br />\r\n#include <iostream><br />\r\n<br />\r\nusing namespace std;<br />\r\n<br />\r\nclass ClassA {<br />\r\npublic:<br />\r\n        ClassA (string s);<br />\r\n        virtual ~ClassA ();<br />\r\n<br />\r\n        void dump ();<br />\r\n<br />\r\nprivate:<br />\r\n        string str;<br />\r\n};<br />\r\n<br />\r\nClassA::ClassA (string s)<br />\r\n{<br />\r\n        cerr << \"Constructeur de ClassA\" << endl;<br />\r\n        str = s;<br />\r\n}<br />\r\n<br />\r\nClassA::~ClassA ()<br />\r\n{<br />\r\n        cerr << \"Destructeur de ClassA\" << endl;<br />\r\n}<br />\r\n<br />\r\nvoid ClassA::dump ()<br />\r\n{<br />\r\n        cout << str << endl;<br />\r\n}<br />\r\n<br />\r\nClassA a(\"Bonjour ;-)\");<br />\r\n<br />\r\nint main (int argc, char *argv[])<br />\r\n{<br />\r\n        a.dump ();<br />\r\n        return 0;<br />\r\n}</code></div>\n<p class=\"spip\">Si vous voulez déjà essayer, pour le compiler, la commande est :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>g++ -o bonjour object.cc</code></p>\n\n<p class=\"spip\">Puis pour l’exécuter :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>./bonjour</code></p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">Cette réunion est consacrée en priorité à cet atelier qui débutera à 20H30. Si vous souhaitez y assister, vous êtes le bienvenu. Mais si vous souhaitez simplement nous rencontrer, il est recommandé de venir le premier mardi de chaque mois où nous organisons une soirée porte ouvertes et où nous serons plus disponibles pour vous accueillir.</p>\n</blockquote>','Cette soirée sera consacrée à un atelier présenté par <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=JeanB\" class=\"spip_out\">JeanB</a> sur la « <strong class=\"spip\">Programmation objet en C++</strong> »<strong class=\"spip\"> </strong>','',1289136107,2),(178,178,1,'Comment devenir archer (avec archlinux)','<h2>Pourquoi archlinux</h2>\n<p class=\"spip\">Depuis la sortie de slackware 10.1, je cherche un remplaçant à mon ancienne distribution préférée (slack c’était bien !).</p>\n\n<p class=\"spip\">Ayant déjà testé la plupart des distributions connues, je n’ai pas trouvé de candidate sérieuse au remplacement de slackware.</p>\n\n<p class=\"spip\">Je me suis donc tourné vers <a href=\"http://www.archlinux.org\" class=\"spip_out\">ArchLinux</a>, une distribution montante. J’ai fait ce choix, parce qu’elle est souvent comparée à la slackware.</p>\n\n<p class=\"spip\">Avantage que j’y trouve (du moins sur le papier, je n’ai pas fini le tour du propriétaire) : simplicité, flexibilité, stabilité et nouveauté.</p>\n\n<p class=\"spip\">Seule ombre au tableau ... c’est une distribution i686.</p>\n\n<p class=\"spip\">La distribution stable est en version 0.7. Comme son numéro l’indique, c’est encore une distribution en développement.</p>\n\n<p class=\"spip\">Attention : soyons clair tout de suite. Archlinux n’est pas une distribution pour débutant ou personne ne voulant pas comprendre ce qui se passe.</p>\n\n<h2>Installation</h2>\n<p class=\"spip\">La procédure d’installation n’est pas compliquée pour qui connait bien GNU. Je décris rapidement les grandes étapes ici.</p>\n\n<p class=\"spip\">J’ai utilisé le cédérom arch-0.7-base.iso.</p>\n\n<p class=\"spip\">Voici un rapide descriptif :</p>\n\n<p class=\"spip\">Démarrer sur le cédérom et taper :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/arch/setup</code>\n(attention nous sommes en qwerty, je n’ai pas trouvé et pas trop cherché comment chargé le clavier français).</p>\n\n<p class=\"spip\">La première étape consiste à configurer le réseau. Ma carte est correctement reconnu et mon serveur dhcp donne les éléments de configuration de ma carte. Bref rien de particulier.</p>\n\n<p class=\"spip\">La deuxième étape est la configuration des partitions. Nous avons accès à cfdisk. Il faut ensuite choisir la partition d’échange (la swap) puis choisir la partition racine. Le nommage des partitions est celui de udev. Nous avons donc des choses comme cela :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/dev/discs/disc0/part3 pour /dev/hda3</code></p>\n\n<p class=\"spip\">Enfin faire \"DONE\" pour que les changements soient pris en compte.</p>\n\n<p class=\"spip\">Troisième étape, le choix des paquets. Je choisis d’utiliser un serveur FTP avec comme mirroir \"ftp.archlinux.org\".</p>\n\n<p class=\"spip\">Le choix des paquets se fait en deux étapes. On choisit d’abord les thèmes voulu puis les paquets un par un (procédure identique à la plupart des distributions).</p>\n\n<p class=\"spip\">Après plusieurs hésitation, je me décide à ne coché que \"base\".</p>\n\n<p class=\"spip\">Une fois choisit, il faut passer à l’installation des paquets (rien de particulier).</p>\n\n<p class=\"spip\">Arrive la sélection du noyau. J’installe un 2.6 pour IDE.</p>\n\n<p class=\"spip\">Puis l’étape de la configuration. Aucune interface particulière n’existe (encore ?) pour la configuration du système. Juste le choix entre vi et nano (que je préfère parce que je suis en qwerty).</p>\n\n<p class=\"spip\">Je ne connais rien de la distribution mais je m’en suis sortir facilement.\nOn me propose de modifier \"rc.conf\". Je change :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>TIMEZONE=Europe/Paris<br />\r\nKEYMAP=fr</code></div>\n<p class=\"spip\">Par la suite, j’ai vu que la route par défaut n’était pas pris en compte. Pour cela il faut modifier :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ROUTES=(gateway)</code></p>\n\n<p class=\"spip\">Ensuite je modifie \"resolv.conf\" :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>nameserver 192.168.1.1</code></p>\n\n<p class=\"spip\">Il faut obligatoirement éditer lilo.conf (ou menu.lst) pour la suite, même si on ne modifie rien.</p>\n\n<p class=\"spip\">La dernière étape consiste à installer le chargeur de démarrage. Je choisis lilo.</p>\n\n<p class=\"spip\">Enfin je redémarre.</p>\n\n<p class=\"spip\">Lors de la procédure de démarrage tout ce passe bien. Le seul problème étant que hotplug cherche à charger des modules qui ne correspond pas à mon matériel. Je note les référence et je modifie /etc/hotplug/blacklist (peut être que la variable MODULES de rc.conf est plus adapté mais je n’en suis pas sûr) :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>shpchp<br />\r\nsnd-cs4232<br />\r\nsnd-cs4236<br />\r\nsnd-wavefront</code></div>\n<p class=\"spip\">Une fois démarrer je met un mot de passe à root :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>passwd</code></p>\n\n<p class=\"spip\">Et je créé un nouvel utilisateur :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>adduser gnunux</code></p>\n\n<p class=\"spip\">Pour modifier les locales, je découvre grâce à grep que le fichier à modifier est /etc/profile</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>export LANG=\"fr_FR.utf8\"</code></p>\n\n<p class=\"spip\">J’ai du mettre mon nom d’hôte dans /etc/hosts :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>127.0.0.1               myhost  localhost.localdomain   localhost</code></p>\n\n<h2>Installation de gnome</h2>\n<p class=\"spip\">Pour installé gnome, je commence à mettre à jour la base des paquets.</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>pacman -Sy<br />\r\npacman -S xorg<br />\r\npacman -S gnome gnome-extra</code></div>\n<p class=\"spip\">Le mirroir par défaut étant super lent, j’ai du editer la liste des mirroirs dans /etc/pacman.d/extra.</p>\n\n<p class=\"spip\">Pour la configuration de X je n’ai pas trouvé d’outil spécifique à la distribution. J’utilise donc la procédure normale :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>X -configure</code>\nJ’ajoute</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>Option      \"XkbLayout\"      \"fr\"</code>\ndans la section Keyboard et je copie /root/xorg.conf.new en /etc/X11/xorg.conf</p>\n\n<p class=\"spip\">Enfin je lance gdm :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/etc/rc.d/gdm start</code></p>\n\n<h2>Installation complémentaire</h2>\n<h3>sshd</h3>\n<p class=\"spip\">J’ai besoin de ssh sur ma machine. J’ai donc installé sshd</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[root@myhost ~]# pacman -Sl |grep ssh<br />\r\ncurrent openssh 3.9p1-3<br />\r\ncurrent rssh 2.2.2-1<br />\r\n[root@myhost ~]# pacman -S openssh</code></div>\n<p class=\"spip\">ou plus simple encore :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[root@myhost ~]# pacman -Ss ssh<br />\r\ncurrent/openssh 4.1p1-1<br />\r\n    A Secure SHell server/client<br />\r\ncurrent/rssh 2.2.2-1<br />\r\n    A restricted shell for use with OpenSSH, allowing only scp and/or sftp</code></div>\n<p class=\"spip\">Il faut ensuite autorisé ma machine cliente à se connecter dans /etc/hosts.allow :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>sshd: 192.168.1.2      :allow</code></p>\n\n<h3>La gravure</h3>\n<p class=\"spip\">Les utilisateurs pouvant gravés doivent faire partir du groupe \"optical\".</p>\n\n<p class=\"spip\">Pour cela editer le fichier \"/etc/group\" et rajouter le nom d’utilisateur à la ligne \"optical\".</p>\n\n<h3>Les services au démarrage</h3>\n<p class=\"spip\">La liste des programmes susceptibles d’être lancés au démarragé de la distribution est dans le répertoire \"/etc/rc.d/\". La configuration des services se fait dans le fichier \"/etc/rc.conf\". Voici par exemple ma configuration pour démarrer, en plus des services par défaut, dbus, hal, sshd et gdm :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>DAEMONS=(syslog-ng hotplug dbus hal !pcmcia network netfs crond sshd gdm)</code></p>\n\n<h2>Conclusion</h2>\n<p class=\"spip\">Après deux soirées d’utilisation, il semble que ArchLinux corresponde parfaitement à mes attentes :</p>\n\n<li> fichier de configuration clair\n<br /><li> distribution cohérente (pas 3 versions différentes de libmysqlclient d’installer par exemple)\n<br /><li> distribution flexible : il est possible de télécharger et de modifier les paquets très facilement grâce à la commande abs. Possibilité de création de paquet vraiment simple.\n<br /><li> init à la bsd (bien !!!)\n<p class=\"spip\">Et plein d’autre chose qui me reste à découvrir :)</p>','Installation et configuration de base de archlinux.','',1288361790,2),(179,179,1,'SolutionsLinux','<p class=\"spip\">Dans le cadre de la promotion des RMLL COAGUL était au salon Solutions Linux.</p>\n\n<p class=\"spip\">Voici donc les quelques photos prises par Yogi à cet évènement.</p>\n\n<p class=\"spip\">Les premières représentent une action de l’APRIL qui a fait de la vente de poissons, emballés dans du brevet logiciel à l’entrée du salon :)</p>\n\n<p class=\"spip\">Le reste, donne une idée du village des associations.</p>','Quelques photos du salon Solution Linux','',1288361801,2),(180,180,1,'Gestion des profils utilisateurs par défaut sous Debian et KDE','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de <strong class=\"spip\">mémo</strong> pour <strong class=\"spip\">gérer les profils et les profils par défaut dans KDE</strong> sur une <strong class=\"spip\">Debian Testing</strong>.</p>\n\n<p class=\"spip\">La gestion des profils, c’est :\n<br /></p>\n<li> La création d’un nouvel utilisateur pour KDE\n<br /><li> Les réglages de cet utilisateur\n<br /><li> La création d’un profil utilisateur par défaut\n<h2>Pré-requis</h2>\n<br /><li> Avoir installé une Debian de Base : <a href=\"http://www.coagul.org/article.php3?id_article=158\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=158</a>\n<br /><li> Avoir installé KDE : <a href=\"http://www.coagul.org/article.php3?id_article=159\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=159</a>\n<h2>Paramétrage du profil utilisateur qui servira de référence</h2>\n<p class=\"spip\">Pour cela, il suffit de se connecter sous ce profil et de configurer toutes les applications avec les paramètres que l’on souhaite avoir par défaut pour les nouveaux utilisateurs.</p>\n\n<p class=\"spip\">Personnellement, je me suis créé un utilisateur dédié à cette tache que j’ai nommé skel.</p>\n\n<p class=\"spip\">Pour information, voici les réglages que j’effectue pour paramétrer un profil par défaut :</p>\n\n<h3>Dans le centre de configuration de KDE : </h3>\n<br /><li> « Apparence et thèmes / Écran de veille »\n<br /><li> « Apparence et thèmes / Fond d’écran »\n<br /><li> « Apparence et thème / Polices / » et cocher « Lisser les polices »\n<br /><li> « Bureau / Comportement » et décocher « Afficher les icônes sur le bureau »\n<br /><li> « Bureau / Barre de taches » et dans « Grouper les taches similaire » sélectionner « Jamais »\n<br /><li> « Son et multimédia / Système de sons » et décocher « Activer le système sonore »\n<h3>Dans la barre de taches</h3>\n<br /><li> Enlever la fenêtre des bureaux virtuels et du presse papier\n<br /><li> Enlever les icônes par défaut et mettre « Konqueror, OOo, Firefox, Thunderbird, AS400 »\n<br /><li> Enlever l’icône de masquage de droite\n<br /><li> Ajouter la date en dessous de l’heure\n<br /><li> Mettre la barre des taches en taille minimum\n<h3>Personnaliser le menu K</h3>\n<br /><li> Supprimer toutes les entrées inutiles\n<br /><li> Désactiver le témoin de démarrage des applications non KDE\n<h3>Configuration de Konqueror</h3>\n<br /><li> « Fenêtre / Afficher panneau de navigation » pour le désactiver\n<br /><li> « Affichage / Type d’affichage / Liste détaillée »\n<br /><li> « Configuration / Enregistrer le profil d’affichage » et cocher « Enregistrer la taille de la fenêtre »\n<h3>Configuration de Firefox</h3>\n<br /><li> Ajouter des marques-pages\n<br /><li> Définir la page par défaut\n<br /><li> Menus en français (xpi à installer)\n<br /><li> Police minimum = 14\n<br /><li> Configuration des barres d’outils\n<br /><li> Réglages des options de « Téléchargement » et « Vie privée »\n<br /><li> Configurer la mise en page et l’impression\n<h3>Configuration de Thunderbird</h3>\n<br /><li> Menus en français (xpi à installer)\n<h3>tn5250 (AS400)</h3>\n<br /><li> Taille de la police de Konsole en 16 et enregistrer la configuration\n<br /><li> Nouvel icône de menu K (Commande ’tn5250 prod map=297’, Nom = Prodstar, Icône de terminal)\n<h3>Installer la partie utilisateur d’OpenOffice.org</h3>\n<br /><li> Il faut exécuter le programme « /opt/OpenOffice.org1.1.5/setup »\n<br /><li> Correcteur orthographique installé sous root (Installation utilisateur inutile)\n<br /><li> Styliste encré à gauche\n<br /><li> Police Arial par défaut\n<br /><li> Définir les Chemin par défaut\n<br /><li> Installation des dictionnaires (Installation sous root et activation sous chaque utilisateur)\n<br /><li> Ajout raccourci clavier « Édition / Répéter » = F4\n<br /><li> Ajouter Icônes « Icône aperçu avant Impression »\n<br /><li> Ajouter Icônes « Format / Fusionner les cellules »\n<br /><li> Ajouter Icônes « Format / Scinder les cellules »\n<h3>Gimp</h3>\n<br /><li> Installation de la partie utilisateur\n<br /><li> Configuration des fenêtre d’ouverture\n<p class=\"spip\"><strong class=\"spip\">ATTENTION</strong> : Dans ce profil par défaut, il faut veiller à ne saisir aucune donnée confidentielle (ex : mot de passe dans Mozilla)</p>\n\n<h2>Le profil utilisateur par défaut : Le répertoire /etc/skel</h2>\n<p class=\"spip\">Sous Debian, par défaut, ce dossier est vide, mais il est possible d’y copier les fichiers d’un profil utilisateur existant.</p>\n\n<p class=\"spip\">Ensuite, lors de la création d’un nouvel utilisateur avec la commande « <strong class=\"spip\"> adduser </strong> », le contenu du dossier /etc/skel, sera copié dans le profil du nouvel utilisateur.</p>\n\n<p class=\"spip\">Cela permet d’éviter de refaire tous les réglages pour les nouveaux utilisateurs du système.</p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong> : Si le compte est géré dans OpenLDAP (ou ailleurs), il ne faut pas utiliser « adduser »</p>\n\n<h2>Copie des fichiers de l’utilisateur par défaut (ex : skel) dans /etc/skel</h2>\n<p class=\"spip\">Pour cette copie, j’ai rencontré quelques difficultés, car :</p>\n\n<p class=\"spip\">La commande suivante ne copie pas les fichiers cachés :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>cp -R /home/skel/* /etc/skel</code></p>\n\n<p class=\"spip\">Les commandes suivantes non plus :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>cd /etc/skel<br />\r\n(cd /home/skel ; tar -cf - *) | tar xvf -</code></div>\n<p class=\"spip\">J’ai donc utilisé une méthode brutale :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>rm -Rf /etc/skel<br />\r\ncp -R /home/skel /etc/skel</code></div>\n<h2>Création d’un nouvel utilisateur </h2>\n<p class=\"spip\">La commande « useradd » permet de créer un nouvel utilisateur</p>\n\n<p class=\"spip\">La commande « passwd » permet de modifier son mot de passe</p>\n\n<p class=\"spip\">La commande « <strong class=\"spip\"> adduser </strong> » est un script Debian, permettant de :\n<br /></p>\n<li> Créer un nouvel utilisateur (useradd)\n<br /><li> Modifier son mot de passe (passwd)\n<br /><li> Initialiser le home avec le contenu du dossier /etc/skel\n<p class=\"spip\">Donc, pour créer un nouvel utilisateur, il faut simplement utiliser cette commande :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>adduser</code></p>\n\n<h2>Problèmes rencontrés avec le nouveau profil</h2>\n<p class=\"spip\">La duplication d’un profil existant se passe globalement bien, mais il est nécessaire d’effectuer quelques réglages pour certaines applications.</p>\n\n<h3>Mozilla</h3>\n<p class=\"spip\">Il faut modifier le fichier binaire « <strong class=\"spip\"> appreg </strong> » car celui-ci pointe sur le home de l’utilisateur original qui est en lecture seule et Mozilla ne peut pas démarrer.</p>\n\n<p class=\"spip\">Solution :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>sed -e \'s/pglinux/pg02/g\' </etc/skel/.mozilla/appreg >.mozilla/appreg  </code></p>\n\n<h3>OpenOffice.org</h3>\n<p class=\"spip\">Il faut modifier le fichier « <strong class=\"spip\"> .sversionrc </strong> », car celui-ci pointe sur le home de l’utilisateur original et il est donc accessible en lecture seule et aucune modification dans la configuration n’est enregistrée.</p>\n\n<p class=\"spip\">Solution :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>sed -e \'s/pglinux/pg02/g\' </etc/skel/.sversionrc >.sversionrc</code></p>\n\n<p class=\"spip\">L’imprimante configurée n’est pas sélectionnée par défaut mais dans le profil original non plus.</p>\n\n<p class=\"spip\">Le dossier par défaut est le dernier utilisé par le profil par défaut.</p>\n\n<h3>Konqueror</h3>\n<p class=\"spip\">Il affiche par défaut la racine au lieu d’afficher le home, car celui-ci pointe sur l’ancien utilisateur.</p>\n\n<h2>Script automatique de génération du dossier /etc/skel</h2>\n<p class=\"spip\">Ce script permet de recopier le contenu du profil « /home/skel » dans « /etc/skel ». Il permet également de rechercher et remplacer dans tous les fichiers les chemins du profil par défaut par le nouveau à créer.</p>\n\n<p class=\"spip\">Il faut donc lancer ce script avant de créer l’utilisateur en indiquant le nom de login de cet utilisateur.</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>#!/bin/bash<br />\r\n<br />\r\n# Test si le nombre de paramètres est égale à 1<br />\r\n# $# contient le nombre de paramètres<br />\r\nSortie=0<br />\r\nif [ \"$#\" -ne 1 ] ; then Sortie=1 ; fi<br />\r\n<br />\r\nif [ $Sortie -eq 1 ] ; then<br />\r\n  echo<br />\r\n  echo \"**********************************************************************\"<br />\r\n  echo \"** Indiquez en paramètre le login du prochain utilisateur à créer   **\"<br />\r\n  echo \"**********************************************************************\"<br />\r\n  echo<br />\r\n  exit<br />\r\nfi<br />\r\n<br />\r\n<br />\r\n# Supprime le dossier /etc/skel et le recrée à partir du dossier /home/skel<br />\r\nrm -Rf /etc/skel<br />\r\ncp -R /home/skel /etc/skel<br />\r\n<br />\r\n# Boucle sur tous les fichiers contenant /home/skel<br />\r\nfor fich in `find /etc/skel/ -type f -exec grep -l /home/skel {} \\; | xargs`<br />\r\ndo<br />\r\n  # Remplace dans chaque fichier trouvé skel par le login du futur utilisateur<br />\r\n  echo $fich<br />\r\n  cp $fich /tmp/tmp.txt<br />\r\n  sed -e \"s/\\/home\\/skel/\\/home\\/$1/g\" < /tmp/tmp.txt > $fich<br />\r\ndone</code></div>\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>07/03/05</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td>0.3</td><td>23/08/06</td><td>Mise à jour suite à mise en place nouveau serveur</td></tr>\n</tbody>\n</table>','Ce document me sert de <strong class=\"spip\">mémo</strong> pour <strong class=\"spip\">gérer les profils et les profils par défaut dans KDE</strong> sur une <strong class=\"spip\">Debian Testing</strong>.','',1288361802,2),(181,181,1,'Libre en Fête An IV du jeudi 17 au samedi 19 mars 2005','<p class=\"spip\"><span class=\'spip_document_212 spip_documents spip_documents_center\' ><a href=\"http://download.tuxfamily.org/assocoagul/drupal-files/spip/libreenfete.jpg\" type=\"image/jpeg\" title=\"Logo LEF\"><img src=\'IMG/libreenfete-s.jpg\' width=\"104\" height=\"140\" alt=\'Logo LEF {JPEG}\'  class=\'spip_logos\' /></a></span><p>\n\n<h3>Manifestation festive nationale, Logiciels Libres, Internet et liberté d’expression.</h3>\n<p class=\"spip\">Pendant trois jours, du 18 au 20 mars 2005, de nombreux et nombreuses passionné(e)s des logiciels libres mettent en place des animations dans toute la France pour accueillir le public et partager leur passion dans un climat convivial. Les lieux d’accueil sont très divers, allant du bar/restaurant à l’université, de la ferme à la salle multimédia municipale etc...</p>\n\n<p class=\"spip\">Épine dorsale d’internet et moteurs de l’innovation technologique actuelle, les logiciels libres se développent dans un esprit de communauté liant fortement ceux qui les développent à ceux qui les utilisent. \nLes logiciels libres vous permettent d’effectuer toutes les tâches qu’on peut attendre d’un ordinateur. Ils peuvent en outre être diffusés largement en toute légalité. Le partage de copies de ces logiciels avec ses proches est légal et même recommandé. (voir définition)</p>\n\n<p class=\"spip\">Les diverses animations qui auront lieu dans toute la France permettront au public de découvrir ces logiciels et même dans certains cas de repartir avec une copie (il faudra éventuellement se munir de CD vierges pour l’occasion) voire de les installer sur son ordinateur pendant l’animation.\nLes thématiques abordées sont très diverses : graphisme, photographie, vidéo, musique, édition de page internet, bureautique, juridique et économique.</p>\n\n<p class=\"spip\">Venez vous informer en toute liberté, il ne s’agit pas d’une manifestation commerciale mais d’un moment privilégié de partage du savoir et d’échanges.</p>\n\n<p class=\"spip\">Le site Libre en fête rassemble les informations essentielles sur l’ensemble des manifestations et vous permet de contacter les organisateurs.<br>\n<a href=\"http://www.libre-en-fete.net/SPIP/rubrique.php3?id_rubrique=8\" class=\"spip_out\">http://www.libre-en-fete.net/SPIP/rubrique.php3 ?id_rubrique=8</a></p>\n\n<p class=\"spip\">A Dijon, cet événement est relayé par l’association Coagul.</p>\n\n<h3>Au programme</h3>\n<li> <strong class=\"spip\">Exposition de photographies</strong> sous licence Creative Common\n<p class=\"spip\"><span class=\'spip_document_214 spip_documents spip_documents_center\' >\n<img src=\'http://download.tuxfamily.org/assocoagul/drupal-files/spip/desert02_presse_wiki.jpg\' width=\"297\" height=\"198\" alt=\"Philippe Jimenez\" title=\"Philippe Jimenez\" /><span>\nPhotographie de <a href=\"http://philippejimenez.net/\" class=\"spip_out\">Philippe Jimenez</a> sous <a href=\"http://creativecommons.org/licenses/by-nc-sa/2.0/fr/\" class=\"spip_out\">Licence Creative Common 2.0 by-nc-sa</a></p>\n\n<p class=\"spip\"><strong class=\"spip\">Du jeudi 17 au samedi 19 mars inclus de 10h30 à 19h00 à l’ Underground Gallery, magasin Chouett’ Disques 16, rue de la Chouette.</p>\n\n<p class=\"spip\">Vernissage jeudi 17 à 19h00 à l’ Underground Gallery, magasin Chouett’ Disques 16, rue de la Chouette.</strong></p>\n\n<p class=\"spip\">La licence Creative Common facilite la diffusion, la réutilisation et la modification d’œuvres (textes, photos, musique, vidéos, sites web...).<br>\n<a href=\"http://fr.creativecommons.org/\" class=\"spip_out\">http://fr.creativecommons.org/</a><br></p>\n\n<li> <strong class=\"spip\">Café-débat</strong> ayant pour thème « les logiciels libres sont-ils viables ? »\n<p class=\"spip\"><strong class=\"spip\">Vendredi 18 mars à 20h00 au Bar de l’Atheneum sur le Campus.</strong></p>\n\n<p class=\"spip\">Les logiciels libres couvrent la plupart des besoins en informatique et la façon dont sont développés les logiciels libres apporte bien des avantages : évolution rapide, fonctionnalités pratiques, mises à jour régulières, sécurité, bon nombres d’entreprises et de collectivités les ont choisi ... cependant il existe aussi des inconvénients : les logiciels libres ont, malgré leur gratuité, un coût et nécessitent des qualifications. De plus ils sont  actuellement menacés par les brevets logiciels et par les groupes de pression (lobby). Ces différents points nous amènent à nous demander : Les logiciels libres vont-ils perdurer ? Si oui combien de temps ? Sont-ils viables ?<br>\n<a href=\"http://www.atheneum.fr/\" class=\"spip_out\">http://www.atheneum.fr/</a></p>\n\n<li> <strong class=\"spip\">Démonstration et installation de logiciels libres</strong>\n<p class=\"spip\"><strong class=\"spip\">Samedi 19 mars de 14h00 à 20h00 au Petit Tatelier 3, Bd Paul Doumer.</strong></p>\n\n<p class=\"spip\">L’association <a href=\"http://lepetitatelier.net\" class=\"spip_out\">Le Petit Tatelier</a> ouvre ses portes pour que chacun puisse découvrir et manipuler des ordinateurs pourvus de logiciels libres, traitements de texte, tableurs, retouche d’image et jeux.\nChacun pourra repartir avec un CD de logiciels libres moyennant un CD vierge ou repartir avec des logiciels libres installés si la personne vient avec son ordinateur.<br>\n<a href=\"http://lepetitatelier.net/\" class=\"spip_out\">http://lepetitatelier.net/</a></p>\n\n<p class=\"spip\"><strong class=\"spip\">Contact presse</strong></p>\n\n<p class=\"spip\">Association Coagul<br>\nasso@coagul.org<br>\nGérald Schwartzmann<br>\n03-80-28-92-58<br></p>\n\n<h3>Les logiciels libres qu’est ce que c’est ?</h3>\n<p class=\"spip\">L’expression « logiciel libre », donnée par Richard M. Stallman, fait référence à la liberté pour tous (simples utilisateurs ou développeurs) d’exécuter, de copier, de distribuer, d’étudier, de modifier et d’améliorer le logiciel. Plus précisément, elle fait référence à quatre libertés pour un individu ayant acquis une version du logiciel, définies par la licence de ce logiciel :</p>\n\n<ul class=\"spip\"><li class=\"spip\"> la liberté d’exécuter le programme, pour tous les usages (liberté 0) ; </li><li class=\"spip\"> la liberté d’étudier le fonctionnement du programme, et de l’adapter à ses besoins (liberté 1) ; pour cela, l’accès au code source est nécessaire ; </li><li class=\"spip\"> la liberté de redistribuer des copies, donc d’aider son voisin, (liberté 2) ; </li><li class=\"spip\"> la liberté d’améliorer le programme et de publier ses améliorations, pour en faire profiter toute la communauté (liberté 3) ; pour cela, l’accès au code source est nécessaire. </li></ul>\n<p class=\"spip\">(Définition extraite de l’encyclopédie libre Wikipédia <a href=\"http://fr.wikipedia.org/wiki/Logiciel_Libre\" class=\"spip_out\">http://fr.wikipedia.org/wiki/Logiciel_Libre</a> )</p>\n\n<h3>Organisation et soutient</h3>\n<p class=\"spip\"><span class=\'spip_document_217 spip_documents spip_documents_center\' >\n<img src=\'http://download.tuxfamily.org/assocoagul/drupal-files/spip/petitatelier.gif\' width=\"546\" height=\"229\" alt=\"Petit Tatelier\" title=\"Petit Tatelier\" /></span><p>\n\n<p class=\"spip\"><span class=\'spip_document_218 spip_documents spip_documents_center\' >\n<img src=\'http://download.tuxfamily.org/assocoagul/drupal-files/spip/snap_atheneum.png\' width=\"488\" height=\"90\" alt=\"Bar de l\'Atheneum\" title=\"Bar de l\'Atheneum\" /></span><p>\n\n<p class=\"spip\"><span class=\'spip_document_219 spip_documents spip_documents_center\' >\n<img src=\'http://download.tuxfamily.org/assocoagul/drupal-files/spip/snap_chouett1.png\' width=\"486\" height=\"266\" alt=\"UnderGround Gallery\" title=\"UnderGround Gallery\" /></span><p>\n\n<p class=\"spip\"><span class=\'spip_document_240 spip_documents spip_documents_center\' >\n<img src=\'http://download.tuxfamily.org/assocoagul/drupal-files/spip/snap_coagul.png\' width=\"663\" height=\"201\" alt=\"Coagul\" title=\"Coagul\" /></span><p>','Manifestation festive nationale, Logiciels Libres, Internet et liberté d’expression.\n\n\n<br />Pendant trois jours, du 18 au 20 mars 2005, de nombreux et nombreuses passionné(e)s des logiciels libres mettent en place des animations dans toute la France pour accueillir le public et partager leur passion dans un climat convivial. Les lieux d’accueil sont très divers, allant du bar/restaurant à l’université, de la ferme à la salle multimédia municipale etc...\n\n\n<br />Épine dorsale d’internet et moteurs de (...)\n','',1288361808,2),(182,182,1,'Mardi 8 Mars 2005 (Copie de fichiers entre plusieurs postes)','<p class=\"spip\">Lors de cette réunion, il y avait 12 personnes : Guillaume, Gnunux, Jean.C, Jean.B, Vincent, Laurent, Bouil, Luc, Tony, Mircea, Jibux et Gérald.</p>\n\n<h2>3 Visiteurs</h2>\n<br /><li> Vincent venu découvrir Linux. Il ne l’avait jamais vu fonctionner et ne savait pas trop à quoi ça servait et comment ça fonctionnait mais a posé pleins de questions en particulier à Jean.B.\n<br /><li> Guillaume qui a participé à la mise en place de Autunix (Lug sur Autun). Il est maintenant revenu sur Dijon et vient donc à nos réunions.\n<br /><li> Luc, notre visiteur habituel\n<h2>Préparation du Libre en Fête</h2>\n<p class=\"spip\">Relecture du communiqué Libre en Fête de Gérald avant que celui-ci ne soit communiqué à la presse.</p>\n\n<p class=\"spip\"><strong class=\"spip\">Tous les membres de Coagul sont invités à venir participer à au moins l’une de ces journées :</strong>\n<br /></p>\n<li> Expo Photo les Jeudi, Vendredi et Samedi : Philippe, Gérald et Yogi.\n<br /><li> Jeudi 17 où les membres de Coagul sont invités au Vernissage de 19H.\n<br /><li> Vendredi 18 (Café Débat à 20H) où tous les membres de Coagul sont invités à venir y participer. Pour le moment Gérald et Gnunux ont l’intention d’y aller ainsi qu’un artisan et un membre des Pandas.\n<br /><li> Samedi 19 : Gérald et Laurent de 15H à 20H. Mircea à partir de 17H, (Tony).\n<br /><li> Dimanche 20 : 14H à 18H non communiqué au public : Gérald, Mircea, (Tony).\n<h2>Réunion RMLL du 9 Avril</h2>\n<p class=\"spip\">Laurent se renseigne pour la salle et doit informer la liste.</p>\n\n<h2>Atelier : Différentes méthodes pour copier des fichiers entre plusieurs postes</h2>\n<p class=\"spip\">Gnunux, nous a fait un atelier sur les différentes façons de copier des fichiers entre deux postes.</p>\n\n<p class=\"spip\">Il est nécessaire de copier des fichiers entre deux postes pour au moins 3 raisons :\n<br /></p>\n<li> Partager le fichier avec d’autre utilisateur (Partages Samba ou NFS)\n<br /><li> Faire une copie de sauvegarde du fichier (BackupPC)\n<br /><li> Dupliquer le fichier sur un autre poste ( RSync ou UNISON)\n<p class=\"spip\">Pour cela, Gnunux nous a présenté rapidement les différentes logiciels :\n<br /></p>\n<li> Copie de fichiers avec <strong class=\"spip\">SCP</strong> (<strong class=\"spip\">SSH</strong>). Si un échange de clé est effectué entre le client et le serveur <strong class=\"spip\">SSH</strong>, la saisie du mot de passe ne sera pas nécessaire et de plus, la complétion des noms de fichiers pourra fonctionner (avec bash_completion)\n<br /><li> Copie avec <strong class=\"spip\">FTP</strong> : Attention <strong class=\"spip\">FTP</strong> n’est pas sécurisé\n<br /><li> Copie avec <strong class=\"spip\">SFTP</strong> (<strong class=\"spip\">FTP</strong> sous <strong class=\"spip\">SSH</strong>) : <strong class=\"spip\">SFTP</strong> est sécurisé et offre les même possibilités et les mêmes commandes que <strong class=\"spip\">FTP</strong>.\n<br /><li> Partage <strong class=\"spip\">NFS</strong> <strong class=\"spip\">version 3 </strong> : Attention NFS version est très peu sécurisé et il est préférable d’utiliser Samba dans la plupart des cas.\n<br /><li> Partage <strong class=\"spip\">NFS version 4</strong> : Règle les problèmes de sécurité de la version 3, mais pour le moment cette nouvelle version n’est pas stable.\n<br /><li> <strong class=\"spip\">Samba (SMB) </strong> : Le système utilisé par Windows pour partager des fichiers.\n<br /><li> <strong class=\"spip\">RSync</strong> : Permet de dupliquer des arborescences entre plusieurs serveurs. RSync est souvent utilisé par les miroirs FTP.\n<br /><li> <strong class=\"spip\">Unison</strong> : Permet de synchroniser des fichiers entre un portable et un poste fixe.\n<p class=\"spip\">Merci Gnunux pour cet atelier.</p>','Lors de cette réunion, il y avait 11 personnes.','',1289142134,2),(183,183,1,'Voisinage réseau sous Linux Debian avec Konqueror','<h2>But de ce document</h2>\n<p class=\"spip\">Ce document me sert de mémo sur les différentes possibilités d’utiliser Konqueror pour accéder au voisinage réseau ou aux différentes ressources d’un ordinateur.</p>\n\n<p class=\"spip\">Konqueror est le gestionnaire de fichiers et le navigateur Internet par défaut de KDE, mais il permet beaucoup d’autres choses :\n<br /></p>\n<li> Voisinage réseau, Navigation dans les partages NFS, SSH, SMB,..\n<h2>Pré-requis</h2>\n<br /><li> Avoir installé une Debian de Base : <a href=\"http://www.coagul.org/article.php3?id_article=158\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=158</a>\n<br /><li> Avoir installé KDE : <a href=\"http://www.coagul.org/article.php3?id_article=159\" class=\"spip_out\">http://www.coagul.org/article.php3 ?id_article=159</a>\n<h2>Installation de smbclient pour accéder aux partages Windows (SMB)</h2>\n<p class=\"spip\">Le paquet smbclient, permet d’accéder aux dossiers partagés des postes Windows (Protocole SMB)</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install smbclient</code></p>\n\n<h2>Installation de ssh pour accéder aux serveurs ssh</h2>\n<p class=\"spip\">Le paquet ssh contient le serveur et le client ssh. Ce paquet est nécessaire pour accéder aux serveurs via le protocole ssh, mais il n’est pas nécessaire d’activer le serveur :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install ssh</code></p>\n\n<h2>Installation du client nfs pour accéder aux serveurs nfs</h2>\n<p class=\"spip\">Le paquet suivant contient le client permettant d’accéder aux dossiers exportés par les serveurs nfs :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install nfs-common</code></p>\n\n<h2>Installation de LISa (Serveur d’information LAN)</h2>\n<p class=\"spip\">Le démon LISa se charge d’envoyer des requêtes sur le réseau (ping) pour rechercher les ordinateurs disponibles.</p>\n\n<p class=\"spip\">Pour avoir accès au voisinage réseau et à toutes les capacités de Konqueror, il faut installer le démon Lisa :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>apt-get install lisa</code></p>\n\n<h2>Configuration de LISa</h2>\n<p class=\"spip\">La configuration de LISa est intégrée au « Centre de configuration de KDE » :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>Internet et Réseau / Navigation dans le réseau local</code></p>\n\n<p class=\"spip\">Sur cette page, il faut saisir :\n<br /></p>\n<li> Nom d’utilisateur par défaut\n<br /><li> Mot de passe par défaut\n<br /><li> Groupe de travail\n<p class=\"spip\">Ensuite, pour configurer le démon LISa, il faut cliquer sur l’onglet « Démon LISa » et sur le bouton « Configuration Assistée de LISa ».</p>\n\n<p class=\"spip\">Pour information, le fichier de configuration du démon LISa est « /etc/lisarc »</p>\n\n<p class=\"spip\">Pour plus d’infos sur Lisa, le manuel est disponible dans Konqueror à l’adresse : \n<br /></p>\n<li> help :/lisa\n<h2>Navigation dans le réseau et les services avec Konqueror</h2>\n<h3>Accès aux dossiers partagés Windows (SMB)</h3>\n<p class=\"spip\">L’URL suivante dans Konqueror permet d’afficher les domaines, groupes de travails, liste d’ordinateurs et les dossiers partagés (SMB) disponibles sur le réseau. C’est donc l’équivalent du voisinage réseau des postes Windows :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>smb:/</code></p>\n\n<p class=\"spip\">L’URL suivante permet d’accéder directement aux dossiers partagés d’un ordinateur :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>smb://MonOrdinateur/</code></p>\n\n<p class=\"spip\">L’URL suivante permet de spécifier un autre utilisateur de connexion :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>smb://MonUtilisateur@MonOrdinateur/ </code></p>\n\n<h3>Accès aux serveurs SSH</h3>\n<p class=\"spip\">Le protocole SSH permet en général d’accéder à un ordinateur en mode Console, mais grâce à Konqueror, il est possible d’accéder aux fichiers d’un serveur SSH en lecture / écriture d’une manière complètement transparente.</p>\n\n<p class=\"spip\">L’URL suivante permet d’afficher l’arborescence complète des fichiers du serveur :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>fish://MonServeurSSH/</code></p>\n\n<p class=\"spip\">L’URL suivante permet de spécifier un autre utilisateur de connexion :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>fish://MonUtilisateur@MonServeurSSH/</code></p>\n\n<h3>Accès aux serveurs FTP</h3>\n<p class=\"spip\">Konqueror permet d’accéder aux fichiers d’un serveur FTP en lecture / écriture d’une manière complètement transparente.</p>\n\n<p class=\"spip\">L’URL suivante permet d’afficher les dossiers FTP disponibles sur le serveur :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ftp://MonServeurFTP/</code></p>\n\n<p class=\"spip\">L’URL suivante, permet de spécifier un autre utilisateur de connexion :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>ftp://MonUtilisateur@MonServeurFTP/</code></p>\n\n<h3>Le meilleur pour la fin :-)</h3>\n<p class=\"spip\">L’URL suivante permet d’afficher les ordinateurs disponibles sur le réseau et pour chaque ordinateur, il est possible de connaître les services disponibles (SMB, SSH, FTP, NFS, HTTP) :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>lan:/</code></p>\n\n<p class=\"spip\"><strong class=\"spip\">Remarque </strong> : Dans mon cas, la liste des ordinateurs affichée n’était pas complète et je n’ai pas trouvé d’explications.</p>\n\n<p class=\"spip\">L’URL suivante permet d’afficher les services disponibles du serveur indiqué :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>lan://localhost/MonServeur</code></p>\n\n<h2>Autres services disponibles avec Konqueror</h2>\n<p class=\"spip\">Voici une liste non exhaustive des autres possibilités offertes par Konqueror :</p>\n\n<h3>Afficher une page de man </h3>\n<p class=\"spip\">URL permettant d’afficher la liste des pages de man :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>man:/</code></p>\n\n<p class=\"spip\">ou encore plus simplement :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>#</code></p>\n\n<p class=\"spip\">URL pour afficher la page de man de la commande « ls »</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>man:/ls</code></p>\n\n<p class=\"spip\">ou</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>#ls</code></p>\n\n<h3>Afficher l’aide en ligne</h3>\n<p class=\"spip\">L’URL suivante, permet d’afficher l’aide en ligne de LISa :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>help:/lisa</code></p>\n\n<p class=\"spip\">Cette commande ouvre les pages d’aide du dossier « lisa » du répertoire « /usr/share/doc/kde/HTML ».</p>\n\n<h3>Afficher les fontes (polices de caractères) disponibles dans KDE</h3>\n<p class=\"spip\">L’URL suivante, permet d’afficher la liste des fontes disponibles dans KDE :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>fonts:/</code></p>\n\n<p class=\"spip\">De plus, l’affichage sous formes d’icônes avec les aperçus permet de visualiser les fontes.</p>\n\n<h2>Problèmes rencontrés</h2>\n<p class=\"spip\">En ouvrant un fichier OpenOffice depuis Konqueror à partir d’une url « smb :/ », une copie de celui est téléchargée dans « /var/tmp/kdecache-NomDuUser/krun ». Lors de la fermeture du fichier, un message d’avertissement propose de replacer le fichier sur son emplacement d’origine, mais cela ne fonctionne pas toujours et de plus, il est possible de modifier le fichier d’origine en même temps.</p>\n\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>10/03/05</td><td>Création par Tony GALMICHE</td></tr>\n<tr class=\"row_odd\"><td> </td><td> </td><td> </td></tr>\n</tbody>\n</table>','Ce document me sert de mémo sur les différentes possibilités d’utiliser Konqueror pour accéder au voisinage réseau ou aux différentes ressources d’un ordinateur.','',1288361811,2),(184,184,1,'Copier/partager/synchroniser un fichier entre deux postes','<p class=\"spip\">Voici un rapide panorama des solutions les plus couramment utiliser pour copier, partager ou synchroniser des fichiers sous GNU/Linux. Comme bien souvent, il n’y a pas de solution miracle. Il existe un choix d’outil adapté à des besoins particuliers.</p>\n\n<p class=\"spip\">Un point de vue personnel va être donné sur l’utilité de chaque outils. Je me place toujours dans le point de vue d’un particulier sur un petit réseau. Les besoins seraient bien différent dans une grande structure.</p>\n\n<h2>Copier un fichier entre deux postes</h2>\n<p class=\"spip\">Copier un fichier entre deux postes consiste à le reproduire sur un machine distante.\nDeux outils sortent du lot : scp et sftp.</p>\n\n<h3>Scp</h3>\n<h4>Description</h4>\n<p class=\"spip\">Scp est l’équivalent de \"cp\" mais par réseau. Il utilise le démon sshd.</p>\n\n<h4>Fonctionnement</h4>\n<p class=\"spip\">Son fonctionnement est simple :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># scp fichier guillaume@192.168.0.2:/home/guillaume<br />\r\nguillaume@192.168.0.2\'s password:<br />\r\nfichier                                          100%    9KB   5.8MB/s   00:00</code></div>\n<p class=\"spip\">Il est possible également de rapartrier un fichier de la même manière :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># scp guillaume@192.168.0.2:/home/guillaume/fichier .<br />\r\nguillaume@192.168.0.2\'s password:<br />\r\nfichier                                          100%    9KB   5.8MB/s   00:00</code></div>\n<p class=\"spip\">L’option \"-r\" permet de récuperer un répertoire complet.</p>\n\n<h4>Conclusion</h4>\n<p class=\"spip\">Cette commande est pratique et rapide lorsqu’on connait le fichier à copier, ainsi que le répertoire de destination.</p>\n\n<h3>Sftp</h3>\n<h4>Description</h4>\n<p class=\"spip\">sftp est un protocole de transfert de fichier qui ressemble au ftp (mais ce n’est pas du ftp sur une couche ssl). Il utilise également le démon sshd.</p>\n\n<h4>Fonctionnement</h4>\n<p class=\"spip\">Du fait de la ressemblance avec ftp, son fonctionnement est simple :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># sftp guillaume@192.168.0.2<br />\r\nConnecting to 192.168.0.2...<br />\r\nguillaume@192.168.0.2\'s password:<br />\r\nsftp> cd /tmp<br />\r\nsftp> put fichier<br />\r\nfichier                                          100%    9KB   5.8MB/s   00:00<br />\r\nsftp></code></div>\n<p class=\"spip\">Il est possible d’accéder facilement à une autre machine en sftp grâce à des outils comme nautilus.</p>\n\n<p class=\"spip\">Pour accèdé de façon temporaire à une machine, faire, dans nautilus, Ctrl-l. Dans la fenêtre, taper \"sftp://guillaume@192.168.0.2\".</p>\n\n<p class=\"spip\">Si vous avez l’habitude d’accèder tout le temps à certaine machine, il est possible de faire un connecteur réseau :</p>\n\n<p class=\"spip\"><span class=\'spip_document_225 spip_documents spip_documents_center\' >\n<img src=\'http://download.tuxfamily.org/assocoagul/drupal-files/spip/ssh.png\' width=\"606\" height=\"472\" alt=\"sftp dans nautilus\" title=\"sftp dans nautilus\" /></span><p>\n\n<p class=\"spip\">Maintenant dans le poste de travail ou sur le bureau nous auront un icône nous permettant d’accèder facilement à la machine distante :</p>\n\n<p class=\"spip\"><span class=\'spip_document_226 spip_documents spip_documents_center\' >\n<img src=\'http://download.tuxfamily.org/assocoagul/drupal-files/spip/ssh_icone.png\' width=\"115\" height=\"110\" alt=\"le lecteur réseau\" title=\"le lecteur réseau\" /></span><p>\n\n<h4>Conclusion</h4>\n<p class=\"spip\">Cette solution est plus adapté au tranfert dont on ne connait pas bien le chemin de destination ou que le préfère copier de façon graphique.</p>\n\n<h2>Partager un fichier</h2>\n<p class=\"spip\">Contrairement à la copier, le partage permet à un groupe de personne d’accèder à un même fichier et de le modifier.</p>\n\n<h3>NFS</h3>\n<h4>Description</h4>\n<p class=\"spip\">NFS est un système de partage de fichier sous UNIX. La version 4 de NFS vient juste de sortir et apporte de grande amélioration que nous attendions tous (notamment pour l’identification). Cette version n’est pas encore à l’heure actuelle finalisé.</p>\n\n<h4>Fonctionnement</h4>\n<p class=\"spip\">NFS fonctionne sous la forme de client/serveur.</p>\n\n<p class=\"spip\">Sur le serveur, la configuration de NFS se fait dans /etc/exports :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>/home/ftp  192.168.0.3(ro,sync)  192.168.0.2(rw,sync)</code></p>\n\n<p class=\"spip\">Puis lancer la commande suivante pour que le changement soit pris en compte :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'># exportfs -a</code></p>\n\n<p class=\"spip\">Dans l’exemple précédent, nous autorisons 192.168.0.2 et 192.168.0.3 à accedé en lecture à notre partage. 192.168.0.2 à également accès en écriture.</p>\n\n<h4>Conclusion</h4>\n<p class=\"spip\">NFS est pratique pour le partage de fichier entre machine de type UNIX. Son principal défaut est son manque d’évolution depuis un certain temps. La version 4 du serveur comble la plupart des manques que nous pouvons lui trouver.</p>\n\n<h3>Samba</h3>\n<h4>Description</h4>\n<p class=\"spip\">Même si microsoft n’a pas inventer le protocole cifs/smb, ce protocole est fortement lié au système windows.</p>\n\n<h4>Fonctionnement</h4>\n<p class=\"spip\">Le fichier de configuration principal de samba est /etc/samba/smb.conf.</p>\n\n<p class=\"spip\">Voici un fichier de base (pas de controle d’accès) :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[global]<br />\r\n<br />\r\n   workgroup = gnunux<br />\r\n <br />\r\n[partage]<br />\r\n   comment = Le service<br />\r\n   path = /home/ftp<br />\r\n   guest ok = yes</code></div>\n<h4>Conclusion</h4>\n<p class=\"spip\">Samba va être avantageux pour le partage GNU/windows (voir la seule solution dans celle présenté simple à mettre en place).</p>\n\n<h2>Synchroniser des fichiers</h2>\n<p class=\"spip\">La synchronisation permet de faire un mirroir d’un répertoire de façon automatique.</p>\n\n<h3>Rsync</h3>\n<h4>Description</h4>\n<p class=\"spip\">Issu du projet samba, rsync permet de synchroniser des mirroirs. Il est facile à mettre en place et a administrer.</p>\n\n<h4>Fonctionnement</h4>\n<p class=\"spip\">Il fonctionne sous un mode client/serveur. Le fichier de configuration principe est /etc/rsyncd.conf :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>motd file = /etc/motd<br />\r\nmax connexions = 1<br />\r\nsyslog facility = local3<br />\r\nuid = nobody<br />\r\ngid = nobody<br />\r\nhosts allow = 192.168.0.3<br />\r\n[www]<br />\r\n   comment  = fichier dupliquer<br />\r\n   path = /home/ftp<br />\r\n   read only = yes<br />\r\n   list = yes</code></div>\n<p class=\"spip\">Le démon est lancé par inetd ou xinetd.</p>\n\n<p class=\"spip\">Pour la partie cliente :</p>\n\n<p class=\"spip\">- Voir le contenu d’un mirroir :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code># rsync rsync://192.168.0.25<br />\r\nwww             fichier dupliquer<br />\r\n# rsync rsync://192.168.0.25/www<br />\r\nrsync rsync://localhost/www<br />\r\ndrwxr-xr-x        4096 2005/03/08 22:51:44 .<br />\r\n-rw-r--r--      128122 2005/03/08 22:51:44 document.zip<br />\r\n-rw-r--r--          19 2005/03/08 22:50:18 test</code></div>\n<p class=\"spip\">- Pour le téléchargement :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>rsync -avuz rsync://192.168.0.25/www .<br />\r\nrsync -avuz rsync://192.168.0.25/www .<br />\r\nreceiving file list ... done<br />\r\n./<br />\r\ndocument.zip<br />\r\n                                                                                test<br />\r\n<br />\r\nwrote 1189 bytes  read 163 bytes  2704.00 bytes/sec<br />\r\ntotal size is 128141  speedup is 94.78</code></div>\n<h4>Conclusion</h4>\n<p class=\"spip\">Rsync est un système facile a mettre en place pour des mirroirs. Il est surtout adapter à la synchronisation dans un seul sens.</p>\n\n<p class=\"spip\">Il peut géré un mécanisme d’authentification sécurisé.</p>\n\n<h3>Unison</h3>\n<h4>Description</h4>\n<p class=\"spip\">Unison est un système de synchronisation de dossier entre deux postes.</p>\n\n<h4>Fonctionnement</h4>\n<p class=\"spip\">Il faut commencer de faire un fichier de configuration par répertoire synchronisé. Il est possible de créer le fichier de configuration grâce à une interface graphique. Pour la lancer, faire unison -ui graphic. Voici par exemple le fichier de configuration /.unison/test</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>root = /home/ftp/<br />\r\nroot = ssh://root@formation1/home/ftp</code></div>\n<p class=\"spip\">Puis pour synchroniser, faire :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>unison test</code></p>\n\n<h4>Conclusion</h4>\n<p class=\"spip\">Unison est surtout adapter à la synchronisation entre deux postes, ou les deux peuvent être modifié.</p>','Voici un rapide panorama des solutions les plus couramment utiliser pour copier, partager ou synchroniser des fichiers sous GNU/Linux.','',1288361813,2),(185,185,1,'Ordre du jour du 22.03.05 - Utilisation de Gpg en console, client mail, et autres ','<p class=\"spip\">Cette soirée sera consacrée à un atelier présenté par <strong class=\"spip\">YogI</strong> sur « <strong class=\"spip\"> Utilisation de Gpg en console, client mail, et autres </strong> »<strong class=\"spip\"> </strong></p>\n\n<p class=\"spip\"><strong class=\"spip\">Niveau </strong> : Avancé</p>\n\n<p class=\"spip\"><strong class=\"spip\">Pré-requis </strong> : Avoir assisté à l’atelier précédent sur Gpg (ou connaître Gpg)</p>\n\n<p class=\"spip\"><strong class=\"spip\">Personnes intéressées</strong> : <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=HuGin\" class=\"spip_out\">HuGin</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=TonY\" class=\"spip_out\">TonY</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=LauRent\" class=\"spip_out\">LauRent</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=PhilippE\" class=\"spip_out\">PhilippE</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=GronGruik\" class=\"spip_out\">GronGruik</a>, <a href=\"http://www.coagul.org/wikini/wakka.php?wiki=JibuX\" class=\"spip_out\">JibuX</a></p>\n\n<blockquote class=\"spip\">\n<p class=\"spip\">Cette réunion est consacrée en priorité à cet atelier qui débutera à 20H30. Si vous souhaitez y assister, vous êtes le bienvenu. Mais si vous souhaitez simplement nous rencontrer, il est recommandé de venir le premier mardi de chaque mois où nous organisons une soirée porte ouvertes et où nous serons plus disponibles pour vous accueillir.</p>\n</blockquote>\n<table class=\"spip\">\n<tbody>\n<tr class=\"row_even\"><td> </td></tr>\n</tbody>\n</table>','Cette soirée sera consacrée à un atelier présenté par <strong class=\"spip\">YogI</strong> sur « <strong class=\"spip\"> Utilisation de Gpg en console, client mail, et autres </strong> »<strong class=\"spip\"> </strong>','',1289136107,2),(186,186,1,'KOAGUL : Le Live CD Linux de Coagul','<p class=\"spip\">Dans cet article, vous trouverez tous les fichiers nécessaires à la réalisation du Live CD Linux de Coagul : KOAGUL</p>\n\n<p class=\"spip\">Koagul est un live CD Linux personnalisé par Coagul basé sur une Kaela elle même basée sur une Knoppix réalisée sur la base d’une distribution Debian grâce au développement de milliers de développeurs bénévoles ou non de part le monde.\n<br /></p>\n<li> Vive le libre :-)\n<h3>Pochette du CD</h3>\n<dl class=\'spip_document_300 spip_documents spip_documents_center\' >\n<dt><a href=\"http://download.tuxfamily.org/assocoagul/drupal-files/spip/Pochette_CD_0.21.sxc\" title=\'OpenOffice Calc - 179.9 ko\' type=\"application/vnd.sun.xml.calc\"><img src=\'dist/vignettes/sxc.png\' width=\'52\' height=\'52\' alt=\'OpenOffice Calc - 179.9 ko\' /></a><dt>\n</dl>\n<h3>Image au boot du CD</h3>\n<dl class=\'spip_document_297 spip_documents spip_documents_center\' >\n<dt><img src=\'http://download.tuxfamily.org/assocoagul/drupal-files/spip/splash_boot_640x400x16.bmp\' width=\'640\' height=\'400\' alt=\'BMP - 125.1 ko\' /><dt>\n<dt class=\'spip_doc_titre\' style=\'width:350px;\'><strong>Image de boot</strong></dt>\n</dl>\n<h3>SplashScreen de KDE</h3>\n<dl class=\'spip_document_299 spip_documents spip_documents_center\' >\n<dt><img src=\'http://download.tuxfamily.org/assocoagul/drupal-files/spip/splash_top.png\' width=\'400\' height=\'248\' alt=\'PNG - 94.1 ko\' /><dt>\n<dt class=\'spip_doc_titre\' style=\'width:350px;\'><strong>SplashScreen de KDE</strong></dt>\n</dl>\n<h3>Image de fond de KDE</h3>\n<dl class=\'spip_document_298 spip_documents spip_documents_center\' >\n<dt><img src=\'http://download.tuxfamily.org/assocoagul/drupal-files/spip/Fond_02_1152x864.jpg\' width=\'1152\' height=\'864\' alt=\'JPEG - 60.9 ko\' /><dt>\n<dt class=\'spip_doc_titre\' style=\'width:350px;\'><strong>Image de fond de KDE</strong></dt>\n</dl>','Dans cet article, vous trouverez tous les fichiers nécessaires à la réalisation du Live CD Linux de Coagul : KOAGUL','',1288361816,2),(187,187,1,'Ordre du jour du 05.04.05 - Porte-ouverte : Discussions sur les différentes distributions Linux ','<h2>Une distribution Linux, c’est quoi ?</h2>\n<br /><li> Le noyau Linux plus un ensemble d’utilitaires et de logiciels.\n<br /><li> Un système de gestion des paquets pour faciliter l’installation des logiciels.\n<br /><li> Des assistants pour faciliter la configuration des logiciels.\n<h2>Les différents systèmes de gestion de paquets</h2>\n<br /><li> .rpm pour la plupart des distributions (Mandrake, Red-Hat, Suse,...)\n<br /><li> .deb pour la distribution Debian\n<br /><li> .tgz pour la Slackware et quelques autres\n<h2>Présentation des différentes distributions par les membres de Coagul</h2>\n<p class=\"spip\">Chaque distribution a ses avantages et ses inconvénients et les membres de Coagul essayeront de les expliquer sans partir dans des trolls interminables :-) :\n<br /></p>\n<li> <strong class=\"spip\">Debian</strong> : Tony, Piou, Frantz, Jibux, Bouil\n<br /><li> <strong class=\"spip\">Fedora / Red-Hat</strong> : Yogi, Laurent.\n<br /><li> <strong class=\"spip\">Mandrake</strong> : Gérald, Philippe\n<br /><li> <strong class=\"spip\">Slackware</strong> : Gnunux, Jean.B\n<br /><li> <strong class=\"spip\">Suse</strong> : Mircea\n<br /><li> <strong class=\"spip\">Gentoo</strong> : Jean.B\n<br /><li> <strong class=\"spip\">ArchLinux</strong> : Gnunux','<h2>Une distribution Linux, c’est quoi ?</h2>\n<br /><li> Le noyau Linux plus un ensemble d’utilitaires et de logiciels.\n<br /><li> Un système de gestion des paquets pour faciliter l’installation des logiciels.\n<br /><li> Des assistants pour faciliter la configuration des logiciels.','',1289136107,2),(188,188,1,'Présentation d’une ligne de commandes sous Linux','<h2>Constitution d’une commande </h2>\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'> Nom-de-commande [ -option ] [ argument]</code></p>\n\n<p class=\"spip\">Les options peuvent être optionnelles (=_=) et sont en général induites par un tiret (-). \nLes arguments peuvent aussi être optionnels.</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>$ cd /home/user/Documents/Divers</code></p>\n\n<p class=\"spip\">Les commandes nécessitant les droits d’utilisateur (user) sont précédées par le symbole du <strong class=\"spip\">dollar ($)</strong>. \nLes commandes nécessitant les droits du super-utilisateur (root) seront précédées du symbole <strong class=\"spip\">dièse (#)</strong>. Soit :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code>[user@localhost] $ commande<br />\r\n[root@localhost] # commande</code></div>\n<h2>Flots de données </h2>\n<p class=\"spip\">Sous GNU/Linux, on trouve 3 (trois) flots standards de données :\n<br /></p>\n<li> <strong class=\"spip\">stdin :</strong> c’est l’entrée standard, le clavier la plus part du temps. \n<br /><li> <strong class=\"spip\">stdout :</strong> c’est la sortie standard, habituellement l’écran. \n<br /><li> <strong class=\"spip\">sderr :</strong> c’est la sortie d’erreur, souvent l’écran mais peut être redirigé.\n<h2>Redirections </h2>\n<p class=\"spip\">Les flots de données peuvent être redirigés, de façon à les exploiter comme bon vous semble. Plusieurs types de redirections s’offrent à vous :</p>\n\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Redirection</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td><div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\n|<br />\r</code></div><br />\n</td><td>Envoie la sortie de la commande 1 vers l’entrée de la commande 2. La commande agit alors comme une sorte de filtre. \nexemple : <code class=\'spip_code\' dir=\'ltr\'>ls -l | grep \"Une chaîne\"</code></td></tr>\n<tr class=\"row_odd\"><td><div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\n><br />\r</code></div><br />\n</td><td>Écrit la sortie standard dans un fichier en mode écrasement. Si le fichier existe, il est remis à blanc avant l’écriture, dans le cas contraire il est créé. </td></tr>\n<tr class=\"row_even\"><td><div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\n>><br />\r</code></div><br />\n</td><td>Écrit la sortie dans un fichier en mode ajout. Si le fichier existe, les nouveaux enregistrements viennent se placer à la fin de celui-ci. </td></tr>\n<tr class=\"row_odd\"><td><div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\n<<br />\r</code></div><br />\n </td><td>Permet d’envoyer un fichier vers l’entrée standard. À la place d’une saisie clavier par exemple. </td></tr>\n</tbody>\n</table>\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>2002</td><td><strong class=\"spip\">Thierry COLAS</strong>, auteur original du document « Lignes de commandes - le pense bête de COAGUL »</td></tr>\n<tr class=\"row_odd\"><td>0.2</td><td>2004</td><td><strong class=\"spip\">Marc P</strong><strong class=\"spip\">OIROUD</strong> pour la conversion en LATEX , PDF et HTML. <strong class=\"spip\">Gnunux</strong>, pour sa relecture</td></tr>\n<tr class=\"row_even\"><td>0.3</td><td>21/03/05</td><td><strong class=\"spip\">Tony</strong> pour la conversion au format OOo / Spip et le découpage en 7 articles.</td></tr>\n</tbody>\n</table>','<h2>Constitution d’une commande </h2>\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'> Nom-de-commande [ -option ] [ argument]</code></p>\n\n<p class=\"spip\">Les options peuvent être optionnelles (=_=) et sont en général induites par un tiret (-). \nLes arguments peuvent aussi être optionnels.</p>','',1288361817,2),(189,189,1,'Les propriétés des fichiers sous Linux','<p class=\"spip\">Dans le monde UNIX, tout est fichier. Par exemple, la communication avec les périphériques physiques de l’ordinateur se fait au moyen de fichiers d’un type particulier. Les caractéristiques des fichiers peuvent être visualisées à l’aide de la commande :</p>\n\n<div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code> [user@localhost]$ ls -la <br />\r\ndrwx------   11 root      root         1024 nov  5 15:31 ./<br />\r\ndrwxr-xr-x   20 root      root         1024 nov  5 15:30 ../<br />\r\n-rw-------    1 root      root         9821 nov  4 15:19 .viminfo<br />\r\n-rw-------    1 root      root        11748 nov  5 13:10 .bash_history<br />\r\nlrwxrwxrwx    1 root      root           47 nov  5 13:10 .odbc -> /etc/skel/odbc.ini</code></div>\n<p class=\"spip\">Voyons la signification de chaque colonne :</p>\n\n<h2>Colonne 1 : Attributs des fichiers</h2>\n<h3>Le premier caractère donne le type de fichier </h3>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Caractère</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td><strong class=\"spip\">-</strong> </td><td>pour un fichier ordinaire </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">d</strong> </td><td>pour un répertoire </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">l</strong> </td><td>pour un lien symbolique </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">s</strong> </td><td>pour une socket </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">p</strong> </td><td>pour un pipe nommé </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">b</strong> </td><td>fichier spécial (de périphérique) en mode bloc </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">c</strong> </td><td>fichier spécial (de périphérique) en mode caractère </td></tr>\n</tbody>\n</table>\n<h3>Les 9 caractères suivants (en fait 3 groupes de 3) donnent les modes (droits) d’accès du fichier : </h3>\n<p class=\"spip\">Tout fichier dans le monde Unix possède un certain nombre de droits qui vont caractériser les opérations possibles sur ce fichier. Ces droits sont :</p>\n\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Caractère </strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td><strong class=\"spip\">r</strong></td><td>droit en lecture (<strong class=\"spip\">r</strong>ead). - Tout fichier qui possède cette caractéristique peut être lu. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">w</strong></td><td>droit en écriture (<strong class=\"spip\">w</strong>rite). Le fichier pourra être supprimé, renommé ou son contenu modifié. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">x</strong></td><td>droit d’exécution (pour un fichier) ou de parcours (pour un répertoire) (e<strong class=\"spip\">x</strong>ecute). Sous unix, il n’y a pas d’extension standard pour les fichiers programmes tels que <i class=\"spip\"> .exe, .com, .bat </i>... C’est le droit d’éxécution qui fait d’un fichier qu’il est exécutable, et ce, quelque soit son nom ou son éventuelle extension. Dans le cas des répertoires, ce droit permet de traverser le répertoire. Attention traverser ne veut pas dire lire ou écrire. Je peux traverser un répertoire sur lequel je n’ai pas de droit en lecture ou en écriture, ce sont deux choses différentes. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">s</strong></td><td>set uid ou set gid. Nous n’en parlerons pas pour l’instant. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">t</strong></td><td>sticky bit. Nous n’en parlerons pas pour l’instant. </td></tr>\n</tbody>\n</table>\n<p class=\"spip\">Pour résumer :</p>\n\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Le premier triplet indique les droits du propriétaire du fichier.</strong></th><th scope=\'col\'><strong class=\"spip\">Le second indique les droits des membres du groupe du propriétaire du fichier.</strong></th><th scope=\'col\'><strong class=\"spip\">Le dernier indique les droits pour le reste du monde sur le fichier.</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>r w x</td><td>r w x</td><td>r w x</td></tr>\n</tbody>\n</table>\n<h2>Colonne 2 : Liens physiques </h2>\n<p class=\"spip\">On trouve dans cette colonne le nombre de liens physiques sur le fichier. Je passe sur cette notion dans l’immédiat.</p>\n\n<h2>Colonne 3 : Propriétaire </h2>\n<p class=\"spip\">On trouve le nom (user name) du propriétaire du fichier. Si le propriétaire n’est pas connu sur le système (pas d’entrée dans /etc/passwd), c’est le numéro d’utilisateur (user id) qui est indiqué.</p>\n\n<h2>Colonne 4 : Groupe </h2>\n<p class=\"spip\">On trouve le nom du groupe (user group) du propriétaire du fichier. Si le groupe n’est pas connu sur le système (pas d’entrée dans /etc/group), c’est le numéro de groupe (group id) qui est indiqué.</p>\n\n<h2>Colonne 5 : Taille </h2>\n<p class=\"spip\">On trouve ici la taille du fichier. Elle peut être affichée en octets (o), kilo-octets (ko), méga-octets (Mo), ...suivant les cas.</p>\n\n<h2>Colonne 6, 7 et 8 : Date et heure </h2>\n<p class=\"spip\">C’est la date et l’heure de la dernière modification du fichier.</p>\n\n<h2>Colonne 9 : Nom </h2>\n<p class=\"spip\">La dernière colonne informe sur le nom du fichier et dans le cas de certains shells (bash par exemple) le dernier caractère indique le type de fichier :</p>\n\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Caractère </strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td><strong class=\"spip\">/</strong></td><td>pour un répertoire. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">@</strong></td><td>pour un lien symbolique. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">=</strong></td><td>pour un socket. </td></tr>\n</tbody>\n</table>\n<h2>Récapitulatif </h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Type </strong></th><th scope=\'col\'><strong class=\"spip\">Propriétaire </strong></th><th scope=\'col\'><strong class=\"spip\">Groupe </strong></th><th scope=\'col\'><strong class=\"spip\">Autres </strong></th><th scope=\'col\'><strong class=\"spip\">Liens </strong></th><th scope=\'col\'><strong class=\"spip\">Prop. </strong></th><th scope=\'col\'><strong class=\"spip\">Groupe </strong></th><th scope=\'col\'><strong class=\"spip\">Taille </strong></th><th scope=\'col\'><strong class=\"spip\">Date - heure </strong></th><th scope=\'col\'><strong class=\"spip\">Nom </strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>d</td><td>rwx</td><td>&mdash;</td><td>--</td><td>11</td><td>root</td><td>root</td><td>1024</td><td>nov 5 15:31</td><td>./</td></tr>\n<tr class=\"row_odd\"><td>d</td><td>rwx</td><td>r-x</td><td>r-x</td><td>20</td><td>root</td><td>root</td><td>1024</td><td>nov 5 15:30</td><td>../</td></tr>\n<tr class=\"row_even\"><td>-</td><td>rw-</td><td>&mdash;</td><td>--</td><td>1</td><td>root</td><td>root</td><td>9821</td><td>nov 4 15:19</td><td>.viminfo</td></tr>\n<tr class=\"row_odd\"><td>-</td><td>rw-</td><td>&mdash;</td><td>--</td><td>1</td><td>root</td><td>root</td><td>11748</td><td>nov 5 13:10</td><td>.bash_history</td></tr>\n<tr class=\"row_even\"><td>l</td><td>rwx</td><td>rwx</td><td>rwx</td><td>1</td><td>root</td><td>root</td><td>47</td><td>nov 5 13:10</td><td>.odbc -> /etc/skel/odbc.ini</td></tr>\n</tbody>\n</table>\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>2002</td><td><strong class=\"spip\">Thierry COLAS</strong>, auteur original du document « Lignes de commandes - le pense bête de COAGUL »</td></tr>\n<tr class=\"row_odd\"><td>0.2</td><td>2004</td><td><strong class=\"spip\">Marc P</strong><strong class=\"spip\">OIROUD</strong> pour la conversion en LATEX , PDF et HTML. <strong class=\"spip\">Gnunux</strong>, pour sa relecture</td></tr>\n<tr class=\"row_even\"><td>0.3</td><td>11/03/05</td><td><strong class=\"spip\">Tony</strong> pour la conversion au format OOo / Spip et le découpage en 7 articles.</td></tr>\n</tbody>\n</table>','<p class=\"spip\">Dans le monde UNIX, tout est fichier. Par exemple, la communication avec les périphériques physiques de l’ordinateur se fait au moyen de fichiers d’un type particulier. Les caractéristiques des fichiers peuvent être visualisées à l’aide de la commande :</p>\n\n<p class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'> [user@localhost]$ ls -la </code></p>','',1288361818,2),(190,190,1,'Les commandes et options de VI / VIM','<p class=\"spip\"><strong class=\"spip\">Vi</strong> est un puissant éditeur de textes. On le rencontre souvent sous linux dans une version améliorée appelée <strong class=\"spip\">vim</strong>. L’utilisation de <strong class=\"spip\">vi</strong> est complexe pour le débutant, mais les efforts d’apprentissage sont récompensés par la puissance et la rapidité des tâches que l’on peut exécuter avec un peu de pratique.</p>\n\n<h2>Options</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Option</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td><strong class=\"spip\">-b</strong></td><td>Mode binaire. Permet l’édition d’un fichier binaire ou exécutable. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">-g</strong></td><td>Active l’interface graphique si <strong class=\"spip\">vi</strong> a été compilé avec le support d’une interface graphique. Équivalent à la commande gvim pour la version améliorée de <strong class=\"spip\">vi</strong>, <strong class=\"spip\">vim</strong>. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">-r </strong><i class=\"spip\"> <strong class=\"spip\">fichier</strong> </i></td><td>Mode récupération. Le fichier d’échange <i class=\"spip\"> fichier </i> est utilisé pour récupérer une session après un crash. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">-v</strong></td><td>Mode vue. L’option lecture seule est activée. L’édition est cependant possible mais le fichier est protégé contre un effacement accidentel et il faut forcer l’écrasement avec le point d’exclamation. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">&mdash;</strong></td><td>Marque la fin des options. Cela permet d’éditer un fichier dont le nom commence par un tiret. </td></tr>\n</tbody>\n</table>\n<h2>Les modes vi : </h2>\n<p class=\"spip\">Vi possède deux modes de fonctionnement :\n<br /></p>\n<li> Le mode commande (Mode par défaut au démarrage). \n<br /><li> Le mode insertion.\n<h2>Le mode commande </h2>\n<p class=\"spip\">Le mode commande est actif dès le lancement. On peut alors :\n<br /></p>\n<li> Activer le mode insertion. \n<br /><li> Lancer les commandes d’édition du texte. \n<br /><li> Déplacer le curseur dans le fichier. \n<br /><li> Lancer un shell. \n<br /><li> Sauvegarder le fichier ou quitter l’éditeur.\n<h2>Le mode insertion </h2>\n<p class=\"spip\">La saisie du texte se fait en <i class=\"spip\"> mode insertion </i>. On quitte le <i class=\"spip\"> mode insertion </i> avec la touche Echap et l’on se retrouve alors en <i class=\"spip\"> mode commande </i>. L’activation du mode insertion se fait avec les commandes suivantes :</p>\n\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Touche</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td><strong class=\"spip\">a</strong></td><td>Insertion après le curseur. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">A</strong></td><td>Insertion en fin de ligne. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">c</strong></td><td>Début d’une opération de remplacement. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">C</strong></td><td>Remplacement jusqu’en fin de ligne. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">i</strong></td><td>Insertion avant le curseur. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">I</strong></td><td>Insertion en début de ligne. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">o</strong></td><td>Insertion à la ligne suivante. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">O</strong></td><td>Insertion à la ligne précédente. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">R</strong></td><td>Active le mode écrasement. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">s</strong></td><td>Remplace un caractère. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">S</strong></td><td>Remplace une ligne entière. </td></tr>\n</tbody>\n</table>\n<h3>Déplacement du curseur</h3>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Touche</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire </strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td><strong class=\"spip\">h</strong></td><td>Un caractère vers la gauche . </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">j</strong></td><td>Un caractère vers le bas. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">k</strong></td><td>Un caractère vers le haut. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">l ou ESPACE</strong></td><td>Un caractère vers la droite. </td></tr>\n</tbody>\n</table>\n<h3>Texte </h3>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Touche</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td><strong class=\"spip\">w ou W</strong></td><td>Début du mot suivant. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">b ou B</strong></td><td>Début du mot courant. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">e ou E</strong></td><td>Fin du mot courant. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">)</strong></td><td>Début de la phrase suivante. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">(</strong></td><td>Début de la phrase précédente. </td></tr>\n<tr class=\"row_odd\"><td><div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\n}<br />\r</code></div><br />\n</td><td>Début du paragraphe suivant. </td></tr>\n<tr class=\"row_even\"><td><div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\n{<br />\r</code></div><br />\n</td><td>Début du paragraphe précédent.</td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">]</strong></td><td>Début de la section suivante.</td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">[</strong></td><td>Début de la section précédente. </td></tr>\n</tbody>\n</table>\n<h3>Lignes </h3>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Touche</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td><strong class=\"spip\">^</strong></td><td>Début de ligne. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">$</strong></td><td>Fin de ligne. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">-</strong></td><td>Premier caractère de la ligne précédente. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">+ ou Entrée</strong></td><td>Premier caractère de la ligne suivante. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">H</strong></td><td>Première ligne de l’écran. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">L</strong></td><td>Dernière ligne de l’écran. </td></tr>\n<tr class=\"row_even\"><td>]</td><td>Début de la section suivante.</td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">[</strong></td><td>Début de la section précédente. </td></tr>\n</tbody>\n</table>\n<h3>Écrans </h3>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Touche</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td><strong class=\"spip\">CTRL-f</strong></td><td>Avance d’un écran. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">CTRL-b</strong></td><td>Recule d’un écran. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">z Entrée</strong></td><td>Positionne la ligne active en haut de l’écran. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">z.</strong></td><td>Positionne la ligne active au centre de l’écran. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">z-</strong></td><td>Positionne la ligne active en bas de l’écran. </td></tr>\n</tbody>\n</table>\n<h3>Recherche </h3>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Touche</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td><strong class=\"spip\">/</strong><i class=\"spip\"> <strong class=\"spip\">motif</strong> </i></td><td>Recherche <i class=\"spip\"> motif </i> vers l’avant. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">/</strong></td><td>Répétition de la recherche vers l’avant. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\"> ?</strong><i class=\"spip\"> <strong class=\"spip\">motif</strong> </i></td><td>Recherche <i class=\"spip\"> motif </i> vers l’arrière. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\"> ?</strong></td><td>Répétition de la recherche vers l’arrière. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">n</strong></td><td>Répète la dernière opération de recherche. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">%</strong></td><td>Déplacement vers le crochet, la parenthèse ou l’accolade correspondant à celui ou se trouve le curseur. </td></tr>\n</tbody>\n</table>\n<h2>Commandes d’édition</h2>\n<h3>Saisie de texte </h3>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Touche</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td><strong class=\"spip\">a</strong></td><td>Insertion après le curseur. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">A</strong></td><td>Insertion en fin de ligne. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">i</strong></td><td>Insertion avant le curseur. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">I</strong></td><td>Insertion en début de ligne. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">Esc</strong></td><td>Fin du mode édition. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">Entrée</strong></td><td>Passe à la ligne suivante. </td></tr>\n</tbody>\n</table>\n<h3>Modification de texte </h3>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Touches</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td><strong class=\"spip\">cw</strong></td><td>Modifie le mot courant. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">cc</strong></td><td>Modifie la ligne courante. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">C</strong></td><td>Modifie du curseur jusqu’à la fin de la ligne. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">dd</strong></td><td>Supprime la ligne en cours. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">dw</strong></td><td>Supprime le mot courant. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">D</strong></td><td>Efface du curseur à la fin de la ligne. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">d^</strong></td><td>Efface du début de la ligne jusqu’au curseur. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">d/</strong><i class=\"spip\"> <strong class=\"spip\">motif</strong> </i></td><td>Efface jusqu’à la première occurrence de <i class=\"spip\"> motif </i>. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">p</strong></td><td>Insère après le curseur la dernière portion de texte supprimée ou copiée. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">P</strong></td><td>Insère avant le curseur la dernière portion de texte supprimée ou copiée. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">rx</strong></td><td>Remplace le caractère courant par x. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">R</strong></td><td>Active le mode remplacement de texte. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">u</strong></td><td>Annule la dernière opération. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">U</strong></td><td>Annule toutes les opérations effectuées sur la ligne courante. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">.</strong></td><td>Répète la dernière opération. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\"><code class=\'spip_code\' dir=\'ltr\'>~</code></strong></td><td>Change la casse du caractère sous le curseur. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">J</strong></td><td>Fusionne deux lignes (join). </td></tr>\n</tbody>\n</table>\n<h2>Copie et déplacement de texte </h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Touches</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td><strong class=\"spip\">Y</strong></td><td>Copie la ligne courante dans un nouveau tampon. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">yy</strong></td><td>Copie la ligne courante. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">\"xyy</strong></td><td>Copie la ligne courante dans le tampon x. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">\"xd</strong></td><td>Supprime la ligne courante et la place dans le tampon x. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">\"Xd</strong></td><td>Supprime la ligne courante et l’ajoute au tampon x. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">\"xp</strong></td><td>Insère le contenu du tampon x. </td></tr>\n</tbody>\n</table>\n<h2>Sauvegarder et quitter </h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Touches</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td><strong class=\"spip\">ZZ</strong></td><td>Quitte l’éditeur et enregistre le fichier s’il a été modifié. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">:x</strong></td><td>Identique à <strong class=\"spip\">ZZ</strong>. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">:w</strong></td><td>Enregistre le fichier. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">:wq</strong></td><td>Enregistre le fichier et quitte l’éditeur. </td></tr>\n<tr class=\"row_even\"><td><div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\n:w!<br />\r</code></div><br />\n</td><td>Enregistre le fichier en passant outre les protections (fichier ouvert en lecture seule, par exemple). </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">:q</strong></td><td>Quitte l’éditeur. </td></tr>\n<tr class=\"row_even\"><td><div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\n:q!<br />\r</code></div><br />\n</td><td>Quitte l’éditeur sans enregistrer les dernières modifications. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">:e </strong><i class=\"spip\"> <strong class=\"spip\">fichier</strong> </i></td><td>Édite le fichier <i class=\"spip\"> fichier </i> sans quitter vi. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">:n</strong></td><td>Édite le fichier suivant. </td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\">:n </strong><i class=\"spip\"> <strong class=\"spip\">fichiers</strong> </i></td><td>Spécifie une nouvelle liste de <i class=\"spip\"> fichiers </i>. </td></tr>\n<tr class=\"row_even\"><td><strong class=\"spip\">:args</strong></td><td>Affiche la liste des fichiers à éditer. </td></tr>\n</tbody>\n</table>\n<h2>Commandes \"shell\" </h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Touches</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td><strong class=\"spip\">:r </strong><i class=\"spip\"> <strong class=\"spip\">fichiers</strong> </i></td><td>Insère le contenu de « <i class=\"spip\"> fichier » </i>. </td></tr>\n<tr class=\"row_odd\"><td><div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\n:r! commande<br />\r</code></div><br />\n</td><td>Insère le résultat de « <i class=\"spip\"> commande » </i>. </td></tr>\n<tr class=\"row_even\"><td><div style=\'text-align: left;\' class=\'spip_code\' dir=\'ltr\'><code><br />\r\n:n1,n2! commande<br />\r</code></div><br />\n</td><td>Envoie les lignes <i class=\"spip\"> n1 </i> à <i class=\"spip\"> n2 </i> à « <i class=\"spip\"> commande » </i> et les remplace par la sortie de « <i class=\"spip\"> commande » </i>.</td></tr>\n<tr class=\"row_odd\"><td><strong class=\"spip\"> !!</strong></td><td>Répète la dernière commande système. </td></tr>\n</tbody>\n</table>\n<h2>Historique des modifications</h2>\n<table class=\"spip\">\n<thead><tr class=\'row_first\'><th scope=\'col\'><strong class=\"spip\">Version</strong></th><th scope=\'col\'><strong class=\"spip\">Date</strong></th><th scope=\'col\'><strong class=\"spip\">Commentaire</strong></th></tr></thead>\n<tbody>\n<tr class=\"row_even\"><td>0.1</td><td>2002</td><td><strong class=\"spip\">Thierry COLAS</strong>, auteur original du document « Lignes de commandes - le pense bête de COAGUL »</td></tr>\n<tr class=\"row_odd\"><td>0.2</td><td>2004</td><td><strong class=\"spip\">Marc P</strong><strong class=\"spip\">OIROUD</strong> pour la conversion en LATEX , PDF et HTML. <strong class=\"spip\">Gnunux</strong>, pour sa relecture</td></tr>\n<tr class=\"row_even\"><td>0.3</td><td>11/03/05</td><td><strong class=\"spip\">Tony</strong> pour la conversion au format OOo / Spip et le découpage en 7 articles.</td></tr>\n</tbody>\n</table>','<strong class=\"spip\">Vi</strong> est un puissant éditeur de textes. On le rencontre souvent sous linux dans une version améliorée appelée <strong class=\"spip\">vim</strong>. L’utilisation de <strong class=\"spip\">vi</strong> est complexe pour le débutant, mais les efforts d’apprentissage sont récompensés par la puissance et la rapidité des tâches que l’on peut exécuter avec un peu de pratique.','',1288361818,2),