SquashFS - это файловая система, наподобие CramFS и Cloopfs. Эта файловая система поддерживает сжатие, причем даже уже мое любимое - LZMA. Применяется в основном на livecd и во встраеваемых устройствах. Работает только в режими чтения, то есть, внести новый файл или уже изменить существующий "на лету" никак не получиться.
Вы можете встретить ее на обычном livecd диске убунты. Файл SquashFS-образа находиться в папке casper на диске с убунтой и называется filesystem.squashfs. Если в ядре есть поддержка данной файловой системе, то вам достаточно лишь примонтировать этот файл, как вы монтировали когда-то обычные ".iso" образы:
mount -o loop /media/cdrom/casper/filesystem.squashfs /mnt
В каталоге /mnt вы увидете структуру каталогов обычного дистрибутива линукса. Это и есть дистрибутив убунты. Убунту грузиться с компакт-диска монтирует данный файл и с помощью chroot запускает уже целиком систему. Если же вы начали инсталлировать убунту, то инсталлятор просто копирует содержимое данного файла на корневой раздел вашего винчестера. Ну дальше он доставляет некоторый софт, конфигурирует систему и т.п.
Получить файлы из этой файловой системы можно и другим способом. Помимо реализации самой данной файловой системы, существуют так-же и утилиты для управления ею. Скачать их можно отсюда. Они, конечно, есть и в стандартном репозитарии убунты:
apt-get install squashfs-tools
Но эти утилиты и сама ФС в убунте обновлялись очень давно. В дистрибутиве до сих пор используется версия SquashFS за 2007 год, когда уже актуальная вышедшая в этом году четвертая версия. Поэтому лучше всего использовать ядро выше версии 2.6.29 и утилиты компилить вручную. Ну по крайней мере до тех пор, пока это чудо не обновиться в убунте.
Так вот, с помощью утилиты mksquashfs можно с легкостью создать данную файловую систему:
mksquashfs /usr /usr.squashfs
Или распаковать ее:
unsquashfs /media/cdrom/casper/filesystem.squashfs -d /ubuntu_live
Преимуществ у данной ФС много. Помимо всего прочего - она использует очень сильное сжатие. Файлы сжимаются в два-три раза, причем на довольно высокой скорости. Чтобы достать один файл, не нужно распаковывать всю файловую систему целиком (как это делается с обычными архивами - tar.bz2 и т.п. - попробуйте распаковать всего один самый маленький файл из архива с исходниками ядра), а достаточно лишь ее подмонтировать. Скорость распаковки тоже впечатляет. Да и операции с файлами на такой ФС быстрее, так как файлы занимают в дво-трое меньший размер, чем в реальности. То есть скорость того-же копирования - в два-три раза быстрее, чем с обычной ФС. Из недостатков только то, что операции с файлами на данной ФС больше используют мощности процессоров, но на современных компьютерах это не заметно, а на встраеваемой технике обычно размер играет большее значение.
сенк помогло!
ОтветитьУдалитьunsquashfs /media/cdrom/casper/filesystem.squashfs -d /ubuntu_live
ОтветитьУдалитьсинтаксис не тот. надо так:
unsquashfs -d /ubuntu_live /media/cdrom/casper/filesystem.squashfs