EXPAC(1) راهنمای expac EXPAC(1)

expac - ابزار استخراج داده برای پایگاه‌های داده alpm

expac [گزینه‌ها] <قالب> اهداف...

برنامه expac ابزاری برای استخراج داده از پایگاه‌های داده alpm است. این ابزار از انعطاف‌پذیری شبیه به printf برخوردار است و هدف آن استفاده به‌عنوان ابزاری ساده برای سایر ابزارهای مبتنی بر pacman است که با این کتابخانه پیوند ندارند. این برنامه از pacman.conf به‌عنوان فایل پیکربندی برای مکان‌یابی و بارگذاری پایگاه‌های داده محلی و همگام‌سازی (sync) شما استفاده می‌کند.

فراخوانی expac شامل ارائه یک رشته قالب است که معمولاً با یک تا چند نشانه قالب‌بندی توصیف می‌شود (بخش قالب‌بندی (FORMATTING) را ببینید)، هرگونه گزینه مرتبط و صفر یا چند هدف. رشته قالب باید نخستین آرگومان غیرگزینه‌ای باشد. اهداف می‌توانند یک نام ساده بسته، یک رشته جستجو (در حالت جستجو)، یا در ترکیب نحو مخزن/بسته در زمان ارائه گزینه -S یا --sync باشند.

جستجو در پایگاه داده محلی برای اهداف ارائه‌شده. این رفتار پیش‌فرض است.
جستجو در پایگاه‌های داده همگام‌سازی (sync) برای اهداف ارائه‌شده.
جستجو برای بسته‌های منطبق با رشته‌های مشخص‌شده توسط اهداف. این یک جستجوی AND بولی است و استفاده از عبارات باقاعده (regex) مجاز است.
بازگرداندن بسته‌های منطبق با اهداف مشخص‌شده به‌عنوان گروه‌های بسته.
خواندن از file برای مقداردهی اولیه alpm به‌جای /etc/pacman.conf.
قالب‌بندی اندازه بسته‌ها در واحدهای SI بر اساس size. گزینه‌های معتبر عبارتند از:
B, K, M, G, T, P, E, Z, Y
-1, --readone
توقف جستجو پس از یافتن نخستین نتیجه. این گزینه تنها بر عملیات‌های -S بدون -s تأثیر دارد.
جداسازی هر بسته با string مشخص‌شده. مقدار پیش‌فرض نویسه خط جدید (newline) است.
جداسازی هر مورد فهرست با string مشخص‌شده. فهرست‌ها هر دنباله تفسیرشده‌ای هستند که با یک حرف بزرگ مشخص می‌شوند. مقدار پیش‌فرض دو فاصله است.
تفسیر اهداف به‌عنوان مسیرهایی به فایل‌های محلی.
نمایش زمان توصیف‌شده توسط format مشخص‌شده. این رشته مستقیماً به strftime(3) ارسال می‌شود. قالب پیش‌فرض %c است.
نمایش خروجی با جزئیات بیشتر. خطاهای «Package not found» نشان داده خواهند شد و مقادیر فیلدهای خالی به‌صورت «None» نمایش می‌یابند.
نمایش اطلاعات نسخه و خروج.
نمایش پیام راهنما و خروج.

آرگومان قالب، دنباله‌های تفسیرشده زیر را می‌پذیرد:

%a    معماری (architecture)
%B    فایل‌های پشتیبان (backup files)
%b    تاریخ ساخت (build date)
%C    تداخل‌ها بدون رشته‌های نسخه (conflicts with)
%D    وابستگی‌ها (depends on)
%d    توضیحات (description)
%E    وابستگی‌ها بدون رشته‌های نسخه
%e    پایه بسته (package base)
%f    نام فایل (تنها با -S)
%F    فایل‌ها (تنها با -Q)
%g    امضای PGP کدگذاری‌شده با base64 (تنها با -S)
%G    گروه‌ها (groups)
%H    تداخل‌ها (conflicts with)
%h    هش sha256sum
%i    دارای اسکریپت نصب (تنها با -Q)
%k    اندازه بارگیری (تنها با -S)
%l    تاریخ نصب (تنها با -Q)
%L    مجوزها (licenses)
%m    اندازه نصب (install size)
%M    فایل‌های پشتیبان اصلاح‌شده (تنها با -Q)
%n    نام بسته (package name)
%N    مورد نیاز توسط (required by)
%O    وابستگی‌های اختیاری (optional deps)
%o    وابستگی‌های اختیاری بدون توضیحات
%p    نام بسته‌بند (packager name)
%P    ارائه‌ها (provides)
%R    جایگزین‌ها بدون رشته‌های نسخه (replaces)
%r    مخزن (repo)
%s    هش md5sum
%S    ارائه‌ها بدون رشته‌های نسخه
%T    جایگزین‌ها (replaces)
%u    نشانی اینترنتی پروژه (project URL)
%V    روش اعتبارسنجی بسته
%v    نسخه (version)
%w    دلیل نصب (تنها با -Q)
%!    شماره نتیجه (شمارنده افزایشی خودکار، شروع از ۰)
%%    نویسه % به صورت لفظی

توجه داشته باشید که برای هر نشانه با حروف کوچک به‌جز %m و %k، پشتیبانی کامل از ویژگی‌های printf مجاز است، مانند %-20n. این مورد برای هیچ خروجی مبتنی بر فهرست، تاریخ یا عددی اعمال نمی‌شود.

دنباله‌های فرار استاندارد بک‌اسلش، مطابق با printf(1) پشتیبانی می‌شوند.

شبیه‌سازی عملکرد جستجوی pacman:

$ expac -Ss '%r/%n %v\n    %d' <عبارت‌های جستجو>

فهرست کردن ۱۰ بسته نصب‌شده قدیمی‌تر (بر اساس تاریخ ساخت):

$ expac --timefmt=%s '%b\t%n' | sort -n | head -10

Dave Reisner <d@falconindy.com>

2026-08-10 expac 10