SquashFS na FreeBSD včetně fuse mount
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.