Filesystem squashfs чем открыть
Это HOWTO описывает использование SquashFS — высоко сжатой файловой системы только-для-чтения для Linux, которая предназначена для использования в очень маленьких и встроенных системах, где хотелось бы использовать сжатую файловую систему. С этим документом вы узнаете как подготовить Linux-ядро для SquashFS, создать сжатую файловую систему и успешно пользоваться ей.
Подготовка совместимого со SquashFS ядра
Сжатие файловых систем
Программы, обслуживающие файл SQUASHFS
Windows
Linux
Опции командной строки
Все возможные опции для mksquashfs представлены в таблице ниже.
Таблица 1. Опции командной строки инструмента mksquashfs
В большинстве случаев нужно оставить все опции сжатия/блоков по умолчанию, поскольку они позволяют mksquashfs достигать наилучших возможных степеней сжатия.
Пример 2
Предположим, что у нас есть два раздела жесткого диска, /dev/hda6 (который пуст) и /dev/hda7 (который больше, чем /dev/hda6 , установлен в /at/arch , содержит те же данные и полон). Теперь скажем, мы хотим сжать файловую систему /dev/hda7 и переместить ее в /dev/hda6 , потом использовать /dev/hda7 для каки-то других целей. Мы предположим, что у нас будет следующая строка в /etc/fstab (reiserfs это просто пример файловой системы, используемой на /dev/hda7 ):
И точно таким же образом, как с предыдущим примером:
Если все прошло хорошо, извлекаем /dev/hda7 (если нужно) и используйте dd чтобы копировать var/arch/sqsh в /dev/hda6 :
Теперь изменим строку в /etc/fstab для /dev/hda7 на:
Установим новую файловую систему и проверим, все ли прошло хорошо:
Не забудем стереть ненужный образ файловой системы:
Приобретение SquashFS
Инсталляция и тестирование ядра
Теперь пора инсталлировать ваше новое ядро с возможностью работы SquashFS. Инструкции ниже для инсталляции и начальной загрузки ядра на хостовой машине.
Мы исходим из того, что ядро было компилировано на x.86 архитектуре, и что сжатый образ ядра находится в arch/i386/boot/ субдиректории дерева ядра. Теперь скопируем ядро в директорию /boot (и назовем для удобства bzImage-sqsh ):
Не забудем инсталлировать модули ядра, если они у вас есть:
Модифицируем конфигурацию файла начального загрузчика, чтобы он включал теперь наше новое ядро и инсталлируем (обновляем) начальный загрузчик. Теперь можно перезагрузиться с новым ядром. Когда оно запустится, проверим, что все прошло правильно:
Или, если установили поддержку SquashFS в качестве модульного ядра:
Если видим строку squashfs над другими файловыми системами, это означает, что SquashFS успешно внедрена в ядро.
Основные шаги
Для того, чтобы создать сжатую файловую систему из одной директории (скажем, /some/dir ( какая-то/директория )) и вывести ее в обычный файл (таким образом продуцируя образ файловой системы), нужно сказать только одну волшебную фразу:
mksquashfs начнет сжимать и печатать получаемое число узлов и размер записанных данных, так же, как среднюю степень сжатия. Теперь у нас есть образ директории /some/dir в файле dir.sqsh . Теперь можно использовать команду установки, чтобы установить ее используя устройство закольцовки:
Чтобы проверить, получилось ли то, что ожидали:
Если мы хотим вывести файловую систему непосредственно в устройство (скажем, дискета на /dev/fd0 ):
Затем просто установим устройство:
И проверим, все ли в порядке:
Создание маленьких/встроенных систем
Использование mksquashfs
mksquashfs — это инструмент для создания новых «сквошенных» файловых систем и для добавления новых данных в уже существующие сквошенные файловые системы. Основной вид командной строки для mksquashfs:
source1, source2 и т. д. файлы и директории, которые должны быть в итоге добавлены в полученную файловую систему с относительными и/или абсолютными путями destination обычный файл (файловая система, образ файла) или блочное устройство (такое как /dev/fd0 или /dev/hda3 ), куда мы хотим поместить свою сжатую файловую систему.
Заметки по работе mksquashfs по умолчанию:
Когда новые файлы добавляются в новую файловую систему или присоединяются к уже существующей, mksquashfs будет автоматически переименовывать файлы с одинаковыми именами: если два или более файла с названием text появятся в одной полученной директории, второй файл будет переименован в text_1 , третий в text_2 и т. д.
Идентичные файлы будут удалены, поэтому будет оставаться только один физический экземпляр (в SquashFS 2.x можно отменить поиск/удаление копий с опцией --no-duplicates).
Если в пункте назначения уже есть существующая SquashFS по умолчанию, новые пункты будут добавлены в существующую ветвь директорий. Необходимо проверить список опций ниже, чтобы заставить mksquash переписать пункт назначения полностью и/или изменить его таким образом, чтобы добавить новые элементы исходных текстов. Пожалуйста обратите внимание, что невозможно присоединять записи к файловой системе, созданной с mksquashfs1.x используя mksquashfs2.x. Для этого понадобится установить SqyashFS-1.x файловую систему и скопировать файлы куда-нибудь, а затем присоединить их с другими нужными файлами, чтобы создать файловую систему SquashFS-2.x.
Если даны один файл исходных текстов или директория, они становятся ветвью в заново созданной файловой системе. Если даны два или более файлов исходников и/или директорий, они все станут подпунктами в ветви новой файловой системы.
Полученная в результате файловая система будет упакована во множество пакетов 4 Кб: это необходимо для файловых систем, используемых в блочных устройствах. Если вы абсолютно уверены, что вам это не понадобится, используйте опцию --nopadoption, чтобы отменить эту операцию.
Смотрите следующий раздел с более подробным описанием всех возможных опций.
Сжатые файловые системы на CD-ROM
Посредством SquashFS можно сжимать большие файловые системы, что может быть использовано в CD дисках (просто как пример).
Запустите SquashFS в Linux-ядре целевой системы. Создаем сжатую корневую файловую систему. Изменяем начальные скрипты /etc/fstab целевой системы чтобы установить сжатую файловую систему, когда она нам понадобится.
Если мы создаем корневую файловую систему из запущенной Linux-системы, используем опцию -e , чтобы mksquashfs исключил все псевдо-файловые системы, такие, как /proc , /sys (на Linux-ядре после 2.5x) и /dev (когда используется DevFS). Также не забываем добавить сам образ ядра файловой системы который создается вместе с mksquashfs (Предполагается, что вы знаете причины для этих исключений).
Я бы хотел выразить мою искреннюю благодарность и безмерное уважение:
Phillip Lougher — за его блестящую работу по squashfs, за создание эксклюзивного патча для linux-2.4.18, за его помощь в редактировании этого howto и ответы на мои письма.
Tabatha Marshall из TLDP Проекта Документации Linux за помощь мне написании этого HOWTO финального выпуска 1.0.
Всех из Проекта Документации Linux за их великолепную работу над всеми HOWTO и гидами, которые сильно помогли мне в исследовании и изучении тонкостей Linux.
Всех из рассылочных листов Проекта Документации Linux, которые помогли мне начать.
Бесконечная благодарность и уважение всем, кто развивает открытый для использования софт.
здравствуйте друзья! Есть Squashfs, само собой режим read only. Надо взять распаковать, поменять пару строчек текста и запаковать обратно. Как правильно это сделать?
Меняю пару строчек, при этом удаляю столько же символов Комментов, т.е файл больше стать не должен. упаковываю так
в итоге почему-то получается объём больше на 2 мб, почему.
а как узнать какой алгоритм используется и как сжимать
Алгоритм сжатия gzip.
вот что у меня есть:
А вот что получается
Как видите оба в gzip посмотрел степень сжатия по умолчанию идёт 9. Что ещё может быть/
Хардлинков не было?
вот что пишет при сборке
Пробовал собрать squashfs сразу из тех данных, что распаковал? Размер тот же?
да конечно! размер получается такой же.. как и с изменением строки одной. не знаю что и делать ж..
«Number of duplicate files found» то же, что и в варианте с изменённым файлом?
i-rinat ★★★★★ ( 22.01.19 01:22:44 )
Последнее исправление: i-rinat 22.01.19 01:23:15 (всего исправлений: 2)
нет ты не понял размер при просто распаковке и сборке выходит на 2 мб больше. Что вношу изменения в строку что не вношу всё равно откуда то прибавляются 2 мб.
Видимо, при создании оригинального образа использовали какой-то хитрый софт, который позволяет избавиться от дополнительной избыточности.
Похожая ситуация с базами GeoIP. Контора, которая их поставляет, публикует формат и даже перловые библиотеки для создания своих баз. Но если распаковать их базу, а потом запаковать их кодом, получится файл почти в два раза больше. Что-то около 100 МБ против 50 МБ.
Я бы начал со сравнения оригинального и перепакованного образов squashfs по байтам. По разнице можно попытаться понять, где их паковщик поступил по-другому.
снимал прошивку банально через dd
Перед упаковкой группируй файлы по типу, чтобы похожие файлы были рядом.
эмм можно понять как группировать?
Например, самое тупое - сортировка по расширению
Какая разница, как ты её снимал? Тут дело в том, что каким-то образом файлы смогли упаковать лучше, чем может упаковать mksquashfs. И при этом оставаясь в рамках формата.
Вообще, ничего удивительного. Если из GIMP'а сохраняешь PNG-файл, он не обязательно самого маленького размера. Специализированными компрессорами можно перебрать все варианты сжатия и сэкономить ещё несколько килобайт.
Тебе нужно найти способ упаковать плотнее. Для этого нужно либо найти некие волшебные утилиты, либо написать их самому.
С некоторого момента появилась потребность извлекать файлы из файла образа squashfs, не пребегая к монтированию (оч. лень писать в терминале sudo mount, а потом еще и пароль набирать).
Судя по ману к unsquashfs опция -е должна была мне помочь, однако команда вида:
unsquashfs -e filesystem.sfs file.txt
где file.txt - извлекаемый файл находящийся в корне ФС, а filesystem.sfs - файл-образ squashfs. Выдали результат:
Could not open file.txt, because No such file or directory
Как эту проблему решить? Все ли я правильно понял, читая man?
-l — и посмотреть путь к файлу, и "-e" ставить _перед_ оным (а не образом фс)
попробовал следующие варианты:
unsquashfs filesystem.sfs -e squashfs-root/file.txt
unsquashfs filesystem.sfs -e /file.txt
unsquashfs filesystem.sfs -e file.txt
все три команды создали директорию squashfs-root и ни одного файла не было извлечено.
Может это баг unsquashfs?
Путь точно верный? Проверял на образе убунты:
// unsquashfs version 4.2 (2011/02/28)
$ unsquashfs -l templates.sfs
Parallel unsquashfs: Using 6 processors
3 inodes (110 blocks) to write
squashfs-root
squashfs-root/add_sting
squashfs-root/change_char
$ unsquashfs templates.sfs -e add_string
Parallel unsquashfs: Using 6 processors
0 inodes (0 blocks) to write
created 0 files
created 1 directories
created 0 symlinks
created 0 devices
created 0 fifos
Однако при распаковке mint'овского файла-образа все сработало отлично
$ unsquashfs /mnt/casper/filesystem.squashfs -e bin/bash
Parallel unsquashfs: Using 6 processors
1 inodes (7 blocks) to write
[===================================================================/] 7/7 100%
created 1 files
created 2 directories
created 0 symlinks
created 0 devices
created 0 fifos
В чем может быть причина? Файловую систему создал стандартной командой:
mksquashfs /путь/к/сжимаемой/папке /путь/к/файлу-образу/qwerty.sfs
Программы, которые поддерживают SQUASHFS расширение файла
В следующем списке перечислены программы, совместимые с файлами SQUASHFS, которые разделены на категории 2 в зависимости от операционной системы, в которой они доступны. Файлы с расширением SQUASHFS, как и любые другие форматы файлов, можно найти в любой операционной системе. Указанные файлы могут быть переданы на другие устройства, будь то мобильные или стационарные, но не все системы могут быть способны правильно обрабатывать такие файлы.
Компиляция ядра 2.4.x
В разделе «File systems» активируем опцию «Squashed filesystem» в качестве модуля либо как связанную с ядром. Обязательно компилировать SquashFS внутри ядра только в том случае, если планируется использовать «сквошенные» начальные виртуальные диски ( initrd ).
Если хотим использовать «сквошенные» начальные вирт диски, активируем «Initial RAM disk support» (поддержку начальных вирт дисков) в разделе «Block devices» («Блочные устройства»).
Чтобы иметь возможность установить сжатую файловую систему после закольцовки устройства, следует активировать опцию «Loopback device support» («Поддержка закольцовки») и разделе «Device drivers» («Драйвера»), подразделе «Block devices» («Блочные устройства»).
Теперь можно компилировать ядро и модули:
Programs that support SQUASHFS file
Windows
Linux
Как открыть файл SQUASHFS?
Отсутствие возможности открывать файлы с расширением SQUASHFS может иметь различное происхождение. Что важно, все распространенные проблемы, связанные с файлами с расширением SQUASHFS, могут решать сами пользователи. Процесс быстрый и не требует участия ИТ-специалиста. Приведенный ниже список проведет вас через процесс решения возникшей проблемы.
Шаг 1. Установите 7-Zip программное обеспечение
Основная и наиболее частая причина, препятствующая открытию пользователями файлов SQUASHFS, заключается в том, что в системе пользователя не установлена программа, которая может обрабатывать файлы SQUASHFS. Наиболее очевидным решением является загрузка и установка 7-Zip или одной из перечисленных программ: Squashfs. Выше вы найдете полный список программ, которые поддерживают SQUASHFS файлы, классифицированные в соответствии с системными платформами, для которых они доступны. Одним из наиболее безопасных способов загрузки программного обеспечения является использование ссылок официальных дистрибьюторов. Посетите сайт 7-Zip и загрузите установщик.
Шаг 2. Проверьте версию 7-Zip и обновите при необходимости
Если у вас уже установлен 7-Zip в ваших системах и файлы SQUASHFS по-прежнему не открываются должным образом, проверьте, установлена ли у вас последняя версия программного обеспечения. Может также случиться, что создатели программного обеспечения, обновляя свои приложения, добавляют совместимость с другими, более новыми форматами файлов. Причиной того, что 7-Zip не может обрабатывать файлы с SQUASHFS, может быть то, что программное обеспечение устарело. Последняя версия 7-Zip должна поддерживать все форматы файлов, которые совместимы со старыми версиями программного обеспечения.
Шаг 3. Настройте приложение по умолчанию для открытия SQUASHFS файлов на 7-Zip
После установки 7-Zip (самой последней версии) убедитесь, что он установлен в качестве приложения по умолчанию для открытия SQUASHFS файлов. Следующий шаг не должен создавать проблем. Процедура проста и в значительной степени не зависит от системы
Процедура изменения программы по умолчанию в Windows
- Щелкните правой кнопкой мыши на файле SQUASHFS и выберите « Открыть с помощью опцией».
- Нажмите Выбрать другое приложение и затем выберите опцию Еще приложения
- Последний шаг - выбрать опцию Найти другое приложение на этом. указать путь к папке, в которой установлен 7-Zip. Теперь осталось только подтвердить свой выбор, выбрав Всегда использовать это приложение для открытия SQUASHFS файлы и нажав ОК .
Процедура изменения программы по умолчанию в Mac OS
Шаг 4. Проверьте SQUASHFS на наличие ошибок
Вы внимательно следили за шагами, перечисленными в пунктах 1-3, но проблема все еще присутствует? Вы должны проверить, является ли файл правильным SQUASHFS файлом. Отсутствие доступа к файлу может быть связано с различными проблемами.
1. Убедитесь, что SQUASHFS не заражен компьютерным вирусом
Если случится так, что SQUASHFS инфицирован вирусом, это может быть причиной, которая мешает вам получить к нему доступ. Немедленно просканируйте файл с помощью антивирусного инструмента или просмотрите всю систему, чтобы убедиться, что вся система безопасна. Если сканер обнаружил, что файл SQUASHFS небезопасен, действуйте в соответствии с инструкциями антивирусной программы для нейтрализации угрозы.
2. Убедитесь, что структура файла SQUASHFS не повреждена
3. Проверьте, есть ли у вашей учетной записи административные права
Существует вероятность того, что данный файл может быть доступен только пользователям с достаточными системными привилегиями. Переключитесь на учетную запись с необходимыми привилегиями и попробуйте снова открыть файл Squashfs Format System Format.
4. Проверьте, может ли ваша система обрабатывать 7-Zip
5. Убедитесь, что ваша операционная система и драйверы обновлены
Современная система и драйверы не только делают ваш компьютер более безопасным, но также могут решить проблемы с файлом Squashfs Format System Format. Возможно, что одно из доступных обновлений системы или драйверов может решить проблемы с файлами SQUASHFS, влияющими на более старые версии данного программного обеспечения.
Вы хотите помочь?
Если у Вас есть дополнительная информация о расширение файла SQUASHFS мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся здесь и отправьте нам свою информацию о файле SQUASHFS.
SQUASHFS is a file extension commonly associated with Squashfs Format System Format files. Squashfs defined the Squashfs Format System Format format standard. SQUASHFS file format is compatible with software that can be installed on Linux, Windows system platform. Files with SQUASHFS extension are categorized as Data Files files. The Data Files subset comprises 1326 various file formats. 7-Zip supports SQUASHFS files and is the most frequently used program to handle such files, yet 1 other tools may also be used. Software named 7-Zip was created by Igor Pavlov. In order to find more detailed information on the software and SQUASHFS files, check the developer’s official website.
Programs which support SQUASHFS file extension
The list that follows enumerates programs compatible with SQUASHFS files, divided into 2 categories based on operating system on which they are available. Files with SQUASHFS extension, just like any other file formats, can be found on any operating system. The files in question may be transferred to other devices, be it mobile or stationary, yet not all systems may be capable of properly handling such files.
Обзор SquashFS
Squashfs сохраняет полностью идентификаторы пользователя/группы ( uin/gids ) (32 бита) и время создания файла.
Данные узлов и директорий очень сильно сжаты и упакованы в байтовых пределах. Каждый сжатый узел имеет в среднем размер 8 байт (конкретная длина зависит от типа файла (то есть обычный файл, директория, символьная ссылка и блочные/символьные узлы устройства имеют различные размеры).
Squashfs может использовать блоки размером до 64 Кб (размер по умолчанию 64 Кб). Использование 64-килобайтовых блоков позволяет достигать большей степени сжатия, чем обычный 4-килобайтовый размер блока.
SquashFS привносит концепцию фрагментарных блоков: возможность объединять множественные файлы, по размеру меньшие блока, в отдельный блок, достигая больших степеней сжатия.
SquashFS может собирать файловые системы, созданные на машинах с различной последовательностью байтов.
Компиляция вспомогательной программы mksquashfs
Теперь нам нужно скомпилировать mksquashfs — инструмент для создания сжатых файловых систем
Компилируем и установим mksquashfs:
"Склейка" исходных текстов ядра
С исходниками ядра и наличием надлежащего патча все, что вам нужно делать это (мы исходим из того, что у вас имеются исходные тексты ядра Linux в /usr/src/linux и xnj и исходные тексты SquashFS в /usr/src/squashfs ):
Внести изменения в директорию исходников SquashFS и скопировать пaтч ядра (мы исходим из того, что он называется squashfs-patch ) в /usr/src/linux .
Идем в директорию исходных текстов Linux /usr/src/linux :
Внимание: помните, что мы не будем покидать эту директорию в течение всех последующих связанных с ядром процедур и все дорожки будут даваться относительно /usr/src/linux .
Теперь «склеиваем» исходные тексты с помощью пaтча SquashFS:
Сжатые файловые системы на дискетах/флэш/жестких дисках
Чтобы использовать SquashFS для создания Linux-систем на маленьких дисках, нужно сделать следующие обычные шаги для создания минимальных систем.
Проделайте следующие операции в соответствующих пунктах:
Когда создаеся ядро для вашей системы, убедитесь, что вы настраиваете поддержку SquashFS, чтобы оно могло устанавливать сжатые файловые системы.
Используйте mksquashfs для создания начального виртуального диска только-для-чтения и/или ветви и/или других файловых систем.
Не забудьте установить типа файловых систем для squashfs в /etc/fstab и/или начальных скриптах вашей системы для установления сжатых файловых систем.
Пример с дискетой. Предположим что у нас есть дерево системы дискеты в /home/user/floppylinux и мы хотим поместить корневую файловую систему на одну дискету, а /usr на другую. Что надо сделать:
Примечание 1: здесь можно видеть, как мы используем опцию -e чтобы исключить директорию /usr из образа корневой файловой системы.
Примечание 2: не забудьте указать squashfs в директории /etc/fstab вашего корневого диска или стартовых скриптах когда устанавливаете файловую систему /usr.
Вставляем корневой диск в накопитель (предполагается , что на ней есть, положим, компилятор, и, таким образом, файловая система существует на этой дискете, а корневая файловая система будет постоянно храниться под директорией /boot этой файловой системы):
Когда будет сделано, вытаскиваем корневую дискету, меняем дискеты на /usr диск и используем dd для передачи данных на usr :
How to open file with SQUASHFS extension?
Being unable to open files with SQUASHFS extension can be have various origins. What is important, all common issues related to files with SQUASHFS extension can be resolved by the users themselves. The process is quick and doesn’t involve an IT expert. The list below will guide you through the process of addressing the encountered problem.
Step 1. Install 7-Zip software
The main and most frequent cause precluding users form opening SQUASHFS files is that no program that can handle SQUASHFS files is installed on user’s system. The most obvious solution is to download and install 7-Zip or one to the listed programs: Squashfs. Above you will find a complete listing of programs that support SQUASHFS files, classified according to system platforms for which they are available. One of the most risk-free method of downloading software is using links provided by official distributors. Visit 7-Zip website and download the installer.
Step 2. Check the version of 7-Zip and update if needed
If you already have 7-Zip installed on your systems and SQUASHFS files are still not opened properly, check if you have the latest version of the software. It may also happen that software creators by updating their applications add compatibility with other, newer file formats. The reason that 7-Zip cannot handle files with SQUASHFS may be that the software is outdated. The latest version of 7-Zip should support all file formats that where compatible with older versions of the software.
Step 3. Set the default application to open SQUASHFS files to 7-Zip
After installing 7-Zip (the most recent version) make sure that it is set as the default application to open SQUASHFS files. The next step should pose no problems. The procedure is straightforward and largely system-independent
The procedure to change the default program in Windows
- Right-click the SQUASHFS file and choose Open with option
- Click Choose another app and then select More apps option
- The last step is to select Look for another app on this PC option supply the directory path to the folder where 7-Zip is installed. Now all that is left is to confirm your choice by selecting Always use this app to open SQUASHFS files and clicking OK .
The procedure to change the default program in Mac OS
- From the drop-down menu, accessed by clicking the file with SQUASHFS extension, select Information
- Proceed to the Open with section. If its closed, click the title to access available options
- From the list choose the appropriate program and confirm by clicking Change for all. .
- A message window should appear informing that This change will be applied to all files with SQUASHFS extension. By clicking Continue you confirm your selection.
Step 4. Check the SQUASHFS for errors
You closely followed the steps listed in points 1-3, but the problem is still present? You should check whether the file is a proper SQUASHFS file. Being unable to access the file can be related to various issues.
1. Verify that the SQUASHFS in question is not infected with a computer virus
Should it happed that the SQUASHFS is infected with a virus, this may be that cause that prevents you from accessing it. Immediately scan the file using an antivirus tool or scan the whole system to ensure the whole system is safe. If the scanner detected that the SQUASHFS file is unsafe, proceed as instructed by the antivirus program to neutralize the threat.
2. Verify that the SQUASHFS file’s structure is intact
Did you receive the SQUASHFS file in question from a different person? Ask him/her to send it one more time. The file might have been copied erroneously and the data lost integrity, which precludes from accessing the file. When downloading the file with SQUASHFS extension from the internet an error may occurred resulting in incomplete file. Try downloading the file again.
3. Verify whether your account has administrative rights
There is a possibility that the file in question can only be accessed by users with sufficient system privileges. Switch to an account that has required privileges and try opening the Squashfs Format System Format file again.
4. Check whether your system can handle 7-Zip
If the system is under havy load, it may not be able to handle the program that you use to open files with SQUASHFS extension. In this case close the other applications.
5. Verify that your operating system and drivers are up to date
Up-to-date system and drivers not only makes your computer more secure, but also may solve problems with Squashfs Format System Format file. It is possible that one of the available system or driver updates may solve the problems with SQUASHFS files affecting older versions of given software.
Do you want to help?
If you have additional information about the SQUASHFS file, we will be grateful if you share it with our users. To do this, use the form here and send us your information on SQUASHFS file.
Компиляция ядра 2.6.x
чистим и подготовим ядро программы:
Выберем конфигурацию ядра используя ваш любимый метод ( config / menuconfig / xconfig / gconfig ):
В разделе «File systems» («Файловые системы»), подразделе «Miscellaneous (различные) file systems» активируем опцию «Squashed filesystem» в качестве модуля либо как связанную с ядром. Обязательно компилировать SquashFS внутри ядра только в том случае, если планируем использовать «сквошенные» начальные виртуальные диски ( initrd ).
Для использования сжатого начального виртуального диска, активируем «Initial RAM disk support» в разделе «Device drivers», подразделе «Block devices».
Чтобы иметь возможность установить сжатую файловую систему после закольцовки устройства, следует активировать опцию «Loopback device support» («Поддержка закольцовки») и разделе «Device drivers» («Драйвера»), подразделе «Block devices» («Блочные устройства»).
Теперь вы можем компилировать ядро и модули:
Вступление
Когда создаются маленькие и встроенные Linux-системы, каждый байт запоминающего устройства (дискета, флэш-карта и т. д.) очень важен, поэтому сжатие используется везде, где возможно. Также, сжатые файловые системы часто используются для целей архивирования. Для огромных общих архивов, так же, как и для персональных медиа-архивов, это насущно необходимо.
ShquashFS выводит всё это на новый уровень. Это файловая система только для чтения, которая позволяет вам сжимать целые файловые системы или отдельные директории, переписывать их в другие устройства/разделы или в обычные файлы, а затем устанавливать их непосредственно (если это устройство) или использовать закольцовку устройства (в случае с файлом). Модульный, компактный системный дизайн SquashFS блестящ. Для целей архивирования SquashFS предоставляет вам гораздо большую гибкость и скорость исполнения, чем архивы .tar.gz .
В выпуск SquashFS исходные тексты Linux-ядра (что делает возможным чтение Squash на вашем ядре), а также вспомогательная программа mksquashfs, которая создает сжатые файловые системы (в файле или в блочном устройстве).
Последнее дерево выпуска SquashFS 2.x, предыдущая была 1.x. Этот документ описывает оба эти выпуска с соответствующими пометками. Например, если какое-либо свойство или параметр различны в этих выпусках, это будет обозначено как: новое значение (2.х) или старое значение (1.х).
Разъяснения
Теперь давайте убедимся, что любые последующие обсуждения вам будем проще понять. Процедура запуска работы SquashFS, в целом, состоит из следующих шагов:
Модифицирование стартовых скриптов /etc/fstab вашей целевой Linux-системы для установления новой сжатой файловой системы, когда это необходимо
Пример 1
Давайте предположим, что у нас есть директория /var/arch со множеством файлов и что надо превратить ее в сжатую файловую систему и сохранить на вашем сегменте ветви в качестве файла (это будет образ файловой систему который вы установите через кольцевое устройство). Операции, которые понадобится сделать:
Сожмем директорию, затем установим через кольцевое устройство, чтобы проверить:
Если все прошло, как ожидалось, чтобы файловая система устанавливалась автоматически во время запуска, добавим эту строку в /etc/fstab :
Извлекаем файловую систему из временного места установки и установите используя компонент fstab :
Теперь просто убедимся, что все работает хорошо:
Читайте также: