GoGPT Best VPN GoSearch

OnWorks 网站图标

nbdkit - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 nbdkit

这是命令 nbdkit,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


nbdkit - 用于创建 NBD 服务器的工具包

概要


nbdkit [--dump-config] [-f] [-g GROUP] [-i IPADDR]
[-P PIDFILE] [-p 端口] [-r] [--run CMD] [-s]
[-U SOCKET] [-u 用户] [-v] [-V]
插件 [键=值 [键=值 [...]]]

商品描述


网络块设备 (NBD) 是一种网络协议,用于通过网络访问块设备。
网络。 块设备是硬盘和行为类似于硬盘的东西,例如磁盘
图像和虚拟机。

“nbdkit”既是用于从“非常规”来源创建 NBD 服务器的工具包,也是
NBD 服务器的名称。

要创建一个新的网络块设备源,您需要做的就是编写一些胶水
函数,可能是 C 语言,也可能是 Perl 或 Python 等高级语言。 这
nbdkit 的自由许可旨在允许您将 nbdkit 与专有
库或在专有代码中包含 nbdkit。

如果你想写一个 nbdkit 插件,你应该阅读 nbdkit 插件(3)。

可以在“$libdir/nbdkit/plugins”中找到几个插件。 您可以提供完整路径
插件,像这样:

nbdkit $libdir/nbdkit/plugins/nbdkit-file-plugin.so [...]

但使用这种等效语法通常更方便:

nbdkit 文件 [...]

$libdir 在编译时设置。 要打印出来,请执行以下操作:

nbdkit --dump 配置

示例


在端口 10809 上提供文件“disk.img”:

nbdkit 文件 file=disk.img

运行 example1 插件并使用连接到它 客鱼(1):

nbdkit 示例 1
guestfish --ro -a nbd://localhost

运行 example3 插件并使用连接到它 客鱼(1):

nbdkit 示例3 大小=1G
guestfish --ro -a nbd://localhost

要显示有关特定插件的使用信息:

nbdkit --help 示例1

全球 配置


- 帮帮我
显示简短的命令行使用信息并退出。

--转储配置
转储编译时配置值并退出。

-f
- 前景
--无叉
叉到后台。

-g 公司
- 团体 公司
启动后将组更改为“组”。 组名或数字组 ID 可以是
用过的。

服务器需要足够的权限才能执行此操作。 通常这会
意味着以 root 身份启动服务器。

参见 -u.

-i IP地址
--ip-地址 IP地址
--ip 地址 IP地址
在指定的接口上侦听。 默认是监听所有接口。 看
-p.

-P PID文件
--pid 文件 PID文件
--pid文件 PID文件
在 nbdkit 准备好后写入“PIDFILE”(包含服务器的进程 ID)
接受连接。

如果文件已存在,则将其覆盖。 nbdkit 而不去 删除文件时
它退出。

-p PORT
- 港口 PORT
更改 nbdkit 服务请求的 TCP/IP 端口号。 默认值为 10809。
参见 -i.

-r
- 只读
- 只读
导出将是只读的。 如果客户端写入,则会出现错误。

请注意,某些插件本身不支持写入。 有了这些插件 -r
选项是隐式添加的。

此服务器不支持写时复制(或“快照”)功能。 然而
如果您使用 qemu 作为客户端(或间接通过 libguestfs),那么它支持
快照。

- 跑 CMD
将 nbdkit 作为“CMD”的俘虏子进程运行。 当“CMD”退出时,nbdkit 被杀死。 看
下面是“CAPTIVE NBDKIT”。

这个选项意味着 - 前景.

-s
- 单身的
--标准输入
不要分叉。 在 stdin/stdout 上处理单个 NBD 连接。 标准输入关闭后,
服务器退出。

您可以使用此选项从 inetd、systemd 或类似的超级服务器运行 nbdkit; 或者
仅用于测试; 或者如果您想以非常规方式运行 nbdkit。

这个选项意味着 - 前景.

-U 插座
--unix 插座
-U -
--unix -
接受 Unix 域套接字“SOCKET”(这是一个路径)上的连接。

nbdkit 创建了这个套接字,但它可能有不正确的权限(太
允许)。 如果某些未经授权的用户可以连接到这个问题
在 nbdkit 启动和授权用户连接之间的套接字,然后
将套接字放入具有限制权限的目录中。

nbdkit 可以 而不去 退出时删除套接字文件。 调用者应删除
使用后的套接字文件(否则,如果您尝试再次启动 nbdkit,您将获得一个
“地址已被使用”错误)。

如果套接字名称是 - 然后 nbdkit 生成一个随机命名的私有套接字。 这个
对“CAPTIVE NBDKIT”很有用。

-u USER
- 用户 USER
启动后将用户更改为“USER”。 可以使用用户名或数字用户 ID。

服务器需要足够的权限才能执行此操作。 通常这会
意味着以 root 身份启动服务器。

参见 -g.

-v
--详细
启用详细消息。

使用它是个好主意 -f 也因此该过程不会分叉到后台
(但不是必需的)。

-V
- 版
打印 nbdkit 的版本号并退出。

PLUGIN 配置


指定插件名称后,您可以(可选,这取决于插件)给出
在命令行中以“key=value”的形式配置插件。 例如:

nbdkit 文件 file=disk.img

要列出插件支持的所有选项,请执行以下操作:

nbdkit --help 文件

俘虏 NBD套件


您可以将 nbdkit 作为“俘虏进程”运行,使用 - 跑 选项。 这意味着 nbdkit
只要(例如)运行 (1)或 客鱼(1) 正在运行。 当这些退出时,nbdkit
被杀了。

一些例子应该可以清楚地说明这一点。

在 qemu 下运行 nbdkit captive:

nbdkit 文件 file=disk.img --run 'qemu -drive file=$nbd,if=virtio'

在 qemu 命令行上,$nbd 会自动替换为正确的 NBD 路径,因此它
可以连接到nbdkit。 当 qemu 退出时,nbdkit 会被杀死并自动清理。

在guestfish下运行nbdkit俘虏:

nbdkit 文件 file=disk.img --run 'guestfish --format=raw -a $nbd -i'

当guestfish 退出时,nbdkit 被杀死。

以下 shell 变量在 - 跑 参数:

$nbd
引用 nbdkit 端口或套接字的 URL。

注意这里有一些魔法,因为 qemu 和 guestfish 的 URL 有不同的格式,
因此 nbdkit 会尝试猜测您正在运行哪个。 如果魔法不起作用,请尝试使用
下面的变量代替。

$端口
如果≠“”,则为nbdkit 正在侦听的端口号。

$unix套接字
如果 ≠ "",则 nbdkit 正在侦听的 Unix 域套接字。

- 跑 暗示 - 前景. 不可能,而且可能不希望有
使用时nbdkit fork到后台 - 跑.

即使在运行俘虏时,nbdkit 仍会侦听常规 TCP/IP 端口,除非您
指定 -p/-U 选项。 如果你想要一个真正私人的俘虏 nbdkit,那么你应该
创建一个私有的随机 Unix 套接字,如下所示:

nbdkit -U - 插件 [args] --run '...'

讯号


“nbdkit”响应以下信号:

“信号”
“信号退出”
“信号词”
服务器干净地退出。

“信号管”
该信号被忽略。

使用 onworks.net 服务在线使用 nbdkit


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。