stringtranslate.com

СквошФС

Squashfs — это сжатая файловая система только для чтения для Linux . Squashfs сжимает файлы , inode и каталоги и поддерживает размеры блоков от 4 KiB до 1 MiB для большего сжатия. Поддерживается несколько алгоритмов сжатия. Squashfs — это также название свободного программного обеспечения , лицензированного по GPL , для доступа к файловым системам Squashfs.

Squashfs предназначена для общего использования в файловых системах только для чтения и в системах с ограниченной памятью блочных устройств (например, встроенных системах ), где требуются низкие накладные расходы .

Использует

Squashfs используется в Live CD- версиях Arch Linux , Clonezilla , Debian , Fedora , Gentoo Linux , KDE neon , Kali Linux , Linux Mint , NixOS , Salix , Ubuntu , openSUSE и во встраиваемых дистрибутивах, таких как прошивка маршрутизатора OpenWrt [1] и DD-WRT . Он также используется в Chromecast , [2] в Tiny Core Linux для упаковки расширений и для системных разделов некоторых выпусков Android ( Android Nougat ). [3] Он часто сочетается с файловой системой union mount , такой как UnionFS , OverlayFS или aufs , для предоставления среды чтения-записи для живых дистрибутивов Linux. Это использует как высокоскоростные возможности сжатия Squashfs, так и возможность изменять дистрибутив во время его запуска с live CD. Такие дистрибутивы, как Debian Live , Mandriva One , Puppy Linux , Salix Live и Slax, используют эту комбинацию. Проект AppImage , нацеленный на создание переносимых приложений Linux, использует Squashfs для создания AppImages. Система пакетов snap также использует Squashfs в качестве формата контейнера файлов.

Squashfs также используется Linux Terminal Server Project и Splashtop . Инструменты unsquashfs и mksquashfs были портированы на Windows NT [4]Windows 8.1 [ 5] 7-Zip также поддерживает Squashfs. [6]

История

Squashfs изначально поддерживался как патч Linux вне ветки. Первоначальная версия 1.0 была выпущена 23 октября 2002 года. [7] В 2009 году Squashfs был объединен с основной веткой Linux как часть Linux 2.6.29. [8] [9] В этом процессе код обратной совместимости для старых форматов был удален. С тех пор код пространства ядра Squashfs поддерживался в основной ветке Linux, в то время как инструменты пространства пользователя остаются на странице проекта на GitHub . [10]

Первоначальная версия Squashfs использовала сжатие gzip , хотя в ядре Linux 2.6.34 была добавлена ​​поддержка сжатия LZMA [11] и LZO , [12] в ядре Linux 2.6.38 была добавлена ​​поддержка сжатия LZMA2 (которое используется xz ), [13] в ядре Linux 3.19 была добавлена ​​поддержка сжатия LZ4 , [14] а в ядре Linux 4.14 была добавлена ​​поддержка сжатия Zstandard . [15]

В ядре Linux 2.6.35 добавлена ​​поддержка расширенных атрибутов файлов . [16]

Смотрите также

Ссылки

  1. ^ "The OpenWrt Flash Layout – OpenWrt Wiki". OpenWrt.org . 2018-06-07 . Получено 2018-06-11 .
  2. ^ «Exploitee.rs » Архив блога » Chromecast: использование новейшего устройства от Google».
  3. ^ Амадео, Рон (18 мая 2016 г.). «Android N заимствует код Chrome OS для «бесшовной» установки обновлений». Ars Technica .
  4. ^ "Инструменты Squashfs для Windows" . Получено 2017-09-22 .
  5. ^ "Squashfs Tools (Linux/Windows)" (на голландском) . Получено 22 сентября 2017 г.
  6. ^ "7-Zip". www.7-zip.org .
  7. ^ "Squashfs CHANGES file". 2014-08-08 . Получено 19 апреля 2017 .
  8. ^ "Linux 2 6 29 -- Linux Kernel Newbies". Linux Kernel Newbies . 2009-06-10 . Получено 19 апреля 2017 г.
  9. ^ "Btrfs и Squashfs объединены в ядро ​​Linux - The H Open: Новости и возможности". The H Open . 2009-01-10 . Получено 2017-04-19 .
  10. ^ "Файл Squashfs README". GitHub . 2021-07-23 . Получено 23 июля 2021 г. .
  11. ^ "Официальный Squashfs LZMA". Squashfs-LZMA.org . Получено 2012-11-08 .
  12. ^ "Linux 2 6 34 - Linux Kernel Newbies". KernelNewbies.org . Получено 2012-11-08 .
  13. ^ "Linux 2 6 38 - Linux Kernel Newbies". KernelNewbies.org . Получено 2012-11-08 .
  14. ^ Объединение поддержки LZ4 Squashfs с деревом Линуса Торвальдса .
  15. ^ "squashfs: Добавить поддержку zstd · torvalds/linux@87bf54b". GitHub . Получено 2018-04-15 .
  16. ^ "Linux 2 6 35 - Linux Kernel Newbies". KernelNewbies.org . Получено 2012-11-08 .

Внешние ссылки