Tutoriel: Systèmes de fichiers en boucle

Qu'est-ce qu'un système de fichiers en boucle?

Gnu / Linux (et la grande majorité des systèmes unix) dispose d'un mécanisme qui permet de monter un fichier (préalablement formaté) comme s'il s'agissait d'un disque dur, généralement sans table de partition. Ce diagramme merdique (réalisé par moi) explique comment ce mécanisme fonctionne.

Organigramme qui explique (grosso modo) le fonctionnement des fichiers de boucles dans GNU / linux.

** Ne représente pas entièrement le fonctionnement réel.

Utilisations des fichiers de boucle

1- Fichiers Mount.iso

Les fichiers .iso, le standard par excellence sur les CD et DVD, n'est rien d'autre qu'un fichier en boucle dont le système de fichiers peut être ISO 9960 (plus courant sur les CD) ou UDF (le plus courant sur les DVD). Pour le monter, nous utiliserons la commande mount.

mkdir iso # crée le répertoire chmod -R 666 iso # accorde à tous les utilisateurs l'autorisation de lecture mount image.iso iso / # monte l'image iso (nécessite root)

La limitation que vous avez est que, pour des raisons évidentes, les deux systèmes de fichiers sont en lecture seule.

2- Squashfs en lecture seule

Supposons que nous ayons un dossier d'images et / ou de vidéos organisé en fonction de l'année de prise de vue. De toute évidence, il est peu probable que l'on souhaite modifier les données contenues dans les dossiers des années précédentes. C'est là que Squashfs entre en jeu. Squashfs est un système de fichiers compressé en lecture seule, donc une fois l'image créée, nous ne pourrons pas modifier les données à l'intérieur.

Ainsi, non seulement nous économiserons énormément d'espace, mais il y aura aussi le curieux effet que la lecture des fichiers sera plus rapide, en ayant à lire des fichiers plus petits, car de nos jours, décompresser un fichier est un effort minimum pour la plupart des processeurs.

En sortant des préambules, pour créer l'image squashfs il faut utiliser la commande mksquashfs, dont la syntaxe est simple:

mksquashfs directorio 1 [directorio 2 directorio 3...] imagen.sqsfs -comp [algoritmo de compresión] -b [tamaño del bloque ]

Et voici un exemple pratique:

mksquashfs fotos-2009 fotos-2010 fotos-2011 fotos-2012 fotos-2013 fotos_2009-2013.sqsfs -comp xz -bs 1M

Eh bien, l'algorithme choisi est xz puisque c'est celui qui taux de compression plus élevé offres (parmi celles disponibles), tandis que la taille de bloc choisie est le maximum. ce que permet de meilleurs résultats de compression (par défaut, ils sont de 64 Ko).

Maintenant, nous devrions pouvoir le monter avec un simple;

mount fotos_2009-2013.sqsfs fotos_2009-2013/

Après avoir vérifié que tout est correct, nous pouvons supprimer les fichiers originaux ou laisser le fichier en tant que sauvegarde.

Si nous voulons qu'il soit monté au démarrage du système d'exploitation, nous devons ajouter une ligne de ce style dans le fichier / etc / fstab:

/dir/loop.sqsh /dir/mountdir squashfs ro,defaults 0 0

La saisie de données incorrectes dans le fichier / etc / fstab entraînera l'arrêt du démarrage du système. Pour nous assurer que tout fonctionne correctement, nous pouvons utiliser la commande monter -a

Maintenant, que se passe-t-il lorsque nous voulons ajouter ou supprimer des fichiers, ou simplement extraire ces instantanés? Eh bien, nous avons la commande la commande unsquashfs.

unsquashfs [opciones] snapshot.sqfs [Directorios o archivos que extraer]

Par défaut, il utilisera "squashfs-root" comme répertoire d'extraction. peut être changé avec l'option -d

En dehors de cet exemple, squashfs est également utilisé dans:

  • CD en direct
  • Systèmes embarqués
  • Servidores
  • En général, tout système en lecture seule

3- «Échange d'urgence»

Imaginez que pour une raison quelconque (hibernation, compilations massives ...) vous avez besoin d'un échange supplémentaire. C'est là que le fichier de boucle entre en jeu, la première étape est de créer un fichier vide d'une certaine taille, avec une certaine taille de bloc, nous le faisons avec la commande jj:

dd if=/dev/zero of=loop bs=1M count=512

dd entre de mauvaises mains est pire qu'un singe avec un fusil de chasse. Réfléchissez avant d'appuyer sur Entrée

Dans ce cas, le bloc est d'un Mio et la taille du fichier est de 512 Mo. Ca ne doit pas forcément être comme ca.

Nous créons et activons le swap avec cette commande

mkswap loop && swapon loop

Gardez à l'esprit que les performances d'un fichier en boucle sont toujours légèrement inférieures à celles d'un fichier physique réel.

4-Fais ce que tu veux

Ce ne sont là que quelques-uns des exemples les plus caractéristiques, n'hésitez pas à expérimenter avec des chroots, des systèmes de cryptage, des boucles imbriquées… Vos possibilités sont illimitées. Mais soyez prudent avec les commandes que vous exécutez, réfléchissez bien avant d'appuyer sur Entrée.

Liens d'intérêt


11 commentaires, laissez le vôtre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   illukki dit

    Bon post che !! J'ai des sauvegardes gigantesques là-bas et je n'ai jamais pensé à les compresser. Je vais l'utiliser et en passant, je crypte mon externe pour le remplir, puis je me suis souvenu que j'allais le crypter 🙁

  2.   sieg84 dit

    Intéressant d'essayer le truc squashfs

  3.   Manuel R . dit

    Bon tutoriel, j'avais lu comment créer des fichiers img avec dd et les monter, mais je ne connaissais pas l'utilisation de Squashfs et sa compression; Bien qu'il ne permette pas de modifier son contenu, son utilisation peut être utile dans des situations telles que celles que vous commentez. Merci pour le partage, salutations.

  4.   demo dit

    Très bon à savoir, merci pour le conseil.

  5.   Joaquin dit

    Vous apprenez toujours quelque chose de nouveau. Excellent!

  6.   pasdebrooklyn dit

    C'est drôle, je connaissais les squashfs et à quoi ils servent, mais je n'avais jamais pensé à compresser mes images. Merci pour le conseil.

  7.   HO2Gi dit

    Impressionnant, essayons-le pour voir ce qui se passe, très bon conseil

  8.   Robert dit

    excellent tuto !!! =)… Très bon conseil !!!

  9.   Phorieux dit

    Bonjour roader. Article très intéressant, merci pour le partage.

  10.   Essau dit

    Dans Gentoo, vous devez activer le support SquashFS dans le noyau avant de le compiler, je vais le tester pour voir comment cela fonctionne. Je vous remercie.

    1.    Essau dit

      testé sur Gentoo compilant le noyau pour cela et excellent.
      Corrigez juste une petite faute de frappe, roader.

      Dans l'exemple:

      mksquashfs photos-2009 photos-2010 photos-2011 photos-2012 photos-2013 photos_2009-2013.sqsfs -comp xz -bs 1M

      épargnez le s dans "-bs" (qui détermine la taille du bloc), cela devrait ressembler à ceci:

      mksquashfs photos-2009 photos-2010 photos-2011 photos-2012 photos-2013 photos_2009-2013.sqsfs -comp xz -b 1M