<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
<title type="html">CalimeroTeknik&#039;s Blag - informatique</title>
<subtitle type="html">blaguons gaiement</subtitle>
<link href="http://calimeroteknik.free.fr/blag/feed.php?atom/categorie4" rel="self" type="application/atom+xml"/>
<link href="http://calimeroteknik.free.fr/blag/?categorie4/informatique" rel="alternate" type="text/html"/>
<updated>2014-06-19T00:16:00+01:00</updated>
<id>urn:md5:bf6a8c13f1af3d4b4f41751429f04d91</id>
<generator uri="http://pluxml.org/">PluXml 4.3.1</generator>
<entry>
	<title>Really used memory on GNU/Linux</title> 
	<link href="http://calimeroteknik.free.fr/blag/?article20/really-used-memory-on-gnu-linux"/>
	<id>urn:md5:4597f66d11544c8c7e9fcb7d32062553</id>
	<updated>2014-06-19T00:16:00+01:00</updated>
	<author><name>CalimeroTeknik</name></author>
	<dc:subject>informatique</dc:subject>
	<content type="html">&lt;p&gt;For a few months now I&#039;ve been rebuffed, being told “there&#039;s no single answer” when asking for a way to calculate the “really used memory” on my GNU/Linux system.&lt;/p&gt;

&lt;p&gt;Obviously `free` wasn&#039;t giving what I wanted, since I was reaching OOM conditions when it said I was using 14% of my RAM (hint: big tmpfs). Of course, that&#039;s if you look at the “±buffers/cache” line. If however you look at the first line, it seems you&#039;re always almost out of memory! (hint: disk cache)&lt;/p&gt;

&lt;p&gt;Not very satisfying, but today I finally got it right.&lt;/p&gt;&lt;p&gt;Thanks to Munin&#039;s memory graphs, which helped me make sense of some variables in /proc/meminfo, so that I knew how to count the used RAM.&lt;/p&gt;

&lt;img src=&quot;data/images/meminfo1.jpg&quot; alt=&quot;cutting memory in two: used, not used&quot; /&gt;

&lt;p&gt;On my machine, imagine that Shmem is a few centimeters higher. So it looks a bit more like this:&lt;/p&gt;
&lt;img src=&quot;data/images/meminfo2.jpg&quot; alt=&quot;cutting memory in two: used, not used&quot; /&gt;

&lt;p&gt;Turns out it&#039;s the free RAM that&#039;s easy to count, so the answer is:&lt;/p&gt;

&lt;pre&gt;Used RAM = MemTotal - (MemFree+Buffers+SReclaimable+Cached-Shmem)&lt;/pre&gt;

&lt;p&gt;Here&#039;s a shell script that does correctly what `free` does wrong:&lt;/p&gt;

&lt;pre&gt;#!/bin/sh
div=1
unit=K
[ &quot;${1}&quot; = &#039;-m&#039; ] &amp;&amp; unit=M &amp;&amp; div=1024
[ &quot;${1}&quot; = &#039;-g&#039; ] &amp;&amp; unit=G &amp;&amp; div=$((1024*1024))
eval &quot;$(sed &#039;s/^\([^:]*\):[[:space:]]*\([0-9]*\).*$/\1=\2/;s/(//;s/)//&#039; /proc/meminfo)&quot;
echo &quot;total $((MemTotal/div))${unit}   used $(( ( MemTotal - (MemFree+Buffers+SReclaimable+Cached-Shmem) ) / div ))${unit}&quot;&lt;/pre&gt;

&lt;p&gt;Implementation in C &lt;a href=&quot;data/documents/realfree.c&quot;&gt;is here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here&#039;s a conky patch:&lt;/p&gt;

&lt;pre&gt;--- conky-1.9.0/src/linux.c.old	2014-06-18 11:05:42.965999512 +0200
+++ conky-1.9.0/src/linux.c	2014-06-18 23:57:32.601326864 +0200
@@ -159,7 +159,8 @@
 	FILE *meminfo_fp;
 	static int rep = 0;
 
-	/* unsigned int a; */
+	unsigned long long shmem, sreclaimable;
+
 	char buf[256];
 
 	info.mem = info.memmax = info.swap = info.swapfree = info.swapmax = info.bufmem =
@@ -186,6 +187,11 @@
 			sscanf(buf, &quot;%*s %llu&quot;, &amp;info.buffers);
 		} else if (strncmp(buf, &quot;Cached:&quot;, 7) == 0) {
 			sscanf(buf, &quot;%*s %llu&quot;, &amp;info.cached);
+
+		} else if (strncmp(buf, &quot;Shmem:&quot;, 6) == 0) {
+			sscanf(buf, &quot;%*s %llu&quot;, &amp;shmem);
+		} else if (strncmp(buf, &quot;SReclaimable:&quot;, 13) == 0) {
+			sscanf(buf, &quot;%*s %llu&quot;, &amp;sreclaimable);
 		}
 	}
 
@@ -193,7 +199,16 @@
 	info.memeasyfree = info.memfree;
 	info.swap = info.swapmax - info.swapfree;
 
-	info.bufmem = info.cached + info.buffers;
+	/* Reclaimable memory: does not include shared memory, which is part of cached but unreclaimable.
+	   Includes the reclaimable part of the Slab cache though.
+	   Note: when shared memory is swapped out, shmem decreases and swapfree decreases - we want this.
+	*/
+	info.bufmem = (info.cached - shmem) + info.buffers + sreclaimable;
+
+	/* Now (info.mem - info.bufmem) is the *really used* (aka unreclaimable) memory.
+	   When this value reaches the size of the physical RAM, and swap is full or non-present, OOM happens.
+	   Therefore this is the value that the user wants to monitor, regarding their RAM.
+	*/
 
 	fclose(meminfo_fp);
 	return 0;&lt;/pre&gt;

&lt;p&gt;Edit: &lt;a href=&quot;http://sourceforge.net/p/conky/patches/209/&quot; alt=&quot;patch submission&quot;&gt;reported&lt;/a&gt;, &lt;a href=&quot;https://github.com/brndnmtthws/conky/pull/54&quot; alt=&quot;pull-request&quot;&gt;pull-requested&lt;/a&gt;, &lt;a href=&quot;https://github.com/brndnmtthws/conky/commit/689b4046068bf68683df901679ebbcdb9a435d87&quot; alt=&quot;commit&quot;&gt;merged&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here we go! I don&#039;t know if a patch for `free` would be envisionable, but probably for such a system tool it wouldn&#039;t make sense.&lt;/p&gt;

&lt;p&gt;For those wondering: this post is in English because I wanted English-speaking developers and users to be able to read it.&lt;/p&gt;</content>
</entry>
<entry>
	<title>Enregistrer un domaine .eu.org</title> 
	<link href="http://calimeroteknik.free.fr/blag/?article16/enregistrer-un-domaine-eu-org"/>
	<id>urn:md5:3bd1f4a61b8e9ff3e42c9d47fa9680ed</id>
	<updated>2013-09-15T00:05:00+01:00</updated>
	<author><name>CalimeroTeknik</name></author>
	<dc:subject>informatique</dc:subject>
	<content type="html">&lt;p&gt;Je dois dire que j’ai galéré un tantinet à comprendre leur affaire, donc voici comment s’y prendre pour enregistrer un nom de domaine .eu.org.&lt;/p&gt;&lt;p&gt;C’est &lt;a href=&quot;http://meylodie.wordpress.com/&quot;&gt;mélodie&lt;/a&gt; qui m’a suggéré d’écrire cet article.&lt;br /&gt;
Je remercie tout de suite captnfab, qui m’a aidé à comprendre les exigences de eu.org pour les DNS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dans la suite de l’article, remplacez bien «&amp;nbsp;ce-que-vous-voulez&amp;nbsp;», «&amp;nbsp;1.2.3.4&amp;nbsp;» et «&amp;nbsp;5.6.7.8&amp;nbsp;» par votre domaine voulu, l’IP du serveur DNS que j’explique comment configurer, et l’IP de votre serveur où doit pointer le domaine.&lt;/strong&gt;&lt;br /&gt;
Sinon, ça pourrait bien ne pas fonctionner. ^^&lt;/p&gt;

&lt;h1&gt;Configurer votre serveur DNS&lt;/h1&gt;
&lt;p&gt;Eh oui&amp;nbsp;!&lt;br /&gt;
Ça, je l’ai compris assez rapidement quand j’ai regardé leur &lt;a href=&quot;http://www.eu.org/fr/form_n.html&quot;&gt;formulaire d’inscription&lt;/a&gt;&amp;nbsp;: il faut avoir un serveur DNS (bind, par exemple), qui se fera déléguer la gestion de votre &lt;em&gt;ce-que-vous-voulez.eu.org&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Bref donc, installez bind, et créez une entrée dans votre fichier /etc/named.conf&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
zone &quot;ce-que-vous-voulez.eu.org&quot; IN {
        type master;
        file &quot;ce-que-vous-voulez.eu.org.zone&quot;;
};
&lt;/pre&gt;
&lt;p&gt;Notez que vous n’êtes pas obligé d’appeler le fichier de zone «&amp;nbsp;ce-que-vous-voulez.eu.org.zone&amp;nbsp;», c’est juste moi qui fais comme ça, parce que c’est facile de s’y retrouver.&lt;br /&gt;
En revanche, dans la première ligne, «&amp;nbsp;zone &quot;ce-que-vous-voulez.eu.org&quot; IN&amp;nbsp;», c’est &lt;strong&gt;très important&lt;/strong&gt; de bien mettre le nom de votre domaine.&lt;br /&gt;
Car c’est ce que vous mettez là, qui remplacera les @ dans le fichier de zone.
&lt;/p&gt;
&lt;p&gt;Le fichier de zone, donc.&lt;br /&gt;
À placer dans le dossier indiqué par la directive «&amp;nbsp;directory&amp;nbsp;» de la section «&amp;nbsp;options&amp;nbsp;» de /etc/named.conf.&lt;br /&gt;
Nommez-le bien comme vous l’avez indiqué plus haut, dans la ligne «&amp;nbsp;file &quot;ce-que-vous-voulez.eu.org.zone&quot;;&amp;nbsp;»
&lt;/p&gt;
&lt;pre&gt;
$TTL 86400
@       IN      SOA     ns1 votre-email.votre-fai.fr. (
                        2013091401      ; serial number YYMMDDNN
                        28800           ; Refresh
                        7200            ; Retry
                        864000          ; Expire
                        86400           ; Min TTL
                        )

@       IN      NS      ns1
@       IN      NS      ns2
ns1     IN      A       1.2.3.4
ns2     IN      A       1.2.3.4

@       IN      A       5.6.7.8
www     IN      A       5.6.7.8
&lt;/pre&gt;
&lt;p&gt;Ici, 1.2.3.4 est l’IP du serveur qui héberge le serveur DNS que nous sommes en train de configurer.&lt;br /&gt;
5.6.7.8 est l’IP du serveur qui hébergera les services que vous voulez rendre accessibles pour le domaine.&lt;br /&gt;
Mais ces deux dernières lignes sont fournies à titre d’exemple. C’est de la bête configuration de base de fichier de zone, vous pouvez faire ce que vous voulez à la place.
&lt;/p&gt;
&lt;h1&gt;Le formulaire d’inscription eu.org&lt;/h1&gt;
&lt;p&gt;C’est là&amp;nbsp;: &lt;a href=&quot;http://www.eu.org/fr/form_n.html&quot;&gt;http://www.eu.org/fr/form_n.html&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Je vous aide pour les champs pas clairs&amp;nbsp;:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Nom de domaine complet&amp;nbsp;: entrez ce cher ce-que-vous-voulez.eu.org (facile).&lt;br /&gt;
Notez que si vous êtes, par exemple, une association, ils vous recommandent de mettre quelquechose.asso.eu.org, etc. &lt;a href=&quot;http://www.eu.org/fr/opendomains.html&quot;&gt;Voyez la liste&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Contact administratif&amp;nbsp;: allez ici &lt;a href=&quot;https://eu.org/arf/contact/create/&quot;&gt;https://eu.org/arf/contact/create/&lt;/a&gt; pour créer un compte sur le site.&lt;br /&gt;
La procédure est facile, il y aura un e-mail de validation.&lt;br /&gt;
Vous devez ensuite entrer dans le champ &quot;Contact administratif&quot; l’identifiant que vous avez reçu, du genre «&amp;nbsp;KG60-FREE&amp;nbsp;».
&lt;/li&gt;
&lt;li&gt;Contact technique&amp;nbsp;: pareil. À vous de voir si vous voulez réutiliser le même compte, ou en créer un deuxième.&lt;/li&gt;
&lt;li&gt;Informations techniques&amp;nbsp;: dans Nom1, entrez «&amp;nbsp;ns1.ce-que-vous-voulez.eu.org&amp;nbsp;», et en face dans IP1, «&amp;nbsp;1.2.3.4&amp;nbsp;»&lt;br /&gt;
Dans Nom2, entrez «&amp;nbsp;ns2.ce-que-vous-voulez.eu.org&amp;nbsp;», et en face dans IP2, «&amp;nbsp;1.2.3.4&amp;nbsp;»
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cliquez sur Envoyer.&lt;br /&gt;
Vous allez recevoir un e-mail pour confirmer. Comme indiqué, il faudra répondre à cet e-mail (envoyez simplement une réponse vide).
&lt;/p&gt;
&lt;h1&gt;Attendez&lt;/h1&gt;
&lt;p&gt;En quelques heures, ce-que-vous-voulez.eu.org devrait pointer sur l’IP demandée.&lt;br /&gt;
Ils sont un peu lents sur la mise en place de la délégation DNS à votre serveur, mais une fois en place, comme c’est lui qui répond directement, vos modifications du fichier de zone seront prises en charge très vite.&lt;/p&gt;
&lt;p&gt;N’oubliez pas d&#039;augmenter le serial quand vous mettez à jour le fichier de zone, on ne le répète jamais assez&amp;nbsp;!&lt;/p&gt;</content>
</entry>
<entry>
	<title>Le nom Linux</title> 
	<link href="http://calimeroteknik.free.fr/blag/?article12/le-nom-linux"/>
	<id>urn:md5:1f62ccf2c001ca4b7f42de144bc8fd35</id>
	<updated>2011-07-07T11:20:00+01:00</updated>
	<author><name>CalimeroTeknik</name></author>
	<dc:subject>informatique</dc:subject>
	<content type="html">J&#039;entends souvent « Les logiciels libres ? Tu veux dire, LINUX ? »&lt;br /&gt;
Et autres expressions « Linux c&#039;est compliqué » ou encore « Le bureau Linux », flagrantes de cette confusion.&lt;br /&gt;
&lt;br /&gt;
Si on comparait une distribution de bureau avec une voiture…&lt;br /&gt;
Linux serait le moteur, GNU le châssis, X.org le volant et les pédales, et l&#039;environnement de bureau serait l&#039;habitacle et la carrosserie.&lt;br /&gt;
&lt;br /&gt;
Alors arrêtez de me dire linux à tout bout de champ ! Appelez un chat un chat !&lt;br /&gt;
Sinon, je vais vous expliquer que mon véhicule est un X20XEV.&lt;br /&gt;
&lt;br /&gt;
Sauf que ça, c&#039;est le modèle du moteur. Ça ne vous dit pas s&#039;il est monté dans une voiture, un camion, un trike ou (même si c&#039;est un peu gros pour ça) une moto.&lt;br /&gt;
Bref, ça ne vous dit rien d&#039;intéressant, c&#039;est déplacé, c&#039;est nul, je passe pour un snob.&lt;br /&gt;
&lt;br /&gt;
Alors s&#039;il vous plaît, quand vous dites “linux”, assurez-vous que vous parlez bien de linux. Évitez d&#039;irriter le monde…&lt;br /&gt;
&lt;br /&gt;
J&#039;entends souvent, « Linux c&#039;est compliqué ».&lt;br /&gt;
C&#039;est totalement vrai. Moi-même, je ne sais pas (totalement) comment ça marche.&lt;br /&gt;
&lt;br /&gt;
Mais je n&#039;en ai pas besoin ! On s&#039;en contrefiche !&lt;br /&gt;
Ce qu&#039;on utilise (surtout les utilisateurs se considérant comme peu avancés qui disent ça), c&#039;est un environnement de bureau.&lt;br /&gt;
&lt;br /&gt;
Je pourrais vous remplacer Linux par freeBSD (il n&#039;y aurait plus *du tout* de linux dans votre installation, mettons, d&#039;Ubuntu), que vous n&#039;y verriez que du feu : GNOME serait toujours pareil.&lt;br /&gt;
&lt;br /&gt;
Et vous continueriez à dire “Linux”, à propos d&#039;un truc qui ne l&#039;est pas. Même pas un tout petit peu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PS : le prochain qui me demande de lui installer linux, je suivrai ses instructions méthodiquement. J&#039;installerai Linux, uniquement.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Article publié sous licence WTFPL.&lt;/i&gt;</content>
</entry>
<entry>
	<title>Le fonctionnement des live</title> 
	<link href="http://calimeroteknik.free.fr/blag/?article11/fonctionnement-live"/>
	<id>urn:md5:a7e694a3dbe0bb929afcbef5d16042e6</id>
	<updated>2011-04-07T22:10:00+01:00</updated>
	<author><name>CalimeroTeknik</name></author>
	<dc:subject>informatique</dc:subject>
	<content type="html">Vous ne vous êtes jamais demandé comment fonctionnait un live-cd ?&lt;br /&gt;
Qu&#039;est-ce qui se cachait derrière ce système qui parvient à tourner sur un CD où il ne peut pas écrire, et à stocker ses changements en mémoire vive ?&lt;br /&gt;
&lt;br /&gt;
Au risque de vous décevoir, c&#039;est très simple !&lt;br /&gt;&lt;br /&gt;
Si vous n&#039;avez pas encore connaissance du fonctionnement général du boot d&#039;un système avec initramfs, je vous conseille la lecture de &lt;a href=&quot;http://calimeroteknik.free.fr/blag/?article7/le-boot-archlinux&quot;&gt;cet article&lt;/a&gt;.&lt;br /&gt;
Ce n&#039;est pas indispensable, mais aidera pour la suite.&lt;br /&gt;
&lt;br /&gt;
Le principe est le même sur toutes les distributions, ça ne s&#039;arrête pas à Arch. Seuls les détails de mise en forme varient.&lt;br /&gt;
&lt;br /&gt;
Au début, tout se passe comme d&#039;habitude. Tout comme votre disque dur, le CD contient un chargeur de démarrage, un noyau et un initramfs (directement dans l&#039;iso).&lt;br /&gt;
Le chargeur copie le noyau et son initramfs en mémoire vive, et passe la main au noyau.&lt;br /&gt;
Celui-ci, comme d&#039;habitude, trouve son initramfs, l&#039;extrait et exécute le fichier /init qui se trouve dedans.&lt;br /&gt;
&lt;br /&gt;
C&#039;est là que le scénario diffère du boot sur disque dur : le script /init (ou exécutable binaire, mais c&#039;est plus pratique de faire un script avec le shell pour le lancer juste à coté) ne fait pas la même chose.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans le cas d&#039;un boot sur disque dur, /init charge les modules pour trouver la partition (passée en argument au noyau avec root=), la monte dans /new_root et switch_root (chroot) dedans en y lançant /sbin/init.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans le cas d&#039;un live, on va, de même, trouver la partition voulue (par son label, couramment), puis monter l&#039;archive squashfs qui contient tous les fichiers de la racine (la partition racine, si vous voulez) dans /ro_branch.&lt;br /&gt;
&lt;br /&gt;
Montage de l&#039;iso : mount /dev/disk/by-label/mon-live /iso&lt;br /&gt;
Montage du squashfs : mount -o loop /iso/racine.sqfs /ro_branch&lt;br /&gt;
&lt;br /&gt;
Ce n&#039;est pas fini : on ne peut pas déjà booter sur la racine en lecture seule !&lt;br /&gt;
Rien que le fait de lancer X nécessite de créer des petits fichiers (sockets, verrous) dans le système de fichiers.&lt;br /&gt;
&lt;br /&gt;
On monte donc un système de fichiers tmpfs (en RAM) dans /rw_branch :  mount -t tmpfs none /rw_branch&lt;br /&gt;
&lt;br /&gt;
Et maintenant ?&lt;br /&gt;
On va utiliser une petite merveille développée spécialement pour cet usage : un « unioning filesystem ». Par exemple UnionFS ou AUFS.&lt;br /&gt;
Comment ça marche ? L&#039;idée est de fusionner plusieurs dossiers (appelés branches) en un seul (la destination).&lt;br /&gt;
En lecture, il n&#039;y a qu&#039;à gérer les priorités : l&#039;ordre dans lequel on a monté nos dossiers sur le dossier de destination détermine lequel passe en premier si un fichier est présent dans plusieurs branches.&lt;br /&gt;
&lt;br /&gt;
En écriture (si on modifie/crée un fichier dans notre fameux dossier “assemblé”, où doit-il aller ?), on a résolu le problème simplement : on a désigné au départ l&#039;un des dossiers comme LA branche lecture-écriture de l&#039;union.&lt;br /&gt;
&lt;br /&gt;
On va donc d&#039;abord monter /rw_branch comme branche rw (read-write, lecture-écriture) de /new_root :
mount -t aufs -o dirs=/rw_branch=rw none /new_root&lt;br /&gt;
&lt;br /&gt;
Ensuite, on rajoute /ro_branch où est montée l&#039;image squashfs du CD comme branche ro (read-only, lecture seule) de /new_root :&lt;br /&gt;
mount -t aufs -o remount,append:/ro_branch=ro none /new_root&lt;br /&gt;
&lt;br /&gt;
Et maintenant, on peut switch_root (c&#039;est à dire chroot) dans /new_root pour y lancer /sbin/init !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système est comme sur un disque dur.&lt;br /&gt;
La seule différence, c&#039;est que les fichiers modifiés iront dans le tmpfs, pas dans l&#039;iso (impossible : lecture seule !)&lt;br /&gt;
&lt;br /&gt;
J&#039;en entends déjà me dire “et quand on supprime des fichiers ?”&lt;br /&gt;
Eh bien, AUFS crée un fichier .wh.nomdufichier dans sa branche rw (ici /rw_branch) pour se souvenir que ce fichier ne doit pas apparaître dans l&#039;union. (évidemment, on ne peut pas le supprimer du CD…)&lt;br /&gt;
&lt;br /&gt;
Si vous êtes intéressé par AUFS, sachez que ses fonctions sont bien plus étendues que ça…Voyez son site. :)&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Article publié sous licence GFDL.&lt;/i&gt;</content>
</entry>
<entry>
	<title>Nettoyer un écran plat</title> 
	<link href="http://calimeroteknik.free.fr/blag/?article8/nettoyer-un-ecran-plat"/>
	<id>urn:md5:31e6a0f318cd7c2a7536a9166f3e0587</id>
	<updated>2010-05-09T16:16:00+01:00</updated>
	<author><name>CalimeroTeknik</name></author>
	<dc:subject>informatique</dc:subject>
	<content type="html">&lt;p&gt;Bon, c&#039;est beau c&#039;est sympa les écrans plats, mais quand un visiteur malappris a bien postillonné dessus ou posé ses sales doigts dessus, c&#039;est moins beau.&lt;/p&gt;
J&#039;ai la méthode !&lt;br&gt;&lt;p&gt;
C&#039;est très simple : prenez deux morceaux de papier toilette, humectez-en un à l&#039;eau. (mouillé lègèrement, pas dégoulinant)
&lt;/p&gt;
Essuyez doucement (en tournant) une petite zone sale de l&#039;écran avec le papier humide et frottez immédiatement et vite cette zone (en tournant si possible), sans appuyer, avec le papier sec, jusqu&#039;à ce qu&#039;elle soit sèche.&lt;br&gt;
S&#039;il reste de la grosse saleté, recommencez.&lt;br&gt;
&lt;br&gt;
Pour fignoler (si le frottage a laissé quelques traces), on souffle doucement sur l&#039;écran pour y déposer un peu de buée et on frotte immédiatement, vite et sans appuyer, avec le papier sec.&lt;br&gt;
&lt;br&gt;
Après ça, l&#039;écran est propre et net, comme quand il sort de l&#039;emballage, neuf.</content>
</entry>
<entry>
	<title>La structure du contenu de votre disque dur</title> 
	<link href="http://calimeroteknik.free.fr/blag/?article3/structure-peripherique-bloc"/>
	<id>urn:md5:59a8be94b70ab8619fd0d895843019d2</id>
	<updated>2010-04-29T13:28:00+01:00</updated>
	<author><name>CalimeroTeknik</name></author>
	<dc:subject>informatique</dc:subject>
	<content type="html">Partitionnement, MBR, bootloader, tout ce bataclan rapport à votre disque dur (ou autres périphériques bloc, mémoires flash…) vous laisse parfois perplexe ?&lt;br&gt;
&lt;br&gt;
Clarifions tout cela.&lt;br&gt;
&lt;br&gt;
Cette description est valable uniquement sur les ordinateurs compatible IBM PC — soyons précis —, ça en fait tout de même un bon paquet : les &quot;PC&quot; du commerce, et plein d&#039;autres appareils qui en sont, mais ne sont pas officiellement décrits comme tels.
&lt;br&gt;&lt;br&gt;
Je vous ai fait un petit schéma bleu pour suivre les explications ci-dessous.&lt;br&gt;
&lt;img src=&quot;data/images/partitions.png&quot; alt=&quot;&quot; /&gt;&lt;br&gt;
Ceux qui n&#039;aiment pas le bleu, vous ferez avec. ☺&lt;br&gt;
&lt;br&gt;
Le contenu du disque (pas les fichiers hein, le contenu brut) est géré par le BIOS. Le BIOS est la puce de la carte mère qui démarre le PC jusqu&#039;à ce que le bootloader puis l&#039;OS prenne le relais.&lt;br&gt;
Le BIOS le découpe en « secteurs » : des parts de 512 octets. C&#039;est comme ça, vous ne pouvez pas faire autrement, c&#039;est écrit dans cette puce sur la carte mère.&lt;br&gt;
&lt;br&gt;
● Le premier secteur, le MBR, est très important : il contient le bootloader, et la table de partitions.&lt;br /&gt;
&lt;ul&gt;
 &lt;li&gt;
Ses 446 premiers octets servent à mettre un chargeur de démarrage que doit lancer le BIOS.
Par exemple GRUB, Lilo, ou encore un programme d&#039;amorçage (datant de DOS), qui lance le bootloader du premier secteur de la première partition qui est marquée bootable. (voir flags plus bas)&lt;br /&gt;
 &lt;/li&gt;
&lt;br&gt;
 &lt;li&gt;
Ensuite, 64 octets servent pour la table de partitions. On ne peut avoir que 4 partitions, avec 64 pauvres octets.&lt;br&gt;
On a donc 4 partitions appelées primaires.&lt;br&gt;
Elles peuvent avoir un type, et divers « flags », dont le flag &quot;bootable&quot; : il sert à demander au chargeur de démarrage (si celui-ci en tient compte), de lancer le bootloader situé dans le premier secteur de la partition (aussi appelé secteur de démarrage).&lt;br&gt;
Une partition est décrite par son début et sa taille, en 16 octets on ne peut pas faire plus !&lt;br&gt;
 &lt;/li&gt;
&lt;br&gt;
 &lt;li&gt;
Suivent deux octets « magiques », qui disent au BIOS qu&#039;il peut booter ce disque. Le compte est bon, on a 512 octets.&lt;br&gt;
 &lt;/li&gt;
&lt;/ul&gt;

● Les secteurs qui suivent contiennent généralement des systèmes de fichiers (ext, reiserfs, zfs, xfs, jfs, vfat, …), dans les zones décrites par la table de partitions, ces zones qui sont les partitions.&lt;br&gt;
On peut caser un chargeur de démarrage dans leurs 512 premiers octets.&lt;br&gt;
&lt;br&gt;
Il existe un type spécial de partition primaire : la partition étendue. (type 05 pour info)&lt;br&gt;
Elle peut contenir des partitions secondaires (aussi appelées logiques), autant qu&#039;on veut, c&#039;est à dire d&#039;autres partitions !&lt;br&gt;
Comme on ne pouvait en faire que 4 primaires, il a bien fallu trouver un truc pour ceux qui en voulaient davantage.&lt;br&gt;
Le nombre de partitions possible est illimité, car les EBR (équivalent du MBR en début de partition étendue) appellent le suivant, etc...&lt;br&gt;
&lt;br&gt;
Le contenu d&#039;une partition, qui est généralement un système de fichiers, est une archive, finalement. Comme les .tar : un bloc, une arborescence dedans. (sauf que la partition a une taille fixe et de l&#039;espace libre, pas une archive)&lt;br&gt;
&lt;br&gt;
Un détail croustillant pour la fin : vous pouvez créer une partition étendue dans une partition étendue, et ainsi de suite.&lt;br&gt;
Ça ne sert à rien bien sûr, puisque vous pouviez créer autant de partitions que voulu dans la première partition étendue. De plus, ça ne sera pas reconnu par beaucoup de systèmes…&lt;br&gt;
&lt;br&gt;
Bon, votre disque dur doit vous paraître tout aussi fouillis qu&#039;avant, mais maintenant, vous savez pourquoi et comment !&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Article publié sous licence GFDL.&lt;/i&gt;</content>
</entry>
</feed>