336 lines
15 KiB
HTML
336 lines
15 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<title>Les systèmes de fichiers</title>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<meta name="author" content="wxcafé">
|
||
<link rel="icon" type="image/png" href="file:///home/wxcafe/code/blog-source/output/theme/img/favicon.ico">
|
||
<!-- Le styles -->
|
||
<link rel="stylesheet" href="file:///home/wxcafe/code/blog-source/output/theme/css/bootstrap.css" type="text/css" />
|
||
<link href='http://fonts.googleapis.com/css?family=Oswald&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
|
||
<script type="text/javascript">
|
||
/* <![CDATA[ */
|
||
(function() {
|
||
var s = document.createElement('script');
|
||
var t = document.getElementsByTagName('script')[0];
|
||
|
||
s.type = 'text/javascript';
|
||
s.async = true;
|
||
s.src = '//api.flattr.com/js/0.6/load.js?'+
|
||
'mode=auto&uid=wxcafe&button=compact&popout=0';
|
||
t.parentNode.insertBefore(s, t);
|
||
})();
|
||
/* ]]> */
|
||
</script> <!-- flattr button loader -->
|
||
<style type="text/css">
|
||
body {
|
||
padding-top: 60px;
|
||
padding-bottom: 40px;
|
||
}
|
||
.sidebar-nav {
|
||
padding: 9px 0;
|
||
}
|
||
.tag-1 {
|
||
font-size: 13pt;
|
||
}
|
||
.tag-2 {
|
||
font-size: 10pt;
|
||
}
|
||
.tag-2 {
|
||
font-size: 8pt;
|
||
}
|
||
.tag-4 {
|
||
font-size: 6pt;
|
||
}
|
||
</style>
|
||
<link href="file:///home/wxcafe/code/blog-source/output/theme/css/bootstrap-responsive.css" rel="stylesheet">
|
||
<link href="file:///home/wxcafe/code/blog-source/output/theme/css/font-awesome.css" rel="stylesheet">
|
||
<link href="file:///home/wxcafe/code/blog-source/output/theme/css/pygments.css" rel="stylesheet">
|
||
<!-- Le fav and touch icons -->
|
||
<link rel="shortcut icon" href="file:///home/wxcafe/code/blog-source/output/theme/images/favicon.ico">
|
||
|
||
<link href="file:///home/wxcafe/code/blog-source/output/feeds/feed.rss.xml" type="application/atom+xml" rel="alternate" title="Wxcafé RSS Feed" />
|
||
|
||
</head>
|
||
|
||
<body>
|
||
|
||
<div class="navbar navbar-fixed-top">
|
||
<div class="navbar-inner">
|
||
<div class="container-fluid">
|
||
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||
<span class="icon-bar"></span>
|
||
<span class="icon-bar"></span>
|
||
<span class="icon-bar"></span>
|
||
</a>
|
||
<a class="brand" href="file:///home/wxcafe/code/blog-source/output/index.html">Wxcafé </a>
|
||
<div class="nav-collapse">
|
||
<ul class="nav">
|
||
<li><a href="file:///home/wxcafe/code/blog-source/output/archives.html"><i class="icon-th-list"></i> Archives</a></li>
|
||
<li><a href="file:///home/wxcafe/code/blog-source/output/pages/about/">A propos</a></li>
|
||
<li class="divider-vertical"></li>
|
||
<ul class="nav pull-right">
|
||
</ul>
|
||
</ul>
|
||
</div><!--/.nav-collapse -->
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="container-fluid">
|
||
<div class="row">
|
||
<div class="span9" id="content">
|
||
<section id="content">
|
||
<article>
|
||
<header>
|
||
<h1>
|
||
<a href=""
|
||
rel="bookmark"
|
||
title="Permalink to Les systèmes de fichiers">Les systèmes de fichiers</a>
|
||
</h1>
|
||
</header>
|
||
<div class="entry-content">
|
||
<div class="well">
|
||
<footer class="post-info">
|
||
<span class="label">Date</span>
|
||
<span class="published" title="2012-09-25T10:28:00+02:00">
|
||
<i class="icon-calendar"></i> Tue 25 September 2012
|
||
</span>
|
||
<br />
|
||
<span class="label">By</span>
|
||
<a href="file:///home/wxcafe/code/blog-source/output/author/wxcafe.html"><i class="icon-user"></i>Wxcafe</a>
|
||
<br />
|
||
<span class="label">Category</span>
|
||
<a href="file:///home/wxcafe/code/blog-source/output/category/teaching/"><i class="icon-folder-open"></i>Teaching</a>
|
||
<br />
|
||
|
||
|
||
|
||
|
||
</footer><!-- /.post-info --> </div>
|
||
<p>Un système de fichiers. Vous en avez surement déjà entendu parlé si vous
|
||
avec déjà installé Linux, ou formaté une clé USB. Dans ces cas, vous
|
||
connaissez surement NTFS, EXT4, ou encore FAT32.</p>
|
||
<p>Ces différents noms désignent en effet des systèmes de fichiers. Mais
|
||
qu'est-ce qu'un système de fichiers?</p>
|
||
<p>Pour comprendre cela, il faut déjà savoir ce qu'est exactement un
|
||
fichier. Un fichier est un ensemble de blocs (les blocs sont l'unité la
|
||
plus petite traitable par le matériel, ils font généralement 1 ou 4 Kio
|
||
(<a href="http://fr.wikipedia.org/wiki/Kibioctet#Multiples_normalis.C3.A9s">kibioctet</a>), en fonction du système de fichier utilisé.), qui est
|
||
donc composé de bits, interprétés différemment en fonction du type de
|
||
fichier. Cependant, seul, le fichier n'est pas accessible, puisqu'il
|
||
n'est pas indexé, c'est a dire que l'OS ne sait pas qu'il est présent,
|
||
ou il commence ni où il s'arrête (je schématise un peu, mais c'est
|
||
l'idée). </p>
|
||
<p>Ainsi, le système de fichier donne un cadre et un standard à
|
||
l'arborescence des fichiers. Par exemple, le système de fichier ext4
|
||
utilise des blocs de 1 Kio, et de ce fait, toutes les partitions de
|
||
disque dur formatées en ext4 peuvent prendre comme unité de base 1 Kio
|
||
et mesurer la taille des fichiers en blocs de cette façon. Les systèmes
|
||
de fichiers nécessitent l'inclusion de drivers dans le noyau pour
|
||
pouvoir être pris en compte. </p>
|
||
<p>Le noyau linux inclut par défaut les drivers pour ext2/3/4, btrfs,
|
||
reiserfs, ntfs, fat16/32 et hfsx, ce qui permet de monter a peu
|
||
près tout type de partition récente.</p>
|
||
<p>Il convient de bien faire la différence entre le système de fichier et
|
||
l'arborescence des fichiers. Si l'arborescence des fichiers est en fait
|
||
une entité virtuelle englobant la racine / et tous les fichiers et
|
||
dossiers contenus dedans, le système de fichier permet a votre système
|
||
GNU/Linux de distinguer les différents fichiers composants cette
|
||
arborescence.</p>
|
||
<p>Détaillons maintenant les types de fichiers les plus répandus:</p>
|
||
<ul>
|
||
<li>
|
||
<p>FAT16/32 : Les systèmes de fichier FAT (pour File Allocation Table,
|
||
soit la définition d'un système de fichier), remplissent leur rôle le
|
||
plus simplement possible. Ne permettant (historiquement) que des noms de
|
||
8 caractères (plus extension de trois caractères), ni chiffrement, ni
|
||
système de distinction d'utilisateurs (DOS étant un système
|
||
mono-utilisateur), Il fut décliné par microsoft en FAT16 et en FAT32,
|
||
utlisants respectivement des blocs de 16 et 32 Kio.</p>
|
||
</li>
|
||
<li>
|
||
<p>NTFS :. Le NTFS (pour New Technology File System, rapport a Windows
|
||
NT) est un système de fichier qui est apparu avec Windows XP, et qui
|
||
était une mise a jour nécessaire du FAT32 vieillissant. NTFS ajoute a
|
||
FAT différentes capacités dont le chiffrement, les liens symboliques, la
|
||
compression et les quotas pour les volumes, permettant de limiter la
|
||
taille maximum occupée dans une partition.</p>
|
||
</li>
|
||
<li>
|
||
<p>ReFS : ReFS est le système de fichiers introduit dans Windows Server 2012.
|
||
Ne différant pas énormément de NTFS, je le mentionne principalement
|
||
parce qu'il est prévu qu'il soit le défaut pour Windows 8.
|
||
Il apporte principalement la redondance, c'est a dire que chaque
|
||
fichier possède une somme de contrôle en 64 bits stockée dans un fichier
|
||
séparé pour éviter les corruption de disque.</p>
|
||
</li>
|
||
<li>
|
||
<p>Ext2/3/4 : les systèmes ext (extended) sont les systèmes de fichiers
|
||
les plus utilisés sous linux pour le grand public. (Je traiterai ici
|
||
d'ext4, puisque c'est le plus récent.) Il dispose de toutes les
|
||
fonctions que l'on peut attendre d'un système de fichiers moderne, ni
|
||
plus ni moins. Ainsi, ext4 est un système de fichiers journalisé,
|
||
acceptant les capacités jusqu’à 1 Exioctet, et utilise l'allocation dite
|
||
"par extent", ce qui signifie que la création d'un fichier réserve
|
||
automatiquement les zones contiguës de façon a réduire la fragmentation.</p>
|
||
</li>
|
||
<li>
|
||
<p>ReiserFS : ce système de fichiers, créé par le (légèrement mégalo)
|
||
programmeur Hans Reiser, est a retenir pour avoir été le premier système
|
||
de fichiers journalisé, et accepte un nombre de fichiers de l'ordre des
|
||
4 milliards. Le but de ce système est de créer un système polyvalent, a
|
||
la fois système de fichiers et base de donnée (de part sa grande
|
||
capacité en terme de nombre de fichiers et de l'utilisation d'un
|
||
journal.)</p>
|
||
</li>
|
||
<li>
|
||
<p>Btrfs : ce système est l'évolution logique d'ext4, et inclut lui aussi
|
||
l'allocation par extent, mais possède de plus un système de
|
||
sous-volumes, qui permet d’accéder a plusieurs arborescences de fichiers
|
||
montées en même temps (système pratique et utile pour faire des
|
||
snapshots de systèmes.). Il permet aussi de redimensionner a chaud la
|
||
taille des partitions, en les agrandissant ou en les rétrécissant, est
|
||
compatible avec <a href="http://fr.wikipedia.org/wiki/LVM">LVM</a>, a un système de checking intégré (btrfsck), et
|
||
utilise un algorithme de compression appelé LZ4, qui accélère les accès
|
||
aux fichiers compressés d'environ 30% par rapport a LZO, le système
|
||
utilisé dans ext4.</p>
|
||
</li>
|
||
<li>
|
||
<p>HFS+ : le système de fichier présent sur tous les macs a des capacités
|
||
relativement standards, et ressemble énormément a l'ext3. Il supporte
|
||
cependant les liens directs vers les dossiers, fonction rare sur les
|
||
systèmes de fichiers actuels. Il est possible qu'il évolue a nouveau
|
||
dans les années a venir</p>
|
||
</li>
|
||
<li>
|
||
<p>ZFS : Ce système de fichier, venu de Solaris mais utilisable par Linux
|
||
et *BSD, est, tel Btrfs, a la fois un système de fichier et un
|
||
remplaçant/compatible avec LVM, C'est un système de fichiers conçu
|
||
principalement pour les serveurs, et il intègre ainsi un système de
|
||
redondance des données pour éviter les corruptions, un mode RAID-Z
|
||
(apparenté au RAID5), des checks d’intégrité en continu, des snapshots,
|
||
etc...</p>
|
||
</li>
|
||
</ul>
|
||
<p>Comme on a pu le voir, les systèmes de fichiers disponibles sont
|
||
légions. Cependant, le plus adapté a Linux et a une utilisation grand
|
||
public aujourd'hui est probablement Btrfs. Malheureusement, ce dernier
|
||
n'est pas aujourd'hui proposé par défaut sur les distributions les plus
|
||
utilisées, au profit de l'ext4, qui commence a accuser son âge...</p>
|
||
<p>Les systèmes de fichiers, s'ils peuvent ne pas sembler primordiaux au
|
||
fonctionnement du système, sont en fait de première importance, et ce
|
||
choix ne devrait pas être laissé au hasard, et être mis a jour
|
||
régulièrement (pour éviter les failles de sécurité...)</p>
|
||
<p>Bon courage, et bon choix pour votre prochain système.</p>
|
||
</div><!-- /.entry-content -->
|
||
</article>
|
||
</section>
|
||
</div><!--/span-->
|
||
<div class="span3 well sidebar-nav" id="sidebar">
|
||
<ul class="nav nav-list">
|
||
|
||
|
||
<!-- Categories links -->
|
||
<li class="nav-header"><h4><i class="icon-folder-close icon-large"></i> Categories</h4></li>
|
||
<li>
|
||
<a href="file:///home/wxcafe/code/blog-source/output/category/hacking/">
|
||
<i class="icon-folder-open icon-large"></i>Hacking
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a href="file:///home/wxcafe/code/blog-source/output/category/language/">
|
||
<i class="icon-folder-open icon-large"></i>Language
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a href="file:///home/wxcafe/code/blog-source/output/category/notes/">
|
||
<i class="icon-folder-open icon-large"></i>Notes
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a href="file:///home/wxcafe/code/blog-source/output/category/oses/">
|
||
<i class="icon-folder-open icon-large"></i>OSes
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a href="file:///home/wxcafe/code/blog-source/output/category/programmation/">
|
||
<i class="icon-folder-open icon-large"></i>Programmation
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a href="file:///home/wxcafe/code/blog-source/output/category/ranting/">
|
||
<i class="icon-folder-open icon-large"></i>Ranting
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a href="file:///home/wxcafe/code/blog-source/output/category/teaching/">
|
||
<i class="icon-folder-open icon-large"></i>Teaching
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a href="file:///home/wxcafe/code/blog-source/output/category/tutorial/">
|
||
<i class="icon-folder-open icon-large"></i>Tutorial
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a href="file:///home/wxcafe/code/blog-source/output/category/tutoriel/">
|
||
<i class="icon-folder-open icon-large"></i>Tutoriel
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a href="file:///home/wxcafe/code/blog-source/output/category/vidya-games/">
|
||
<i class="icon-folder-open icon-large"></i>Vidya Games
|
||
</a>
|
||
</li>
|
||
<hr>
|
||
|
||
<!-- Social links -->
|
||
<li class="nav-header"><h4><i class="icon-exchange"></i> social</h4></li>
|
||
<a class="FlattrButton" style="display:none;"
|
||
title="file:///home/wxcafe/code/blog-source/output"
|
||
style="padding-top: 10px;"
|
||
rel="flattr;
|
||
url:file:///home/wxcafe/code/blog-source/output;
|
||
title:file:///home/wxcafe/code/blog-source/output;
|
||
button:compact;
|
||
popout:0;
|
||
uid:wxcafe;
|
||
category:blog;"
|
||
href="file:///home/wxcafe/code/blog-source/output">flattr</a>
|
||
<li><a href="https://twitter.com/wxcafe"><i class="icon-twitter icon-large"></i> Twitter</a></li>
|
||
<li><a href="https://github.com/wxcafe"><i class="icon-github icon-large"></i> Github</a></li>
|
||
<li><a href="mailto://wxcafe@wxcafe.net"><i class="icon-envelope icon-large"></i> Email</a></li>
|
||
<li><a href="https://data.wxcafe.net/wxcafe.asc"><i class="icon-key icon-large"></i> Gpg</a></li>
|
||
<li><a href="finger://wxcafe@wxcafe.net"><i class="icon-terminal icon-large"></i> Finger</a></li>
|
||
<li><a href="http://leloop.org/where.html"><i class="icon-map-marker icon-large"></i> IRL</a></li>
|
||
|
||
<hr>
|
||
|
||
<!-- Links -->
|
||
<li class="nav-header"><h4><i class="icon-external-link"></i> Links</h4></li>
|
||
<li><a href="https://github.com/wxcafe/blog-source"><i class="icon-code icon-large "></i> Source!</a></li>
|
||
<li><a href="http://paste.wxcafe.net"><i class="icon-paste icon-large "></i> Zerobin</a></li>
|
||
<li><a href="http://git.wxcafe.net"><i class="icon-github-sign icon-large "></i> Public Git</a></li>
|
||
<hr>
|
||
|
||
<!--- RSS feed -->
|
||
<li class="nav-header"><h4><i class="icon-rss"></i> feeds</h4></li>
|
||
<li><a href="file:///home/wxcafe/code/blog-source/output/feeds/feed.rss.xml" rel="alternate"><i class="icon-bookmark-empty icon-large"></i> RSS</a></li>
|
||
<li><a href="file:///home/wxcafe/code/blog-source/output/feeds/feed.atom.xml" rel="alternate"><i class="icon-bookmark-empty icon-large"></i> Atom</a></li>
|
||
|
||
|
||
</ul> </div><!--/.well -->
|
||
</div><!--/row-->
|
||
<hr>
|
||
<footer>
|
||
<address id="about">
|
||
Proudly powered by <a href="http://pelican.notmyidea.org/">Pelican</a>,
|
||
which takes great advantage of <a href="http://python.org">Python</a>.<br />
|
||
Powered by <a href="https://github.com/getpelican/pelican-themes/tree/master/bootstrap2">bootstrap2</a> theme, thanks!
|
||
</address>
|
||
</footer>
|
||
</div><!--/.fluid-container-->
|
||
</body>
|
||
</html> |