RMT(8) دستورات مدیریت سیستم RMT(8)

rmt - کنترل ابزار نوار مغناطیسی از راه دور

rmt

دستور rmt توسط برنامههایی مانند tar و cpio برای دسترسی به درایوهای نوار مغناطیسی و دستگاههای ذخیرهسازی از طریق شبکه اجرا میشود. این ابزار معمولاً با اجرای rsh(1) یا ssh(1) به ماشین راه دور فراخوانی می‌شود و در صورت تمایل می‌تواند از نام کاربری دیگری برای ورود استفاده کند.

برنامه فراخواننده از طریق ارسال درخواست‌ها بر روی ورودی استاندارد و خواندن پاسخ‌ها از خروجی استاندارد با rmt ارتباط برقرار می‌کند. یک درخواست شامل یک نویسه مشخص‌کننده درخواست، به همراه آرگومان (در صورت نیاز) و یک نویسه خط جدید است. داده‌های تکمیلی، در صورت وجود، پس از خط جدید ارسال می‌شوند. در صورت موفقیت، rmt پاسخ زیر را برمی‌گرداند:


Anumber\n

که در آن number نمایش اَسکی از یک کد بازگشتی ده‌دهی است. داده‌های تکمیلی پس از این خط برگردانده می‌شوند. در صورت بروز خطا، پاسخ زیر برگردانده می‌شود:


Eerrno\nerror-message\n

که در آن errno یکی از کدهای خطای سیستم است، همان‌طور که در errno(3) شرح داده شده است، و error-message یک توصیف تک‌خطی و خوانا برای انسان از خطاست، به همان شکل که توسط perror(3) چاپ می‌شود.

دستورات موجود و پاسخ‌های ممکن در بخش بعدی به تفصیل شرح داده شده‌اند.

دستگاه device را با فلگ‌های داده‌شده flags باز می‌کند. اگر دستگاهی قبلاً باز شده باشد، پیش از باز کردن دستگاه جدید بسته می‌شود.

آرگومان‌ها

نام دستگاهی که باید باز شود.
فلگ‌ها برای فراخوانی open(2): یک عدد ده‌دهی، یا هر ثابت معتبر O_* از fcntl.h (پیشوند اولیه O_ را می‌توان نادیده گرفت)، یا ترکیب بیتی (با استفاده از |) از هر تعداد از آن‌ها، مانند:
576
64|512
CREAT|TRUNC
علاوه بر این، شکل ترکیبی نیز مجاز است؛ یعنی یک حالت ده‌دهی که به دنبال آن نمایش نمادین آن می‌آید. در این حالت به نمایش نمادین اولویت داده می‌شود.

پاسخ

A0\n در صورت موفقیت.

افزونه‌ها

نسخه BSD فقط عدد ده‌دهی را به عنوان flags می‌پذیرد.
دستگاهِ در حال حاضر باز را می‌بندد.
آرگومان‌ها

هرگونه آرگومانی بدون هیچ پیامی نادیده گرفته می‌شود.
پاسخ

A0\n در صورت موفقیت.
یک عملیات lseek(2) را با پارامترهای مشخص‌شده بر روی دستگاه فعلی باز انجام می‌دهد.
آرگومان‌ها
مبدأ محاسبه فاصله (offset). مقادیر معتبر عبارتند از:
0, SET, SEEK_SET	جستجو از ابتدای فایل
1, CUR, SEEK_CUR	جستجو از موقعیت فعلی
2, END, SEEK_END	جستجو از انتهای فایل
پاسخ

Aoffset\n در صورت موفقیت. مقدار offset موقعیت جدید در فایل است.
افزونه‌ها
نسخه BSD فقط 0,1,2 را به عنوان whence می‌پذیرد.

به میزان count بایت داده از دستگاه فعلی می‌خواند.
آرگومان‌ها
تعداد بایت‌هایی که باید خوانده شود.
پاسخ

در صورت موفقیت:


Ardcount\n

و پس از آن rdcount بایت از داده‌های خوانده‌شده از دستگاه می‌آید.

داده‌ها را بر روی دستگاه فعلی می‌نویسد. این دستور با count بایت داده ورودی همراه است.
آرگومان‌ها
تعداد بایت‌هایی که باید نوشته شود.
پاسخ

در صورت موفقیت: Awrcount\n، که در آن wrcount تعداد بایت‌های واقعاً نوشته‌شده است.
یک دستور ioctl(2) از نوع MTIOCOP را با پارامترهای مشخص‌شده اجرا می‌کند.
آرگومان‌ها
کد عملیاتی MTIOCOP.
مقدار mt_count.
پاسخ

در صورت موفقیت: A0\n.
وضعیت دستگاه باز فعلی را مطابق با آنچه از فراخوانی MTIOCGET در ioctl(2) به دست می‌آید برمی‌گرداند.
آرگومان‌ها

هیچ
پاسخ

در صورت موفقیت: Acount\n و در ادامه count بایت داده.

tar(1).

استفاده از این ابزار به عنوان یک ابزار عمومی برای دسترسی راه دور به فایل‌ها توصیه نمی‌شود.

گزارش اشکالات را به <bug-tar@gnu.org> بفرستید.

دستور rmt نخستین بار در 4.2BSD ظاهر شد. نگارش گنو rmt با استفاده از مشخصات BSD از پایه بازنویسی شده است.

Copyright © 2013, 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
این یک نرم‌افزار آزاد است: شما می‌توانید آن را تغییر داده یا بازتوزیع کنید. هیچ ضمانتی وجود ندارد، تا حدی که قانون اجازه می‌دهد.

مه ۲۰۲۵ tar