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/fstab
takhle:# <file system> <mount point> <type> <options> <dump> <pass> # ... vdbfs.py#<dev> /srv/virtual-db fuse user,<other-opts> 0 0
Nebo,
-
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.vdbfs
A upravte
/etc/fstab
takhle:# <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ý).