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)
مراجعه
کنید.
باگ؟
حتماً شوخی
میکنید؛
هیچ باگی در
این
نرمافزار
وجود ندارد.
اما اگر
احیاناً
اشتباه
کرده
باشیم، یک
گزارش باگ
با بیشترین
جزئیات
ممکن در بخش
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
استفاده
کنید.