PKGFILE(1) pkgfile Manual PKGFILE(1)

pkgfile - کاوشگر فراداده‌های .files در alpm

کاربرد: pkgfile [عملیات] [گزینه‌ها] هدف

دستور pkgfile فراداده‌های .files ایجادشده توسط repo-add(8) را برای بازیابی اطلاعات فایل‌های مربوط به بسته‌ها جستجو می‌کند. به‌طور پیش‌فرض، هدف ارائه‌شده یک نام فایل در نظر گرفته می‌شود و pkgfile بسته(هایی) را که شامل این فایل هستند برمی‌گرداند. مخازنی که pkgfile در آن‌ها جستجو می‌کند، توسط مخازن فعال‌شده در /etc/pacman.conf تعیین می‌شوند.

هدف به‌جای نام فایل، یک نام بسته در نظر گرفته می‌شود و محتویات بسته مشخص‌شده بازگردانده می‌شود. این کار امکان استفاده از ساختار repo/package (مانند "core/pacman") را برای محدود کردن دامنه جستجو فراهم می‌کند، اما فقط زمانی که --list بدون گزینه‌های --glob یا --regex استفاده شود.
جستجو برای بسته‌هایی که شامل هدف ارائه‌شده هستند. این حالت پیش‌فرض عملیات است.
به‌روزرسانی فایل‌های فراداده ذخیره‌شده. توصیه می‌شود یک کران‌جاب (cron job) روزانه با این دستور ایجاد کنید تا از نتایج دقیق اطمینان حاصل شود. به‌طور پیش‌فرض، تنها مخازنی بارگیری می‌شوند که نسخه جدیدتری از آن‌ها در آینه (mirror) یافت شود. این گزینه را دو بار ارسال کنید تا بارگیری مجدد تمامی مخازن اجبار شود.

تنها فایل‌هایی را برمی‌گرداند که در یک دایرکتوری bin یا sbin قرار دارند.
علاوه بر این، دایرکتوری‌ها را نیز در نتایج جستجو لحاظ می‌کند.
فعال‌سازی تطبیق الگوی glob به سبک شل. glob(7) را ببینید. توجه داشته باشید که نویسه‌های عام شل (wildcards) مانند * و ? هرگز با جداکننده‌های مسیر تطبیق داده نمی‌شوند. بنابراین، این نوع تطبیق برای جستجوی ورودی‌ها درون دایرکتوری‌ها مفید است، مانند /usr/bin/*.
غیرفعال‌سازی حساسیت به حروف بزرگ و کوچک در تطبیق.
فعال‌سازی تطبیق عبارت باقاعده. pcre(3) را ببینید.
جستجو تنها در مخزن مشخص‌شده.

-0, --null
جداسازی خروجی با بایت‌های تهی (null) به‌جای نویسه‌های خط جدید.
خروجی کمتر. این گزینه برای عملیات --list اعمال می‌شود.
خروجی بیشتر. این گزینه برای عملیات --search اعمال می‌شود.
جلوگیری از تراز کردن (justification) خروجی دو ستونی.

استفاده از یک فایل پیکربندی دیگر به‌جای فایل پیش‌فرض /etc/pacman.conf.
استفاده از یک مسیر حافظه موقت (cache) دیگر به‌جای پیش‌فرض زمان کامپایل.
نمایش راهنما و خروج.
نمایش نسخه و خروج.

در حالت --search و بدون گزینه --regex یا --glob، دستور pkgfile تلاش می‌کند تا هدف ارائه‌شده را به‌عنوان یک نام فایل دقیق تطبیق دهد. اگر هدف حاوی نویسه '/' باشد، تطبیق با کل مسیر امتحان خواهد شد. با فعال بودن جستجوی --regex و --glob، دستور pkgfile همیشه تطبیق را بر اساس کل نام مسیر انجام می‌دهد.

در حالت --list و بدون گزینه --regex یا --glob، دستور pkgfile تلاش می‌کند تا هدف ارائه‌شده را به‌عنوان یک نام بسته دقیق تطبیق دهد. اگر هدف حاوی نویسه '/' باشد، متن پیش از اسلش به‌عنوان یک مخزن در نظر گرفته شده و جستجو محدود خواهد شد.

/usr/share/doc/pkgfile/command-not-found.bash
/usr/share/doc/pkgfile/command-not-found.zsh
/usr/share/doc/pkgfile/command-not-found.fish
توابع سازگار با zsh، bash و fish که می‌توان آن‌ها را در راه‌اندازی شل گنجاند تا هنگام یافت نشدن یک دستور اجراشده، pkgfile را اجرا کنند.

اگر متغیر محیطی PKGFILE_PROMPT_INSTALL_MISSING تنظیم شده باشد و تنها یک بسته پیدا شود، پیامی برای نصب بسته نمایش داده خواهد شد. نکته: این قابلیت نیازمند برنامه sudo(8) است و در حال حاضر فقط توسط پیاده‌سازی‌های bash و zsh پشتیبانی می‌شود.

توصیه می‌شود از pkgfiled(1) برای به‌روز نگه‌داشتن پایگاه‌های داده .files همگام با اجرای `pacman -Fy` (چه توسط کاربر یا یک تایمر systemd/کران‌جاب) استفاده کنید. سرویس pkgfiled می‌تواند با دستور زیر فعال شود:

systemctl enable --now pkgfiled

همچنین، pkgfile شامل تایمر و واحدهای سرویس systemd برای خودکارسازی به‌روزرسانی‌های دوره‌ای پایگاه‌های داده .files است. با فرض اینکه pkgfile با پشتیبانی از systemd کامپایل شده باشد، این قابلیت می‌تواند با دستور زیر فعال شود:

systemctl enable --now pkgfile-update.timer

pkgfiled(1)، repo-add(8)، pcre(3)، glob(7)، pacman.conf(5)

Dave Reisner <d@falconindy.com>

2026-08-05 pkgfile 26