<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux Attitude&#187; Debian</title>
	<atom:link href="http://linux-attitude.fr/tag/debian/feed" rel="self" type="application/rss+xml" />
	<link>http://linux-attitude.fr</link>
	<description>Le libre est un état d&#039;esprit</description>
	<lastBuildDate>Mon, 06 Feb 2012 08:01:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Une distribution GNU sur android</title>
		<link>http://linux-attitude.fr/post/une-distribution-gnu-sur-android?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=une-distribution-gnu-sur-android</link>
		<comments>http://linux-attitude.fr/post/une-distribution-gnu-sur-android#comments</comments>
		<pubDate>Tue, 07 Jun 2011 16:56:37 +0000</pubDate>
		<dc:creator>peck</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[i]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[planete-libre]]></category>

		<guid isPermaLink="false">http://linux-attitude.fr/?p=1380</guid>
		<description><![CDATA[Niveau&#160;: &#160;&#160;&#160;&#160;&#160; Résumé&#160;: debootstrap --foreign&#160;; debian.apk Android is Not GNU Maintenant qu'on est root, on peut faire tout ce qu'on veut sur notre android. Mais il faut bien avouer que busybox est assez limitée pour les habitués des systèmes GNU que nous sommes. C'est pourquoi nous allons mettre un système GNU complet sur notre android. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Niveau</strong>&nbsp;: <span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="e">&nbsp;</span><span class="e">&nbsp;</span><br />
<strong>Résumé</strong>&nbsp;: debootstrap --foreign&nbsp;; debian.apk</p>


<h3>Android is Not GNU</h3>

<p>Maintenant qu'<a href="http://linux-attitude.fr/post/root-android">on est root</a>, on peut faire tout ce qu'on veut sur notre android. Mais il faut bien avouer que busybox est assez limitée pour les habitués des systèmes GNU que nous sommes.</p>


<p>C'est pourquoi nous allons mettre un système GNU complet sur notre android. Et de préférence sans influer sur la bonne marche du téléphone.</p>


<p>Pour cela, il faut laisser tourner l'android tel quel, et surtout garder son noyau. Mettre un 2e système sur un noyau qui tourne, on sait faire, dans sa version la plus simple ça s'appelle un <a href="http://linux-attitude.fr/post/chroot">chroot</a>, c'est disponible de base et c'est exactement ce dont on a besoin.</p>


<p>Notez que les commandes indiquées ici se basent sur un shell et les commandes fournies par busybox telles qu'installée dans <a href="http://linux-attitude.fr/post/root-android">l'article précédent</a>. Vous pouvez vous en passer, mais quelques adaptations seront nécessaires (par exemple -o bind à la place de --bind).</p>


<h3>Comment qu'on fait&nbsp;?</h3>


<p>Comment créer un chroot sans se presser&nbsp;?</p>


<p>Choisissons (au hasard) la distribution debian. Elle nous propose ... wait for it ... un créateur de chroot. Il s'appelle <a href="http://linux-attitude.fr/post/Chroot-toujours">debootstrap</a>.</p>


<p>Seul problème nous ne pouvons pas le lancer directement sur le téléphone. Il faut donc le lancer sur une autre machine. Et à moins d'avoir une machine arm sous le coude, nous ne serons pas sur la bonne architecture.</p>


<p>Heureusement debian est bien structuré et debootstrap a tout prévu. Nous allons le lancer 2 fois. La première fois sur notre machine habituelle&nbsp;:</p>
<pre>
$  debootstrap --foreign --arch armel wheezy mydebian 
</pre>


<p>Pour ceux qui n'ont pas debian, sachez qu'il est possible de télécharger et d'exécuter debootstrap sur n'importe quel autre linux.</p>


<p>Et pour ceux qui voudraient essayer une autre méthode, suivez ce lien&nbsp;: <a href="http://wiki.debian.org/EmDebian/CrossDebootstrap" title="http://wiki.debian.org/EmDebian/CrossDebootstrap">http://wiki.debian.org/EmDebian/Cro...</a></p>


<p><span id="more-1380"></span></p>


<p>Déplaçons tout ça sur le téléphone&nbsp;:</p>
<pre>
# toujours sur le pc
$ tar cf debian.tar mydebian 
$ adb push debian.tar /sdcard/debian.tar
</pre>


<p>Une debian basique est relativement petite, nous devrions pouvoir trouver une place sur le téléphone. Seule contrainte, il faut la déposer sur une partition qui utilise les droits posix (et donc pas sur /sdcard qui est en FAT). J'ai choisi /data/local/tmp</p>
<pre>
# sur l'android (avec busybox)
$ cd /data/local/tmp
$ tar xf /sdcard/debian.tar 
</pre>


<p>Profitons-en pour terminer le debootstrap (il faut être root sur l'android et il vaut mieux utiliser les commandes busybox)&nbsp;:</p>
<pre>
# on prépare le chroot
$ NEW=/data/local/tmp/mydebian
$ mount --bind /dev $NEW/dev
$ mount --bind /proc $NEW/proc
$ mount --bind /sys $NEW/sys
$ mount --bind /dev/pts $NEW/dev/pts
# et on termine debootstrap dedans
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
$ chroot $NEW/debian debootstrap --second-stage
</pre>


<p>Et voilà&nbsp;!</p>


<p>Vous pouvez compléter par&nbsp;:</p>
<ul>
<li>modifier /etc/hostname</li>
<li>modifier /etc/resolv.conf (nameserver 8.8.8.8 pour utiliser le resolver de google disponible partout)</li>
<li>... dites-moi ce que vous avez fait</li>
</ul>

<h3>Comment qu'on l'utilise&nbsp;?</h3>


<p>Maintenant que tout est prêt il faut pouvoir réutiliser ces commandes à tout moment. Pour ma part j'ai fait le petit script suivant qui me permet de rentrer dans le chroot&nbsp;:</p>
<pre>
ROOT=/data/local/tmp/mydebian
BB=/data/busybox/
if ! ls $ROOT/proc/1 &gt; /dev/null
then
    $BB/mount --bind /dev $ROOT/dev
    $BB/mount --bind /proc $ROOT/proc
    $BB/mount --bind /sys $ROOT/sys
    $BB/mount --bind /dev/pts $ROOT/dev/pts
fi
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
/system/bb/su -c &quot;$BB/chroot $ROOT /bin/bash&quot;
</pre>


<p>Et pour les gens qui aiment le tout réseau vous pouvez mettre un serveur ssh dans le chroot, ça vous le rendra accessible à distance. Pensez juste à vous connecter au chroot et à le relancer à chaque fois que le téléphone redémarre.</p>


<h3>Conclusion</h3>

<p>N'oubliez pas, votre téléphone continue de tourner, le chroot n'est qu'un moyen d'avoir accès aux commandes debian (dont apt-get install qui est une commande magnifique pour un android, plus besoin d'installer des machins à la main).</p>


<p>Mais même si votre shell tourne dans un chroot, le noyau reste le même et tous les services en dehors du chroot continuent leur vie comme d'habitude. Cela permet au téléphone de rester un vrai téléphone d'origine. Revenir en arrière consiste à rebooter et à supprimer le répertoire debian.</p>


<p>Amusez-vous bien&nbsp;!</p>

<p></p><p>Si vous avez aimé, il y a aussi : </p><ol><li><a href='http://linux-attitude.fr/post/espionner-son-android' rel='bookmark' title='Permanent Link: Espionner son android'>Espionner son android</a></li>
<li><a href='http://linux-attitude.fr/post/personnalisez-votre-android' rel='bookmark' title='Permanent Link: Personnalisez votre android'>Personnalisez votre android</a></li>
<li><a href='http://linux-attitude.fr/post/root-android' rel='bookmark' title='Permanent Link: Root d&#8217;android'>Root d&#8217;android</a></li>
</ol>
	Tags:<a href="http://linux-attitude.fr/tag/android-2" title="android" rel="tag">android</a>, <a href="http://linux-attitude.fr/tag/debian" title="Debian" rel="tag">Debian</a>, <a href="http://linux-attitude.fr/tag/i" title="i" rel="tag">i</a>, <a href="http://linux-attitude.fr/tag/planet-libre" title="planet-libre" rel="tag">planet-libre</a>, <a href="http://linux-attitude.fr/tag/planete-libre" title="planete-libre" rel="tag">planete-libre</a><br />
]]></content:encoded>
			<wfw:commentRss>http://linux-attitude.fr/post/une-distribution-gnu-sur-android/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Lenny barr</title>
		<link>http://linux-attitude.fr/post/lenny-barr?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=lenny-barr</link>
		<comments>http://linux-attitude.fr/post/lenny-barr#comments</comments>
		<pubDate>Wed, 18 Feb 2009 18:16:00 +0000</pubDate>
		<dc:creator>peck</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[planet-libre]]></category>

		<guid isPermaLink="false">http://linux-attitude.fr/post/lenny-barr</guid>
		<description><![CDATA[Niveau&#160;: &#160;&#160;&#160;&#160;&#160; Résumé&#160;: Debian 5.0 Vous n'êtes pas sans savoir que la dernière debian est sortie ce week-end, en pleine St-Valentin. Celle-ci s'appelle Lenny comme les jumelles de Toy Story. Plein de belles choses dans cette distributions, je ne vais pas vous refaire le topo. Donc vous êtes actuellement en etch et vous voulez faire [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Niveau</strong>&nbsp;: <span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="e">&nbsp;</span><span class="e">&nbsp;</span><span class="e">&nbsp;</span><br />
<strong>Résumé</strong>&nbsp;: Debian 5.0</p>


<p>Vous n'êtes pas sans savoir que la dernière debian est sortie ce week-end, en pleine St-Valentin. Celle-ci s'appelle Lenny comme <a href="http://www.debianiste.org/index.php?post/2008/04/11/Toy-Story-ou-les-personnages-Debian" hreflang="fr">les jumelles de Toy Story</a>.</p>


<p>Plein de belles choses dans cette distributions, je ne vais pas vous <a href="http://www.debian.org/News/2009/20090214" hreflang="fr">refaire</a> le <a href="http://linuxfr.org/2009/02/15/25028.html" hreflang="fr">topo</a>.</p>


<p>Donc vous êtes actuellement en etch et vous voulez faire une mise à jour. Comment faire&nbsp;? C'est assez simple, mais c'est l'occasion d'expliquer le mécanisme de mise à jour. Maintenant que vous savez à quoi ressemblent <a href="http://linux-attitude.fr/post/Les-paquets-debian">les miroirs et les paquets debian</a></p>


<h3>Contenu du miroir</h3>


<p>Pour mettre à jour, vous changez le nom de la distribution dans /etc/apt/sources.list. Remplacez etch par lenny, vous aurez quelque chose comme&nbsp;:</p>
<pre>
deb http://mir1.ovh.net/debian/ lenny main contrib non-free
deb-src http://mir1.ovh.net/debian/ unstable main

deb http://security.debian.org/ lenny/updates main contrib non-free
</pre>


<p>Ce qui veut dire que vous utilisez le miroir mir1.ovh.net, ayant pour racine debian /debian, avec la version lenny de debian, et les sections main contrib et non-free de cette version.</p>


<p>Remarquez qu'il n'y a aucun problème à utiliser les sources unstable avec les paquets stable. La ligne source n'est utilisée que pour la commande apt-get source.</p>

<ul>
<li>Le choix du miroir vous permet d'être le plus rapide possible dans votre mise à jour</li>
<li>Le choix de la racine ne vous est pas donné, mais dépend du miroir</li>
<li>Le choix de la version vous permet d'être le plus à jour par rapport aux paquets disponibles</li>
<li>Le choix des sections vous permet d'être plus ou moins libre sur les logiciels installés</li>
</ul>

<p><span id="more-301"></span></p>


<h3>Upgrade et dist-upgrade</h3>


<p>Ensuite, vous faites un update pour qu'apt soit au courant de la liste des paquets disponibles sur le miroir&nbsp;:</p>
<pre>
$ apt-get update
</pre>


<p>Et enfin vous mettez à jour. Et la se pose la question upgrade ou dist-upgrade (respectivement safe-upgrade ou full-upgrade pour les utilisateurs d'aptitude). Hé bien tout est histoire de principe de fonctionnement.</p>


<p><strong>apt-get upgrade</strong> sert à faire une mise à jour de tous les paquets tant qu'il n'y a pas changement dans les dépendances, c'est à dire que seules les nouvelles-version de paquets existants seront prises en compte et aucun paquet ne sera jamais supprimé.</p>


<p><strong>apt-get dist-upgrade</strong> comme son nom l'indique sert pour les nouvelles version de la distribution. Cette commande reparcourt la liste des dépendances et va vous proposer d'ajouter et supprimer un certain nombre de paquets pour satisfaire les dépendances.</p>


<p>Dans la plupart des cas, upgrade est une bonne habitude de sysadmin, surtout si on est un peu fatigué (ou pressé). Mais il faut tout de même faire un dist-upgrade régulièrement pour être sur qu'on n'a rien oublié dans les mises à jour. Il faut simplement être un peu plus attentif à ce qui est modifié. Dans le cas d'une nouvelle version, ya pas photo&nbsp;:</p>
<pre>
$ apt-get dist-upgrade
</pre>


<p>Notez que parfois, si vous avez énormément de paquets et que cela pose problème au système de gestion des dépendances, un upgrade préalable peu aider.</p>


<h3>Particularités</h3>


<p>Attention, une mise à jour n'est pas complètement anodine, elle peu éventuellement casser votre système, même si c'est assez rare. Essayez donc de faire attention aux points suivants.</p>


<h4>Évitez les locales</h4>

<p>Un certain nombre de programmes se comportent bizarrement (rares, mais on en trouve) ou provoquent des warning (plus fréquent) lorsque <a href="http://linux-attitude.fr/post/La-bonne-langue">les locales</a> ne sont pas supportées par le système ou ne sont pas celles d'init. Un bonne pratique est donc d'avoir l'utilisateur root qui tourne avec la locale POSIX (ou C). Si ce n'est pas le cas, faites bien attention à ce que la locale utilisée soit bien enregistrée. Sinon&nbsp;:</p>
<pre>
$ LANG=C apt-get dist-upgrade
</pre>


<h4>Utilisez les bons noms</h4>


<p>Debian utilise deux noms pour chacune de ses versions (trois si on compte le numéro de version), ces noms sont stable / testing / unstable et le noms de personnages de Toy Story.</p>

<ul>
<li><strong>stable</strong> est un lien symbolique vers la dernière version de debian sortie (lenny).</li>
<li><strong>testing</strong> est un lien symbolique vers la prochaine version de la debian à sortir (squeeze).</li>
<li><strong>unstable</strong> est un lien symbolique vers sid, il ne change jamais</li>
</ul>

<p>Le développement de debian se déroule ainsi&nbsp;:</p>
<ol>
<li>Les paquets sont testés dans experimental ... ou pas</li>
<li>Les paquets sont déposés par les développeurs dans unstable quand qu'il veulent (upgrade, patch ...)</li>
<li>Les paquets sont saupoudrés régulièrement et automatiquement de unstable vers testing lorsqu'ils n'ont pas de nouveau bug depuis un certain temps</li>
<li>Lorsqu'on considère que la testing est bien cuite, on la démoule et on l'appelle stable</li>
<li>Testing recommence avec un nouveau nom à partir de cette même stable</li>
</ol>

<p>Mais alors quel nom utiliser&nbsp;?</p>


<p>Si vous faites référence au processus de développement debian, utilisez stable / testing / unstable.</p>


<p>Si vous faite référence à un problème sur une version, (il ya trop de rose ... ) utilisez les noms Toy Story.</p>


<p>Et le plus important, <strong>n'utilisez pas "stable" dans votre sources.list</strong>. En effet, le jour du changement de version, vous vous retrouveriez à installer une nouvelle version de debian sans vous en rendre compte. Utilisez donc le nom de la distribution pour ne pas être surpris, vous pourrez le changer lorsque vous mettrez volontairement à jour.</p>


<p>Vous pouvez éventuellement mettre "testing" si votre but est de suivre continuellement testing et non pas la prochaine distribution, mais je serais plutôt du genre à le déconseiller.</p>

<p></p><p>Si vous avez aimé, il y a aussi : </p><ol><li><a href='http://linux-attitude.fr/post/les-paquets-debian' rel='bookmark' title='Permanent Link: Les paquets debian'>Les paquets debian</a></li>
<li><a href='http://linux-attitude.fr/post/uptime' rel='bookmark' title='Permanent Link: Uptime'>Uptime</a></li>
<li><a href='http://linux-attitude.fr/post/certificats-x509-pour-ssh' rel='bookmark' title='Permanent Link: Certificats x509 pour SSH'>Certificats x509 pour SSH</a></li>
</ol>
	Tags:<a href="http://linux-attitude.fr/tag/debian" title="Debian" rel="tag">Debian</a>, <a href="http://linux-attitude.fr/tag/planet-libre" title="planet-libre" rel="tag">planet-libre</a><br />
]]></content:encoded>
			<wfw:commentRss>http://linux-attitude.fr/post/lenny-barr/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Les paquets debian</title>
		<link>http://linux-attitude.fr/post/les-paquets-debian?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=les-paquets-debian</link>
		<comments>http://linux-attitude.fr/post/les-paquets-debian#comments</comments>
		<pubDate>Fri, 24 Oct 2008 18:27:00 +0000</pubDate>
		<dc:creator>peck</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[Système]]></category>

		<guid isPermaLink="false">http://linux-attitude.fr/post/les-paquets-debian</guid>
		<description><![CDATA[Niveau&#160;: &#160;&#160;&#160;&#160;&#160; Résumé&#160;: .deb Connaissez-vous le format des paquets debian&#160;? Non&#160;? alors je vais vous couper la tête&#160;! Debian a bien réfléchi son format de paquet dès le début. Les contraintes principales étant qu'il soit lisible avec des outils de base unix, c'est-à-dire qu'on peut les lire même si on n'est pas sous debian, qu'on [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Niveau</strong>&nbsp;: <span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="e">&nbsp;</span><span class="e">&nbsp;</span><span class="e">&nbsp;</span><br />
<strong>Résumé</strong>&nbsp;: .deb</p>


<p>Connaissez-vous le format des paquets debian&nbsp;? Non&nbsp;? alors je vais vous couper la tête&nbsp;!</p>


<p>Debian a bien réfléchi son format de paquet dès le début. Les contraintes principales étant qu'il soit lisible avec des outils de base unix, c'est-à-dire qu'on peut les lire même si on n'est pas sous debian, qu'on puisse le faire évoluer (tiens il faut ajouter un champ pour mettre une capture d'écran...), et qu'on puisse rapidement lire les données importantes sans tout extraire.</p>


<p>Partant de là, une solution a été trouvée à base de tar, gz, ar et de fichier texte. Vous verrez, c'est beau.</p>


<h3>Récupérer un fichier deb</h3>

<p>Commençons par trouver un fichier. Si vous êtes sur une debian faites <code>aptitude download monpaquet</code> mais c'est un peu de la triche.</p>


<p>On va plutôt expliquer l'architecture des miroirs debian (une * devant les répertoires les plus intéressants)&nbsp;:</p>
<pre>
ftp.&lt;pays&gt;.debian.org :
|- debian (la racine)
  |- dists (la définition des distributions)
    |- &lt;distro&gt; (la version genre sid)
      |- Contents-&lt;archi&gt;.gz (mapping entre fichier et paquets)
      |- main (les paquets officiels de chez debian)
        |- binary-&lt;archi&gt; (les paquets pour cette architecture)
          |- Packages.gz (fichier compressé listant les paquets)
*       |- installer-&lt;archi&gt; (toutes les versions possibles des installeurs debian)
        |- debian-installer (les paquets spécifiques au système d'installation debian, au format udeb)
      |- contrib (les paquets qui dépendent de non-free)
        |- ...
      |- non-free (les paquets non libre donc non supportés par debian)
        |- ...
  |- pool (les paquets eux-mêmes)
    |- main (les paquets officiels de chez debian)
      |- a,b,c, ... (un répertoire pour chaque première lettre de nom de paquet, attention les libs sont séparées)
*       |- &lt;paquet&gt; (un répertoire par nom de paquet source)
          |- &lt;paquet&gt;.deb (un fichier par paquet binaire)
          |- &lt;paquet&gt;.dsc (un fichier par paquet source)
          |- &lt;paquet&gt;.diff.gz (un fichier par paquet source)
          |- &lt;paquet&gt;.orig.tar.gz (un fichier par paquet source)
    |- contrib (les paquets qui dépendent de non-free)
      |- ... 
    |- non-free (les paquets non libre donc non supportés par debian)
      |- ... 
  |- ... 
</pre>


<p>Et hop on récupère notre .deb dans /debian/pool/main/p/paquet/paquet_1.0_i386.deb</p>


<p><span id="more-272"></span></p>


<p>Pour les futés qui auraient la flemme, il suffit en fait d'aller sur <a href="http://packages.debian.org" title="http://packages.debian.org">http://packages.debian.org</a>. Ce site vous permet de chercher un paquet par nom ou par nom de fichier contenu dans un paquet. Une fois que vous avez trouvé votre paquet, il vous propose de le télécharger, de lister les fichiers qui sont dedans ou d'en lister les dépendances. Gardez ce site dans vos favoris.</p>



<h3>Extraction du paquet</h3>


<p>Donc la beauté du .deb, c'est son format&nbsp;:</p>
<pre>
# on ouvre le paquet
$ cd /tmp
$ ar x paquet.deb
</pre>


<p>Et on se retrouve avec 3 choses&nbsp;:</p>
<ul>
<li>data.tar.gz&nbsp;: nos données à installer&nbsp;!</li>
<li>control.tar.gz&nbsp;: les métadonnées</li>
<li>debian-binary&nbsp;: version du format .deb</li>
</ul>

<p>Notez que vous pouvez n'extraire qu'une partie, par exemple les métadonnées&nbsp;:</p>
<pre>
$ ar x paquet.deb control.tar.gz
</pre>


<p>control.tar.gz  peut contenir plus ou moins de fichiers. Il doit au minimum contenir md5sums et control. Control est le fichier qui va indiquer les dépendances, la version, l'architecture ... Il peut aussi contenir des fichiers comme postinst ou postrm qui seront exécutés pendant l'installation et la suppression du paquet.</p>



<p>Et enfin data.tar.gz contient les données du paquet. Pour installer les fichiers dans /&nbsp;:</p>
<pre>
$ tar xvfz data.tar.gz  -C /
</pre>


<p>Et pour les gens sous debian qui veulent faire la même chose sans se fatiguer&nbsp;:</p>
<pre>
# attention ce n'est pas une installation complète
$ dpkg -x paquet.deb /
</pre>



<h3>Cas des paquets source</h3>

<p>Un paquet source est lui aussi dans un format presque sympa, mais en 3 fichiers cette fois&nbsp;:</p>
<ul>
<li>paquet.orig.tag.gz&nbsp;: les sources tel qu'on devrait les trouver chez le développeur</li>
<li>paquet.diff.gz&nbsp;: les modifications apportées par debian</li>
<li>paquet.dsc&nbsp;: une description du paquet source</li>
</ul>

<p>Donc pour récupérer les sources debian&nbsp;:</p>
<pre>
# l'original
$ tar xvfz paquet.orig.tar.gz
$ cd paquet
# plus le patch
$ zcat ../paquet.diff.gz | patch -p1
</pre>


<p>Un faignant sous debian fera&nbsp;:</p>
<pre>
$ apt-get source paquet
</pre>


<p>Pour plus de détails sur tout cela, allez vous documenter <a href="http://tldp.org/HOWTO/html_single/Debian-Binary-Package-Building-HOWTO/" hreflang="en">à la source</a>.</p>

<p></p><p>Si vous avez aimé, il y a aussi : </p><ol><li><a href='http://linux-attitude.fr/post/le-semeur-de-paquets' rel='bookmark' title='Permanent Link: Le semeur de paquets'>Le semeur de paquets</a></li>
<li><a href='http://linux-attitude.fr/post/lire-dans-les-paquets' rel='bookmark' title='Permanent Link: Lire dans les paquets'>Lire dans les paquets</a></li>
<li><a href='http://linux-attitude.fr/post/des-paquets-de-toutes-les-tailles' rel='bookmark' title='Permanent Link: Des paquets de toutes les tailles'>Des paquets de toutes les tailles</a></li>
</ol>
	Tags:<a href="http://linux-attitude.fr/tag/debian" title="Debian" rel="tag">Debian</a>, <a href="http://linux-attitude.fr/tag/planet-libre" title="planet-libre" rel="tag">planet-libre</a>, <a href="http://linux-attitude.fr/tag/systeme" title="Système" rel="tag">Système</a><br />
]]></content:encoded>
			<wfw:commentRss>http://linux-attitude.fr/post/les-paquets-debian/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Le semeur de paquets</title>
		<link>http://linux-attitude.fr/post/le-semeur-de-paquets?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=le-semeur-de-paquets</link>
		<comments>http://linux-attitude.fr/post/le-semeur-de-paquets#comments</comments>
		<pubDate>Sun, 03 Feb 2008 20:56:00 +0000</pubDate>
		<dc:creator>peck</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Commande]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Système]]></category>

		<guid isPermaLink="false">http://linux-attitude.fr/post/le-semeur-de-paquets</guid>
		<description><![CDATA[Niveau&#160;: &#160;&#160;&#160;&#160;&#160; Résumé&#160;: debconf-get-selections&#160;; dpkg-reconfigure&#160;; debconf-set-selections Lorsque vous installez un paquet sous debian, dpkg, apt, aptitude (ou autre) vous pose parfois quelques questions. Mais lorsque vous mettez ce paquet à jour il ne vous les repose pas même s'il en a besoin. En réalité c'est debconf qui gère les réponses à ces questions. Il vous [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Niveau</strong>&nbsp;: <span class="s">&nbsp;</span><span class="s">&nbsp;</span><span class="e">&nbsp;</span><span class="e">&nbsp;</span><span class="e">&nbsp;</span><br />
<strong>Résumé</strong>&nbsp;: debconf-get-selections&nbsp;; dpkg-reconfigure&nbsp;; debconf-set-selections</p>



<p>Lorsque vous installez un paquet sous debian, dpkg, apt, aptitude (ou autre) vous pose parfois quelques questions. Mais lorsque vous mettez ce paquet à jour il ne vous les repose pas même s'il en a besoin.</p>


<p>En réalité c'est debconf qui gère les réponses à ces questions. Il vous les pose, puis enregistre les réponses dans /var/cache/debconf/config.dat pour les redonner au paquet lorsqu'il en a besoin. Remarquez que vous pouvez vous-mêmes en avoir besoin, par exemple pour savoir ce que vous avez répondu aux questions. La commande debconf-get-selections vous donne toutes les informations</p>
<pre>
# pour le paquet postfix uniquement
$ debconf-get-selections | grep -B1 &quot;^postfix &quot;
</pre>


<p>Notez que si vous voulez changer ces réponses, ce n'est pas debconf-set-selections, mais dpkg-reconfigure que vous devrez utiliser (pour que les réponses soient réellement prises en compte&nbsp;:</p>
<pre>
$ dpkg-reconfigure postfix
</pre>


<p>Maintenant supposons que vous ayez déjà répondu à ces questions sur une machine et que vous voudriez éviter de recommencer sur toutes les machines que vous allez installer. Cette fois nous allons utiliser debconf-set-selections qui préenregistre les réponses. Debconf ne vous les posera donc pas lors de l'installation&nbsp;:</p>
<pre>
# sur la machine déjà installée
$ debconf-get-selections | grep &quot;^postfix &quot; &gt; conf.txt
 
# sur la nouvelle machine
$ debconf-set-selections &lt; conf.txt
$ apt-get install postfix
</pre>


<p>C'est ce qu'on appelle le preseed et c'est grâce à ça qu'on peut installer des centaines de machines sans avoir besoin d'être devant l'écran.</p>

<p></p><p>Si vous avez aimé, il y a aussi : </p><ol><li><a href='http://linux-attitude.fr/post/les-paquets-debian' rel='bookmark' title='Permanent Link: Les paquets debian'>Les paquets debian</a></li>
<li><a href='http://linux-attitude.fr/post/lire-dans-les-paquets' rel='bookmark' title='Permanent Link: Lire dans les paquets'>Lire dans les paquets</a></li>
<li><a href='http://linux-attitude.fr/post/des-paquets-de-toutes-les-tailles' rel='bookmark' title='Permanent Link: Des paquets de toutes les tailles'>Des paquets de toutes les tailles</a></li>
</ol>
	Tags:<a href="http://linux-attitude.fr/tag/commande" title="Commande" rel="tag">Commande</a>, <a href="http://linux-attitude.fr/tag/debian" title="Debian" rel="tag">Debian</a>, <a href="http://linux-attitude.fr/tag/systeme" title="Système" rel="tag">Système</a><br />
]]></content:encoded>
			<wfw:commentRss>http://linux-attitude.fr/post/le-semeur-de-paquets/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced (User agent is rejected)
Database Caching 13/51 queries in 0.064 seconds using apc
Object Caching 1204/1237 objects using apc
Content Delivery Network via N/A

Served from: linux-attitude.fr @ 2012-02-09 00:05:23 -->
