Учебное пособие: циклические файловые системы

Что такое циклическая файловая система?

Gnu / Linux (и подавляющее большинство систем unix) имеет механизм, который позволяет монтировать файл (предварительно отформатированный), как если бы это был жесткий диск, обычно без таблицы разделов. Эта дрянная диаграмма (сделанная мной) объясняет, как работает этот механизм.

Блок-схема, которая примерно объясняет работу файлов циклов в GNU / linux.

** Не полностью отражает фактическую работу.

Использование файлов петель

1- Файлы Mount.iso

Файлы .iso, стандартные по преимуществу на компакт-дисках и DVD, представляют собой не что иное, как файл цикла, файловая система которого может быть изменена. ISO 9960 (чаще встречается на компакт-дисках) или UDF (наиболее часто встречается на DVD). Чтобы смонтировать его, воспользуемся командой mount.

mkdir iso # создать каталог chmod -R 666 iso # предоставить всем пользователям разрешение на чтение mount image.iso iso / # монтировать iso-образ (требуется root)

У вас есть ограничение: по очевидным причинам обе файловые системы доступны только для чтения.

2- только для чтения squashfs

Предположим, у нас есть папка с изображениями и / или видео, организованная по году, в котором они были сняты. Очевидно, что маловероятно, что мы захотим изменить данные, содержащиеся в папках за предыдущие годы. Вот где на помощь приходит Squashfs. Squashfs - это сжатая файловая система, доступная только для чтения, поэтому после создания образа мы не сможем изменить данные внутри.

Таким образом, не только мы сэкономим огромное количество места, но и любопытный эффект, который чтение файлов будет быстрееиз-за необходимости читать файлы меньшего размера, поскольку в настоящее время распаковка файла является минимальным усилием для большинства процессоров.

Оставляя преамбулы, чтобы создать образ squashfs, мы должны использовать команду mksquashfs, синтаксис которой прост:

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

А вот практический пример:

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

Итак, выбранный алгоритм - xz, поскольку именно он более высокая степень сжатия предложения (из имеющихся), при этом размер выбранного блока является максимальным. какие позволяет улучшить результаты сжатия (по умолчанию это 64КиБ).

Теперь мы сможем смонтировать его с помощью простого;

mount fotos_2009-2013.sqsfs fotos_2009-2013/

Убедившись, что все правильно, мы можем удалить исходные файлы или оставить файл в качестве резервной копии.

Если мы хотим, чтобы он монтировался при запуске ОС, мы должны добавить строку этого стиля в / etc / fstab:

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

Если ввести неверные данные в файл / etc / fstab, система перестанет загружаться. Чтобы убедиться, что все работает правильно, мы можем использовать команду гора -а

Что происходит, когда мы хотим добавить или удалить файлы или просто извлечь эти снимки? Что ж, у нас есть команда команда несквошфс.

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

По умолчанию он будет использовать "squashfs-root" в качестве каталога для извлечения. можно изменить с помощью опции -d

Помимо этого примера, squashfs также используется в:

  • livecd
  • Встроенные системы
  • Сервера
  • В общем, любая система только для чтения

3- «Аварийный своп»

Представьте, что по какой-то причине (гибернация, массивные компиляции ...) вам нужен дополнительный своп. Здесь в игру вступает файл цикла, первый шаг - создать пустой файл определенного размера с определенным размером блока, мы делаем это с помощью команды дд:

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

dd в чужих руках хуже обезьяны с дробовиком. Подумайте, прежде чем нажимать ввод

В этом случае размер блока составляет один МиБ, а размер файла - 512 МБ. Так быть не должно.

Создаем и активируем своп с помощью этой команды

mkswap loop && swapon loop

Имейте в виду, что производительность файла цикла всегда несколько ниже, чем у реального физического.

4-делай что хочешь

Это лишь некоторые из наиболее характерных примеров, не стесняйтесь экспериментировать с chroot, системами шифрования, вложенными циклами ... Ваши возможности безграничны. Но будьте осторожны с командами, которые вы запускаете, подумайте, прежде чем нажимать ввод.

Интересные ссылки


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Illukki сказал

    Хороший пост че !! У меня есть несколько гигантских резервных копий, и мне никогда не приходило в голову их сжать. Я собираюсь использовать это, и, кстати, я зашифрую свой внешний, чтобы заполнить его, а затем я вспомнил, что собирался зашифровать его 🙁

  2.   Зиг84 сказал

    Интересно попробовать сквошфс

  3.   Мануэль Р сказал

    Хороший учебник, я читал, как создавать файлы img с помощью dd и монтировать их, но не знал, как использовать Squashfs и его сжатие; Хотя он не позволяет изменять его содержимое, его использование может быть полезно в таких ситуациях, как те, которые вы комментируете. Спасибо, что поделились, привет.

  4.   демонстрация сказал

    Очень приятно знать, спасибо за совет.

  5.   Хоакин сказал

    Вы всегда узнаете что-то новое. Превосходно!

  6.   не из бруклин сказал

    Забавно, я знал squashfs и для чего они нужны, но мне никогда не приходило в голову сжимать свои изображения. Спасибо за совет.

  7.   HO2Gi сказал

    Впечатляет, давай попробуем посмотреть, в чем дело, очень хороший совет

  8.   Роберт сказал

    отличный туто !!! =)… Очень хорошие чаевые !!!

  9.   Отвратительный сказал

    Привет, роадер. Очень интересная статья, спасибо, что поделились.

  10.   Эссау сказал

    В Gentoo вам нужно включить поддержку SquashFS в ядре перед его компиляцией, я протестирую его, чтобы посмотреть, как это работает. Спасибо.

    1.    Эссау сказал

      протестировано на Gentoo, компилируя для него ядро, и отлично.
      Исправь небольшую опечатку, роадер.

      В примере:

      Фотографии mksquashfs-2009 фото-2010 фото-2011 фото-2012 фото-2013 фото_2009-2013.sqsfs -comp xz -bs 1M

      оставьте s в "-bs" (который определяет размер блока), это должно выглядеть так:

      Фотографии mksquashfs-2009 фото-2010 фото-2011 фото-2012 фото-2013 фото_2009-2013.sqsfs -comp xz -b 1M