<?xml version="1.0" encoding="utf-8"?>

<sect1 id="mksqoverview">

<title>L'outil mksquashfs expliqué</title>

<sect2 id="mksqusing">

<title>Utilisation de mksquashfs</title>

<para>

<command>mksquashfs</command> est un outil qui permet de créer de 
nouveaux systèmes de fichiers compressés, et d'ajouter de nouvelles 
données dans des systèmes de fichiers compressés existants. Le format 
général de la ligne de commande pour <command>mksquashfs</command> est&nbsp;:

</para>

<programlisting>
bash# mksquashfs source1 source2 ... destination [options]
</programlisting>

<itemizedlist>

<listitem><para>

<filename>source1</filename>, <filename>source2</filename>, etc.&nbsp;: 
les fichiers et répertoires à ajouter au système de fichiers obtenu, 
donnés avec les chemins relatifs ou absolus, ou les deux.

</para></listitem>

<listitem><para>

<filename>destination</filename>&nbsp;: fichier ordinaire (fichier image 
d'un système de fichiers), ou un périphérique de type bloc (tel que 
<filename>/dev/fd0</filename> ou <filename>/dev/hda3</filename>) où vous 
voulez mettre votre système de fichiers compressés.

</para></listitem>

</itemizedlist>

<para>

Remarques concernant le comportement par défaut de 
<command>mksquashfs</command>&nbsp;:

<itemizedlist>

<listitem><para>

Quand on ajoute les nouveaux fichiers au nouveau système de fichiers ou 
qu'on les rajoute à un système de fichiers existant, 
<command>mksquashfs</command> va automatiquement renommer les fichiers 
avec des noms dupliqués de la façon suivante&nbsp;: si deux fichiers ou 
plus nommés <filename>text</filename> apparaissent dans le même 
répertoire, le second fichier sera renommé <filename>text_1</filename>, 
le troisième <filename>text_2</filename> et ainsi de suite.

</para></listitem>

<listitem><para>

Les fichiers dupliqués seront supprimés&nbsp;; il n'y aura donc qu'une 
seule instance physique d'un fichier (avec SquashFS 2.x, on peut 
désactiver la détection/suppression des fichiers dupliqués avec l'option 
<command>-no-duplicates</command>).

</para></listitem>

<listitem><para>

Si la <emphasis>destination</emphasis> possède déjà un système de 
fichiers compressés, par défaut, les nouveaux éléments 
<emphasis>sources</emphasis> seront ajoutés au répertoire racine existant. 
Voir les tables d'options en ci-dessous pour forcer 
<command>mksquashfs</command> à écraser par réécriture sur l'ensemble de 
la destination et/ou changer la façon dont les nouveaux éléments source 
sont ajoutés. A noter qu'il n'est pas possible d'ajouter un système de 
fichiers créé avec <command>mksquashfs</command> version 1.x en 
utilisant <command>mksquashfs</command> version 2.x. Il faudra monter le 
système de fichiers au format SquashFS 1.x et copier les fichiers au 
même endroit, puis les assembler avec les autres fichiers nécessaires 
pour créer un système de fichiers au format SquashFS 2.x.

</para></listitem>

<listitem><para>

Si un seul fichier source ou répertoire est donné, il devient la racine 
du système de fichiers nouvellement créé. Si a plus d'un fichier 
source, ils deviendront tous des sous-éléments de la racine du nouveau 
système de fichiers&nbsp;; il en sera de même pour les répertoires.

</para></listitem>

<listitem><para>

Les espaces inoccupés du système de fichiers se compléteront par blocs 
multiples de 4&nbsp;Ko&nbsp;: ceci est indispensable pour pouvoir utiliser 
les systèmes de fichiers sur des périphériques de bloc. Si vous êtes 
absolument sûr que vous n'en avez pas besoin, utilisez l'option 
<command>-nopad</command> pour désactiver cette fonctionnalité.

</para></listitem>

</itemizedlist>

</para>

<para>

Voir la section suivante pour plus d'information sur l'ensemble des 
options disponibles.

</para>

</sect2>

<sect2 id="mksqoptions">

<title>Options en lignes de commande</title>

<para>

Tableau des options pour <command>mksquashfs</command>&nbsp;:

</para>

<table frame="all">

<title>

Options en ligne de commande de l'outil <command>mksquashfs</command>

</title>

<tgroup cols="2">

<thead>
<row>
<entry>Option</entry>
<entry>Description</entry>
</row>
</thead>

<tbody>

<row>
<entry><command>-2.0</command></entry>
<entry>Force <command>mksquashfs</command> version 2.1 à créer un système de fichiers en version 2.0</entry>
</row>


<row>
<entry><command>-all-root</command> ou <command>-root-owned</command></entry>
<entry>Avec cette option, tous les fichiers du système de fichiers cible appartiendront au compte root (UID=0, GID=0)</entry>
</row>

<row>
<entry><command>-always-use-fragments</command></entry>
<entry>Divise en fragments tous les fichiers dépassant la taille d'un bloc (version 2.x uniquement, les taux de compression en seront plus élevés)</entry>
</row>

<row>
<entry><command>-b [block size]</command></entry>
<entry>Sert à définir la taille d'un bloc [block size] du système de fichiers (32&nbsp;Ko par défaut)&nbsp;; cela peut être aussi 512, 1024, 2048, 4096, 8192, 16384 ou bien 32768</entry>
</row>

<row>
<entry><command>-be</command> ou <command>-le</command></entry>
<entry>Force un système de fichiers, respectivement, en big endian ou en little endian</entry>
</row>

<row>
<entry><command>-check-data</command></entry>
<entry>Active des vérifications supplémentaires du système de fichiers</entry>
</row>

<row>
<entry><command>-e [file1] ( [file2] ... )</command></entry>
<entry>Spécifie les fichiers et/ou répertoires sont à ne pas mettre dans le nouveau système de fichiers qui va être crée</entry>
</row>

<row>
<entry><command>-ef [file]</command></entry>
<entry>Spécifie un <filename>fichier</filename> qui contient la liste des fichiers/répertoires à exclure</entry>
</row>

<row>
<entry><command>-force-gid [GID]</command></entry>
<entry>Met tous les identifiants de groupe du système de fichier cible à la valeur [GID] (peut être spécifié avec un nom ou un nombre)</entry>
</row>

<row>
<entry><command>-force-uid [UID]</command></entry>
<entry>Met tous les identifiants d'utilisateur du système de fichier cible à la valeur [UID] (peut être spécifié avec un nom ou un nombre)</entry>
</row>

<row>
<entry><command>-info</command></entry>
<entry>Affiche les fichiers, leurs tailles originales et le taux de compression, tels qu'ils ont été ajoutés dans le système de fichiers</entry>
</row>

<row>
<entry><command>-keep-as-directory</command></entry>
<entry>Si la source est un répertoire unique, force ce répertoire à devenir un sous-répertoire de la racine du système de fichiers créé</entry>
</row>

<row>
<entry><command>-noappend</command></entry>
<entry>Avec cette option, si le fichier/périphérique de destination contient déjà un système de fichiers compressés, il sera écrasé, et les nouvelles données ne seront donc pas rajoutées dans le système de fichiers existant</entry>
</row>

<row>
<entry><command>-no-duplicates</command></entry>
<entry>Ne détecte/ni ne supprime les noms de fichiers dupliqués</entry>
</row>


<row>
<entry><command>-noD</command> ou <command>-noDataCompression</command></entry>
<entry>Ne compresse pas les données</entry>
</row>

<row>
<entry><command>-noF</command> ou <command>-noFragmentCompression</command></entry>
<entry>Ne compresse pas les fragments de fichier (versions 2.x uniquement)</entry>
</row>

<row>
<entry><command>-no-fragments</command></entry>
<entry>Ne génère pas de blocs en fragments (versions 2.x uniquement, on aura alors pratiquement le même système de fichiers qu'avec les versions 1.x)</entry>
</row>

<row>
<entry><command>-noI</command> ou <command>-noInodeCompression</command></entry>
<entry>Ne compresse pas la table d'inodes</entry>
</row>

<row>
<entry><command>-nopad</command></entry>
<entry>Pour supprimer le remplissage du système de fichiers par blocs en multiples de 4&nbsp;Ko</entry>
</row>

<row>
<entry><command>-root-becomes [nom]</command></entry>
<entry>Peut être utilisé pendant l'ajout à un système de fichiers déjà existant&nbsp;: cela créera un nouveau compte root, et le répertoire [nom] contiendra tous les fichiers/répertoires déjà existants
</entry>
</row>

<row>
<entry><command>-version</command></entry>
<entry>Affiche un message avec la version, les droits et la licence</entry>
</row>

</tbody>

</tgroup>

</table>

<para>

Dans la plupart des cas, vous devrez laisser toutes les options de 
compression/bloc par défaut, car elles permettent à 
<command>mksquashfs</command> de réaliser les meilleurs taux de 
compression possibles.

</para>

</sect2>

</sect1>

Site hébergé sur un Cloud Public IKOULA Ikoula