website diff doc/cookbook/base-apps.html @ rev 4

French doc with Handbook and Cookbook
author Christophe Lincoln <pankso@slitaz.org>
date Sat Mar 29 12:01:05 2008 +0100 (2008-03-29)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/doc/cookbook/base-apps.html	Sat Mar 29 12:01:05 2008 +0100
     1.3 @@ -0,0 +1,646 @@
     1.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     1.5 +    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     1.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
     1.7 +<head>
     1.8 +    <title>SliTaz Cookbook - Base apps</title>
     1.9 +    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
    1.10 +    <meta name="description" content="applications de base du système livecd slitaz" />
    1.11 +    <meta name="expires" content="never" />
    1.12 +    <meta name="modified" content="2007-12-24 12:30:00" />
    1.13 +    <meta name="publisher" content="www.slitaz.org" />
    1.14 +    <meta name="author" content="Christophe Lincoln"/>
    1.15 +    <link rel="shortcut icon" href="favicon.ico" />
    1.16 +    <link rel="stylesheet" type="text/css" href="book.css" />
    1.17 +</head>
    1.18 +<body bgcolor="#ffffff">
    1.19 +
    1.20 +<!-- Header and quick navigation -->
    1.21 +<div id="header">
    1.22 +<div align="right" id="quicknav">
    1.23 +	<a name="top"></a>
    1.24 +	<a href="base-system.html">Base system</a> |
    1.25 +	<a href="index.html">Table des matières</a> |
    1.26 +	<a href="base-ncurses.html">Base ncurses</a>
    1.27 +</div>
    1.28 +<h1><font color="#3E1220">SliTaz Cookbook</font></h1>
    1.29 +</div>
    1.30 +
    1.31 +<!-- Content. -->
    1.32 +<div id="content">
    1.33 +<div class="content-right"></div>
    1.34 +
    1.35 +
    1.36 +<h2><font color="#DF8F06">Applications de base</font></h2>
    1.37 +<p>
    1.38 +Install et configuration des bibliothèques et des applications de base.
    1.39 +</p>
    1.40 +<ul>
    1.41 +    <li><a href="#about">A propos de ce chapitre</a> - Description et variable
    1.42 +    d'environnement ($fs)</li>
    1.43 +    <li><a href="#bc">bc-1.06</a> - Calculatrice en mode texte.</li>
    1.44 +    <li><a href="#zlib">zlib-1.2.3</a> - Bibliothèques de compression.</li>
    1.45 +    <li><a href="#pcre">pcre-7.4</a> - Expressions régulières compatible
    1.46 +    Perl.</li>
    1.47 +    <li><a href="#e2fsprogs">e2fsprogs-1.39</a> - Utilitaires de gestion des
    1.48 +    systèmes de fichiers.</li>
    1.49 +    <li><a href="#dropbear">dropbear-0.50</a> - Client et serveur SSH
    1.50 +    légé.</li>
    1.51 +    <li><a href="#lighttpd">lighttpd-1.4.18</a> - Serveur web HTTP, léger et
    1.52 +    sécurisé.</li>
    1.53 +    <li><a href="#iptables">iptables-1.3.7</a> - Netfilter, pare-feu
    1.54 +    Linux.</li>
    1.55 +    <li><a href="#sqlite">sqlite-3.5.1</a> - Petit moteur de base de données
    1.56 +    SQL.</li>
    1.57 +    <li><a href="#cdrkit">cdrkit-1.1.5</a> - Outils de manipulation de cdrom
    1.58 +    et images ISO.</li>
    1.59 +    <li><a href="#cpio">cpio-2.8</a> - Archiveur utilisé en autre pour les
    1.60 +    paquets SliTaz et l'initramfs.</li>
    1.61 +    <li><a href="#microperl">microperl-5.8.8</a> - Un tout petit Perl.</li>
    1.62 +    <li><a href="#module-init-tools">module-init-tools-3.2</a> - Outils de
    1.63 +    manipulation des modules du noyau.</li>
    1.64 +    <li><a href="#kernel-modules">Copie et compression des modules du
    1.65 +    Kernel.</a></li>
    1.66 +    <li><a href="#initramfs-iso">Génération de l'initramfs, et d'une
    1.67 +    image ISO.</a></li>
    1.68 +</ul>
    1.69 +<a name="about"></a>
    1.70 +<h3><font color="#6c0023">A propos</font></h3>
    1.71 +<p>
    1.72 +Ce chapitre décrit l'installations des bibliothèque et des applications de
    1.73 +base en mode texte, fournies avec SliTaz.
    1.74 +</p>
    1.75 +<h4>Affecter une variable d'environnement ($fs)</h4>
    1.76 +<p>
    1.77 +Une variable d'environnement permet de ne pas spécifier tout le chemin vers le
    1.78 +répertoire, mais simplement $NomDeVariable. Nous allons afecter un variable '$fs'
    1.79 +pour indiquer le chemin vers le système de fichier racine 'rootfs'. Pour cela vous
    1.80 +pouvez vous placer dans le répertoire de travail de SliTaz, et tapez:
    1.81 +</p>
    1.82 +<pre>
    1.83 + # export fs=$PWD/rootfs
    1.84 +</pre>
    1.85 +<p>
    1.86 +Pour vérifier:
    1.87 +</p>
    1.88 +<pre>
    1.89 + # echo $fs
    1.90 +</pre>
    1.91 +<a name="bc"></a>
    1.92 +<h3><font color="#6c0023">bc-1.06 - Calculatrice en mode texte</font></h3>
    1.93 +<p>
    1.94 +L'application bc
    1.95 +(<a href="http://www.gnu.org/software/bc/">www.gnu.org/software/bc/</a>)
    1.96 +fourni une petite calculette, lors de la compilation l'utilitaire dc est
    1.97 +aussi construit mais SliTaz ne l'installe pas. A noter que dc est aussi
    1.98 +diponible avec Busybox. Pour la copie de dc, il faut supprimer le liens
    1.99 +de dc vers BusyBox si il existe. Nous utilison un répertoire _pkg (package)
   1.100 +pour l'installation. Un petit nettoyage des exécutables avec strip
   1.101 +et copie des utilitaires:
   1.102 +</p>
   1.103 +<pre>
   1.104 + # cd src
   1.105 + # wget http://ftp.gnu.org/pub/gnu/bc/bc-1.06.tar.gz
   1.106 + # tar xzfv bc-1.06.tar.gz
   1.107 + # cd bc-1.06
   1.108 + # ./configure --prefix=/usr --infodir=/usr/share/info \
   1.109 +   --mandir=/usr/share/man
   1.110 + # make
   1.111 + # make DESTDIR=$PWD/_pkg install
   1.112 + # strip -vs _pkg/usr/bin/*
   1.113 + # cp -avi _pkg/usr/bin/bc $fs/usr/bin
   1.114 +</pre>
   1.115 +<h4>libs</h4>
   1.116 +<p>
   1.117 +Un petit ldd sur bc devrait donner:
   1.118 +</p>
   1.119 +<pre class="script">
   1.120 +        libc.so.6 => /lib/libc.so.6 (0x40029000)
   1.121 +        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
   1.122 +</pre>
   1.123 +<a name="zlib"></a>
   1.124 +<h3><font color="#6c0023">zlib-1.2.3 - Bibliothèques de compression</font></h3>
   1.125 +<p>
   1.126 +Le paquet zlib (<a href="http://www.zlib.net/">http://www.zlib.net/</a>)
   1.127 +fourni des fonctions de compression et de décompression, utilisées entre autre,
   1.128 +par le serveur SSH dropbear et le serveur X:
   1.129 +</p>
   1.130 +<pre>
   1.131 + # cd ..
   1.132 + # wget http://www.gzip.org/zlib/zlib-1.2.3.tar.bz2
   1.133 + # tar xjfv zlib-1.2.3.tar.bz2
   1.134 + # cd zlib-1.2.3
   1.135 + # ./configure --shared --prefix=/usr
   1.136 + # make
   1.137 + # strip -vs libz.so*
   1.138 + # cp -av libz.so* $fs/usr/lib
   1.139 +</pre>
   1.140 +<a name="pcre"></a>
   1.141 +<h3><font color="#6c0023">pcre-7.4 - Expressions régulières compatible perl</font></h3>
   1.142 +<p>
   1.143 +Le paquet pcre (<a href="http://www.pcre.org/">http://www.pcre.org/</a>)
   1.144 +fourni les bibliothèques des fonctions d'expressions régulières compatible
   1.145 +Perl PCRE, utilisées entre autre par le serveur web LightTPD:
   1.146 +</p>
   1.147 +<pre>
   1.148 + # cd ..
   1.149 + # wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.4.tar.gz
   1.150 + # tar xzfv pcre-7.4.tar.gz
   1.151 + # cd pcre-7.4
   1.152 + # ./configure --prefix=/usr
   1.153 + # make
   1.154 + # make DESTDIR=$PWD/_pkg install
   1.155 + # strip -vs _pkg/usr/bin/*
   1.156 + # strip -vs _pkg/usr/lib/*
   1.157 + # cp -av _pkg/usr/bin/* $fs/usr/bin
   1.158 + # cp -av _pkg/usr/lib/*.so* $fs/usr/lib
   1.159 +</pre>
   1.160 +<a name="e2fsprogs"></a>
   1.161 +<h3><font color="#6c0023">e2fsprogs-1.39 - Utilitaires de gestion des systèmes de fichiers</font></h3>
   1.162 +<p>
   1.163 +Le paquet e2fsprogs (<a href="http://e2fsprogs.sourceforge.net/"
   1.164 +>http://e2fsprogs.sourceforge.net/</a>) fournit les utilitaires pour la
   1.165 +manipulation des systèmes de fichiers ext3 et ext2. Nous n'allons pas tout
   1.166 +prendre, car cela nous fait gangner de la place. A noter que nous utilisons
   1.167 +fsck de Busybox:
   1.168 +</p>
   1.169 +<pre>
   1.170 + # cd ..
   1.171 + # wget http://puzzle.dl.sourceforge.net/sourceforge/e2fsprogs/e2fsprogs-1.39.tar.gz
   1.172 + # tar xzf e2fsprogs-1.39.tar.gz
   1.173 + # cd e2fsprogs-1.39
   1.174 + # ./configure --prefix=/usr --with-root-prefix="" \
   1.175 +   --enable-elf-shlibs --disable-evms --sysconfdir=/etc \
   1.176 +   --infodir=/usr/share/info --mandir=/usr/share/man
   1.177 + # make
   1.178 + # make DESTDIR=$PWD/_pkg install
   1.179 + # strip -vs _pkg/sbin/*
   1.180 + # strip -vs _pkg/lib/*
   1.181 + # strip -vs _pkg/usr/bin/*
   1.182 + # strip -vs _pkg/usr/sbin/*
   1.183 + # strip -vs _pkg/usr/lib/*
   1.184 +</pre>
   1.185 +<p>
   1.186 +Install des utilitaires, des fichiers de configuration, et des bibliothèques
   1.187 +dans le rootfs de SliTaz. Attention si vous avez décidé d'utiliser fsck,
   1.188 +il ne faut pas écraser un lien Busybox:
   1.189 +</p>
   1.190 +<pre>
   1.191 + # cp -i _pkg/sbin/{badblocks,blkid,dumpe2fs,e2fsck,e2image} $fs/sbin
   1.192 + # cp -i _pkg/sbin/{e2label,findfs,logsave,mke2fs,mkfs.*} $fs/sbin
   1.193 + # cp -i _pkg/sbin/{resize2fs,tune2fs} $fs/sbin
   1.194 + # cp -a _pkg/lib/* $fs/lib
   1.195 + # rm -rf $fs/lib/libss*
   1.196 + # cp -a _pkg/etc/* $fs/etc
   1.197 + # cp -a _pkg/usr/bin/* $fs/usr/bin
   1.198 + # cp -a _pkg/usr/sbin/* $fs/usr/sbin
   1.199 + # cp -ad _pkg/usr/lib/*.so $fs/usr/lib
   1.200 + # rm -rf $fs/usr/lib/libss*
   1.201 +</pre>
   1.202 +<p>
   1.203 +Vous pouvez aussi copier le fichier de la locale pour le français:
   1.204 +</p>
   1.205 +<pre>
   1.206 + # mkdir $fs/usr/share/locale
   1.207 + # cp -a _pkg/usr/share/locale/fr $fs/usr/share/locale
   1.208 +</pre>
   1.209 +<a name="dropbear"></a>
   1.210 +<h3><font color="#6c0023">dropbear-0.50 - Client et serveur SSH légé</font></h3>
   1.211 +<p>
   1.212 +Dropbear (<a href="http://matt.ucc.asn.au/dropbear/dropbear.html"
   1.213 + >http://matt.ucc.asn.au/dropbear/dropbear.html</a>) est un petit client et
   1.214 +serveur sécurisé, supportant le protocole SSH 2. Dropbear est compatible avec
   1.215 +openSSH, et utilise ~/.ssh/authorized_keys pour la gestion des clés public. Dropbear
   1.216 +fournit aussi une version de scp, qu'il faut compiler avec 'manke scp':
   1.217 +</p>
   1.218 +<pre>
   1.219 + # cd ..
   1.220 + # wget http://matt.ucc.asn.au/dropbear/releases/dropbear-0.50.tar.gz
   1.221 + # tar xzf dropbear-0.50.tar.gz
   1.222 + # cd dropbear-0.50
   1.223 + # ./configure --prefix=/usr
   1.224 + # make
   1.225 + # make scp
   1.226 + # make DESTDIR=$PWD/_pkg install
   1.227 + # strip -v scp
   1.228 + # strip -v _pkg/usr/bin/*
   1.229 + # strip -v _pkg/usr/sbin/*
   1.230 +</pre>
   1.231 +<p>
   1.232 +Install du client, et des outils associés dans /usr/bin, et install
   1.233 +du server dans /usr/sbin:
   1.234 +</p>
   1.235 +<pre>
   1.236 + # cp scp $fs/usr/bin
   1.237 + # cp -a _pkg/usr/bin/* $fs/usr/bin
   1.238 + # cp -a _pkg/usr/sbin/* $fs/usr/sbin
   1.239 +</pre>
   1.240 +<h4>libs</h4>
   1.241 +<pre class="script">
   1.242 +        libutil.so.1 => /lib/libutil.so.1 (0x40025000)
   1.243 +        libz.so.1 => /usr/lib/libz.so.1 (0x40028000)
   1.244 +        libcrypt.so.1 => /lib/libcrypt.so.1 (0x4003b000)
   1.245 +        libc.so.6 => /lib/libc.so.6 (0x40068000)
   1.246 +        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
   1.247 +</pre>
   1.248 +<p>
   1.249 +Copie de la bibliothèque libutil.so.1 dans $fs/lib, si ce n'est pas déjà le cas.
   1.250 +Les autres bibliothèques devraient être présentes, suite à la construction du
   1.251 +système de base:
   1.252 +</p>
   1.253 +<pre>
   1.254 + # cp -a /lib/libutil* $fs/lib
   1.255 +</pre>
   1.256 +<h4>Configurer Dropbear</h4>
   1.257 +<p>
   1.258 +Les fichiers de configuration utilisateur sont  dans ~/.ssh, contenant
   1.259 +authorized_keys et known_hosts. Les répertoire ~/.ssh et le fichier
   1.260 +known_hosts, sont créés automatiquement la première fois que l'utilisateur
   1.261 +lance dbclient. Les fichiers de configuration système du server Dropbear sont
   1.262 +par défaut dans /etc/dropbear:
   1.263 + </p>
   1.264 +<pre>
   1.265 + # mkdir $fs/etc/dropbear
   1.266 +</pre>
   1.267 +<p>
   1.268 +Pour que le serveur fonctionnent, il faut générer les clés sécurisées
   1.269 +avant de démarrer le serveur sur SliTaz. Vous pouvez utiliser dropbearkey
   1.270 +avec les commandes ci-dessous:
   1.271 +</p>
   1.272 +<pre>
   1.273 + # dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
   1.274 + # dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
   1.275 +</pre>
   1.276 +<p>
   1.277 +Sur SliTaz vous pouvez démarrer le serveur SSH avec la commande :
   1.278 +</p>
   1.279 +<pre>
   1.280 + # /etc/init.d/dropbear start
   1.281 +</pre>
   1.282 +<a name="lighttpd"></a>
   1.283 +<h3><font color="#6c0023">lighttpd-1.4.18 - Serveur web HTTP</font></h3>
   1.284 +<p>
   1.285 +LightTPD (<a href="http://www.lighttpd.net/">www.lighttpd.net</a>) est un
   1.286 +serveur web puissant, léger, et sécurisé. Le projet est très actif, et la
   1.287 +configuration du serveur et simple. Il supporte les hôtes virtuels, les scripts
   1.288 +CGI, et il permet une gestion intelligente de la charge CPU.
   1.289 +</p>
   1.290 +<pre>
   1.291 + # cd ..
   1.292 + # wget http://www.lighttpd.net/download/lighttpd-1.4.18.tar.gz
   1.293 + # tar xzf lighttpd-1.4.18.tar.gz
   1.294 + # cd lighttpd-1.4.18
   1.295 + # ./configure -enable-shared --disable-ipv6 --prefix=/usr \
   1.296 +   --libdir=/usr/lib/lighttpd --mandir=/usr/share/man
   1.297 + # make
   1.298 + # make DESTDIR=$PWD/_pkg install
   1.299 + # strip -vs _pkg/usr/bin/*
   1.300 + # strip -vs _pkg/usr/sbin/*
   1.301 + # strip -vs _pkg/usr/lib/lighttpd/*
   1.302 +</pre>
   1.303 +<p>
   1.304 +Installation du serveur, et des bibliothèques générées. Nous allons ensuite
   1.305 +supprimer copier seulement quelques modules (9) :
   1.306 +</p>
   1.307 +<pre>
   1.308 + # cp _pkg/usr/bin/* $fs/usr/bin
   1.309 + # cp _pkg/usr/sbin/* $fs/usr/sbin
   1.310 + # mkdir $fs/usr/lib/lighttpd
   1.311 + Modules :
   1.312 + # cp _pkg/usr/lib/lighttpd/mod_access.so $fs/usr/lib/lighttpd
   1.313 + # cp _pkg/usr/lib/lighttpd/mod_accesslog.so $fs/usr/lib/lighttpd
   1.314 + # cp _pkg/usr/lib/lighttpd/mod_alias.so $fs/usr/lib/lighttpd
   1.315 + # cp _pkg/usr/lib/lighttpd/mod_auth.so $fs/usr/lib/lighttpd
   1.316 + # cp _pkg/usr/lib/lighttpd/mod_cgi.so $fs/usr/lib/lighttpd
   1.317 + # cp _pkg/usr/lib/lighttpd/mod_compress.so $fs/usr/lib/lighttpd
   1.318 + # cp _pkg/usr/lib/lighttpd/mod_rewrite.so $fs/usr/lib/lighttpd
   1.319 + # cp _pkg/usr/lib/lighttpd/mod_status.so $fs/usr/lib/lighttpd
   1.320 + # cp _pkg/usr/lib/lighttpd/mod_userdir.so $fs/usr/lib/lighttpd
   1.321 +</pre>
   1.322 +<h4>libs</h4>
   1.323 +<p>
   1.324 +Il ne devrait vous manquer que libdl.so.2, que nous allons copier:
   1.325 +</p>
   1.326 +<pre>
   1.327 + # cp -a /lib/libdl* $fs/lib
   1.328 +</pre>
   1.329 +<h4>/var/www - Racine des documents du serveur</h4>
   1.330 +<p>
   1.331 +Le répertoire /var/www est le répertoire racine des documents servis par
   1.332 +défaut. Vous y avez accès via l'url http://localhost/. Ce répertoire peut
   1.333 +contenir une page <code>index.html</code> s'affichant automatiquement lors
   1.334 +d'une requête. Nous allons créer le répertoire /var/www, à vous de vois ce
   1.335 +que vous vouleu y mettre :
   1.336 +</p>
   1.337 +<pre>
   1.338 + # mkdir -p $fs/var/www
   1.339 +</pre>
   1.340 +<h4>lighttpd.conf - Fichier de configuration de LightTPD</h4>
   1.341 +<p>
   1.342 +Le fichier de configuration principale de LightTPD se trouve dans /etc/lighttpd,
   1.343 +et se nomme lighttpd.conf. Le fichier de configuration fournit par SliTaz est auto
   1.344 +documenté, il suffit de le parcourir. Vous trouverez d'autres exemples sur le site
   1.345 +web de LightTPD. Vous trouverez aussi un exemple de configuration dans /doc
   1.346 +de l'archive de LightTPD:
   1.347 +</p>
   1.348 +<pre>
   1.349 + # cp -a ../slitaz-tools-1.1/etc/lighttpd $fs/etc
   1.350 +</pre>
   1.351 +<p>
   1.352 +Création du répertoire contenant les fichiers de log:
   1.353 +</p>
   1.354 +<pre>
   1.355 + # mkdir $fs/var/log/lighttpd
   1.356 +</pre>
   1.357 +<h4>Utilisateur et groupe www</h4>
   1.358 +<p>
   1.359 +Nous allons ajouter un utilisateur et un groupe pour le serveur web, cela ajoute
   1.360 +de la sécurité, et il n'y a aucune raison pour qu'il tourne sous root. L'utilisateur
   1.361 +par défaut sur SliTaz est 'www', mais vous pouvez changer cela dans le fichier de
   1.362 +configuration lighttpd.conf. L'application adduser de Busybox ayant des limitations
   1.363 +nous ajoutons l'utilisateur 'www' manuellement. Nous changeons aussi les permissions
   1.364 +sur le répertoire des logs du serveur web:
   1.365 +</p>
   1.366 +<pre>
   1.367 + # echo "www:x:80:80:www:/var/www:/bin/sh" >> $fs/etc/passwd
   1.368 + # echo "www:*:13509:0:99999:7:::" >> $fs/etc/shadow
   1.369 + # echo "www:*:13509:0:99999:7:::" >> $fs/etc/shadow-
   1.370 + # chroot $fs /bin/ash
   1.371 + /# addgroup -g 80 www
   1.372 + /# chown www.www /var/log/lighttpd
   1.373 + # exit
   1.374 +</pre>
   1.375 +<p>
   1.376 +Pour démarrer le serveur web vous pouvez utiliser le script /etc/init.d/lighttpd
   1.377 +fourni dans SliTaz tools, en tapant la commande <code>/etc/init.d/lighttpd start</code>.
   1.378 +Vous pouvez aussi automatiser son lancement au boot avec un lien de /etc/init.d/lighttpd
   1.379 +pointant vers /etc/rc.d/60lighttpd.
   1.380 +</p>
   1.381 +<a name="iptables"></a>
   1.382 +<h3><font color="#6c0023">iptables-1.3.7 - Netfilter, pare-feu Linux</font></h3>
   1.383 +<p>
   1.384 +Netfilter (<a href="http://www.netfilter.org/">www.netfilter.org</a>) est le module qui
   1.385 +fournit au noyau Linux les fonctions de pare-feu, de partage de connexions internet (NAT) et
   1.386 +d'historisation du trafic réseau. La commande iptables permet de configurer Netfilter,
   1.387 +iptables-restore et iptables-save permettent de sauvegarder/restaurer la configuration
   1.388 +Netfilter:
   1.389 +</p>
   1.390 +<pre>
   1.391 + # cd ..
   1.392 + # wget http://www.netfilter.org/projects/iptables/files/iptables-1.3.7.tar.bz2
   1.393 + # tar xjf iptables-1.3.7.tar.bz2
   1.394 + # cd iptables-1.3.7
   1.395 + # make KERNEL_DIR=../linux-2.6.20 BINDIR=/sbin \
   1.396 +   LIBDIR=/lib MANDIR=/usr/share/man
   1.397 + # make KERNEL_DIR=../linux-2.6.20 BINDIR=/sbin \
   1.398 +   LIBDIR=/lib MANDIR=/usr/share/man \
   1.399 +   DESTDIR=$PWD/_pkg install
   1.400 + # strip  _pkg/sbin/*
   1.401 + # strip  _pkg/lib/iptables/*
   1.402 +</pre>
   1.403 +<p>
   1.404 +Installation des applications iptables*, et des bibliothèques suffisantes pour un firewall
   1.405 +basique:
   1.406 +</p>
   1.407 +<pre>
   1.408 + # cp -a _pkg/sbin/iptables* $fs/sbin
   1.409 + # mkdir $fs/lib/iptables
   1.410 + # cp -a _pkg/lib/iptables/{libipt_standard.so,libipt_conntrack.so} \
   1.411 +   $fs/lib/iptables
   1.412 + # cp -a _pkg/lib/iptables/{libipt_tcp.so,libipt_udp.so} $fs/lib/iptables
   1.413 +</pre>
   1.414 +<p>
   1.415 +Pour satifaire les dépendances d'iptables, il faut copier la bibliothèque libnsl*:
   1.416 +</p>
   1.417 +<pre>
   1.418 + # cp -va /lib/libnsl* $fs/lib/tls
   1.419 + # strip $fs/lib/libnsl*
   1.420 +</pre>
   1.421 +<a name="sqlite"></a>
   1.422 +<h3><font color="#6c0023">sqlite-3.5.1 - Petit moteur de base de données SQL</font></h3>
   1.423 +<p>
   1.424 +Ce paquet fourni <code>sqlite3</code> et les bibliothèques <code>sqlite3.so*</code>
   1.425 +(<a href="http://www.sqlite.org/">www.sqlite.org</a>). SQLite est
   1.426 +intégré directement aux programmes en utilisant des fichiers de bases
   1.427 +de données, il est performant et rapide:
   1.428 +</p>
   1.429 +<pre>
   1.430 + # cd ..
   1.431 + # wget http://www.sqlite.org/sqlite-3.5.1.tar.gz
   1.432 + # tar xzf sqlite-3.5.1.tar.gz
   1.433 + # cd sqlite-3.5.1
   1.434 + # ./configure --prefix=/usr --disable-tcl
   1.435 + # make
   1.436 + # make DESTDIR=$PWD/_pkg install
   1.437 + # strip _pkg/usr/lib/*.so*
   1.438 + # strip _pkg/usr/bin/*
   1.439 +</pre>
   1.440 +<p>
   1.441 +Installation des bibliothèques et de l'utilitaire <code>sqlite3</code>
   1.442 +dans le rootfs de SliTaz:
   1.443 +</p>
   1.444 +<pre>
   1.445 + # cp -a _pkg/usr/lib/*.so* $fs/usr/lib
   1.446 + # cp -a _pkg/usr/bin/* $fs/usr/bin
   1.447 +</pre>
   1.448 +<a name="cdrkit"></a>
   1.449 +<h3><font color="#6c0023">cdrkit-1.1.5 - Outils de manipulation de cdrom et images ISO</font></h3>
   1.450 +<p>
   1.451 +cdrkit (<a href="http://www.cdrkit.org/">www.cdrkit.org</a>)
   1.452 +fournit des outils de manipulation de cdrom. SliTaz installe par défaut
   1.453 +wodim pour la gravure et genisoimage pour la création d'image ISO (c'est
   1.454 +le paquet cdrkit-base-1.1.5). La compilation est un peu particulière
   1.455 +(cmake), mais ne devrait pas poser trop de problèmes:
   1.456 +</p>
   1.457 +<pre>
   1.458 + # cd ..
   1.459 + # wget http://cdrkit.org/releases/cdrkit-1.1.5.tar.gz
   1.460 + # tar xzf cdrkit-1.1.5.tar.gz
   1.461 + # cd cdrkit-1.1.5
   1.462 + # make
   1.463 + # make install PREFIX=$PWD/_pkg/usr
   1.464 + # strip -v _pkg/usr/bin/*
   1.465 + # strip -v _pkg/usr/sbin/*
   1.466 + # cp _pkg/usr/bin/genisoimage $fs/usr/bin
   1.467 + # cp _pkg/usr/bin/wodim $fs/usr/bin
   1.468 +</pre>
   1.469 +<p>
   1.470 +Copie de la bibliothèque libcap.so.1 requise par wodim:
   1.471 +</p>
   1.472 +<pre>
   1.473 + # cp -a /lib/libcap.so* $fs/lib
   1.474 +</pre>
   1.475 +<a name="cpio"></a>
   1.476 +<h3><font color="#6c0023">cpio-2.8 - Archiveur</font></h3>
   1.477 +<p>
   1.478 +cpio (<a href="http://www.gnu.org/software/cpio/">http://www.gnu.org/software/cpio/</a>)
   1.479 +fournit des outils de manipulation de s archives au format cpio. Ce
   1.480 +format d'archive est utilisé pour les paquets SliTaz et l'image initramfs
   1.481 +du cdrom. A noter que Busybox fournit aussi une version de cpio qui
   1.482 +permet seulemnt de désarchiver:
   1.483 +</p>
   1.484 +<pre>
   1.485 + # cd ..
   1.486 + # wget ftp://sunsite.cnlab-switch.ch/mirror/gnu/cpio/cpio-2.8.tar.gz
   1.487 + # tar xzf cpio-2.8.tar.gz
   1.488 + # cd cpio-2.8
   1.489 + # ./configure --prefix=/usr --bindir=/bin \
   1.490 +   --libexecdir=/usr/bin --mandir=/usr/share/man \
   1.491 +   --infodir=/usr/share/info
   1.492 + # make
   1.493 + # make DESTDIR=$PWD/_pkg install
   1.494 + # strip -v _pkg/bin/*
   1.495 + # strip -v _pkg/usr/bin/*
   1.496 +</pre>
   1.497 +<p>
   1.498 +Installation de <code>cpio</code> dans /bin et de <code>rmt</code>
   1.499 +dans /usr/bin. Vous pouvez aussi installer les fichiers de
   1.500 +localisation pour le français:
   1.501 +</p>
   1.502 +<pre>
   1.503 + # cp -a _pkg/bin/* $fs/bin
   1.504 + # cp -a _pkg/usr/bin/* $fs/usr/bin
   1.505 + # cp -a _pkg/usr/share/locale/fr $fs/usr/share/locale
   1.506 +</pre>
   1.507 +<a name="microperl"></a>
   1.508 +<h3><font color="#6c0023">microperl-5.8.8 - Un tout petit Perl</font></h3>
   1.509 +<p>
   1.510 +Microperl est une micro implémentation de Perl permettant d'utiliser la plus
   1.511 +part des fonctions de base fournies par le puissant langage qu'est Perl. Vous
   1.512 +trouverez plus d'infos dans l'archine source et le fichier
   1.513 +<code>README.micro</code>. Nous applicaons un petit <code>sed</code> sur le
   1.514 +fichier de configuration, pour que microperl cherche les modules dans
   1.515 +<code>/usr/lib/perl5</code>. Nous créons aussi un lien pour que les scripts
   1.516 +<code>#/usr/bin/perl</code> fonctionnent :
   1.517 +</p>
   1.518 +<pre>
   1.519 + # wget http://ftp.funet.fi/pub/CPAN/src/perl-5.8.8.tar.gz
   1.520 + # tar xzf perl-5.8.8.tar.gz
   1.521 + # cd perl-5.8.8
   1.522 + # sed -i s/'usr\/local'/'usr'/ uconfig.sh
   1.523 + # sed -i s/'perl5\/5.9'/'perl5'/ uconfig.sh
   1.524 + # sed -i s/'unknown'/'i486-pc-linux-gnu'/ uconfig.sh
   1.525 + # make -f Makefile.micro regen_uconfig
   1.526 + # make -f Makefile.micro
   1.527 + # strip microperl
   1.528 + # cp microperl $fs/usr/bin
   1.529 + # chroot $fs /bin/ash
   1.530 + /# cd /usr/bin
   1.531 + /# ln -s microperl perl
   1.532 + /# exit
   1.533 +</pre>
   1.534 +<a name="module-init-tools"></a>
   1.535 +<h3><font color="#6c0023">module-init-tools-3.2 - Outils de manipulation des modules du noyau</font></h3>
   1.536 +<p>
   1.537 +Les <a href="http://ftp.kernel.org/pub/linux/utils/kernel/module-init-tools/"
   1.538 + >module-init-tools</a> de kernel.org, modprobe, insmod, rmmod, lsmod, que
   1.539 +BusyBox fournit aussi. Nous avons fait le choix de les utiliser car nous pouvons
   1.540 +compiler modutils/modprobe pour qu'il support les modules compressés (.gz),
   1.541 +afin de gagner de la place. Pour cela il faut utiliser l'option --enable-zlib. Ensuite
   1.542 +c'est le nettoyage, et la copie des binaires. Nous ne prenons pas tout ce qui a
   1.543 +créé, seulement ce dont nous avons besoin, depmod, insmod, modinfo, modprobe,
   1.544 +rmmod dans /sbin, et lsmod dans /bin.
   1.545 +</p>
   1.546 +<pre>
   1.547 + # cd ..
   1.548 + # wget http://ftp.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.2.tar.bz2
   1.549 + # tar xjf module-init-tools-3.2.tar.bz2
   1.550 + # cd module-init-tools-3.2
   1.551 + # ./configure --enable-zlib --prefix=/usr --sbindir=/sbin --bindir=/bin \
   1.552 +   --sysconfdir=/etc --infodir=/usr/share/info --mandir=/usr/share/man
   1.553 + # make
   1.554 + # make DESTDIR=$PWD/_pkg install
   1.555 + # strip -v _pkg/sbin/{depmod,insmod,modinfo,modprobe,rmmod}
   1.556 + # strip -v _pkg/bin/lsmod
   1.557 + # cp -i _pkg/sbin/{depmod,insmod,modinfo,modprobe,rmmod} $fs/sbin
   1.558 + # cp -i _pkg/bin/lsmod $fs/bin
   1.559 + # cd ..
   1.560 +</pre>
   1.561 +<a name="kernel-modules"></a>
   1.562 +<h3><font color="#6c0023">Copie des modules du kernel</font></h3>
   1.563 +<p>
   1.564 +Copie des fichier depuis linux-2.6.20/_pkg.
   1.565 +</p>
   1.566 +<pre>
   1.567 + # cp -a linux-2.6.20/_pkg/lib/* $fs/lib
   1.568 +</pre>
   1.569 +<h4>Compression des modules du kernel</h4>
   1.570 +<p>
   1.571 +Compression des modules, cette opération permet de ganger 50% de
   1.572 +place environ, nous commençons par nous déplacer dans le rootfs
   1.573 +, puis nous chercons tous les fichiers portant l'extension <code>.ko</code>
   1.574 +pour les compresser. Vous pouvez aussi faire cela avec le script 'gzmodtaz.sh'
   1.575 +contenu dans SliTaz tools:
   1.576 +</p>
   1.577 +<pre>
   1.578 + # cd $fs
   1.579 +</pre>
   1.580 +<p>
   1.581 +Avec 'gztazmod.sh':
   1.582 +</p>
   1.583 +<pre>
   1.584 + # cp -v ../src/slitaz-tools-1.1/utils/gztazmod.sh sbin
   1.585 + # ./sbin/gztazmod.sh lib/modules/2.6.20-slitaz
   1.586 +</pre>
   1.587 +<p>
   1.588 +Ou à la main:
   1.589 +</p>
   1.590 +<pre>
   1.591 + # cd lib/modules/2.6.20-slitaz
   1.592 + # find . -name "*.ko" -exec gzip '{}' \;
   1.593 + # sed 's/\.ko/.ko.gz/g' modules.dep > tmp.dep
   1.594 + # rm modules.dep
   1.595 + # mv tmp.dep modules.dep
   1.596 +</pre>
   1.597 +<a name="initramfs-iso"></a>
   1.598 +<h3><font color="#6c0023">Génération de l'initramfs, et d'une image ISO</font></h3>
   1.599 +<p>
   1.600 +Pour créer une nouvelle image ISO vous pouvez utiliser 'mktaziso'
   1.601 +contenu dans
   1.602 +<a href="http://www.slitaz.org/get/tools.html">SliTaz tools</a>.
   1.603 +Ou vous pouvez créer un nouvelle image initramfs, et la copier dans
   1.604 +/boot de la racine de cd-rom (rootcd), et pour finir créer un image
   1.605 +ISO avec genisoimage:
   1.606 +</p>
   1.607 +<pre>
   1.608 + # cd $fs
   1.609 + # find . -print | cpio -o -H newc | gzip -9 &gt; ../rootfs.gz
   1.610 + # cd ..
   1.611 + # cp rootfs.gz rootcd/boot
   1.612 + # genisoimage -R -o slitaz-test.iso -b boot/isolinux/isolinux.bin \
   1.613 +   -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
   1.614 +   -V "SliTaz" -input-charset iso8859-1 -boot-info-table rootcd
   1.615 +</pre>
   1.616 +<p>
   1.617 +Test iso image:
   1.618 +</p>
   1.619 +<pre>
   1.620 + # qemu -cdrom slitaz-test.iso
   1.621 +</pre>
   1.622 +<h4>Suite</h4>
   1.623 +<p>
   1.624 +Le prochain chapitre se nomme <a href="base-ncurses.html">Base ncurses.</a> Il
   1.625 +décrit l'installation et la configuration des bibliothèques et d'applications
   1.626 +ncurses.
   1.627 +</p>
   1.628 +
   1.629 +
   1.630 +<!-- End of content -->
   1.631 +</div>
   1.632 +
   1.633 +<!-- Footer. -->
   1.634 +<div id="footer">
   1.635 +	<div class="footer-right"></div>
   1.636 +	<a href="#top">Haut de la page</a> | 
   1.637 +	<a href="index.html">Table des matières</a>
   1.638 +</div>
   1.639 +
   1.640 +<div id="copy">
   1.641 +    Copyright © 2007 <a href="http://www.slitaz.org/">SliTaz</a> -
   1.642 +    <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
   1.643 +    Documentation publiées sous
   1.644 +    <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
   1.645 +    et codée en <a href="http://validator.w3.org/">xHTML 1.0 valide</a>.
   1.646 +</div>
   1.647 +
   1.648 +</body>
   1.649 +</html>