Obecně platí, že se nový typ souborového systému "zaregistruje" vytvořením spustitelného souboru mount.fstype .
$ ln -s /usr/bin/vdbfs.py /usr/sbin/mount.vdbfs
Pokud vdbfs.py trvá mount -ish argumenty (tj. dev path [-o opts] ), poté mount -t vdbfs a pomocí vdbfs jako 3. pole v fstab bude pracovat. Pokud ne, můžete vytvořit obal, který převezme argumenty tohoto tvaru a namapuje je na jakýkoli váš vdbfs.py trvá.
FUSE by také měla nainstalovat mount.fuse spustitelný; mount.fuse 'vdbfs.py#dev' path -o opts bude pokračovat a zavolá vdbfs.py dev path -o opts . V takovém případě můžete použít fuse jako typ vašeho souborového systému a předponu vašeho zařízení vdbfs.py# .
Abychom objasnili odpověď efemienta, existují dvě možnosti:
-
Upravit
/etc/fstabtakhle:# <file system> <mount point> <type> <options> <dump> <pass> # ... vdbfs.py#<dev> /srv/virtual-db fuse user,<other-opts> 0 0Nebo,
-
Vytvořte spustitelný soubor s předponou „mount“. (zajistíme, že jej lze použít s
mount-jako možnosti):$ ln -s /usr/bin/vdbfs.py /usr/sbin/mount.vdbfsA upravte
/etc/fstabtakhle:# <file system> <mount point> <type> <options> <dump> <pass> # ... <dev> /srv/virtual-db vdbfs.py user,<other-opts> 0 0
S ohledem na automatickou montáž při spuštění a ruční montáž pomocí mount , user a noauto možnosti jsou relevantní a plně podporované samotnou pojistkou, takže je nemusíte implementovat sami. user možnost umožňuje neprivilegovanému uživateli, který je členem skupiny "fuse", připojit váš souborový systém pomocí mount příkaz a noauto nařídí vašemu souborovému systému, aby se při startu automaticky nepřipojoval. Pokud nezadáte noauto , automaticky se připojí.
Pro upřesnění komentáře @patryk.beza k přijaté odpovědi, správným způsobem připojit souborový systém FUSE je nastavením typu systému souborů na fuse.<subtype> .
Chcete-li například připojit implementaci s3fs-fuse, která neposkytuje konkrétní /sbin/mount.* wrapper a normálně používá s3fs uživatelský příkaz pro připojení bucketů S3, lze tento příkaz použít jako root:
mount -t fuse.s3fs bucket-name /path/to/dir -o <some,options>
nebo tento řádek v /etc/fstab :
bucket-name /path/to/dir fuse.s3fs <some,options> 0 0
nebo tato montážní jednotka SystemD (například /etc/systemd/system/path-to-dir.mount ):
[Unit]
Description=S3 Storage
After=network.target
[Mount]
What=bucket-name
Where=/path/to/dir
Type=fuse.s3fs
Options=<some,options>
[Install]
WantedBy=multi-user.target
Jak to funguje:mount rozpozná koncept „podtypů systému souborů“, když je typ formátován tečkou (tj. <type>.<subtype> ), takže zadejte ve formátu fuse.someimpl je uznáno, že je zodpovědný pomocník pro připojení FUSE /sbin/mount.fuse . Pomocník pro připojení FUSE pak řeší someimpl část implementace FUSE, stejným způsobem jako # formát je použit v původní odpovědi (myslím, že se jedná pouze o hledání cesty pro program s názvem <subtype> , ale nejsem si tím 100% jistý).