SquashFS je oblíbený readonly (append only) vysoce komprimovaný a deduplikovaný FS. V tomto článku si ukážeme postup připojení tohoto FS na FreeBSD pomocí FUSE, což pro tento OS nebylo dlouho dostupné.

Instalace SquashFS

Instalace z portů je jednoduchá, na konfiguraci prakticky není co řešit. Doporučuju mít zapnuté všechny dostupné komprimátory:

portmaster -d sysutils/squashfs-tools

Tímto máme nástroj pro vytváření squashfs nainstalovaný a můžem jej používat například pro inkrementální zálohy.

Instalace SquashFUSE

Konečně se dostáváme k tomu, co nám bylo v Linuxu bezproblémů dostupné mnoho let, tedy mít možnost si SquashFS připojit jako kterýkoliv jiný FS.

Budeme potřebovat nainstalovat balíček fusefs-squashfuse, opět jej můžeme zkompilovat z portů:

portmaster -d sysutils/fusefs-squashfuse

Tento port dokonce nemá ani žádné konfigurační volby.

Před použitím FUSE ale musíme zavést kernel modul fuse, což lze provést za běhu systému pomocí:

kldload fuse

a přidáme jej i do loaderu, aby se nám automaticky zaváděl při startu, soubor /boot/loader.conf:

fuse_load="YES"

Zavedené kernel moduly můžeme vypsat příkazem kldstat, např:

# kldstat
Id Refs Address            Size     Name
 1   22 0xffffffff80200000 1f6f5e0  kernel
 2    1 0xffffffff82171000 1a8d8    fuse.ko
 3    1 0xffffffff82221000 201912   zfs.ko
 4    1 0xffffffff82423000 9aea     opensolaris.ko
 5    1 0xffffffff8242d000 5936     fdescfs.ko
 6    1 0xffffffff82433000 2986     uhid.ko
 7    1 0xffffffff82436000 3650     ums.ko
 8    1 0xffffffff8243a000 34d5c    pf.ko

Použití SquashFUSE

FS připojíme pomocí příkazu squashfuse, např:

mkdir /mnt/squash
squashfuse soubor.squash /mnt/squash

a můžeme pracovat s jeho obsahem.

FS odpojíme pomocí umount jako kterýkoliv jiný FS:

umount /mnt/squash

Článek vznikl jako volný překlad zápisku na FreeBSD fóru.