.\" -*- mode: troff; coding: utf-8 -*- .TH "ALPM-DB-DESCV1" "5" "2018-05-28" "ALPM" "فرمتهای فایل" .SH "نام (NAME)" alpm-db-descv1 \- فرمت فایل برای نمایش فرادادههای بستههای مبتنی بر ALPM (نسخه ۱) .SH "توضیحات (DESCRIPTION)" .LP قالب \fBalpm-db-desc\fR یک قالب متنی است که فراداده‌های یک بسته منفرد را نمایش می‌دهد. هر فایل ویژگی‌های گوناگون یک بسته را توصیف می‌کند، از جمله نام، نسخه، وابستگی‌ها، اندازه، اطلاعات مجوز و موارد دیگر. برای فهرست کامل ویژگی‌ها به .B بخشها مراجعه کنید. .PP یک سیستم‌عامل متکی بر \fBA\fRrch \fBL\fRinux \fBP\fRackage \fBM\fRanagement یک پایگاه‌داده محلی \fBlibalpm\fR را با یک فایل \fBalpm-db-desc\fR به ازای هر بسته نگهداری می‌کند که هرکدام .I desc نامیده شده و در پوشه‌ای منحصربه‌فرد برای هر بسته قرار دارد. .PP مجموع تمامی فایل‌های \fBalpm-db-desc\fR در یک پایگاه‌داده \fBlibalpm\fR وضعیت فعلی سیستم را توصیف می‌کنند (یعنی چه بسته‌هایی، در چه زمانی و تحت چه شرایطی نصب شده‌اند). به طور مشخص‌تر، نرم‌افزارهای مدیریت بسته مانند \fBpacman\fR و ابزارهای مرتبط از این قالب فایل برای نمونه جهت حل وابستگی‌ها و نمایش اطلاعات بسته استفاده می‌کنند. .PP داده‌های موجود در یک فایل \fBalpm-db-desc\fR از یک \fBalpm-package\fR مشتق شده‌اند. در اینجا، بیشتر فراداده‌ها از داده‌های \fBPKGINFO\fR بسته سرچشمه می‌گیرند. .PP قالب فایل \fBalpm-db-desc\fR نباید با قالب فایل \fBalpm-repo-desc\fR اشتباه گرفته شود، که در چارچوب یک \fBalpm-repo-db\fR استفاده می‌شود و مجموعه متفاوتی از فراداده‌ها را در بر دارد، اما معمولاً آن هم .I desc نامیده می‌شود. .PP قالب \fBalpm-db-desc\fR در چندین نسخه وجود دارد. این سند نسخه ۱ را توصیف می‌کند که نسخه‌ای قدیمی (legacy) است و از زمان انتشار \fBpacman\fR 5.1.0 در تاریخ 2018-05-28 در دسترس بوده است. برای آخرین مشخصات، به \fBalpm-db-desc\fR مراجعه کنید. .SS قالب کلی .LP یک فایل \fBalpm-db-desc\fR فایلی با کدگذاری UTF-8 و جداشده با خط جدید است که از مجموعه‌ای از .B بخشها تشکیل شده است. .PP هر بخش با یک \fIخط سربرگ بخش\fR منحصربه‌فرد آغاز می‌شود. خط سربرگ بخش با یک یا چند خط دنبال می‌شود که هر کدام حاوی یک \fIمقدار مختص بخش\fR هستند. تمام \fIمقادیر مختص بخش\fR باید از .B نویسه‌های اسکی قابل چاپ\c [1] تشکیل شوند، مگر آنکه خلاف آن ذکر شده باشد. یک بخش زمانی پایان می‌یابد که به خط سربرگ بخش دیگری برخورد شود یا به پایان فایل برسد. .PP خطوط خالی میان بخش‌ها نادیده گرفته می‌شوند. .SH "بخشها (SECTIONS)" .LP هر \fIخط سربرگ بخش\fR شامل \fIنام بخش\fR با حروف تمام بزرگ است که میان علامت‌های درصد قرار دارد (مانند \f(CR%NAME%\fR). \fIنام‌های بخش\fR به عنوان کلید برای هر \fIمقدار مختص بخش\fR عمل می‌کنند. .PP هر بخش پس از \fIخط سربرگ بخش\fR، تنها اجازه قرارگیری یک \fIمقدار مختص بخش\fR را می‌دهد. به عنوان استثنایی بر این قاعده، بخش‌های .BR %LICENSE% ، .BR %GROUPS% ، .BR %DEPENDS% ، .BR %OPTDEPENDS% ، .BR %REPLACES% ، .B %CONFLICTS% و .B %PROVIDES% می‌توانند بیش از یک \fIمقدار مختص بخش\fR داشته باشند. .SS %NAME% .LP یک \fBalpm-package-name\fR، که نشان‌دهنده نام یک بسته است (مانند \f(CRexample\fR). .SS %VERSION% .LP یک \fBalpm-package-version\fR (\fIfull\fR یا \fIfull with epoch\fR) که نشان‌دهنده نسخه یک بسته است (مانند \f(CR1.0-1\fR). .SS %BASE% .LP یک \fBalpm-package-base\fR که پایه بسته را که بسته از آن سرچشمه می‌گیرد نشان می‌دهد. مقدار آن ممکن است با مقدار بخش .B %NAME% یکسان باشد. .SS %DESC% .LP توضیحات بسته. مقدار یک رشته UTF-8 به طول صفر یا بیشتر نویسه است (مانند \f(CRA project used for something\fR). .SS %URL% .LP نشانی اینترنتی (URL) برای پروژه بسته. مقدار یک URL معتبر یا یک رشته خالی است (مانند \f(CRhttps://example.org\fR). .SS %ARCH% .LP معماری بسته (برای اطلاعات بیشتر به \fBalpm-architecture\fR مراجعه کنید). مقدار باید از مجموعه نویسه‌های الفبایی-عددی و \(oq_\(oq تشکیل شده باشد (مانند \f(CRx86_64\fR یا \f(CRany\fR). .SS %BUILDDATE% .LP تاریخی که ساخت بسته در آن آغاز شده است. مقدار باید عددی بوده و نشان‌دهنده ثانیه‌های سپری‌شده از مبدأ زمانی (Epoch)، معروف به \(oqزمان یونیکس\(cq باشد (مانند \f(CR1729181726\fR). .SS %INSTALLDATE% .LP تاریخی که بسته در آن روی سیستم نصب شده است. مقدار باید عددی بوده و نشان‌دهنده ثانیه‌های سپری‌شده از مبدأ زمانی (Epoch)، معروف به \(oqزمان یونیکس\(cq باشد (مانند \f(CR1729181726\fR). .SS %PACKAGER% .LP شناسه کاربری (User ID) موجودیتی که بسته را ساخته است. این مقدار برای جستجوی هویت در نظر گرفته شده و نمایانگر یک .B شناسه کاربری OpenPGP\c [2] است. به این ترتیب، این مقدار یک رشته کدگذاری‌شده با UTF-8 است که بر اساس عرف از یک نام و یک نشانی ایمیل تشکیل شده و با قالب توصیف‌شده در .BR "RFC 2822"\c .UR e.g.%20%60John%20Doe%20%3Cjohn@example.org%3E%60 3 .UE \c \& مطابقت دارد. .SS %SIZE% .LP اندازه اختیاری محتویات بسته (فشرده‌نشده و استخراج‌شده) بر حسب بایت. مقدار یک عدد صحیح غیرمنفی است که اندازه مطلق محتویات بسته را نشان می‌دهد، به‌طوری‌که فایل‌های دارای چندین پیوند سخت (hardlink) تنها یک بار شمرده می‌شوند (مانند \f(CR181849963\fR). اگر بسته فاقد اندازه باشد (برای نمونه به این دلیل که یک \fBalpm-meta-package\fR است)، از این بخش صرف‌نظر می‌شود. .SS %GROUPS% .LP یک \fBalpm-package-group\fR که نشان‌دهنده یک گروه در سطح توزیع است که بسته در آن قرار دارد. مقادیر ممکن است یک یا چند بار وجود داشته باشند. اگر بسته در هیچ گروهی نباشد، از این بخش صرف‌نظر می‌شود. .PP مقدار با یک رشته UTF-8 نمایش داده می‌شود. اگرچه استفاده از یک رشته UTF-8 امکان‌پذیر است، اما اکیداً توصیه می‌شود که به جای آن برای مقدار به قالب \fBalpm-package-name\fR تکیه شود، زیرا مدیران بسته ممکن است از یک گروه بسته برای نصب کل یک گروه از بسته‌ها استفاده کنند. .SS %REASON% .LP یک مقدار اختیاری که دلیل نصب بسته را نشان می‌دهد. مقدار باید یک عدد صحیح غیرمنفی باشد: .IP "\(bu" 3 \f(CR0\fR: صریحاً نصب شده است .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CR1\fR: به عنوان یک وابستگی نصب شده است .LP اگر بسته صریحاً نصب شده باشد (مقدار \f(CR0\fR)، از این بخش صرف‌نظر می‌شود. .SS %LICENSE% .LP مجموعه‌ای اختیاری از شناسه‌های مجوز که برای بسته اعمال می‌شوند. مقادیر ممکن است یک یا چند بار وجود داشته باشند. اگر هیچ شناسه مجوزی وجود نداشته باشد، از این بخش صرف‌نظر می‌شود. .PP هر مقدار نشان‌دهنده یک شناسه مجوز است که رشته‌ای با طول غیرصفر می‌باشد (مانند \f(CRGPL\fR). اگرچه به جز طول رشته هیچ محدودیت خاصی بر مقدار اعمال نمی‌شود، اما اکیداً توصیه می‌شود که بر عبارات مجوز SPDX تکیه شود (مانند \f(CRGPL-3.0-or-later\fR یا \f(CRApache-2.0 OR MIT\fR). برای اطلاعات بیشتر، به .B فهرست مجوزهای SPDX\c [4] مراجعه کنید. .SS %VALIDATION% .LP روش‌های اعتبارسنجی استفاده‌شده هنگام نصب بسته برای اطمینان از اصالت آن. مقادیر ممکن است یک یا چند بار وجود داشته باشند. تنها مقادیر زیر قابل درک هستند: .IP "\(bu" 3 \f(CRnone\fR: یکپارچگی و اصالت بسته اعتبارسنجی نمی‌شود. .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRmd5\fR: بسته در برابر خلاصه درهم‌ساز MD-5 همراه در یک \fBalpm-repo-db\fR متعلق به مخزنی که بسته از آن نصب شده، اعتبارسنجی می‌شود. .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRsha256\fR: بسته در برابر خلاصه درهم‌ساز SHA-256 همراه در \fBalpm-repo-db\fR متعلق به مخزنی که بسته از آن نصب شده، اعتبارسنجی می‌شود. .if n \ .sp -1 .if t \ .sp -0.25v .IP "\(bu" 3 \f(CRpgp\fR: اصالت و یکپارچگی بسته با استفاده از یک .B امضای مجزای OpenPGP\c [5] و مجموعه‌ای سراسری از .B گواهی‌های OpenPGP\c [6] در سیستم اعتبارسنجی می‌شود. امضای دیجیتال ممکن است در فیلد .B %PGPSIG% از یک \fBalpm-repo-db\fR یا به صورت فایلی جداگانه در کنار فایل بسته وجود داشته باشد. .LP مقادیر .BR md5 ، .B sha256 و .B pgp می‌توانند در ترکیب با یکدیگر استفاده شوند تا نشان دهند همه آن‌ها اعمال می‌شوند (برای نمونه، یک بسته ممکن است هم با خلاصه درهم‌ساز SHA-256 و هم با یک .B امضای مجزای OpenPGP اعتبارسنجی شود). با این حال، اگر هیچ اعتبارسنجی انجام نشود، تنها .B none به عنوان مقدار مجاز است. .SS %REPLACES% .LP یک \fIمؤلفه مجازی\fR یا \fIبسته\fR دیگر، که این بسته هنگام نصب جایگزین آن می‌شود. مقادیر ممکن است یک یا چند بار وجود داشته باشند. اگر بسته جایگزین چیزی نشود، از این بخش صرف‌نظر می‌شود. مقدار یک \fBalpm-package-relation\fR از نوع \fBreplacement\fR است (مانند \f(CRexample\fR یا \f(CRexample=1.0.0\fR). .SS %DEPENDS% .LP یک وابستگی زمان اجرای بسته (\fIمؤلفه مجازی\fR یا \fIبسته\fR). مقادیر ممکن است یک یا چند بار وجود داشته باشند. اگر بسته هیچ وابستگی زمان اجرایی نداشته باشد، از این بخش صرف‌نظر می‌شود. مقدار یک \fBalpm-package-relation\fR از نوع \fBrun-time dependency\fR است (مانند \f(CRexample\fR یا \f(CRexample=1.0.0\fR). .SS %OPTDEPENDS% .LP یک وابستگی اختیاری بسته (\f(CRvirtual component\fR یا \f(CRpackage\fR). مقادیر ممکن است یک یا چند بار وجود داشته باشند. اگر بسته هیچ وابستگی اختیاری نداشته باشد، از این بخش صرف‌نظر می‌شود. مقدار یک \fBalpm-package-relation\fR از نوع \fBoptional dependency\fR است (مانند \f(CRexample\fR یا \f(CRexample: this is a description\fR). .SS %CONFLICTS% .LP یک \fIمؤلفه مجازی\fR یا \fIبسته\fR دیگر، که این بسته با آن تداخل دارد. مقادیر ممکن است یک یا چند بار وجود داشته باشند. اگر بسته با چیزی تداخل نداشته باشد، از این بخش صرف‌نظر می‌شود. مقدار یک \fBalpm-package-relation\fR از نوع \fBconflict\fR است (مانند \f(CRexample\fR یا \f(CRexample=1.0.0\fR). .SS %PROVIDES% .LP یک \fIمؤلفه مجازی\fR یا \fIبسته\fR دیگر، که این بسته آن را فراهم می‌کند. مقادیر ممکن است یک یا چند بار وجود داشته باشند. اگر بسته چیزی فراهم نکند، از این بخش صرف‌نظر می‌شود. مقدار یک \fBalpm-package-relation\fR از نوع \fBprovision\fR است (مانند \f(CRexample\fR یا \f(CRexample=1.0.0\fR). .SH "مثال‌ها (EXAMPLES)" .LP نمونه‌ای از یک فایل \fBalpm-db-desc\fR برای بسته‌ای به نام \f(CRexample\fR در نسخه \f(CR1.0.0-1\fR: .LP .EX %NAME% example %VERSION% 1.0.0-1 %BASE% example %DESC% An example package %URL% https://example.org %ARCH% x86_64 %BUILDDATE% 1733737242 %INSTALLDATE% 1733737243 %PACKAGER% Foobar McFooface %SIZE% 4 %LICENSE% MIT Apache-2.0 %VALIDATION% pgp %DEPENDS% gcc-libs .EE .SH "همچنین ببینید (SEE ALSO)" .LP \fBlibalpm\fR(3), \fBBUILDINFO\fR(5), \fBPKGBUILD\fR(5), \fBPKGINFO\fR(5), \fBalpm-repo-desc\fR(5), \fBalpm-architecture\fR(7), \fBalpm-package\fR(7), \fBalpm-package-file-name\fR(7), \fBalpm-package-name\fR(7), \fBalpm-package-relation\fR(7), \fBalpm-package-version\fR(7), \fBalpm-repo-db\fR(7), \fBalpm-split-package\fR(7), \fBpacman\fR(8) .SH "یادداشت‌ها (NOTES)" .IP "1." 3 نویسه‌های اسکی قابل چاپ (printable ASCII characters) .IP .UR https://en.wikipedia.org/wiki/ASCII#Printable_characters .UE .IP "2." 3 شناسه کاربری OpenPGP .IP .UR https://openpgp.dev/book/certificates.html#user-ids .UE .IP "3." 3 RFC 2822 .IP .UR https://www.rfc-editor.org/rfc/rfc2822 .UE .IP "4." 3 فهرست مجوزهای SPDX .IP .UR https://spdx.org/licenses .UE .IP "5." 3 امضای OpenPGP .IP .UR https://openpgp.dev/book/signing_data.html#detached-signatures .UE .IP "6." 3 گواهی‌های OpenPGP .IP .UR https://openpgp.dev/book/certificates.html .UE