このページは大阪弁化フィルタによって翻訳生成されたんですわ。

翻訳前ページへ


Guide pratique SquashFS

Guide pratique SquashFS

Version fran?aise du SquashFS HOWTO

Adaptation fran?aise?: Matthieu Thomassin

Relecture de la version fran?aise?: Yvon Benoist

Pr?paration de la publication de la v.f.?: Jean-Philippe Gu?rard

1.7.fr.1.0

2008-03-06

Historique des versions
Version 1.7.fr.1.02008-03-06MT, YB, JPG
Premi?re adaptation fran?aise.
Version 1.72005-03-25AP
Changements selon la version 2.1 de SquashFS.
Version 1.62004-11-10AP
Changements selon la version 2.0 de SquashFS. Corrections dans le texte.
Version 1.52004-06-07AP
Changements selon la version 2.0 alpha de SquashFS. Beaucoup de descriptions am?lior?es et clarifi?es. D?coupage des instructions pour le noyau Linux 2.6.x (nouveau) et les versions 2.4.x.
Version 1.12004-05-22AP
Changements selon la version 1.3r3 de SquashFS.
Version 1.02004-02-19AP
Version initial, revu par LDP.
Version 0.22003-12-08AP
Corrections du texte, licence ajout?e.
Version 0.12003-11-24AP
Version initial. Instructions pour la version 1.3r2 de SquashFS.

R?sum?

Ce guide pratique d?crit l'utilisation de SquashFS ― un syst?me de fichier en lecture seule hautement compress? pour Linux, qui est pr?vu pour ?tre utilis? dans des syst?mes embarqu?s et de petite taille, et partout o? on peut avoir besoin d’utiliser un syst?me de fichier compress?. Avec ce document, vous allez apprendre comment pr?parer un noyau Linux ? l'utilisation de SquashFS, cr?er un syst?me de fichier compress? et l'utiliser en toute s?r?nit?.


Table des mati?res

1. Qu'est-ce que SquashFS
1.1. Introduction
1.2. Aper?u de SquashFS
1.3. Mettons cela au clair
2. On se pr?pare pour SquashFS
2.1. Acquisition de SquashFS
2.2. Pr?paration d’un noyau compatible SquashFS
2.3. Compilation de l'outil mksquashfs
3. L'outil mksquashfs expliqu?
3.1. Utilisation de mksquashfs
3.2. Options en lignes de commande
4. Cr?ation et utilisation des syst?mes de fichiers compress?s
4.1. ?tapes principales
4.2. Compression des syst?mes de fichiers
4.3. Cr?ation de micro-syst?mes incorpor?s/minuscules
5. Remerciements
6. Licence

Lors de la cr?ation de syst?mes Linux de petite taille et embarqu?s, chaque octet du p?riph?rique de stockage (disquette, disque ? m?moire flash, etc.) est tr?s important, ainsi la compression est utilis?e partout o? elle est possible. En outre, des syst?mes de fichiers compress?s sont fr?quemment n?cessaires pour l'archivage. Pour les tr?s grosses archives publiques, ainsi que pour les archives sur support personnel, elle est essentielle.

Avec SquashFS, on passe ? un niveau sup?rieur. C'est un syst?me de fichier en lecture seule qui permet de compresser l'int?gralit? d'un syst?me de fichiers ou un r?pertoire unique, les ?crire sur d'autres p?riph?riques/partitions ou vers des fichiers ordinaires, pour ensuite les monter directement (si c'est un p?riph?rique) ou en utilisant un dispositif en local (s'il s'agit d'un fichier). Par sa conception compacte et modulaire, le syst?me SquashFS n'est que pur bonheur. Pour l'archivage, SquashFS offre une souplesse et des performances beaucoup plus grandes qu'une archive .tar.gz.

SquashFS est distribu?e comme correctif applicable sur le noyau source de Linux (qui active dans le support de SquashFS dans le noyau), et l'outil mksquashfs, qui cr?e un syst?me de fichiers compress? (dans un fichier ou un p?riph?rique d’entr?e-sortie par blocs).

La derni?re version de SquashFS est la 2.x, la premi?re ?tant la 1.x. Ce document d?crit les deux versions avec des notes donn?es propres ? l'une ou l'autre. Par exemple, s’il y a des caract?ristiques ou param?tres diff?rents entre ces versions, ce sera ?crit de cette fa?on?: nouvelle valeur (2.x) ou ancienne valeur (1.x)

Le site principal de SquashFS est bas? ? l'adresse http://squashfs.sourceforge.net/?; il contient les informations pour les derni?res versions et la liste des changements apport?s, ainsi que les informations g?n?rales sur SquashFS. On peut obtenir la derni?re version de SquashFS en allant sur la page du projet SquashFS de SourceForge.

Pour pouvoir l’utiliser, SquashFS doit ?tre support? dans votre noyau, exactement comme s’il s’agissait d’un syst?me de fichiers reiserfs ou ext3 . Il faut s'assurer qu'il existe un correctif appropri? pour la version de votre noyau?; il devrait ?tre dans le sous-r?pertoire linux-2.x.y de l'arborescence de SquashFS. En outre, rappelez vous que dans la plupart des cas vous aurez besoin d'un noyau source Linux propre (original) r?cup?rer sur kernel.org. Si votre noyau source vient d’un revendeur de distribution, il aura peut-?tre ?t? pr?-corrig? par le revendeur, et l’application du correctif de SquashFS ne donnera tr?s certainement aucun r?sultat, car les correctifs SquashFS sont faits par rapport aux noyaux Linux d’origine

mksquashfs 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 mksquashfs est?:

bash# mksquashfs source1 source2 ... destination [options]

Remarques concernant le comportement par d?faut de mksquashfs?:

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

Tableau des options pour mksquashfs?:

Tableau?1.? Options en ligne de commande de l'outil mksquashfs

OptionDescription
-2.0Force mksquashfs version 2.1 ? cr?er un syst?me de fichiers en version 2.0
-all-root ou -root-ownedAvec cette option, tous les fichiers du syst?me de fichiers cible appartiendront au compte root (UID=0, GID=0)
-always-use-fragmentsDivise 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)
-b [block size]Sert ? d?finir la taille d'un bloc [block size] du syst?me de fichiers (32?Ko par d?faut)?; cela peut ?tre aussi 512, 1024, 2048, 4096, 8192, 16384 ou bien 32768
-be ou -leForce un syst?me de fichiers, respectivement, en big endian ou en little endian
-check-dataActive des v?rifications suppl?mentaires du syst?me de fichiers
-e [file1] ( [file2] ... )Sp?cifie les fichiers et/ou r?pertoires sont ? ne pas mettre dans le nouveau syst?me de fichiers qui va ?tre cr?e
-ef [file]Sp?cifie un fichier qui contient la liste des fichiers/r?pertoires ? exclure
-force-gid [GID]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)
-force-uid [UID]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)
-infoAffiche les fichiers, leurs tailles originales et le taux de compression, tels qu'ils ont ?t? ajout?s dans le syst?me de fichiers
-keep-as-directorySi 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??
-noappendAvec 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
-no-duplicatesNe d?tecte/ni ne supprime les noms de fichiers dupliqu?s
-noD ou -noDataCompressionNe compresse pas les donn?es
-noF ou -noFragmentCompressionNe compresse pas les fragments de fichier (versions 2.x uniquement)
-no-fragmentsNe 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)
-noI ou -noInodeCompressionNe compresse pas la table d'inodes
-nopadPour supprimer le remplissage du syst?me de fichiers par blocs en multiples de 4?Ko
-root-becomes [nom]Peut ?tre utilis? pendant l'ajout ? un syst?me de fichiers d?j? existant?: cela cr?era un nouveau compte root, et le r?pertoire [nom] contiendra tous les fichiers/r?pertoires d?j? existants
-versionAffiche un message avec la version, les droits et la licence

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

Les op?rations d?crites ici correspondent ? la plupart des cas o? le syst?me de fichiers en lecture seule peut ?tre utilis?, que vous le vouliez sur un p?riph?rique de bloc ou dans un fichier. Il pourra s'agir tout aussi bien des immenses archives FTP/HTTP qui ne changent pas souvent, que l'obtention d'une partition compress?e /usr et toute chose du m?me genre.

En disant "incorpor?s/minuscules", je veux parler de syst?mes Linux construits pour d?marrer ? partir de disquettes, de disque IDE/USB ? m?moire flash, de CD-ROM iso-9660, de petits disques durs et autres. Que vous vouliez avoir votre syst?me de fichiers racine en entier sur un support unique (une seule partition, une seule disquette), ou avoir un syst?me modulaire (plusieurs disquettes ou partitions de disques), la proc?dure est presque identique. La cr?ation des syst?mes Linux en question n'entre pas dans le cadre de ce Guide Pratique?; il existe des guides pratiques et autres qui y sont consacr?s (comme le Bootdisk HOWTO et Linux From Scratch?; visitez http://www.tldp.org pour r?cup?rer ces documents).

Pour utiliser SquashFS pour la cr?ation de syst?mes Linux sur des petits disques, vous n'avez juste qu'? suivre les ?tapes habituelles de cr?ation d'un syst?me minimal, en ex?cutant les op?rations suivantes au moment o? c'est n?cessaire?:

Exemple avec la disquette. Disons que vous avez l'arborescence de votre syst?me de disquettes dans /home/user/floppylinux et que vous voulez placer le syst?me de fichiers racine sur l'une d'entre elles et /usr sur une autre. Voici ce que vous devrez faire?:

bash# cd /home/user
bash# mksquashfs floppylinux root.sqsh -e usr
bash# mksquashfs floppylinux/usr usr.sqsh
[Note]Note

Vous voyez ici comment nous utilisons l'option -e pour exclure le r?pertoire /usr pour l'image des syst?mes de fichiers racine.

[Note]Note

N'oubliez pas de sp?cifiez squashfs dans le /etc/fstab de votre disque racine ou dans les scripts de d?marrage lorsque vous montez le syst?me de fichiers /usr.

Ins?rez un disque racine dans votre lecteur de disquettes 3,5" (je suppose que vous avez lilo ou grub dessus et que, donc, un syst?me de fichiers existe sur cette disquette, et le syst?me de fichier racine sera sous le r?pertoire /boot de ce syst?me de fichiers)?:

bash# mount /mnt/floppy
bash# cp root.sqsh /mnt/floppy/boot

Quand c'est fait, d?montez la disquette racine, remplacez la disquette par un disque /usr et utilisez dd pour transf?rer le syst?me de fichiers usr?:

bash# dd if=usr.sqsh of=/dev/fd0

Je souhaiterais exprimer mes sinc?res remerciements et mon immense respect ??:

Ce document peut ?tre utilis? et distribu? selon les termes et conditions ?tablies en avant dans la licence Open Content. Pour faire court, cela signifie que vous pouvez librement modifier et re-distribuer ce Guide Pratique ? condition expresse que vous y conserviez int?gralement l'auteur et les droits. Le texte complet de la licence est disponible sur http://www.opencontent.org/opl.shtml