APPSTREAMCLI(1) appstreamcli APPSTREAMCLI(1)

appstreamcli - مدیریت قالب‌های فراداده AppStream و جست‌وجوی داده‌های AppStream

appstreamcli [COMMAND]

این صفحه راهنما به‌طور خلاصه دستور appstreamcli را مستند می‌کند.

appstreamcli یک ابزار کمکی کوچک برای کار با فراداده‌های AppStream و دسترسی به نمایه مؤلفه‌های AppStream از خط فرمان است. نمایه مؤلفه‌های AppStream شامل فهرستی از تمام مؤلفه‌های نرم‌افزاری موجود برای توزیع شما است که با نام بسته‌های آن‌ها تطبیق داده شده است. این نمایه با استفاده از داده‌های AppStream XML یا Debian DEP-11 که توسط توزیع شما ارائه می‌شود تولید می‌گردد.

برای اطلاعات بیشتر درباره پروژه AppStream و سایر مؤلفه‌هایی که بخشی از آن هستند، به صفحات AppStream در Freedesktop.org[1]. نگاهی بیندازید.

get ID

دریافت یک مؤلفه از استخر فراداده بر اساس شناسه آن.

s, search TERM

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

what-provides TYPE TERM

بازگرداندن مؤلفه‌هایی که یک مورد مشخص را ارائه می‌دهند. نوع مورد را می‌توان با استفاده از پارامتر TYPE مشخص کرد، و مقداری که باید جست‌وجو شود باید با استفاده از پارامتر TERM ارائه گردد.

مثال‌ها:

دریافت مؤلفه‌هایی که نوع رسانه "text/xml" را مدیریت می‌کنند.

appstreamcli what-provides mediatype "text/xml"

دریافت مؤلفه‌ای که کتابخانه "libfoo.so.2" را ارائه می‌دهد.

appstreamcli what-provides lib libfoo.so.2

list-reviews ID

فهرست کردن نظرات کاربران برای مؤلفه نرم‌افزاری با شناسه مشخص، دریافت شده از یک سرویس برخط سازگار با Open Desktop Ratings Service (ODRS).

نظرات بر اساس میزان مفید بودن از نظر سایر کاربران مرتب می‌شوند و تعداد نظرات نمایش‌داده‌شده در هر نوبت از طریق پرچم --limit محدود می‌شود. صفحات بعدی نتایج را می‌توان با استفاده از پرچم --start که نمایه نخستین نظر برای دریافت را تعیین می‌کند درخواست کرد.

به‌طور پیش‌فرض، نظرات منطبق با محلی‌سازی جاری سیستم در اولویت هستند؛ از پرچم --locale برای انتخاب یک محلی‌سازی دیگر استفاده کنید. پرچم --server می‌تواند برای دریافت نظرات از یک سرور سازگار با ODRS دیگر به جای سرور پیش‌فرض استفاده شود.

refresh, refresh-cache

تازه‌سازی پایگاه داده در صورت نیاز. در صورتی که می‌خواهید بازسازی پایگاه داده را اجبار کنید، پرچم --force را ارسال نمایید.

این دستور باید با دسترسی root اجرا شود.

status

نمایش اطلاعات گوناگون درباره فراداده‌های نصب‌شده و حافظه نهان فراداده.

os-info

نمایش اطلاعات درباره سیستم‌عامل جاری از نمایه فراداده. این امر مستلزم آن است که سیستم‌عامل یک مؤلفه operating-system برای خود ارائه داده باشد.

dump ID

تخلیه کامل توضیحات XML مؤلفه‌های دارای شناسه مشخص که در استخر فراداده یافت شده‌اند.

validate FILES

اعتبارسنجی فراداده AppStream XML برای مطابقت با مشخصات.

هر دو نوع فراداده XML، یعنی XML بالادست (upstream) و توزیع (distro)، پشتیبانی می‌شوند. نوع قالبی که باید اعتبارسنجی شود به‌طور خودکار تعیین می‌گردد.

پرچم --pedantic اعتبارسنجی سخت‌گیرانه‌تری را برای پرونده اجرا می‌کند و موارد جزئی و اشکالات نگارشی را نیز در گزارش می‌آورد.

validate-tree DIRECTORY

اعتبارسنجی فراداده AppStream XML موجود در یک درخت پوشه.

این دستور یک اعتبارسنجی استاندارد روی تمام فراداده‌های یافت‌شده انجام می‌دهد، اما خطاهای دیگر مانند وجود پرونده‌های .desktop و معتبر بودن سایر فراداده‌های تکمیلی را نیز بررسی می‌کند.

check-license LICENSE

بررسی اعتبار یک رشته مجوز یا عبارت مجوز و نمایش جزئیات آن.

این گزینه بررسی می‌کند که آیا رشته مجوز برای AppStream معتبر در نظر گرفته می‌شود یا خیر، و در صورت نامعتبر بودن، یک کد خروج غیر صفر برمی‌گرداند. این دستور همچنین اطلاعات مفیدی مانند شناسه استاندارد (canonical ID) مجوز، مناسب بودن آن به عنوان مجوزی برای فراداده AppStream، و آزاد و متن‌باز بودن یا انحصاری بودن نرم‌افزار را نمایش می‌دهد.

پروژه AppStream هر مجوزی را که توسط بنیاد نرم‌افزار آزاد (FSF)، پیشگامان متن‌باز (OSI) یا فهرست مجوزهای صریح راهنمای نرم‌افزار آزاد دبیان (DFSG) مناسب شناخته شده باشد، به عنوان آزاد و متن‌باز در نظر می‌گیرد.

install ID

نصب یک مؤلفه نرم‌افزاری با شناسه آن با استفاده از مدیر بسته یا Flatpak.

این دستور شناسه مؤلفه AppStream را به یک کاندیدای نصب تبدیل کرده و سپس مدیر بسته بومی یا Flatpak (در صورت وجود) را برای نصب مؤلفه فراخوانی می‌کند.

remove ID

حذف نصب یک مؤلفه نرم‌افزاری با شناسه آن با استفاده از مدیر بسته یا Flatpak.

این دستور نرم‌افزار منطبق با شناسه انتخاب‌شده را با استفاده از مدیر بسته بومی یا Flatpak (در صورت وجود) حذف می‌کند.

put FILE

نصب یک پرونده فراداده در پوشه مناسب روی دستگاه جاری.

compare-versions, vercmp VER1 [CMP] VER2

مقایسه دو شماره نسخه. اگر دو شماره نسخه به عنوان پارامتر داده شوند، نسخه‌ها مقایسه شده و نتیجه مقایسه در خروجی استاندارد چاپ می‌شود.

اگر یک شماره نسخه، یک عملگر مقایسه و یک شماره نسخه دیگر به عنوان پارامتر ارسال شوند، نتیجه عملیات مقایسه در خروجی استاندارد چاپ می‌شود، و در صورتی که مقایسه برقرار نباشد، appstreamcli با وضعیت خروج غیر صفر خارج می‌شود. عملگر مقایسه می‌تواند یکی از موارد زیر باشد:

•eq - برابر با
•ne - نابرابر با
•lt - کمتر از
•gt - بیشتر از
•le - کمتر یا برابر با
•ge - بیشتر یا برابر با

new-template TYPE FILE

ایجاد یک الگوی پرونده metainfo برای استفاده در پروژه‌های نرم‌افزاری. گزینه --from-desktop می‌تواند برای استفاده از یک پرونده .desktop به عنوان الگو جهت تولید پرونده نمونه استفاده شود.

پرونده‌های تولیدشده شامل ورودی‌های نمونه‌ای هستند که باید توسط نویسنده پروژه با مقادیر مورد نظر واقعی پر شوند.

نخستین پارامتر TYPE نام یک نوع مؤلفه AppStream است. برای فهرست کامل، به مستندات[2] یا خروجی راهنمای appstreamcli برای این زیردستور مراجعه کنید.

make-desktop-file MI_FILE DESKTOP_FILE

ایجاد یک پرونده desktop-entry استاندارد XDG از یک پرونده metainfo. اگر پرونده desktop-entry مشخص‌شده در DESKTOP_FILE از قبل وجود داشته باشد، با اطلاعات جدید استخراج‌شده از پرونده metainfo گسترش می‌یابد؛ در غیر این صورت پرونده جدیدی ایجاد خواهد شد.

این دستور از نخستین binary ذکر شده در برچسب provides مؤلفه برای فیلد Exec= پرونده desktop-entry جدید استفاده می‌کند. اگر این رفتار مورد نظر نیست، پرچم --exec می‌تواند برای تعیین صریح یک دودویی جهت اجرا استفاده شود. روش‌های دیگر راه‌اندازی برنامه در حال حاضر پشتیبانی نمی‌شوند.

برای تولید یک desktop-entry مناسب، این دستور فرض می‌کند نه تنها برچسب‌های حداقل مورد نیاز برای یک مؤلفه AppStream تنظیم شده‌اند، بلکه دارای یک برچسب <icon/> از نوع "stock" برای توصیف آیکون استانداردی که باید استفاده شود و همچنین یک برچسب <categories/> حاوی دسته‌هایی که برنامه باید در آن‌ها قرار گیرد نیز می‌باشد.

news-to-metainfo NEWS_FILE MI_FILE [OUT_FILE]

این دستور یک پرونده NEWS را که توسط بسیاری از پروژه‌های متن‌باز استفاده می‌شود به XML مورد استفاده AppStream تبدیل می‌کند. از آنجا که پرونده‌های NEWS متن ساده و آزاد هستند، برای به دست آوردن نتایج منطقی از روش‌های اکتشافی (heuristics) متعددی استفاده می‌شود. مبدل همچنین می‌تواند نسخه YAML توصیف انتشار AppStream را خوانده و آن را نیز به XML تبدیل کند. پرونده metainfo به نام MI_FILE باید وجود داشته باشد، و هر ورودی انتشاری که از قبل در آن وجود دارد با ورودی‌های تولیدشده از NEWS_FILE جایگزین خواهد شد. اگر MI_FILE روی "-" تنظیم شود، هیچ پرونده metainfo خوانده نمی‌شود و فقط ورودی‌های انتشار تولیدشده بدون مؤلفه دربرگیرنده در خروجی استاندارد نوشته می‌شوند. اگر [OUT_FILE] مشخص شده باشد، داده‌های تغییر یافته به جای اعمال روی MI_FILE در آن پرونده خاص نوشته می‌شوند. اگر روی "-" تنظیم شود، خروجی در خروجی استاندارد نوشته خواهد شد.

به جای یک پرونده metainfo، پارامتر MI_FILE می‌تواند یک پرونده فراداده انتشار نیز باشد، یعنی پرونده‌ای XML با عنصر ریشه releases که برای اطلاعات انتشار خارجی استفاده می‌شود. یک پرونده موجود با عنصر ریشه خود شناسایی می‌شود، بنابراین نام پرونده اهمیتی ندارد. از آنجا که چنین پرونده‌ای جز ورودی‌های انتشاری که قرار است نوشته شوند چیزی در بر ندارد، در صورت عدم وجود نیز ایجاد می‌شود. این حالت فقط برای پرونده‌هایی با نام *.releases.xml که نام الزامی طبق مشخصات است اعمال می‌شود؛ هر پرونده ناموجود دیگر منجر به خطا خواهد شد.

گزینه --format می‌تواند برای اجبار خواندن پرونده ورودی در یک قالب مشخص ("text" ،"markdown" یا "yaml") در صورتی که تشخیص خودکار قالب ناموفق باشد، استفاده شود. گزینه --limit برای محدود کردن تعداد ورودی‌های انتشار نوشته‌شده استفاده می‌شود (جدیدترین ورودی‌ها همیشه در ابتدا خواهند بود). گزینه --translatable-count تعداد توصیفات انتشاری را که به عنوان قابل ترجمه علامت‌گذاری می‌شوند محدود می‌کند که مجدداً از جدیدترین ورودی شمارش می‌شود. توصیفات هر انتشار قدیمی‌تر با translate="no" علامت‌گذاری می‌شوند تا به الگوی ترجمه وارد نشوند.

metainfo-to-news MI_FILE NEWS_FILE

این دستور عملکرد دستور news-to-metainfo را معکوس کرده و با استفاده از XML موجود در پرونده metainfo یا در پرونده فراداده انتشار، یک پرونده NEWS به صورت متنی یا YAML می‌نویسد. اگر NEWS_FILE روی "-" تنظیم شود، داده‌های حاصل به جای پرونده در خروجی استاندارد نوشته می‌شوند.

اگر MI_FILE یک پرونده metainfo باشد که اطلاعات انتشار خود را در یک پرونده خارجی نگهداری می‌کند (<releases type="external"/>)، این دستور با شکست مواجه شده و درخواست می‌کند که پرونده فراداده انتشار به جای آن ارسال شود، زیرا داده‌های ارجاع‌شده بخشی از خود پرونده metainfo نیستند.

گزینه --format می‌تواند برای تعیین صریح قالب خروجی ("yaml" ،"text" یا "markdown") استفاده شود. اگر تنظیم نشده باشد، appstreamcli بر اساس نام NEWS_FILE حدس می‌زند کدام قالب مناسب‌تر است؛ بنابراین هنگام نوشتن در خروجی استاندارد، تعیین این گزینه الزامی است.

convert FILE1 FILE1

تبدیل فراداده AppStream XML به نمایش YAML آن و برعکس.

compose

گردآوری فهرست فراداده AppStream از یک درخت پوشه حاوی پرونده‌های metainfo. این دستور تنها در صورتی در دسترس است که مؤلفه org.freedesktop.appstream.compose نصب شده باشد. برای اطلاعات بیشتر به appstreamcli-compose(1) مراجعه کنید.

--details

چاپ اطلاعات بیشتر درباره یک مؤلفه یافت‌شده.

--no-color

عدم چاپ خروجی رنگی.

--no-net

عدم دسترسی به شبکه هنگام اعتبارسنجی فراداده.

همین اثر را می‌توان با تنظیم متغیر محیطی AS_VALIDATE_NONET پیش از اجرای appstreamcli به دست آورد.

--version

نمایش شماره نسخه appstreamcli

pkgcli(1).

این صفحه راهنما توسط Matthias Klumpp <matthias@tenstral.net> نوشته شده است.

Copyright © 2012-2026 Matthias Klumpp

1.
Freedesktop.org
2.
مستندات
AppStream