答案1
由于您用于apt
安装,因此您可以简单地搜索它:
apt search davfs
davfs2/stable 1.5.5-1 amd64
mount a WebDAV resource as a regular file system
正如您所看到的,在我的例子中,该包在存储库中找到,但未安装。与例如相反vim
:
apt search vim
vim/stable,now 2:8.1.0875-5 amd64 [installed]
Vi IMproved - enhanced vi editor
或者(还有更多保存 - 它也适用于不是来自存储库但也通过.deb
-files 手动安装的包)用于dpgk
列出所有本地并 grep 包名称
dpkg -l | grep davfs
(在我的例子中为空)
dpkg -l | grep vim
ii vim 2:8.1.0875-5 amd64 Vi IMproved - enhanced vi editor
其中ii
表示“已安装”。
答案2
/proc/filesystems
仅显示内核支持的文件系统。 DavFS 支持是使用实现的保险丝在用户空间中,因此它不会显示在那里。最好的检查方法可能只是检查mount.davfs
二进制文件是否存在(例如使用which
)。
答案3
/proc/filesystems
只列出内核当前已知的文件系统。但是在 a 上mount(src, dst, fstype, ...)
,内核将尝试动态加载相应的内核模块(如果可用且尚未加载)。
某些文件系统例如nfs
或aufs
需要帮助程序来设置安装。那将会是mount.fsname
。在 Debian bullseye 上,mount
当要求使用 挂载 FS 时,该命令所做的第一件事就是按顺序-t fsname
查找mount.fsname
in /sbin
,/sbin/fs.d
和。/sbin/fs
davfs2
是在用户空间实现的文件系统。内核驱动程序fuse
将mount.davfs2
负责启动用户空间程序并将其连接到fuse
.
因此,要检查 a 是否fsname
可用,您可以执行以下操作:
has_fs() {
[ -e "/sbin/mount.$1" ] || # helper found in /sbin
[ -e "/sbin/fs.d/mount.$1" ] || # helper found in /sbin/fs.d
[ -e "/sbin/fs/mount.$1" ] || # helper found in /sbin/fs
< /proc/filesystems FS=$1 awk '
$NF == ENVIRON["FS"] {found = 1; exit}
END {if (!found) exit 1}' || # currently available in kernel
modprobe -c | FS=fs_$1 awk '
$1 == "alias" && $2 == ENVIRON["FS"] {found = 1; exit}
END {if (!found) exit 1}' # available via a kernel module
}
不同系统上挂载助手的搜索路径可能不同。请注意,助手的可用性是一个强有力的指示,但不能保证驱动程序可用(或者您将能够安装该类型的 FS)。