Записки дебианщика
В этом блоге публикуются заметки и решения, найденные в процессе работы, освоения и жизни в дистрибутиве Debian GNU/Linux.
8/02/2006
SquashFS, или Зачем в Linux архиваторы?
Как скажет любая поисковая система, SquashFS — это сжатая файловая система, разработанная для удобного и компактного хранения файлов с быстрым доступом к ним из Linux. Разработанная прежде всего для создателей LiveCD (Knoppix-based LiveCD), может пригодиться и простому линуксоиду благодаря высокой степени сжатия, скорости доступа и удобству работы. В Linux работать со SquashFS очень просто и легко.
Архиватор vs SquashFS
Всем когда-нибудь требовалось архивировать свои файлы, и для этого уже давно разработаны утилиты типа gzip, bzip2, rar, arj. .. Одни из них быстрее, другие обладают высокой степенью сжатия, некоторые архиваторы избирательны (заточены на сжатие текста или графики), другие претендуют на универсальность. Так зачем нужены сжатые файловые системы?
Архиваторы в Linux
Так или иначе, архиваторы создают из предъявленных ему данных сжатый файл. Прекрасно, данные заархивированы и положены на хранение. Теперь нам захотелось просмотреть архив. Есть много файловых менеджеров, которые умеют входить внутрь архивов и дают возможность работать со сжатыми файлами, как с обычными. Однако чтобы перечитать архив, требуется время (попробуйте зайти внутрь архива ядра linux.*.*.tar.gz — это будет не быстро). А теперь нам надо из архива вытащить один или несколько файлов — и вот архиватору приходится распаковывать весь архив и лишь после этого получаем нужный файл.
Теперь нужно добавить в архив файлы. Вот тут без перепаковки всего архива не обойтись. Долго, муторно, неудобно. К тому же некоторые архиваторы, особенно rar, «забывают» права доступа к файлам, что в Linux совсем ни в какие рамки не лезет. Или нам хочется создать свой загрузочный диск с подборкой нужного софта. Да, можно скачать чужие LiveCD, а можно создать свой собственный. Если приблизительно подсчитать, сколько софта на том же Knoppix, можно ужаснуться: ну и как такой объём впихнул Клаус Кноппер в маленький диск?
SquashFS
Очень просто. Специальной утилитой mksquashfs создаётся файл со сжатой файловой системой SquashFS. Далее, при необходимости, этот файл прикручивается (монтируется) на петлевое устройство (loop) и в точке монтирования видим наши файлы. Быстро и удобно, что особенно ценно при разборе старых архивов.
Степень сжатия, как правило, выше, чем у tar.gz при ощутимо более высокой скорости сжатия и несравненном удобстве пользования. Это уже оценили создатели LiveCD и ушлые пользователи. Если требуется извлечь файл — без проблем, просто копируем его куда нам нужно. Скорость чуть ниже, чем при обычном копировании, больше нагрузка на процессор (всё-таки декомпрессия архива), но по сравнению с архиваторами — небо и земля. Нужно добавить файлы? Не вопрос: указываем mksquashfs целью старый архив и происходит дописывание данных в конец, безо всякой перепаковки. Просто и удобно. Единственное, чего нельзя — это переписать файлы «на лету»: файловая система SquashFS только для чтения. Приходится дописывать в архив файлы.
Достоинства и недостатки
Конечно, при всех достоинствах SquashFS обладает и недостатками. Архивы нужно каждый раз примонтировать и отмонтировать, обновление — дописыванием в конец или перепаковкой; кроме того, для использования нужен патч на ядро, который есть не для всех версий ядер. Компрессия больших файлов (несколько гигабайт) отнимает большое количество памяти. Зато для маленьких файлов это ценная находка: выкачанный из интернета сайт легко и быстро сжимается в один архив, а потом его можно легко читать броузером, указав точку монтирования.
Установка SquashFS в Linux
Если вы заинтересовались возможностями SquashFS и хотите его установить, то вам потребуются исходники ядра, установленный gcc, утилита patch и скачанный с сайта http://squashfs.sourceforge.net/ архив с патчем на ядро и исходниками mksquashfs . Поддерживаются последние ядра 2.4.х и ветка 2.6 начиная с 2.6.8 Можно включить поддержку SquashFS в ядро монолитно или модулем — накладываем патч на ядро:
#patch -p1 -i squashfs-patch
и вызываем make menuconfig . Теперь в разделе «File systems», «Miscellaneous file systems», должна появиться строчка «Squashed filesystem», которую можно поставить как модуль или вкомпилировать в ядро. Надеюсь, как компилировать ядро, вы знаете, а если что-то забылось — освежить знания можно тут.
Так же следует включить поддержку «Loopback device support» в секции «Device drivers»section, «Block devices» подсекции. Для более подробной справки идём сюда. Собрав ядро и перезагрузившись, компилируем mksquashfs:
# cd /usr/src/squashfs/squashfs-tools
# make
# cp mksquashfs /usr/sbin
Для этого потребуются пакеты zlib*, которые потребуется установить. Скомпилированные однажды утилиты mksquashfs и прочие можно переносить с компьютера на компьютер — и они будут работать.
Чтобы создать архив из файлов в директории /temp потребуется ввести:
mksquashfs temp temp.sq
Расширение добавляется для удобства — оно может быть любым или вообще отсутствовать. Лишь бы вам было понятно, что это архив. Увидеть и работать с файлами можно, прикрутив на петлевое устройство архив штатными средствами любой *никс системы:
mount -t squashfs temp.sq /mnt/squash -o loop
Далее работаем с файлами, как обычно. После использования не забываем отмонтировать.
Squashfs что это
Большинство LiveCD дистрибутивов (Debian, Ubuntu, Fedora, Mint, etc) содержат файл filesystem.squashfs, который является контейнером с сжимающей файловой системой, распаковываемой и загружаемой при загрузке LiveCD. Ниже будет описано, как добавлять/удалять и редактировать файлы в таком контейнере.
Для обновления содержимого squashfs необходимо установить пакет squashfs-tools , он есть в большинстве популярных Linux дистрибутивов. После этого перейдите в каталог, где лежит filesystem.squashfs, войдите в сеанс супер-пользователя:
и распакуйте контейнер:
И сразу после этого удалите или перенесите оригинальный файл в другую папку:
mv filesystem.squashfs ~/backup/
После распаковки в папке, где изначально лежал контейнер, появится каталог squashfs-root – изменяйте его, как вам это необходимо: добавляйте, удаляйте, редактируйте его содержимое.
Когда все необходимые изменения будут проведены, вы можете пересоздать файл обновленного squashfs-контейнера:
mksquashfs squashfs-root filesystem.squashfs -b 1024k -comp xz -Xbcj x86 -e boot
Это потребует какого-то времени, но в результате вы получите обновлённый filesystem.squashfs. Если надо добавить его в существующий iso-образ, это можно сделать с помощью удобной gui-утилиты isomaster .
Важно делать все эти команды под root. Если всё это сделать под обычным пользователем, squashfs пересоберется, но в результате на Live-системе могут перестать работать программы su и sudo .
2 Comments Leave a comment
opendx says:
the main question not addressed here – how to insert this updated file into bootable .iso file from which it was taken?
Squashfs
Squashfs (.sfs) — сжимающая файловая система для GNU/Linux, предоставляющая доступ к данным в режиме «только для чтения». Squashfs сжимает файлы, индексные дескрипторы и каталоги, а также поддерживает блоки размером до 1024 Кбайт для лучшего сжатия. Кроме того Squashfs является свободным ПО (используется лицензия GPL).
Squashfs предназначена для широкого использования файловых систем «только для чтения», а также в ограниченных по размеру блочных устройствах/системах хранения (то есть во встраиваемых системах), где необходимы низкие затраты на производство. Стандартная версия Squashfs использует алгоритм сжатия gzip, хотя существует проект, позволяющий использовать алгоритм сжатия LZMA.
Использование
Squashfs используется Live CD дистрибутивами Debian, Finnix, Gentoo, Ubuntu, Fedora, gNewSense, а также во встраиваемых дистрибутивах, таких как прошивки маршрутизаторов OpenWRT и DD-WRT. Кроме того, Squashfs используется совместно с файловыми системами, образующими каскадно-объединённое монтирование, такими как UnionFS и AUFS, чтобы предоставить возможность использовать Live CD дистрибутивы Linux в режиме «чтение-запись». Это даёт преимущества от использования высокоскоростного сжатия Squashfs с возможностью производить изменения дистрибутива во время загрузки с Live CD. Такие дистрибутивы как Slax, Debian Live и Mandriva One используют эту комбинацию.
Squashfs уже является достаточно стабильной файловой системой, что послужило основанием для внесения её в основную ветку разработки ядра Linux. [1] Файловая система была протестирована на архитектурах PowerPC, I586, Sparc и ARM.
См. также
Примечания
- ↑Btrfs and Squashfs merged into Linux kernel Jan 10, 2009 (англ.)
Ссылки
- Официальный сайт Squashfs (англ.)
- Официальный сайт проекта Squashfs LZMA (англ.)
Тип файла SQUASHFS
Эти файлы SQUASHFS можно просматривать с помощью два существующего (-их) прикладных (-ого) программных (-ого) средств (-а), как правило, 7-Zip, разработанного Igor Pavlov. Оно связано с один основным (-и) типом (-ами) файла (-ов), но часто встречается в формате Squashfs File System File. Основную часть этих фацлов классифицируют, как Data Files.
Расширение файла SQUASHFS можно просмотреть в Windows, Android и Linux. Они поддерживаются в основном настольными компьютерами и некоторыми мобильными платформами. Рейтинг популярности файлов SQUASHFS составляет «Низкий». Это означает, что они не часто встречаются на большинстве устройств.
Если у вас возникли проблемы с открытием файлов SQUASHFS, или если вы просто хотите узнать больше о связанных с ними программах и разработчиках см. полную информацию, представленную ниже.
Универсальность
Заказать
Важность
26
С поправками
Скачать FileViewPro и открыть SQUASHFS
Продукт Solvusoft

Известные SQUASHFS-файлы
Главный SQUASHFS Описание

| Идентификатор файла: | .squashfs |
| Тип файла: | Squashfs File System File |
Сжатый файл, связанный с Squashfs только для чтения программы файловой системы. Он содержит данные файловой системы в сжатом формате только для чтения. Он поддерживает дескрипторы, файлы, а также каталоги. Он оптимизирован для архивирования и только для чтения использования файловой системы.
| Разработчик: | Open Source |
| Дивизион: | Файлы данных |
| Папка: | HKEY_CLASSES_ROOT\.squashfs |
Программные обеспечения, открывающие Squashfs File System File:

| Windows |
| Android |
| Linux |

| Linux |

Найти другие файлы

Спрос на SQUASHFS
Лучшие браузеры
![]() |
Chrome | (58.80%) |
![]() |
Firefox | (11.05%) |
![]() |
Internet Explorer | (9.04%) |
![]() |
Edge | (8.46%) |
![]() |
Safari | (3.87%) |
Устранение неполадок при открытии файлов SQUASHFS
![]()
Типичные проблемы открытия SQUASHFS
Отсутствует 7-Zip
При двойном щелчке SQUASHFS-файла может появиться диалоговое окно операционной системы с сообщением о том, что он «Не удается открыть этот тип файла». Если это так, это обычно означает, что у вас нет 7-Zip, установленного для %%os%%. Операционная система не может связать документ SQUASHFS с 7-Zip, поэтому двойной щелчок по файлу не будет работать.
![]()
Совет. Когда установлено другое приложение SQUASHFS, вы можете открыть его, выбрав «Показать приложения» и используя эту программу.
7-Zip требует обновления
В других случаях версия файла Squashfs File System File может не поддерживаться вашей версией 7-Zip. Посетите веб-сайт Igor Pavlov, чтобы загрузить (или приобрести) последнюю версию 7-Zip. Ваш файл электронной таблицы, вероятно, был создан более новой версией 7-Zip, чем то, что в данный момент установлен на вашем компьютере.
![]()
Совет . Найдите подсказки о правильной версии программного обеспечения, щелкнув правой кнопкой мыши SQUASHFS-файл и выбрав «Свойства».
В конечном счете, большинство трудностей при открытии SQUASHFS-файлов связаны с установленной неправильной версией 7-Zip.
![]()
Другие причины проблем при открытии SQUASHFS-файлов
Предполагая, что у вас установлена правильная версия 7-Zip, другие проблемы могут помешать вам открывать SQUASHFS-файлы. Если у вас по-прежнему возникают ошибки при загрузке SQUASHFS-файлов, могут быть виноваты другие внешние проблемы. К числу этих вопросов относятся:
- Ссылки на SQUASHFS-файлы в реестре Windows нарушены
- Повреждение описания файла SQUASHFS внутри реестра
- Неисправная установка программы SQUASHFS, такой как 7-Zip
- Ваш SQUASHFS не может быть загружен должным образом (повреждение файла)
- На ваш документ SQUASHFS негативно повлияли вредоносные программы
- Оборудование, связанное с SQUASHFS, имеет устаревшие драйверы
- Недостаточно системных ресурсов для успешного открытия файлов Squashfs File System File
Викторина: Сколько символов может содержать имя файла?

Верно!
Сумма отдельных компонентов файла (например. Подкаталог / путь и конечного файл) ограничена 255 символов в общей сложности.
Близко, но не совсем.
Сумма отдельных компонентов файла (например. Подкаталог / путь и конечного файл) ограничена 255 символов в общей сложности.

Как исправить проблемы с открытием файлов SQUASHFS

Расширение файла # A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Компания
Софт
Ресурсы
Техподдержка
Подключить
Сертификаты
© Solvusoft Corporation 2011-2023. All Rights Reserved.
Этот сайт использует куки-файлы. Продолжая просмотр, вы соглашаетесь с использованием нами куки-файлов в порядке, описанном в нашей Политике конфиденциальности. Я согласен(на)

Solvusoft: Microsoft Silver Certified Company
Компания Solvusoft имеет репутацию лучшего в своем классе независимого поставщика программного обеспечения,
Microsoft признал Solvusoft в качестве ведущего независимого поставщика программного обеспечения, который достиг максимального уровня компетентности и совершенства в разработке ПО. Тесные отношения Solvusoft с Microsoft в качестве сертифицированного серебряного партнера позволяют нам предлагать лучшие программные решения в своем классе, оптимизированные для работы на устройствах с операционными системами Windows.
How is the Silver Competency Level Attained?
To achieve a Silver competency level, Solvusoft goes through extensive independent analysis that looks for, amongst other qualities, a high level of software expertise, a successful customer service track record, and top-tier customer value. As a Silver Certified Application Developer, Solvusoft is able to provide the highest level of customer satisfaction through delivering top-level software and service solutions, which have been subject to a rigorous and continually-audited approval process by Microsoft.




