Підручник: Циклічні файлові системи

Що таке файлова система циклу?

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 ми повинні використовувати команду 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 призведе до припинення завантаження системи. Щоб переконатися, що все працює правильно, ми можемо скористатися командою mount -a

Тепер, що відбувається, коли ми хочемо додати або видалити файли, або просто витягти ці знімки? Ну, у нас є команда команда несквоффи.

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

За замовчуванням він використовуватиме "squashfs-root" як каталог вилучення. можна змінити за допомогою параметра -d

Окрім цього прикладу, squashfs також використовується в:

  • Живі диски
  • Вбудовані системи
  • Сервери
  • Загалом, будь-яка система лише для читання

3- «Аварійний обмін»

Уявіть, що з будь-якої причини (сплячий режим, масові компіляції ...) вам потрібен додатковий обмін. Тут починає діяти файл циклу, першим кроком є ​​створення порожнього файлу певного розміру з певним розміром блоку, ми робимо це за допомогою команди dd:

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

dd в чужих руках гірше мавпи з рушницею. Подумайте, перш ніж натискати клавішу Enter

У цьому випадку блок становить один Мб, а розмір файлу - 512 Мб. Це не повинно бути таким чином.

За допомогою цієї команди ми створюємо та активуємо обмін

mkswap loop && swapon loop

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

4-роби те, що хочеш

Це лише деякі найбільш характерні приклади, сміливо експериментуйте з chroots, системами шифрування, вкладеними циклами ... Ваші можливості безмежні. Але будьте обережні з командами, які ви виконуєте, добре подумайте перед натисканням клавіші Enter.

Цікаві посилання


Залиште свій коментар

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

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   ілюккі - сказав він

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

  2.   sieg84 - сказав він

    Цікаво спробувати річ сквош

  3.   Мануель Р - сказав він

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

  4.   демонстрація - сказав він

    Дуже добре знати, дякую за пораду.

  5.   Хоакін - сказав він

    Ви завжди дізнаєтесь щось нове. Відмінно!

  6.   не з Брукліну - сказав він

    Це смішно, я знав сквош-файли та те, для чого вони потрібні, але мені ніколи не спало на думку стискати свої образи. Дякую за підказку.

  7.   HO2Gi - сказав він

    Вражаюче, спробуймо побачити, що там, дуже хороша порада

  8.   Роберт - сказав він

    відмінне Tuto !!! =) ... Дуже хороша порада !!!

  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