'\" t .\" Title: veritysetup .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-07-21 .\" Manual: دستورهای مدیریتی و نگهداری .\" Source: veritysetup 2.8.7 .\" Language: Persian .\" .TH "VERITYSETUP" "8" "2026-07-21" "veritysetup 2.8.7" "دستورهای مدیریتی و نگهداری" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "نام (NAME)" veritysetup \- ابزار پیکربندی و مدیریت دستگاههای dm-verity .SH "خلاصه دستور (SYNOPSIS)" .sp \fBveritysetup <عملکرد> [<\fIگزینه‌ها\fP>] <\fIآرگومان‌های عملکرد\fP>\fP .SH "توضیحات (DESCRIPTION)" .sp دستور \fBveritysetup\fP ابزاری برای پیکربندی و مدیریت دستگاه‌های \fBdm\-verity\fP هسته است. .sp مقصد \fBdm\-verity\fP نگاشت‌کننده دستگاه (device\-mapper) هسته، محافظت از یکپارچگی داده‌های دستگاه‌های بلوکی را به‌صورت شفاف و فقط‌خواندنی فراهم می‌کند. .sp هنگامی که دستگاه \fBdm\-verity\fP را پیکربندی می‌کنید، veritysetup یک نگاشت جدید ایجاد می‌کند که برنامه‌ها می‌توانند مانند هر دستگاه ذخیره‌سازی معمولی به آن دسترسی داشته باشند. هسته با مقایسه هر بلوک با هش‌های رمزنگاری پیش‌محاسبه‌شده، اعتبارسنجی را به‌صورت شفاف انجام می‌دهد. این اعتبارسنجی از یک درخت مرکل (Merkle tree) استفاده می‌کند و به‌صورت شفاف در سطح هسته و بدون تأثیر بر برنامه‌ها انجام می‌شود. .sp دستگاه‌های verity را می‌توان هنگام بوت از طریق \fBveritytab\fP(5) که بخشی از \fBsystemd\fP(1) است، فعال کرد. .SH "عملکردهای پایه (BASIC ACTIONS)" .sp ابزار veritysetup از عملیات زیر پشتیبانی می‌کند: .SS "قالب‌بندی (FORMAT)" .sp \fBformat \fP .sp داده‌های اعتبارسنجی هش را برای محاسبه و به‌صورت دائمی ذخیره می‌کند. در صورتی که با گزینه \fB\-\-hash\-offset\fP مشخص شده باشد، ناحیه هش می‌تواند روی همان دستگاه و پس از داده‌ها قرار گیرد. .sp برای اعتبارسنجی یا فعال‌سازی دستگاه، باید رشته هش ریشه (root hash) را ارائه دهید. هش ریشه باید مورد اعتماد باشد. .sp آرگومان دستگاه داده یا دستگاه هش می‌تواند یک دستگاه بلوکی یا یک تصویر فایل (file image) باشد. اگر مسیر دستگاه هش وجود نداشته باشد، به‌صورت یک فایل ایجاد خواهد شد. .sp \fB<گزینه‌ها>\fP می‌توانند [\-\-hash, \-\-no\-superblock, \-\-format, \-\-data\-block\-size, \-\-hash\-block\-size, \-\-data\-blocks, \-\-hash\-offset, \-\-salt, \-\-uuid, \-\-root\-hash\-file] باشند. .sp اگر از گزینه \fB\-\-root\-hash\-file\fP استفاده شود، هش ریشه در قالب متن کدگذاری‌شده هگزادسیمال در ذخیره می‌شود. .SS "باز کردن (OPEN)" .sp \fBopen \fP .br \fBopen \-\-root\-hash\-file \fP .br create (\fBنحو منسوخ‌شده\fP) .sp یک نگاشت با نام با تکیه بر دستگاه و با استفاده از برای اعتبارسنجی درون هسته ایجاد می‌کند. .sp مقدار یک رشته هگزادسیمال است. .sp \fB<گزینه‌ها>\fP می‌توانند [\-\-hash\-offset, \-\-no\-superblock, \-\-ignore\-corruption or \-\-restart\-on\-corruption, \-\-panic\-on\-corruption, \-\-ignore\-zero\-blocks, \-\-check\-at\-most\-once, \-\-root\-hash\-signature, \-\-root\-hash\-file, \-\-use\-tasklets, \-\-shared] باشند. .sp اگر از گزینه \fB\-\-root\-hash\-file\fP استفاده شود، هش ریشه به جای پارامتر خط فرمان، از خوانده می‌شود. انتظار می‌رود متن کدگذاری‌شده هگزادسیمال، بدون نویسه خط جدید پایانی باشد. .sp در صورت استفاده از \fB\-\-no\-superblock\fP، باید از همان گزینه‌هایی استفاده کنید که در عملیات قالب‌بندی اولیه استفاده شده بود. .SS "اعتبارسنجی (VERIFY)" .sp \fBverify \fP .br \fBverify \-\-root\-hash\-file \fP .sp داده‌های روی data_device را با استفاده از بلوک‌های هش ذخیره‌شده در hash_device اعتبارسنجی می‌کند. .sp این دستور اعتبارسنجی را در فضای کاربری (userspace) انجام می‌دهد؛ هیچ دستگاه هسته‌ای ایجاد نمی‌شود. .sp مقدار یک رشته هگزادسیمال است. .sp اگر از گزینه \fB\-\-root\-hash\-file\fP استفاده شود، هش ریشه به جای پارامتر خط فرمان، از خوانده می‌شود. انتظار می‌رود متن کدگذاری‌شده هگزادسیمال، بدون نویسه خط جدید پایانی باشد. .sp \fB<گزینه‌ها>\fP می‌توانند [\-\-hash\-offset, \-\-no\-superblock, \-\-root\-hash\-file] باشند. .sp در صورت استفاده از \fB\-\-no\-superblock\fP، باید از همان گزینه‌هایی استفاده کنید که در عملیات قالب‌بندی اولیه استفاده شده بود. .SS "بستن (CLOSE)" .sp \fBclose \fP .br remove (\fBنحو منسوخ‌شده\fP) .sp نگاشت موجود را حذف می‌کند. .sp \fB<گزینه‌ها>\fP می‌توانند [\-\-deferred] یا [\-\-cancel\-deferred] باشند. .SS "وضعیت (STATUS)" .sp \fBstatus \fP .sp وضعیت نگاشت فعال verity با نام را گزارش می‌دهد. .SS "تخلیه اطلاعات (DUMP)" .sp \fBdump \fP .sp پارامترهای دستگاه verity را از ابربلوک ذخیره‌شده روی دیسک گزارش می‌دهد. .sp \fB<گزینه‌ها>\fP می‌توانند [\-\-hash\-offset] باشند. .SH "گزینه‌ها (OPTIONS)" .sp \fB\-\-batch\-mode\fP, \fB\-q\fP .RS 4 عدم درخواست تاییدیه (حالت غیرتعاملی). .RE .sp \fB\-\-cancel\-deferred\fP .RS 4 حذف معوق پیکربندی‌شده قبلی دستگاه را در دستور \fBclose\fP لغو می‌کند. .RE .sp \fB\-\-check\-at\-most\-once\fP .RS 4 به هسته دستور می‌دهد بلوک‌ها را تنها یک بار هنگام خوانده شدن از دستگاه داده اعتبارسنجی کند، نه هر بار. .sp \fBهشدار:\fP این گزینه سطح امنیت را کاهش می‌دهد زیرا تنها دستکاری آفلاین محتوای دستگاه داده تشخیص داده خواهد شد، نه دستکاری برخط (آنلاین). .RE .sp \fB\-\-data\-blocks\fP \fIblocks\fP .RS 4 اندازه دستگاه داده مورد استفاده در اعتبارسنجی (بر حسب بلوک). در صورت عدم تعیین، از کل دستگاه استفاده می‌شود. .RE .sp \fB\-\-data\-block\-size\fP \fIbytes\fP .RS 4 اندازه بلوک مورد استفاده برای دستگاه داده (بر حسب بایت). حداکثر مقدار برابر با اندازه صفحه حافظه مورد استفاده هسته است. .RE .sp \fB\-\-debug\fP .RS 4 اجرا در حالت اشکال‌زدایی با گزارش‌های تشخیصی کامل. خطوط خروجی اشکال‌زدایی همیشه با پیشوند \fB#\fP همراه هستند. .RE .sp \fB\-\-deferred\fP .RS 4 حذف دستگاه را در دستور \fBclose\fP تا زمانی که آخرین کاربر آن را ببندد به تعویق می‌اندازد. .RE .sp \fB\-\-error\-as\-corruption\fP .RS 4 خطاهای ورودی/خروجی (I/O) دستگاه را همانند خرابی داده‌ها در نظر می‌گیرد. این گزینه باید همراه با \fB\-\-restart\-on\-corruption\fP یا \fB\-\-panic\-on\-corruption\fP استفاده شود. .RE .sp \fB\-\-fec\-device\fP \fIdevice\fP .RS 4 استفاده از تصحیح خطای رو به جلو (Forward Error Correction یا FEC) برای بازیابی از خرابی داده‌ها در صورت ناموفق بودن اعتبارسنجی هش. از داده‌های کدگذاری دستگاه مشخص‌شده استفاده می‌کند. .sp آرگومان دستگاه FEC می‌تواند یک دستگاه بلوکی یا یک تصویر فایل باشد. برای دستور format، در صورتی که مسیر دستگاه FEC وجود نداشته باشد، به‌صورت یک فایل ایجاد می‌شود. .sp اندازه بلوک‌ها برای دستگاه‌های داده و هش باید یکسان باشد. همچنین، اگر دستگاه داده (data_device) در verity رمزنگاری شده باشد، دستگاه fec_device نیز باید رمزنگاری شود. .sp محاسبه FEC شامل داده‌ها، ناحیه هش و فراداده اختیاری خارجی ذخیره‌شده روی همان دستگاه حاوی درخت هش (فضای اضافی بعد از ناحیه هش) می‌شود. اندازه این ناحیه اضافی اختیاری محافظت‌شده توسط FEC از روی اندازه تصاویر محاسبه می‌شود، بنابراین باید برای فعال‌سازی از همان تصاویر استفاده کنید. .sp اگر دستگاه هش در یک تصویر جداگانه باشد، فراداده کل تصویر بعد از ناحیه هش را پوشش می‌دهد. .sp در صورتی که دستگاه هش و FEC هر دو در تصویر باشند، فراداده در آفست ناحیه FEC خاتمه می‌یابد. .RE .sp \fB\-\-fec\-offset\fP \fIbytes\fP .RS 4 آفست (بر حسب بایت) از ابتدای دستگاه FEC تا شروع داده‌های کدگذاری است. .RE .sp \fB\-\-fec\-roots\fP \fInumber\fP .RS 4 تعداد ریشه‌های مولد (generator roots). این مقدار برابر با تعداد بایت‌های پاریتی در داده‌های کدگذاری است. در کدگذاری RS(M, N)، تعداد ریشه‌ها برابر با M\-N است. مقدار M برابر ۲۵۵ است و M\-N مقداری بین ۲ تا ۲۴ (شامل هر دو) است. .RE .sp \fB\-\-format\fP \fInumber\fP .RS 4 نوع نسخه هش را مشخص می‌کند. فرمت نوع ۰ نسخه اصلی Chrome OS است. فرمت نوع ۱ نسخه کنونی است. .RE .sp \fB\-\-hash\fP \fIhash\fP .RS 4 الگوریتم هش برای dm\-verity. برای مشاهده پیش‌فرض، گزینه \fB\-\-help\fP را ببینید. .RE .sp \fB\-\-hash\-block\-size\fP \fIbytes\fP .RS 4 اندازه بلوک مورد استفاده برای دستگاه هش (بر حسب بایت). حداکثر مقدار برابر با اندازه صفحه حافظه مورد استفاده هسته است. .RE .sp \fB\-\-hash\-offset\fP \fIbytes\fP .RS 4 آفست ناحیه هش/ابربلوک روی hash_device (بر حسب بایت). مقدار باید با آفست سکتور دیسک تراز باشد. .RE .sp \fB\-\-help\fP, \fB\-?\fP .RS 4 نمایش متن راهنما و پارامترهای پیش‌فرض. .RE .sp \fB\-\-ignore\-corruption\fP, \fB\-\-restart\-on\-corruption\fP, \fB\-\-panic\-on\-corruption\fP .RS 4 تعیین می‌کند در صورت تشخیص مشکل یکپارچگی داده (خرابی داده‌ها)، چه اقدامی انجام شود. .sp بدون این گزینه‌ها، هسته عملیات ورودی/خروجی را با خطای I/O رد می‌کند. با گزینه \fB\-\-ignore\-corruption\fP، خرابی تنها در گزارش‌ها ثبت می‌شود. با گزینه‌های \fB\-\-restart\-on\-corruption\fP یا \fB\-\-panic\-on\-corruption\fP، هسته بلافاصله راه‌اندازی مجدد می‌شود (وحشت هسته / panic رخ می‌دهد). (شما باید سازوکاری برای جلوگیری از حلقه‌های راه‌اندازی مجدد فراهم کنید.) .sp از این گزینه‌ها فقط در موارد بسیار خاص استفاده کنید. .RE .sp \fB\-\-ignore\-zero\-blocks\fP .RS 4 به هسته دستور می‌دهد بلوک‌هایی را که انتظار می‌رود حاوی صفر باشند اعتبارسنجی نکند و همیشه مستقیماً صفر برگرداند. .sp از این گزینه فقط در موارد بسیار خاص استفاده کنید. .RE .sp \fB\-\-no\-superblock\fP .RS 4 ایجاد یا استفاده از dm\-verity بدون ابربلوک دائمی روی دیسک. .RE .sp \fB\-\-root\-hash\-file\fP \fIfile\fP* .RS 4 مسیر فایل حاوی هش ریشه ذخیره‌شده به‌صورت متن کدگذاری‌شده هگزادسیمال. .RE .sp \fB\-\-root\-hash\-signature\fP \fIfile\fP* .RS 4 مسیر فایل امضای هش ریشه مورد استفاده برای اعتبارسنجی هش ریشه (درون هسته). این ویژگی به نسخه ۵.۴ یا جدیدتر هسته لینوکس نیاز دارد. .RE .sp \fB\-\-salt=hex string\fP .RS 4 نمک (salt) مورد استفاده برای قالب‌بندی یا اعتبارسنجی. قالب آن یک رشته هگزادسیمال است. .RE .sp \fB\-\-shared\fP .RS 4 اجازه می‌دهد از دستگاه داده در حالت اشتراکی استفاده شود. دستگاه داده قبل از فعال‌سازی دستگاه از نظر دسترسی انحصاری بررسی نمی‌شود و ممکن است در چندین نگاشت verity نگاشت گردد. .RE .sp \fB\-\-usage\fP .RS 4 نمایش راهنمای کوتاه گزینه‌ها. .RE .sp \fB\-\-use\-tasklets\fP .RS 4 تلاش برای استفاده از taskletهای هسته در درایور dm\-verity به دلایل کارایی. این گزینه از نسخه ۶.۰ هسته لینوکس در دسترس است. .RE .sp \fB\-\-uuid\fP \fIUUID\fP .RS 4 استفاده از UUID ارائه‌شده برای دستور format به جای ایجاد یک مورد جدید. .sp مقدار UUID باید در قالب استاندارد UUID ارائه شود، مانند 12345678\-1234\-1234\-1234\-123456789abc. .RE .sp \fB\-\-verbose\fP, \fB\-v\fP .RS 4 چاپ اطلاعات بیشتر در هنگام اجرای دستور. .RE .sp \fB\-\-version\fP, \fB\-V\fP .RS 4 نمایش نسخه برنامه. .RE .SH "کدهای بازگشتی (RETURN CODES)" .sp دستور veritysetup در صورت موفقیت مقدار \fB0\fP و در صورت بروز خطا یک مقدار غیرصفر برمی‌گرداند. .sp کدهای خطا عبارتند از: \fB1\fP پارامترهای نادرست، \fB2\fP عدم دسترسی یا مجوز ناکافی، \fB3\fP کمبود حافظه، \fB4\fP دستگاه نادرست مشخص‌شده، \fB5\fP دستگاه از قبل وجود دارد یا دستگاه مشغول است. .SH "مثال‌ها (EXAMPLES)" .sp \fBveritysetup \-\-data\-blocks=256 format \fP .sp داده‌های اعتبارسنجی را روی hash_device برای ۲۵۶ بلوک اول (با اندازه بلوک) محاسبه و ذخیره می‌کند. اگر hash_device وجود نداشته باشد، ایجاد خواهد شد (به‌صورت یک تصویر فایل). .sp \fBveritysetup format \-\-root\-hash\-file \fP .sp داده‌های اعتبارسنجی را روی hash_device برای کل data_device محاسبه و ذخیره می‌کند، و هش ریشه را به‌صورت متن کدگذاری‌شده هگزادسیمال در ذخیره می‌نماید. .sp \fBveritysetup \-\-data\-blocks=256 \-\-hash\-offset=1052672 format \fP .sp داده‌های اعتبارسنجی (هش‌ها) روی همان دستگاه داده ذخیره می‌شوند (با شروع از hash\-offset). آفست هش باید بزرگ‌تر از تعداد بلوک‌های موجود در ناحیه داده باشد. .sp \fBveritysetup \-\-data\-blocks=256 \-\-hash\-offset=1052672 create test\-device \fP .sp دستگاه verity به نام test\-device را فعال می‌کند. گزینه‌های \fB\-\-data\-blocks\fP و \fB\-\-hash\-offset\fP مانند دستور format هستند. مقدار در دستور format محاسبه شده بود. .sp \fBveritysetup \-\-data\-blocks=256 \-\-hash\-offset=1052672 verify \fP .sp دستگاه را بدون فعال‌سازی اعتبارسنجی می‌کند (در فضای کاربری). .sp \fBveritysetup \-\-data\-blocks=256 \-\-hash\-offset=1052672 \-\-root\-hash\-file verify \fP .sp دستگاه را بدون فعال‌سازی اعتبارسنجی می‌کند (در فضای کاربری). هش ریشه به جای ورودی مستقیم، از طریق فایل ارسال می‌شود. .sp \fBveritysetup \-\-fec\-device= \-\-fec\-roots=10 format \fP .sp داده‌های اعتبارسنجی و کدگذاری را برای data_device محاسبه و ذخیره می‌کند. .SH "فرمت روی دیسک DM-VERITY (DM\-VERITY ON\-DISK SPECIFICATION)" .sp مشخصات قالب روی دیسک در صفحه .URL "https://gitlab.com/cryptsetup/cryptsetup/wikis/DMVerity" "DMVerity" "" در دسترس است. .SH "نویسندگان (AUTHORS)" .sp نخستین پیاده‌سازی veritysetup توسط نویسندگان Chrome OS نوشته شده بود. .sp این نسخه بر اساس کد اعتبارسنجی نوشته‌شده توسط \c .MTO "mpatocka\(atredhat.com" "Mikulas Patocka" "" است و توسط \c .MTO "gmazyland\(atgmail.com" "Milan Broz" "." برای libcryptsetup بازنویسی شده است. .SH "گزارش باگ‌ها (REPORTING BUGS)" .sp باگ‌ها را به \c .MTO "cryptsetup\(atlists.linux.dev" "لیست پستی cryptsetup" "" ارسال کنید یا در \c .URL "https://gitlab.com/cryptsetup/cryptsetup/\-/issues/new" "بخش مسائل پروژه" "." گزارش دهید. .sp لطفاً خروجی دستور ناموفق را همراه با گزینه \fB\-\-debug\fP پیوست کنید. .SH "همچنین ببینید (SEE ALSO)" .sp .URL "https://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions" "پرسش‌های متداول Cryptsetup" "" .sp \fBcryptsetup\fP(8), \fBintegritysetup\fP(8) و \fBveritysetup\fP(8) .SH "CRYPTSETUP" .sp بخشی از \c .URL "https://gitlab.com/cryptsetup/cryptsetup" "پروژه cryptsetup" "."