.\" -*- mode: troff; coding: utf-8 -*- .TH "ALPM-MTREEv1" "5" "2024-03-01" "Pacman" "راهنمای فرمت‌های فایل" .SH "نام (NAME)" ALPM-MTREEv1 \- قالب توصیف سلسله‌مراتب دایرکتوری بسته .SH "توضیحات (DESCRIPTION)" .LP قالب .B mtree یک قالب متنی است که سلسله‌مراتب و متاداده‌های فایل‌ها را در یک دایرکتوری توصیف می‌کند. .PP قالب .B mtree قالبی شناخته‌شده است که می‌تواند برای مثال برای دستورالعمل‌های نصب یا برای اعتبارسنجی متاداده‌های فایل‌ها و سلسله‌مراتب یک دایرکتوری استفاده شود. .PP قالب .B ALPM-MTREE از مشخصات رسمی .B mtree پیروی می‌کند. با این حال، فایل‌های .B .MTREE که در زمینه بسته‌های ALPM استفاده می‌شوند، تنها از زیرمجموعه‌ای از قالب رسمی .B mtree استفاده می‌کنند که در حوزه بسته‌بندی کاربرد دارد. .SS "ویژگی‌ها (Properties)" .LP فایل‌های .B .MTREE تولید شده توسط .B makepkg تنها حاوی ویژگی‌های زیر هستند: .IP "\(bu" 3 \f(CRtype\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRuid\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRgid\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRmode\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRtime\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRsize\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRmd5\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRsha256\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRlink\fR .LP فایل‌های .B .MTREE در حوزه بسته‌های مبتنی بر ALPM استفاده می‌شوند و معمولاً به فایل‌های درون همان بسته‌های مربوطه اشاره دارند. به همین دلیل، تمام مسیرهای ارائه‌شده در یک فایل .B ALPM-MTREE باید نسبت به ریشه بسته نسبی باشند، به استثنای مقصدهای پیوند (link destinations) که می‌توانند نشان‌دهنده مسیرهای مطلق نیز باشند. .SS "ویژگی نوع مسیر (Path Type Property)" .LP برخلاف تمام انواع موجود در .BR mtree ، قالب .B ALPM-MTREE تنها سه نوع فایل را مجاز می‌داند: .IP "\(bu" 3 \f(CRdir\fR یک دایرکتوری .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRfile\fR یک فایل .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRlink\fR یک پیوند نمادین (symbolic link) .LP سایر انواع فایل نباید استفاده شوند، زیرا نمایانگر انواع سخت‌افزاری خاص یا موردی هستند که نباید در یک بسته گنجانده شوند. .SS "فیلدهای الزامی بر اساس نوع فایل (Required Fields by File Type)" .LP قالب .B ALPM-MTREE نیازمند مقادیر مشخصی برای برخی از انواع فایل است، چیزی که .B mtree بر اساس مشخصات خود الزامی نمی‌کند. .PP نوع مسیر .B dir نیازمند تنظیم ویژگی‌های زیر است: .IP "\(bu" 3 \f(CRpath\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRuid\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRgid\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRmode\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRtime\fR .LP نوع مسیر .B file نیازمند تنظیم ویژگی‌های زیر است: .IP "\(bu" 3 \f(CRpath\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRuid\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRgid\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRmode\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRsize\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRmd5_digest\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRsha256_digest\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRtime\fR .LP نوع مسیر .B link نیازمند تنظیم ویژگی‌های زیر است: .IP "\(bu" 3 \f(CRpath\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRuid\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRgid\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRmode\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRlink\fR .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRtime\fR .SS "کاربرد در Pacman (Usage in Pacman)" .LP در Pacman فایل‌های .B ALPM-MTREE صرفاً برای اعتبارسنجی اینکه فایل‌های نصب‌شده با فایل‌های اصلی یکسان هستند بدون نیاز به نگهداری بسته اصلی استفاده می‌شوند. فایل‌های .B .MTREE هنگام ساخت بسته‌ها از طریق .B makepkg به‌طور ضمنی تولید و گنجانده می‌شوند. فایل .B .MTREE فشرده‌شده با gzip در ریشه بسته‌های مبتنی بر ALPM قرار دارد. .SS "نسخه‌بندی (Versioning)" .LP قالب .B ALPM-MTREE در چندین نسخه وجود دارد. اطلاعات موجود در این سند مربوط به نسخه ۱ است که منسوخ شده است. قالب .B ALPM-MTREE نسخه ۱ با انتشار pacman 4.6.0 در تاریخ ۲۰۱۲-۰۴-۳۰ معرفی شد. .SH "مثال‌ها (EXAMPLES)" .LP .EX #mtree /set type=file uid=0 gid=0 mode=644 \&./.BUILDINFO time=1696727741.0 size=5574 md5digest=04a85103d4780101c710a297aae33837 sha256digest=708be566788a6a2712bcd40425d93761569ede07371781374edb1f22e2a3eb96 \&./.PKGINFO time=1696727741.0 size=830 md5digest=bde30355e5b95a86c59afbd149cc28da sha256digest=3aa17bec02b34c157e7c739c62e0e37a9d19f1459d404d7c6f2c14c6008127cd set mode=755 type=dir \&./usr time=1731613789.0 \&./usr/bin time=1731613789.0 \&./usr/bin/resolvconf time=1731613789.0 mode=777 type=link link=resolvectl .EE .SS "تولید (Generation)" .LP فایل‌های mtree مربوط به ALPM با فراخوانی زیر تولید می‌شوند: .LP .EX bsdtar \e --format=mtree \e --options='!all,use-set,type,uid,gid,mode,time,size,md5,sha256,link' \e $folder .EE .SH "کاربردها (Usages)" .LP در چارچوب ALPM و .BR pacman ، هدف اصلی فایل .B mtree ارائه روشی با کارایی بالا جهت دریافت متاداده فایل‌های یک بسته بدون نیاز به استخراج و خواندن کل بسته است. .PP سپس از این داده‌ها برای اعتبارسنجی فایل‌های نصب‌شده روی سیستم هدف در برابر فایل‌های اصلی بسته استفاده می‌شود. برای جزئیات بیشتر به قابلیت بررسی پرسمان (query check) در .B pacman مراجعه کنید. .SH "همچنین ببینید (SEE ALSO)" .LP .BR mtree (5), .BR makepkg (8), .BR pacman (8)