PACMAN(8) راهنمای Pacman PACMAN(8)

pacman - ابزار مدیریت بسته‌ها

pacman <operation> [options] [targets]

پک‌من (Pacman) یک ابزار مدیریت بسته‌ها است که بسته‌های نصب‌شده را روی سیستم لینوکس ردیابی می‌کند. این ابزار از وابستگی‌ها، گروه‌های بسته‌ها، اسکریپت‌های نصب و حذف، و قابلیت همگام‌سازی دستگاه محلی شما با یک مخزن راه دور برای ارتقای خودکار بسته‌ها پشتیبانی می‌کند. بسته‌های Pacman در قالب tar فشرده‌شده با zip (یا سایر الگوریتم‌های فشرده‌سازی) هستند.

از نسخه ۳.۰.۰ به بعد، pacman رابط کاربری خط فرمانی (front-end) برای libalpm(3)، کتابخانه “مدیریت بسته‌های آرچ لینوکس” بوده است. این کتابخانه اجازه می‌دهد رابط‌های کاربری جایگزین (به عنوان مثال، یک رابط گرافیکی) نوشته شوند.

اجرای pacman شامل مشخص کردن یک عمل (operation) به همراه هرگونه گزینه و هدف مورد نظر برای اجرا است. یک target معمولاً یک نام بسته، نام فایل، نشانی اینترنتی (URL) یا یک رشته جستجو است. هدف‌ها می‌توانند به صورت آرگومان‌های خط فرمان ارائه شوند. علاوه بر این، اگر stdin از یک ترمینال نباشد و یک خط تیره منفرد (-) به عنوان آرگومان داده شود، هدف‌ها از ورودی استاندارد (stdin) خوانده خواهند شد.

-D, --database

عملیات روی پایگاه داده بسته‌ها. این عمل به شما امکان می‌دهد برخی از ویژگی‌های بسته‌های نصب‌شده را در پایگاه داده pacman تغییر دهید. همچنین به شما امکان می‌دهد پایگاه‌های داده را برای سازگاری درونی بررسی کنید. بخش گزینه‌های پایگاه داده (Database Options) در زیر را ببینید.

-Q, --query

پرس‌وجو در پایگاه داده بسته‌ها. این عمل به شما امکان می‌دهد بسته‌های نصب‌شده و فایل‌های آن‌ها و همچنین فراداده‌های مربوط به هر بسته (وابستگی‌ها، تداخل‌ها، تاریخ نصب، تاریخ ساخت، اندازه) را مشاهده کنید. این عمل می‌تواند روی پایگاه داده محلی بسته‌ها اجرا شود یا روی فایل‌های بسته منفرد استفاده شود. در حالت اول، اگر هیچ نام بسته‌ای در خط فرمان ارائه نشود، تمام بسته‌های نصب‌شده مورد پرس‌وجو قرار می‌گیرند. علاوه بر این، فیلترهای گوناگونی را می‌توان روی فهرست بسته‌ها اعمال کرد. بخش گزینه‌های پرس‌وجو (Query Options) در زیر را ببینید.

-R, --remove

حذف بسته(ها) از سیستم. گروه‌ها نیز می‌توانند برای حذف مشخص شوند، که در این صورت هر بسته درون آن گروه حذف خواهد شد. فایل‌های متعلق به بسته مشخص‌شده حذف خواهند شد و پایگاه داده به‌روزرسانی می‌شود. بیشتر فایل‌های پیکربندی با پسوند .pacsave ذخیره می‌شوند، مگر اینکه از گزینه --nosave استفاده شود. بخش گزینه‌های حذف (Remove Options) در زیر را ببینید.

-S, --sync

همگام‌سازی بسته‌ها. بسته‌ها مستقیماً از مخازن راه دور نصب می‌شوند، شامل تمام وابستگی‌های مورد نیاز برای اجرای بسته‌ها. برای مثال، pacman -S qt بسته qt و تمام بسته‌هایی را که به آن‌ها وابسته است دانلود و نصب می‌کند. اگر نام یک بسته در بیش از یک مخزن وجود داشته باشد، مخزن را می‌توان به صراحت برای شفاف‌سازی بسته مورد نظر برای نصب مشخص کرد: pacman -S testing/qt. همچنین می‌توانید پیش‌نیازهای نسخه را مشخص کنید: pacman -S "bash>=3.2". استفاده از گیومه لازم است، در غیر این صورت پوسته ">" را به عنوان تغییر مسیر به یک فایل تفسیر می‌کند.

علاوه بر بسته‌ها، گروه‌ها نیز می‌توانند مشخص شوند. برای مثال، اگر gnome یک گروه بسته تعریف‌شده باشد، دستور pacman -S gnome یک اعلان ارائه می‌دهد که به شما امکان می‌دهد بسته‌های مورد نظر را برای نصب از یک فهرست شماره‌گذاری‌شده انتخاب کنید. انتخاب بسته‌ها با استفاده از فهرستی از شماره‌های بسته‌ها که با فاصله و/یا کاما از هم جدا شده‌اند مشخص می‌شود. بسته‌های متوالی را می‌توان با مشخص کردن شماره اولین و آخرین بسته که با یک خط تیره (-) از هم جدا شده‌اند انتخاب کرد. مستثنی کردن بسته‌ها با قرار دادن یک کلاهک (^) در ابتدای یک شماره یا محدوده‌ای از شماره‌ها انجام می‌شود.

بسته‌هایی که بسته‌های دیگر را ارائه (provide) می‌دهند نیز مدیریت می‌شوند. برای مثال، pacman -S foo ابتدا به دنبال یک بسته foo می‌گردد. اگر foo پیدا نشود، بسته‌هایی که همان کارایی foo را ارائه می‌دهند جستجو خواهند شد. اگر بسته‌ای پیدا شود، نصب خواهد شد. در صورتی که چندین بسته ارائه‌دهنده foo یافت شوند، یک اعلان برای انتخاب ارائه می‌شود.

شما همچنین می‌توانید از pacman -Su برای ارتقای تمام بسته‌های قدیمی استفاده کنید. بخش گزینه‌های همگام‌سازی (Sync Options) در زیر را ببینید. هنگام ارتقا، pacman مقایسه نسخه‌ها را برای تعیین اینکه کدام بسته‌ها به ارتقا نیاز دارند انجام می‌دهد. این رفتار به صورت زیر عمل می‌کند:

حرفی-عددی (Alphanumeric):
  1.0a < 1.0b < 1.0beta < 1.0p < 1.0pre < 1.0rc < 1.0 < 1.0.a < 1.0.1
عددی (Numeric):
  1 < 1.0 < 1.1 < 1.1.1 < 1.2 < 2.0 < 3.0.0

علاوه بر این، رشته‌های نسخه می‌توانند دارای یک مقدار epoch تعریف‌شده باشند که بر هر مقایسه نسخه‌ای اولویت دارد، مگر اینکه مقادیر epoch برابر باشند. این مقدار در قالب epoch:version-rel مشخص می‌شود. برای مثال، 2:1.0-1 همیشه بزرگ‌تر از 1:3.6-1 است.

-T, --deptest

بررسی وابستگی‌ها؛ این گزینه در اسکریپت‌هایی مانند makepkg برای بررسی بسته‌های نصب‌شده مفید است. این عمل هر وابستگی مشخص‌شده را بررسی می‌کند و فهرستی از وابستگی‌هایی را که در حال حاضر روی سیستم برآورده نشده‌اند بازمی‌گرداند. این عمل هیچ گزینه دیگری را نمی‌پذیرد. نمونه کاربرد: pacman -T qt "bash>=3.2".

-U, --upgrade

ارتقا یا افزودن بسته(ها) به سیستم و نصب وابستگی‌های مورد نیاز از مخازن همگام‌سازی. یک نشانی اینترنتی (URL) یا یک مسیر فایل می‌تواند مشخص شود. این یک فرایند “حذف و سپس افزودن” است. بخش گزینه‌های ارتقا (Upgrade Options) در زیر را ببینید؛ همچنین بخش مدیریت فایل‌های پیکربندی (Handling Config Files) را برای توضیحی درباره نحوه مراقبت pacman از فایل‌های پیکربندی ببینید.

-F, --files

پرس‌وجو در پایگاه داده فایل‌ها. این عمل به شما امکان می‌دهد بسته‌هایی را که مالک فایل‌های خاصی هستند جستجو کنید یا فایل‌های متعلق به بسته‌های خاصی را نمایش دهید. فقط بسته‌هایی که بخشی از پایگاه‌های داده همگام‌سازی شما هستند جستجو می‌شوند. بخش گزینه‌های فایل (File Options) در زیر را ببینید.

-V, --version

نمایش نسخه و خروج.

-h, --help

نمایش ساختار دستوری برای عمل داده‌شده. اگر هیچ عملی داده نشود، ساختار دستوری کلی نشان داده می‌شود.

-b, --dbpath <path>

مشخص کردن یک مکان جایگزین برای پایگاه داده (پیش‌فرض /var/lib/pacman است). این گزینه نباید استفاده شود مگر اینکه بدانید چه کاری انجام می‌دهید. نکته: در صورت مشخص شدن، این یک مسیر مطلق است و مسیر ریشه به طور خودکار به ابتدای آن اضافه نمی‌شود.

-r, --root <path>

مشخص کردن یک ریشه نصب جایگزین (پیش‌فرض / است). این گزینه نباید به عنوان روشی برای نصب نرم‌افزار در /usr/local به جای /usr استفاده شود. نکته: اگر مسیر پایگاه داده یا فایل گزارش در خط فرمان یا در pacman.conf(5) مشخص نشده باشند، مکان پیش‌فرض آن‌ها درون این مسیر ریشه خواهد بود. نکته: این گزینه برای انجام عملیات روی یک سیستم مهمان سوارشده (mounted) مناسب نیست. به جای آن --sysroot را ببینید.

-v, --verbose

خروجی دادن مسیرهایی مانند ریشه (Root)، فایل پیکربندی (Conf File)، مسیر پایگاه داده (DB Path)، دایرکتوری‌های حافظه نهان (Cache Dirs) و غیره.

--arch <arch>

مشخص کردن یک معماری جایگزین.

--cachedir <dir>

مشخص کردن یک مکان جایگزین برای حافظه نهان بسته‌ها (پیش‌فرض /var/cache/pacman/pkg است). چندین دایرکتوری حافظه نهان را می‌توان مشخص کرد، و آن‌ها به ترتیبی که به pacman داده شده‌اند امتحان می‌شوند. نکته: این یک مسیر مطلق است و مسیر ریشه به طور خودکار به ابتدای آن اضافه نمی‌شود.

--color <when>

مشخص کردن زمان فعال‌سازی رنگ‌آمیزی. گزینه‌های معتبر عبارتند از: always، never، یا auto. گزینه always رنگ‌ها را اجباراً فعال می‌کند؛ never رنگ‌ها را اجباراً غیرفعال می‌کند؛ و auto تنها هنگامی که خروجی به یک tty هدایت شود رنگ‌ها را به طور خودکار فعال می‌سازد.

--config <file>

مشخص کردن یک فایل پیکربندی جایگزین.

--debug

نمایش پیام‌های اشکال‌زدایی (debug). هنگام گزارش باگ‌ها، توصیه می‌شود از این گزینه استفاده شود.

--gpgdir <dir>

مشخص کردن دایرکتوری حاوی فایل‌های مورد استفاده GnuPG برای بررسی امضای بسته‌ها (پیش‌فرض /etc/pacman.d/gnupg است). این دایرکتوری باید شامل دو فایل باشد: pubring.gpg و trustdb.gpg. فایل pubring.gpg کلیدهای عمومی تمام بسته‌سازان را نگه می‌دارد. فایل trustdb.gpg حاوی پایگاه داده به اصطلاح اعتبار است که مشخص می‌کند کلیدها اصیل و قابل اعتماد هستند. نکته: این یک مسیر مطلق است و مسیر ریشه به طور خودکار به ابتدای آن اضافه نمی‌شود.

--hookdir <dir>

مشخص کردن یک دایرکتوری جایگزین حاوی فایل‌های قلاب (hook) (پیش‌فرض /etc/pacman.d/hooks است). چندین دایرکتوری قلاب را می‌توان مشخص کرد که قلاب‌های موجود در دایرکتوری‌های بعدی نسبت به قلاب‌های دایرکتوری‌های قبلی اولویت خواهند داشت. نکته: این یک مسیر مطلق است و مسیر ریشه به طور خودکار به ابتدای آن اضافه نمی‌شود.

--logfile <file>

مشخص کردن یک فایل گزارش (log) جایگزین. این یک مسیر مطلق است، صرف نظر از تنظیمات ریشه نصب.

--noconfirm

نادیده گرفتن هرگونه پیام “آیا مطمئن هستید؟”. انجام این کار ایده خوبی نیست مگر اینکه بخواهید pacman را از داخل یک اسکریپت اجرا کنید.

--confirm

اثرات گزینه قبلی --noconfirm را لغو می‌کند.

--disable-download-timeout

غیرفعال کردن مقادیر پیش‌فرض برای محدودیت حداقل سرعت و زمان انتظار (timeout) در دانلودها. اگر در دانلود فایل‌ها از طریق پروکسی و/یا درگاه امنیتی با مشکل مواجه شدید از این گزینه استفاده کنید.

--sysroot <dir>

مشخص کردن یک ریشه سیستم جایگزین. Pacman قبل از اجرا عملیات chroot و chdir را به ریشه سیستم انجام می‌دهد. این امکان را فراهم می‌سازد که سیستم‌های مهمان سوارشده به طور مناسب مورد استفاده قرار گیرند. هر مسیر دیگری که ارائه شود به عنوان مسیری نسبی به ریشه سیستم تفسیر خواهد شد. نیازمند امتیازات کاربر ریشه (root) است.

-d, --nodeps

بررسی‌های نسخه وابستگی را نادیده می‌گیرد. نام‌های بسته‌ها همچنان بررسی می‌شوند. در حالت عادی، pacman همیشه فیلدهای وابستگی بسته را بررسی می‌کند تا مطمئن شود تمام وابستگی‌ها نصب شده‌اند و هیچ تداخل بسته‌ای در سیستم وجود ندارد. این گزینه را دوبار مشخص کنید تا تمام بررسی‌های وابستگی نادیده گرفته شوند.

--assume-installed <package=version>

افزودن یک بسته مجازی "package" با نسخه "version" به تراکنش برای برآورده کردن وابستگی‌ها. این امکان را می‌دهد که بدون تأثیر گذاشتن بر تمام بررسی‌های وابستگی، بررسی‌های وابستگی خاصی را غیرفعال کنید. برای غیرفعال کردن تمام بررسی‌های وابستگی، گزینه --nodeps را ببینید.

--dbonly

فقط مدخل پایگاه داده را اضافه/حذف می‌کند و تمام فایل‌ها را در جای خود باقی می‌گذارد.

--noprogressbar

عدم نمایش نوار پیشرفت هنگام دانلود فایل‌ها. این می‌تواند برای اسکریپت‌هایی که pacman را فراخوانی کرده و خروجی آن را دریافت می‌کنند مفید باشد.

--noscriptlet

در صورت وجود اسکریپت کوچک نصب (install scriptlet)، آن را اجرا نکن. از این گزینه استفاده نکنید مگر اینکه بدانید چه کاری انجام می‌دهید.

-p, --print

فقط چاپ کردن هدف‌ها به جای انجام عملیات واقعی (همگام‌سازی، حذف یا ارتقا). از گزینه --print-format برای تعیین نحوه نمایش هدف‌ها استفاده کنید. رشته قالب‌بندی پیش‌فرض "%l" است که نشانی‌های URL را با -S، نام فایل‌ها را با -U، و pkgname-pkgver را با -R نمایش می‌دهد.

--print-format <format>

مشخص کردن قالبی شبیه به printf برای کنترل خروجی عملیات --print. ویژگی‌های ممکن عبارتند از: "%n" برای pkgname، "%v" برای pkgver، "%l" برای مکان، "%r" برای مخزن، و "%s" برای اندازه. متضمن گزینه --print است.

-w, --downloadonly

دریافت تمام بسته‌ها از سرور، بدون نصب یا ارتقای هیچ چیز.

--asdeps

نصب بسته‌ها به صورت غیرصریح؛ به عبارت دیگر، جعل دلیل نصب آن‌ها به گونه‌ای که به عنوان یک وابستگی نصب شوند. این برای makepkg و سایر ابزارهای ساخت از منبع که باید وابستگی‌ها را قبل از ساخت بسته نصب کنند مفید است.

--asexplicit

نصب بسته‌ها به صورت صریح؛ به عبارت دیگر، جعل دلیل نصب آن‌ها به گونه‌ای که به طور صریح نصب شده در نظر گرفته شوند. این زمانی مفید است که بخواهید یک وابستگی را به عنوان صریحاً نصب‌شده علامت‌گذاری کنید تا توسط عملیات حذف بازگشتی --recursive حذف نشود.

--ignore <package>

به pacman دستور می‌دهد از ارتقای بسته چشم‌پوشی کند، حتی اگر ارتقایی در دسترس باشد. چندین بسته را می‌توان با جدا کردن آن‌ها با کاما مشخص کرد.

--ignoregroup <group>

به pacman دستور می‌دهد از ارتقای تمام بسته‌های موجود در group چشم‌پوشی کند، حتی اگر ارتقایی در دسترس باشد. چندین گروه را می‌توان با جدا کردن آن‌ها با کاما مشخص کرد.

--needed

نصب نکردن مجدد هدف‌هایی که از قبل به‌روز هستند.

--overwrite <glob>

نادیده گرفتن بررسی تداخل فایل‌ها و بازنویسی فایل‌های دارای تداخل. اگر بسته‌ای که در شرف نصب است شامل فایل‌هایی باشد که از قبل نصب شده‌اند و با الگوی glob تطابق دارند، این گزینه باعث می‌شود تمام آن فایل‌ها رونویسی شوند. استفاده از --overwrite اجازه بازنویسی یک دایرکتوری با یک فایل یا نصب بسته‌هایی با فایل‌ها و دایرکتوری‌های دارای تداخل را نخواهد داد. الگوهای چندگانه را می‌توان با جدا کردن آن‌ها با کاما مشخص کرد. می‌تواند چندین بار مشخص شود. الگوها را می‌توان نفی کرد، به گونه‌ای که فایل‌های منطبق با آن‌ها رونویسی نشوند، با قرار دادن علامت تعجب در ابتدای آن‌ها. تطابق‌های بعدی موارد قبلی را لغو خواهند کرد. یک علامت تعجب ابتدایی واقعی یا بک‌اسلش باید گریزدهی (escape) شود.

-c, --changelog

مشاهده فایل گزارش تغییرات (ChangeLog) یک بسته در صورت وجود.

-d, --deps

محدود یا فیلتر کردن خروجی به بسته‌هایی که به عنوان وابستگی نصب شده‌اند. این گزینه می‌تواند با -t برای فهرست کردن بسته‌های واقعاً یتیم (orphan) ترکیب شود - بسته‌هایی که به عنوان وابستگی نصب شده‌اند اما دیگر توسط هیچ بسته نصب‌شده‌ای مورد نیاز نیستند.

-e, --explicit

محدود یا فیلتر کردن خروجی به بسته‌هایی که صریحاً نصب شده‌اند. این گزینه می‌تواند با -t برای فهرست کردن بسته‌های صریحاً نصب‌شده‌ای که توسط هیچ بسته دیگری مورد نیاز نیستند ترکیب شود.

-g, --groups

نمایش تمام بسته‌هایی که عضو یک گروه نام‌برده هستند. اگر نامی مشخص نشده باشد، تمام بسته‌های گروه‌بندی‌شده را فهرست می‌کند.

-i, --info

نمایش اطلاعات درباره یک بسته مشخص‌شده. اگر به جای پایگاه داده محلی یک فایل بسته را مورد پرس‌وجو قرار می‌دهید، گزینه -p می‌تواند استفاده شود. پاس دادن دو پرچم --info یا -i همچنین فهرست فایل‌های پشتیبان و وضعیت تغییر آن‌ها را نمایش خواهد داد.

-k, --check

بررسی اینکه آیا تمام فایل‌های متعلق به بسته(های) مشخص‌شده روی سیستم وجود دارند یا خیر. اگر بسته‌ها مشخص نشده باشند یا پرچم‌های فیلتر ارائه نشده باشند، تمام بسته‌های نصب‌شده را بررسی می‌کند. مشخص کردن این گزینه به صورت دو بار، بررسی دقیق‌تر فایل‌ها (شامل مجوزها، اندازه فایل‌ها و زمان تغییر) را برای بسته‌هایی که شامل فایل mtree مورد نیاز هستند انجام می‌دهد.

-l, --list

فهرست کردن تمام فایل‌های متعلق به یک بسته مشخص. چندین بسته را می‌توان در خط فرمان مشخص کرد.

-m, --foreign

محدود یا فیلتر کردن خروجی به بسته‌هایی که در پایگاه(های) داده همگام‌سازی یافت نشدند. معمولاً این‌ها بسته‌هایی هستند که به صورت دستی دانلود شده و با --upgrade نصب شده‌اند.

-n, --native

محدود یا فیلتر کردن خروجی به بسته‌هایی که در پایگاه(های) داده همگام‌سازی یافت می‌شوند. این فیلتر معکوس گزینه --foreign است.

-o, --owns <file>

جستجو برای بسته‌هایی که مالک فایل(های) مشخص‌شده هستند. مسیر می‌تواند نسبی یا مطلق باشد، و یک یا چند فایل را می‌توان مشخص کرد.

-p, --file

نشان می‌دهد که بسته ارائه‌شده در خط فرمان یک فایل است و نه یک مدخل در پایگاه داده. فایل از حالت فشرده خارج شده و مورد پرس‌وجو قرار می‌گیرد. این گزینه در ترکیب با --info و --list مفید است.

-q, --quiet

نمایش اطلاعات کمتر برای برخی عملیات‌های پرس‌وجو. این زمانی مفید است که خروجی pacman در یک اسکریپت پردازش می‌شود. عمل search فقط نام بسته‌ها را نشان می‌دهد و اطلاعات مخزن، نسخه، گروه و توضیحات را حذف می‌کند؛ owns فقط نام بسته‌ها را به جای پیام‌های "فایل متعلق به بسته است" نشان می‌دهد؛ group فقط نام بسته‌ها را نشان داده و نام گروه‌ها را حذف می‌کند؛ list فقط فایل‌ها را نشان داده و نام بسته‌ها را حذف می‌کند؛ check فقط جفت نام بسته و فایل‌های مفقود را نشان می‌دهد؛ یک پرس‌وجوی ساده فقط نام بسته‌ها را به جای نام‌ها و نسخه‌ها نشان می‌دهد.

-s, --search <regexp>

جستجوی هر بسته نصب‌شده محلی برای نام‌ها یا توضیحاتی که با regexp تطابق دارند. هنگام استفاده از چندین عبارت جستجو، تنها بسته‌هایی بازگردانده می‌شوند که توضیحات آن‌ها با همه آن عبارات تطابق داشته باشد.

-t, --unrequired

محدود یا فیلتر کردن خروجی برای چاپ بسته‌هایی که نه به صورت مستقیم و نه به صورت اختیاری توسط هیچ بسته نصب‌شده‌ای مورد نیاز نیستند. این گزینه را دوبار مشخص کنید تا بسته‌هایی را که به صورت اختیاری، اما نه مستقیماً، توسط بسته دیگری مورد نیاز هستند نیز دربرگیرد.

-u, --upgrades

محدود یا فیلتر کردن خروجی به بسته‌هایی که روی سیستم محلی قدیمی هستند. فقط نسخه‌های بسته‌ها برای یافتن بسته‌های قدیمی استفاده می‌شوند؛ جایگزینی‌ها در اینجا بررسی نمی‌شوند. این گزینه زمانی بهترین عملکرد را دارد که پایگاه داده همگام‌سازی با استفاده از -Sy تازه‌سازی شده باشد.

-c, --cascade

حذف تمام بسته‌های هدف، و همچنین تمام بسته‌هایی که به یک یا چند بسته هدف وابسته هستند. این عمل بازگشتی است و باید با احتیاط استفاده شود، زیرا می‌تواند بسته‌های بالقوه مورد نیاز زیادی را حذف کند.

-n, --nosave

به pacman دستور می‌دهد تعیین‌های پشتیبان‌گیری فایل را نادیده بگیرد. به طور معمول، هنگامی که یک فایل از سیستم حذف می‌شود، پایگاه داده بررسی می‌شود تا مشخص گردد آیا فایل باید با پسوند .pacsave تغییر نام یابد یا خیر.

-s, --recursive

حذف هر هدف مشخص‌شده به همراه تمام وابستگی‌های آن‌ها، مشروط بر اینکه (الف) توسط بسته‌های دیگر مورد نیاز نباشند؛ و (ب) توسط کاربر به طور صریح نصب نشده باشند. این عمل بازگشتی و مشابه عمل معکوس --sync است، و به تمیز نگه داشتن سیستم بدون بسته‌های یتیم کمک می‌کند. اگر می‌خواهید شرط (ب) را حذف کنید، این گزینه را دو بار وارد کنید.

-u, --unneeded

اهدافی را حذف می‌کند که توسط هیچ بسته دیگری مورد نیاز نیستند. این عمدتاً هنگام حذف یک گروه بدون استفاده از گزینه -c مفید است، تا از شکستن وابستگی‌ها جلوگیری شود.

-c, --clean

حذف بسته‌هایی که دیگر روی سیستم نصب نیستند از حافظه نهان و همچنین پایگاه‌های داده همگام‌سازی بلااستفاده برای آزادسازی فضای دیسک. هنگامی که pacman بسته‌ها را دانلود می‌کند، آن‌ها را در یک دایرکتوری حافظه نهان ذخیره می‌کند. علاوه بر این، پایگاه‌های داده برای هر پایگاه داده همگام‌سازی که از آن دانلود می‌کنید ذخیره می‌شوند و حتی اگر از فایل پیکربندی pacman.conf(5) حذف شوند، پاک نمی‌شوند. از یک سوئیچ --clean برای حذف فقط بسته‌هایی که دیگر نصب نیستند استفاده کنید؛ از دو سوئیچ برای حذف تمام فایل‌ها از حافظه نهان استفاده کنید. در هر دو حالت، یک گزینه بله یا خیر برای حذف بسته‌ها و/یا پایگاه‌های داده دانلودشده بلااستفاده در اختیارتان قرار می‌گیرد.

اگر از حافظه نهان مشترک شبکه‌ای استفاده می‌کنید، گزینه CleanMethod را در pacman.conf(5) ببینید.

-g, --groups

نمایش تمام اعضا برای هر گروه بسته مشخص‌شده. اگر نام گروهی ارائه نشود، تمام گروه‌ها فهرست خواهند شد؛ این پرچم را دوبار وارد کنید تا تمام گروه‌ها و اعضای آن‌ها را مشاهده کنید.

-i, --info

نمایش اطلاعات درباره یک بسته پایگاه داده همگام‌سازی مشخص. وارد کردن دو پرچم --info یا -i همچنین بسته‌هایی را در تمام مخازن که به این بسته وابسته‌اند نمایش می‌دهد.

-l, --list

فهرست کردن تمام بسته‌ها در مخازن مشخص‌شده. چندین مخزن را می‌توان در خط فرمان مشخص کرد.

-q, --quiet

نمایش اطلاعات کمتر برای برخی عملیات‌های همگام‌سازی. این زمانی مفید است که خروجی pacman در یک اسکریپت پردازش می‌شود. عمل Search فقط نام بسته‌ها را نشان می‌دهد و اطلاعات مخزن، نسخه، گروه و توضیحات را حذف می‌کند؛ list فقط نام بسته‌ها را نشان می‌دهد و پایگاه‌های داده و نسخه‌ها را حذف می‌کند؛ group فقط نام بسته‌ها را نشان می‌دهد و نام گروه‌ها را حذف می‌کند.

-s, --search <regexp>

این گزینه هر بسته را در پایگاه‌های داده همگام‌سازی برای نام‌ها یا توضیحاتی که با regexp تطابق دارند جستجو می‌کند. هنگامی که چندین عبارت جستجو را وارد می‌کنید، تنها بسته‌هایی با توضیحاتی که با همه آن عبارات تطابق دارند بازگردانده خواهند شد.

-u, --sysupgrade

ارتقای تمام بسته‌های قدیمی. هر بسته نصب‌شده فعلی بررسی خواهد شد و در صورت وجود بسته جدیدتر ارتقا می‌یابد. گزارشی از تمام بسته‌ها برای ارتقا ارائه خواهد شد و عملیات بدون تأیید کاربر ادامه نخواهد یافت. وابستگی‌ها در این سطح به طور خودکار حل می‌شوند و در صورت لزوم نصب/ارتقا خواهند شد.

این گزینه را دوبار وارد کنید تا تنزل بسته (downgrade) فعال شود؛ در این صورت، pacman بسته‌های همگام‌سازی را انتخاب می‌کند که نسخه‌های آن‌ها با نسخه‌های محلی مطابقت ندارد. این می‌تواند زمانی مفید باشد که کاربر از یک مخزن آزمایشی (testing) به یک مخزن پایدار سوئیچ می‌کند.

اهداف اضافی را نیز می‌توان به صورت دستی مشخص کرد، به طوری که -Su foo یک ارتقای سیستم را انجام داده و بسته "foo" را در همان عملیات نصب/ارتقا خواهد کرد.

-y, --refresh

دانلود یک نسخه تازه از پایگاه داده اصلی بسته‌ها از سرور(های) تعریف‌شده در pacman.conf(5). این گزینه معمولاً باید هر بار که از --sysupgrade یا -u استفاده می‌کنید، به کار رود. وارد کردن دو پرچم --refresh یا -y تازه‌سازی تمام پایگاه‌های داده بسته‌ها را اجبار می‌کند، حتی اگر به‌روز به نظر برسند.

--asdeps <package>

علامت‌گذاری یک بسته به عنوان غیرصریح نصب‌شده؛ به عبارت دیگر، دلیل نصب آن را به عنوان یک وابستگی تنظیم می‌کند.

--asexplicit <package>

علامت‌گذاری یک بسته به عنوان صریحاً نصب‌شده؛ به عبارت دیگر، دلیل نصب آن را به صورت صریحاً نصب‌شده تنظیم می‌کند. این زمانی مفید است که بخواهید یک بسته حتی زمانی که در ابتدا به عنوان وابستگی بسته دیگری نصب شده است، روی سیستم باقی بماند.

-k, --check

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

-q, --quiet

فرونشاندن پیام‌ها هنگام اتمام موفقیت‌آمیز عملیات پایگاه داده.

-y, --refresh

دانلود پایگاه‌های داده تازه بسته‌ها از سرور. برای اجبار به تازه‌سازی حتی در صورتی که پایگاه‌های داده به‌روز باشند، دو بار استفاده کنید.

-l, --list

فهرست کردن فایل‌های متعلق به بسته مورد پرس‌وجو.

-x, --regex

تفسیر هر پرس‌وجو به عنوان یک عبارت منظم (regular expression).

-q, --quiet

نمایش اطلاعات کمتر برای برخی عملیات‌های فایل. این زمانی مفید است که خروجی pacman در یک اسکریپت پردازش می‌شود، با این حال، ممکن است بخواهید به جای آن از --machinereadable استفاده کنید.

--machinereadable

چاپ هر تطابق در یک قالب خروجی ماشین‌خوان. این قالب به صورت repository\0pkgname\0pkgver\0path\n است که در آن \0 نویسه تهی (NULL) و \n نویسه خط جدید (linefeed) است.

ابزار Pacman از همان منطق rpm برای تعیین اقدام لازم در برابر فایل‌هایی که برای پشتیبان‌گیری تعیین شده‌اند استفاده می‌کند. در طول یک ارتقا، سه درهم‌سازی (hash) به روش MD5 برای هر فایل پشتیبان استفاده می‌شود تا اقدام لازم مشخص گردد: یکی برای فایل اصلی نصب‌شده، یکی برای فایل جدیدی که در شرف نصب است، و یکی برای فایل فعلی موجود روی سیستم فایل. پس از مقایسه این سه هش، سناریوهای زیر می‌توانند رخ دهند:

original=X, current=X, new=X

هر سه فایل یکسان هستند، بنابراین رونویسی مشکلی ایجاد نمی‌کند. فایل جدید را نصب کن.

original=X, current=X, new=Y

فایل فعلی همان فایل اصلی است، اما فایل جدید متفاوت است. از آنجا که کاربر هرگز فایل را تغییر نداده است، و فایل جدید ممکن است حاوی بهبودها یا رفع باگ‌ها باشد، فایل جدید را نصب کن.

original=X, current=Y, new=X

هر دو نسخه بسته دقیقاً شامل فایل یکسانی هستند، اما فایل موجود روی سیستم فایل تغییر یافته است. فایل فعلی را در جای خود باقی بگذار.

original=X, current=Y, new=Y

فایل جدید با فایل فعلی یکسان است. فایل جدید را نصب کن.

original=X, current=Y, new=Z

هر سه فایل متفاوت هستند، بنابراین فایل جدید را با پسوند .pacnew نصب کن و به کاربر هشدار بده. سپس کاربر باید به صورت دستی هرگونه تغییرات لازم را در فایل اصلی ادغام کند.

original=NULL, current=Y, new=Z

بسته قبلاً نصب نبوده است و فایل از قبل روی سیستم فایل وجود دارد. فایل جدید را با پسوند .pacnew نصب کن و به کاربر هشدار بده. سپس کاربر باید به صورت دستی هرگونه تغییرات لازم را در فایل اصلی ادغام کند.

pacman -Ss ne.hack

جستجو برای عبارت منظم "ne.hack" در پایگاه داده بسته‌ها.

pacman -S gpm

دانلود و نصب gpm به همراه وابستگی‌ها.

pacman -U /home/user/ceofhack-0.6-1-x86_64.pkg.tar.gz

نصب بسته ceofhack-0.6-1 از یک فایل محلی.

pacman -Syu

به‌روزرسانی فهرست بسته‌ها و سپس ارتقای تمام بسته‌ها.

pacman -Syu gpm

به‌روزرسانی فهرست بسته‌ها، ارتقای تمام بسته‌ها، و سپس نصب gpm در صورتی که قبلاً نصب نشده باشد.

برای جزئیات بیشتر در مورد پیکربندی pacman با استفاده از فایل pacman.conf، به pacman.conf(5) مراجعه کنید.

alpm-hooks(5), libalpm(3), makepkg(8), pacman.conf(5)

برای اطلاعات به‌روز در مورد pacman و ابزارهای مرتبط با آن، به وبگاه pacman در https://archlinux.org/pacman/ مراجعه کنید.

باگ؟ حتماً شوخی می‌کنید؛ هیچ باگی در این نرم‌افزار وجود ندارد. اما اگر احیاناً اشتباه کرده باشیم، یک گزارش باگ با بیشترین جزئیات ممکن در بخش Pacman در ردیاب باگ Arch Linux ثبت کنید.

نگه‌دارندگان فعلی:

•Allan McRae <allan@archlinux.org>
•Andrew Gregory <andrew.gregory.8@gmail.com>
•Eli Schwartz <eschwartz@archlinux.org>
•Morgan Adamiec <morganamilo@archlinux.org>

مشارکت‌کنندگان عمده پیشین:

•Judd Vinet <jvinet@zeroflux.org>
•Aurelien Foret <aurelien@archlinux.org>
•Aaron Griffin <aaron@archlinux.org>
•Dan McGee <dan@archlinux.org>
•Xavier Chantry <shiningxc@gmail.com>
•Nagy Gabor <ngaba@bibl.u-szeged.hu>
•Dave Reisner <dreisner@archlinux.org>

برای مشارکت‌کنندگان دیگر، از git shortlog -s روی مخزن pacman.git استفاده کنید.

2022-11-21 Pacman 6.0.2