Cloop
Compressed Loopback Device (сжа́тое закольцо́ванное устро́йство) или cloop — модуль для ядра Linux.
Добавляет поддержку для прозрачной декомпрессии блоковых устройств только для чтения. Это не сжатая файловая система сама по себе.
Изначально было написано для компании Linuxcare как «загрузочная бизнес-карта» Расти Расселом, но сейчас обслуживается Клаусом Кноппером, автором Knoppix. Cloop в основном используется как удобный способ сжатия стандартных файловых систем для LiveCD.
Степень сжатия составляет примерно 2,5:1 для распространенного программного обеспечения. Cloop-образ Кноппикса, для примера, равен 700 Мб сжатый и около 1,8 Гб — распакованный.
Проект
Образ cloop включает:
- Скрипт оболочки (с командами монтирования для образа).
- Заголовок с количеством блоков и размером распакованного блока.
- Индекс поиска с запакованным и распакованным размером блоков в парах.
- zlib — сжатыми блоками информации, запакованными «конец к концу».
Блоки информации сжаты раздельно; это делает возможным поиск индивидуальных блоков без необходимости в распаковке всего образа сначала, но цена этому — небольшое уменьшение степени сжатия. Образы LiveCD обычно используют размер блока в 256 Кб как компромисс между скоростью распаковки и эффективным использованием места.
Apple использует схожий формат в сжатых вариантах своих .dmg образах диска.
Ограничения
- create_compressed_fs, утилита которая создаёт образы cloop, требует того, чтобы сжатый образ целиком помещался в памяти.
- Разработка драйвера cloop требует, чтобы сжатые блоки были считаны целиком с диска. Это делает cloop доступ очень медленным когда используется много разбросанных чтений, которые могут случиться, если в системе мало памяти или когда запускается большая программа с большим количеством разделяемых библиотек.
См. также
- Список файловых систем
- Cramfs
- zisofs
- SquashFS
- e2compr
Примечания
Ссылки
- cloop исходники для ядра линукс.
- cloop патчи (недоступная ссылка с 14-05-2013 [4109 дней] — история) для ядра линукс. Версии 0.xx для ядра 2.2; 1.xx для 2.4; 2.xx для 2.6.
- Введение в сжатые ФС под линуксом
- Страница cloop на Knoppix Linux Wiki (здесь же инструкции по установке)
- Презентация Клауса Кноппера на LinuxTag (нем.).