.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Podwrapper::Man 1.24.3 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "nbdfuse 1" .TH nbdfuse 1 2026-07-16 libnbd-1.24.3 LIBNBD .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" nbdfuse \- سوار کردن یک دستگاه بلوکی شبکه در سیستم‌فایل محلی .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" .Vb 3 \& nbdfuse [\-C N|\-\-connections N] [\-d] [\-o FUSE\-OPTION] [\-P PIDFILE] \& [\-r] [\-s] [\-v|\-\-verbose] \& MOUNTPOINT[/FILENAME] URI .Ve .PP .Vb 1 \& nbdfuse MOUNTPOINT[/FILENAME] [ CMD [ARGS ...] ] .Ve .PP .Vb 1 \& nbdfuse MOUNTPOINT[/FILENAME] \-\-command CMD [ARGS ...] .Ve .PP .Vb 1 \& nbdfuse MOUNTPOINT[/FILENAME] \-\-fd N .Ve .PP .Vb 1 \& nbdfuse MOUNTPOINT[/FILENAME] \-\-tcp HOST PORT .Ve .PP .Vb 1 \& nbdfuse MOUNTPOINT[/FILENAME] \-\-unix SOCKET .Ve .PP .Vb 1 \& nbdfuse MOUNTPOINT[/FILENAME] \-\-vsock CID PORT .Ve .PP برای پیاده‌کردن: .PP .Vb 1 \& fusermount3 \-u MOUNTPOINT .Ve .PP سایر گزینه‌ها: .PP .Vb 1 \& nbdfuse \-\-help .Ve .PP .Vb 1 \& nbdfuse \-\-fuse\-help .Ve .PP .Vb 1 \& nbdfuse \-V|\-\-version .Ve.SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" ابزار nbdfuse برای سوار کردن (mount) یک Network Block Device (NBD) در سیستم‌فایل محلی به کار می‌رود. فایل مجازی NBD در \fIMOUNTPOINT/FILENAME\fR (به‌طور پیش‌فرض \fIMOUNTPOINT/nbd\fR) سوار می‌شود. عملیات خواندن و نوشتن روی این فایل مجازی به خواندن و نوشتن روی دستگاه NBD تبدیل می‌شوند. .PP در nbdfuse نسخه ۱.۶ یا بالاتر، همچنین می‌توانید با سوار کردن روی هر فایل عادی با نام \fIMOUNTPOINT\fR یک نقطه اتصال «عریان» (naked) ایجاد کنید (محتویات فعلی فایل اهمیتی ندارد). .PP خود سرور NBD می‌تواند محلی یا دوردست باشد. سرور را می‌توان به‌صورت یک NBD URI (مانند \f(CW\*(C`nbd://localhost\*(C'\fR)، یا به‌صورت یک سرور NBD که به شکل یک زیرفرایند (subprocess) از nbdfuse اجرا می‌شود (با استفاده از \f(CW\*(C`[\ ...\ ]\*(C'\fR)، یا به روش‌های گوناگون دیگر مشخص کرد (بخش "MODES" را ببینید). .PP برای پیاده کردن (unmount) سیستم‌فایل پس از استفاده، از دستور \f(CW\*(C`fusermount3 \-u MOUNTPOINT\*(C'\fR استفاده کنید. .SH "مثال‌ها (EXAMPLES)" .IX Header "EXAMPLES" .SS "ارائه یک سرور NBD دوردست به عنوان یک فایل محلی" .IX Subsection "Present a remote NBD server as a local file" اگر یک سرور NBD دوردست روی \f(CW\*(C`example.com\*(C'\fR و روی درگاه پیش‌فرض NBD (شماره ۱۰۸۰۹) در حال اجرا باشد، می‌توانید با انجام دستورهای زیر آن را به یک فایل محلی تبدیل کنید: .PP .Vb 5 \& $ mkdir dir \& $ nbdfuse dir nbd://example.com & \& $ ls \-l dir/ \& total 0 \& \-rw\-rw\-rw\-. 1 nbd nbd 1073741824 Jan 1 10:10 nbd .Ve .PP نام این فایل \fIdir/nbd\fR است و می‌توانید مانند یک فایل عادی روی آن بخوانید و بنویسید. توجه داشته باشید که نوشتن روی این فایل، روی سرور NBD دوردست نوشته خواهد شد. پس از استفاده، آن را پیاده کنید: .PP .Vb 2 \& $ fusermount3 \-u dir \& $ rmdir dir .Ve .SS "استفاده از nbdkit برای ایجاد فایلی مبتنی بر RAM disk موقت" .IX Subsection "Use nbdkit to create a file backed by a temporary RAM disk" با استفاده از \f(CW\*(C`[\ ...\ ]\*(C'\fR می‌توانید یک سرور NBD را به عنوان یک زیرفرایند اجرا کنید. در این مثال، از \fBnbdkit\fR\|(1) برای ایجاد یک فایل موقت مبتنی بر یک RAM disk استفاده شده است: .PP .Vb 9 \& $ mkdir dir \& $ nbdfuse dir/ramdisk [ nbdkit \-\-exit\-with\-parent memory 1G ] & \& $ ls \-l dir/ \& total 0 \& \-rw\-rw\-rw\-. 1 nbd nbd 1073741824 Jan 1 10:10 ramdisk \& $ dd if=/dev/urandom bs=1M count=100 of=mp/ramdisk conv=notrunc,nocreat \& 100+0 records in \& 100+0 records out \& 104857600 bytes (105 MB, 100 MiB) copied, 2.08319 s, 50.3 MB/s .Ve .PP هنگامی که کارتان با RAM disk تمام شد، می‌توانید آن را به صورت زیر پیاده کنید که باعث خروج nbdkit و دور ریخته شدن محتویات RAM disk می‌شود: .PP .Vb 2 \& $ fusermount3 \-u dir \& $ rmdir dir .Ve .SS "استفاده از qemu\-nbd برای خواندن و ویرایش یک فایل qcow2" .IX Subsection "Use qemu-nbd to read and modify a qcow2 file" می‌توانید از \fBqemu\-nbd\fR\|(8) به عنوان یک زیرفرایند برای باز کردن هر قالب فایلی که qemu پشتیبانی می‌کند استفاده کنید: .PP .Vb 5 \& $ mkdir dir \& $ nbdfuse dir/file.raw [ qemu\-nbd \-f qcow2 file.qcow2 ] & \& $ ls \-l dir/ \& total 0 \& \-rw\-rw\-rw\-. 1 nbd nbd 1073741824 Jan 1 10:10 file.raw .Ve .PP فایل \fIdir/file.raw\fR با قالب raw و مبتنی بر \fIfile.qcow2\fR است. هر تغییری در \fIdir/file.raw\fR اعمال شود، در فایل qcow2 منعکس خواهد شد. برای پیاده کردن فایل دستور زیر را اجرا کنید: .PP .Vb 2 \& $ fusermount3 \-u dir \& $ rmdir dir .Ve.SS "استفاده از nbdkit برای ایجاد یک فایل محلی از فایلی روی وب‌سرور" .IX Subsection "Use nbdkit to create a local file from a file on a web server" دستور \&\fBnbdkit\fR\|(1) قادر است هم به ایمیج‌های دیسک دوردست روی وب‌سرورها دسترسی داشته باشد و هم آن‌ها را به‌طور شفاف از حالت فشرده خارج کند؛ بنابراین می‌توانید آن‌ها را به فایل‌های مجازی تبدیل کنید: .PP .Vb 10 \& $ mkdir dir \& $ nbdfuse dir/disk.iso \e \& [ nbdkit \-\-exit\-with\-parent \e \& curl \-\-filter=xz \e \& http://builder.libguestfs.org/fedora\-30.xz ] & \& $ ls \-l dir/ \& total 0 \& \-rw\-rw\-rw\-. 1 nbd nbd 6442450944 Jan 1 10:10 disk.iso \& $ file dir/disk.iso \& dir/disk.iso: DOS/MBR boot sector \& $ qemu\-system\-x86_64 \-m 4G \e \& \-drive file=dir/disk.iso,format=raw,if=virtio,snapshot=on \& $ fusermount3 \-u dir .Ve .PP در این مثال، ما از فایل مجازی برای بوت کردن qemu استفاده کرده‌ایم، اما qemu می‌تواند بسیار کارآمدتر و به‌طور مستقیم به سرورهای NBD دسترسی یابد، بنابراین در سناریوهای واقعی این روش ترجیح داده می‌شود. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP \fB\-\-help\fR 4 .IX Item "--help" نمایش راهنمای مختصر خط فرمان و خروج. .IP "\fB\-C\fR N" 4 .IX Item "-C N" .PD 0 .IP "\fB\-\-connections\fR N" 4 .IX Item "--connections N" .PD در صورت استفاده از multi\-conn، از N اتصال به سرور استفاده می‌کند. پیش‌فرض 4 است. .Sp قابلیت multi\-conn در صورت امکان به‌طور پیش‌فرض فعال است. حالت‌هایی که یک زیرپروسه را اجرا می‌کنند، مانند \fI\-\-command\fR، قادر به استفاده از multi\-conn نیستند. حالت \&\fI\-\-fd\fR نیز نمی‌تواند از multi\-conn استفاده کند. همچنین سرور باید قابلیت multi\-conn را اعلان کند (از \fBnbdinfo\fR\|(1) برای بررسی پشتیبانی سرور استفاده کنید). .Sp بخش "THREAD MODEL" در زیر را ببینید. .IP "\fB\-C 1\fR" 4 .IX Item "-C 1" .PD 0 .IP "\fB\-\-connections 1\fR" 4 .IX Item "--connections 1" .PD غیرفعال کردن multi\-conn. فقط از یک اتصال منفرد به سرور NBD استفاده می‌شود. بخش "THREAD MODEL" در زیر را ببینید. .IP \fB\-\-fuse\-help\fR 4 .IX Item "--fuse-help" نمایش گزینه‌های FUSE و خروج. گزینهٔ \fI\-o\fR در زیر را ببینید. .IP "\fB\-o\fR FUSE\-OPTION" 4 .IX Item "-o FUSE-OPTION" ارسال گزینه‌های اضافی به FUSE. برای دریافت فهرستی از تمام گزینه‌های اضافی پشتیبانی‌شده توسط FUSE، از \fI\-\-fuse\-help\fR استفاده کنید. .Sp برخی از گزینه‌های بالقوه مفید FUSE: .RS 4 .IP "\fB\-o\fR \fBallow_other\fR" 4 .IX Item "-o allow_other" اجازه به سایر کاربران برای مشاهدهٔ سیستم‌فایل. این گزینه هیچ اثری ندارد مگر اینکه آن را به‌صورت سراسری در \fI/etc/fuse.conf\fR فعال کنید. .IP "\fB\-o\fR \fBkernel_cache\fR" 4 .IX Item "-o kernel_cache" اجازه به هسته برای کَش کردن فایل‌ها (کاهش تعداد خواندن‌هایی که باید از طریق API مربوط به \fBlibnbd\fR\|(3) انجام شوند). اگر توانایی مصرف حافظهٔ اضافی را دارید، این گزینه عموماً ایدهٔ خوبی است. .IP "\fB\-o\fR \fBuid=\fRN" 4 .IX Item "-o uid=N" .PD 0 .IP "\fB\-o\fR \fBgid=\fRN" 4 .IX Item "-o gid=N" .PD از این گزینه‌ها برای نگاشت UIDها و GIDها استفاده کنید. .RE .RS 4 .RE .IP "\fB\-P\fR PIDFILE" 4 .IX Item "-P PIDFILE" .PD 0 .IP "\fB\-\-pidfile\fR PIDFILE" 4 .IX Item "--pidfile PIDFILE" .PD هنگامی که nbdfuse آمادهٔ سرویس‌دهی شد، شناسهٔ فرایند (PID) مربوط به nbdfuse را در \&\fIPIDFILE\fR می‌نویسد. این قابلیت می‌تواند در اسکریپت‌ها برای انتظار تا زمان آماده شدن nbdfuse به کار رود. توجه داشته باشید که نباید سعی کنید nbdfuse را متوقف (kill) کنید. از \f(CW\*(C`fusermount3 \-u\*(C'\fR برای پیاده کردن نقطهٔ اتصال استفاده کنید که باعث خروج تمیز nbdfuse خواهد شد. .IP \fB\-r\fR 4 .IX Item "-r" .PD 0 .IP \fB\-\-readonly\fR 4 .IX Item "--readonly" .PD دسترسی به دستگاه بلوکی شبکه به‌صورت فقط‌خواندنی. فایل مجازی دارای دسترسی‌های فقط‌خواندنی خواهد بود و هرگونه عملیات نوشتن، خطا بازمی‌گرداند. .Sp اگر سرور NBD دوردست فقط‌خواندنی باشد، این پرچم به‌طور خودکار افزوده می‌شود. (فیلد \f(CW\*(C`is_read_only:\*(C'\fR را در خروجی \&\fBnbdinfo\fR\|(1) بررسی کنید). .IP \fB\-s\fR 4 .IX Item "-s" استفاده از عملیات تک‌ریسه‌ای FUSE. بخش "THREAD MODEL" در زیر را ببینید. .IP \fB\-v\fR 4 .IX Item "-v" .PD 0 .IP \fB\-\-verbose\fR 4 .IX Item "--verbose" .IP \fB\-d\fR 4 .IX Item "-d" .PD فعال‌سازی پیام‌های پرگو (verbose) در stderr. این کار، اشکال‌زدایی libnbd و سایر پیام‌ها را فعال می‌کند. گزینهٔ \fI\-d\fR یک نام مستعار است که برای سازگاری با سایر برنامه‌های FUSE استفاده می‌شود. .IP \fB\-V\fR 4 .IX Item "-V" .PD 0 .IP \fB\-\-version\fR 4 .IX Item "--version" .PD نمایش نام بسته و نسخه و سپس خروج..SH "حالت‌ها (MODES)" .IX Header "MODES" از حالت‌ها برای انتخاب سرور NBD استفاده می‌شود. حالت‌های ممکن عبارتند از: .IP "nbdfuse MOUNTPOINT URI" 4 .IX Item "nbdfuse MOUNTPOINT URI" این حالت از یک URI مربوط به NBD استفاده می‌کند (نگاه کنید به \fBnbd_connect_uri\fR\|(3) و https://github.com/NetworkBlockDevice/nbd/blob/master/doc/uri.md). برای نمونه، این دستور یک اتصال رمزنگاری‌شده با TLS را به \&\f(CW\*(C`example.com\*(C'\fR روی درگاه \f(CW10809\fR، با نام اکسپورت \f(CW\*(C`disk\*(C'\fR مشخص می‌کند: .Sp .Vb 1 \& nbdfuse dir nbds://example.com/disk .Ve .IP "nbdfuse MOUNTPOINT \fB[\fR CMD [ARGS ...] \fB]\fR" 4 .IX Item "nbdfuse MOUNTPOINT [ CMD [ARGS ...] ]" اجرای یک سرور NBD به عنوان یک زیرفرایند (subprocess). در این حالت یک سرور NBD می‌تواند به صورت مستقیم از خط فرمان اجرا شود و nbdfuse از طریق یک سوکت با سرور ارتباط برقرار کند. این امر مستلزم آن است که سرور NBD از فعال‌سازی سوکت توسط systemd پشتیبانی کند. بخش «مثال‌ها (EXAMPLES)» در بالا و \&\fBnbd_connect_systemd_socket_activation\fR\|(3) را ببینید. .IP "nbdfuse MOUNTPOINT \fB\-\-command\fR CMD [ARGS ...]" 4 .IX Item "nbdfuse MOUNTPOINT --command CMD [ARGS ...]" انتخاب حالت فرمان. در این حالت یک سرور NBD می‌تواند مستقیماً از خط فرمان اجرا شود و nbdfuse از طریق stdin/stdout سرور با آن ارتباط برقرار کند. به‌طور معمول این حالت را همراه با \&\f(CW\*(C`nbdkit \-s\*(C'\fR به کار می‌برید. \fBnbd_connect_command\fR\|(3) را ببینید. .IP "nbdfuse MOUNTPOINT \fB\-\-fd\fR N" 4 .IX Item "nbdfuse MOUNTPOINT --fd N" انتخاب حالت توصیف‌گر فایل (file descriptor). در این حالت یک سوکت متصل‌شده به nbdfuse ارسال می‌شود. nbdfuse به سوکت روی توصیف‌گر فایل شماره‌گذاری‌شده متصل می‌شود. همچنین \fBnbd_connect_socket\fR\|(3) را ببینید. .IP "nbdfuse MOUNTPOINT \fB\-\-tcp\fR HOST PORT" 4 .IX Item "nbdfuse MOUNTPOINT --tcp HOST PORT" انتخاب حالت TCP. اتصال به یک سرور NBD روی یک میزبان و درگاه از طریق یک سوکت TCP رمزنگاری‌نشده. همچنین \fBnbd_connect_tcp\fR\|(3) را ببینید. .IP "nbdfuse MOUNTPOINT \fB\-\-unix\fR SOCKET" 4 .IX Item "nbdfuse MOUNTPOINT --unix SOCKET" انتخاب حالت یونیکس. اتصال به یک سرور NBD روی یک سوکت دامنه یونیکس (Unix domain socket). همچنین \fBnbd_connect_unix\fR\|(3) را ببینید. .IP "nbdfuse MOUNTPOINT \fB\-\-vsock\fR CID PORT" 4 .IX Item "nbdfuse MOUNTPOINT --vsock CID PORT" انتخاب حالت vsock. اتصال به یک سرور NBD روی یک سوکت \f(CW\*(C`AF_VSOCK\*(C'\fR. همچنین \fBnbd_connect_vsock\fR\|(3) را ببینید. .SH "مدل ریسه‌ها (THREAD MODEL)" .IX Header "THREAD MODEL" این بخش نحوه کارکرد نسخه کنونی nbdfuse را شرح می‌دهد. نسخه‌های پیشین در گذشته عملکرد متفاوتی داشتند، و نسخه‌های آتی ممکن است در آینده به‌گونه متفاوتی عمل کنند. .PP برنامه nbdfuse همواره چندریسه‌ای (multithreaded) است. .PP در صورت امکان، nbdfuse تلاش می‌کند چندین اتصال شبکه‌ای به سرور NBD باز کند (که «multi\-conn» نامیده می‌شود). این کار معمولاً کارایی را بهبود می‌بخشد. برخی از مواردی که multi\-conn را \fIغیرفعال\fR می‌کنند عبارتند از: .IP \(bu 4 استفاده از حالت‌های \f(CW\*(C`[ CMD ... ]\*(C'\fR یا \fI\-\-command\fR یا \fI\-\-fd\fR .IP \(bu 4 استفاده از \fI\-C 1\fR .IP \(bu 4 عدم اعلان پشتیبانی از multi\-conn توسط سرور NBD (با استفاده از \fBnbdinfo\fR\|(1) بررسی کنید) .PP می‌توانید با استفاده از پرچم \fI\-C\fR شمار اتصالات برقرارشده را کنترل کنید. .PP برنامه nbdfuse به ازای هر اتصال یک ریسه را برای سرویس‌دهی به دستورهای NBD اجرا می‌کند (این‌ها «ریسه‌های عملیاتی» یا «operation threads» نامیده می‌شوند). افزون بر این، خود FUSE چندین ریسه ایجاد می‌کند تا به درخواست‌های ارسالی از ماژول هسته \fIfuse.ko\fR رسیدگی کند. شمار ریسه‌هایی که FUSE می‌تواند ایجاد کند در مستندات FUSE شرح داده شده است، اما با دسترسی‌های موازی متعدد به فایل مجازی، ممکن است ریسه‌های FUSE بسیار بیشتری نسبت به ریسه‌های عملیاتی ایجاد شوند، و این امر باید به کارایی مناسب منجر شود. درخواست‌های FUSE (مانند خواندن، نوشتن یا trim) به صورت تصادفی روی ریسه‌های عملیاتی (= اتصالات) تسهیم می‌شوند. هر ریسه عملیاتی می‌تواند چندین درخواست را به صورت موازی مدیریت کند. .PP استفاده از پرچم \fI\-s\fR باعث می‌شود FUSE تنها یک ریسه را اجرا کند، اما همچنان ممکن است چندین ریسه عملیاتی وجود داشته باشد. .SH "نکات (NOTES)" .IX Header "NOTES" .SS "اتصال حلقه‌ای (Loop mounting)" .IX Subsection "Loop mounting" وسوسه‌انگیز (و شدنی) است که فایل را با دستگاه حلقه (loop mount) متصل کنید. با این حال این کار بسیار کند خواهد بود و ممکن است گاهی منجر به بن‌بست (deadlock) شود. جایگزین‌های بهتر، استفاده از \fBnbd\-client\fR\|(8) یا \fBqemu\-nbd\fR\|(8)، یا با امنیت بیشتر \&\fBlibguestfs\fR\|(3)، \fBguestfish\fR\|(1) یا \fBguestmount\fR\|(1) هستند که همگی می‌توانند به سرورهای NBD دسترسی داشته باشند..SS "به‌عنوان روشی برای دسترسی به سرورهای NBD" .IX Subsection "As a way to access NBD servers" شما می‌توانید از این برای دسترسی به سرورهای NBD استفاده کنید، اما معمولاً بهتر (و قطعاً بسیار سریع‌تر) است که در عوض مستقیماً از \fBlibnbd\fR\|(3) استفاده نمایید. برای دسترسی به سرورهای NBD از خط فرمان، به \fBnbdsh\fR\|(1) مراجعه کنید. برای کپی به سرور NBD و از آن، از \fBnbdcopy\fR\|(1) استفاده کنید. .SH "مقایسه با سایر ابزارها (COMPARISON TO OTHER TOOLS)" .IX Header "COMPARISON TO OTHER TOOLS" .ie n .SS "در مقایسه با ""nbd\-client""" .el .SS "در مقایسه با \f(CWnbd\-client\fP" .IX Subsection "Compared to nbd-client" این برنامه از نظر مفهومی مشابه \fBnbd\-client\fR\|(8) است (که NBD را به گره‌های دستگاهی \fI/dev/nbdX\fR تبدیل می‌کند)، با این تفاوت‌ها که: .IP \(bu 4 ابزار nbd\-client سریع‌تر است زیرا از یک ماژول ویژه در هسته استفاده می‌کند .IP \(bu 4 ابزار nbd\-client به کاربر ریشه (root) نیاز دارد، اما nbdfuse توسط هر کاربری قابل استفاده است .IP \(bu 4 فایل‌های مجازی nbdfuse را می‌توان در هر کجای سیستم‌فایل سوار (mount) کرد .IP \(bu 4 ابزار nbdfuse از libnbd برای ارتباط با سرور NBD استفاده می‌کند .IP \(bu 4 ابزار nbdfuse به پشتیبانی FUSE در هسته نیاز دارد .ie n .SS "در مقایسه با ""qemu\-nbd""" .el .SS "در مقایسه با \f(CWqemu\-nbd\fP" .IX Subsection "Compared to qemu-nbd" دستور \&\fBqemu\-nbd\fR\|(8) نیز می‌تواند خود را به گره‌های دستگاهی \fI/dev/nbdX\fR متصل کند. تفاوت‌های آن با nbdfuse مشابه موارد ذکرشده در بالا است. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBlibnbd\fR\|(3), \&\fBnbdcopy\fR\|(1), \&\fBnbddiscard\fR\|(1), \&\fBnbddump\fR\|(1), \&\fBnbdinfo\fR\|(1), \&\fBnbdsh\fR\|(1), \&\fBnbdublk\fR\|(1), \&\fBnbdzero\fR\|(1), \&\fBfusermount3\fR\|(1), \&\fBmount.fuse3\fR\|(8), \&\fBnbd_connect_uri\fR\|(3), \&\fBnbd_connect_command\fR\|(3), \&\fBnbd_connect_socket\fR\|(3), \&\fBnbd_connect_systemd_socket_activation\fR\|(3), \&\fBnbd_connect_tcp\fR\|(3), \&\fBnbd_connect_unix\fR\|(3), \&\fBnbd_connect_vsock\fR\|(3), \&\fBlibguestfs\fR\|(3), \&\fBguestfish\fR\|(1), \&\fBguestmount\fR\|(1), \&\fBnbdkit\fR\|(1), \&\fBnbdkit\-loop\fR\|(1), \&\fBqemu\-nbd\fR\|(8), \&\fBnbd\-client\fR\|(8). .SH "نویسندگان (AUTHORS)" .IX Header "AUTHORS" Richard W.M. Jones .SH "کپی‌رایت و تکثیر (COPYRIGHT)" .IX Header "COPYRIGHT" Copyright Red Hat .SH "مجوز (LICENSE)" .IX Header "LICENSE" این کتابخانه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط «مجوز عمومی همگانی کمتر گنو» (GNU Lesser General Public License) همان‌طور که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است، چه نسخهٔ ۲ مجوز و چه (به انتخاب خودتان) هر نسخهٔ بالاتر دیگری، بازتوزیع کرده و/یا تغییر دهید. .PP این کتابخانه به این امید توزیع شده است که مفید واقع شود، اما بدون هیچ‌گونه ضمانتی؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به «مجوز عمومی همگانی کمتر گنو» مراجعه کنید. .PP شما باید همراه با این کتابخانه نسخه‌ای از «مجوز عمومی همگانی کمتر گنو» را دریافت کرده باشید؛ در غیر این صورت، به آدرس زیر برای بنیاد نرم‌افزارهای آزاد بنویسید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110\-1301 USA