همه چیز درباره pacman

everything about (pacman)مدیر بسته (package manager) چیست ؟اگه بخوام خیلی خیلی ساده بگم مدیر بسته (package manager) مجموعه ای از ابزار های نرم افزاری که فرایند نصب , آپدیت , پیکر بندی (configuring) و حذف نرم افزار را برای کامپیوتر شما به روش منسجم و یک پارچه انجام می دهد.یه مدیر بسته (package manager) با بسته ها , توزیع های (distributions) نرم افزاری و دیتا در آرشیو فایل سر و کله میزند.در اینجا فقط میخوام درباره مدیر بسته(package manager) pacman توضیح بدم.pac manساختار همه ی دستورات پکمن به این شکل است:pacman <operation> <options> <package(s)>دستور پکمن رو وقتی نوشتیم , سه تا گزینه در مقابلش باید گذاشته بشه , اولی operation و دومی options ودر انتها نام پکیج (یا پکیج ها) نوشته شود.نکته : ممکنه بعضی وقتا operation رو داشته باشی یا بعضی وقتا operation و options با هم داشته باشی یا در زمانی همه رو باهم داشته باشی.شما میتونی برای این که بیشتر درکش کنی از دستور pacman -help استفاده کنی.به عکس بالا توجه کن به جای operation , هشت تا دستور میتونیم بنویسیم:pacman -USRQFDVنکته کنکوری : همیشه یادت باشه operation با حرف بزرگ نوشته میشه.دستور V- اول واژه version است و برای برسی ورژن ازش استفاده میشه.دستور D- اول واژه database است برای کار های مربوط به دیتا بیست استفاده میشه.دستور F- اول واژه files است برای کار با فایل استفاده میشه.دستور Q- اول واژه query است به معنای جستجو است میشه با این دستور اصلاعات منحصر به فرد پکیج ها را جستجو کرد.دستور R- اول واژه remove است برای پاک کردن پکیج ها ازش استفاده میشه.دستور T- به معنای dependencies (deptest) است به معنای وابستگی هست لیست وابستگی ها را برسی میکند .دستور U- اول واژه update است برای آپدیت کردن سیستم عامل و بسته ها مورد استفاده قرار میگیرد.دستور S- اول واژه Synchronize است برای همگام سازی بسته ها مورد استفاده قرار میگیرد.حالا تصور کن هر کدام از این دستورات بالا برای خودشون چندین تا option دارن یعنی مثلا D- برای خودش چند تا option داره.نکته کنکوری : یادت باشه همیشه option ها به صورت حروف کوچک نوشته میشن.برای دیدن آپشن ها کافیه فقط از هر operation , دستور help- رو بزنی , مثلا میخوام بدونم operation -S چند تا option داره به مثال زیر توجه کن:pacman -S -helppacman -S -helpخوب همون جوری که دیدی S operation- چندین تا option دارد مثل -w -s -l ,.....نکته کنکوری : هرکدام از این حروف بیانگر یه کلمه خاص هستن مثل -i, --info نکته کنکوری : به دو صورت میشه نوشت کی به صورت اختصار یا اسم کامل مثل -g, --groups‌تا اینجای کار فهمیدیم این دستورات چی هستن , بریم واسه ترکیب کردنشونآپدیت کردن دیتا بیستبرای این که هر مدیر بسته ای به درستی کار کند , باید با سرور های اصلی هماهنگ باشه , pacman هم همین طوره , برای به روز رسانی پایکاه داده pacman میتونی از دستور زیر استفاده کنیsudo pacman -Sy --------------------------- operation S option y pacman <operation> <options> <package(s)>pacman -Syآپدیت کردن نرم افزارهاsudo pacman -Syu --------------------------- operation S option yuمیتونی با ترکیب option های مختلف چندین دستور رو در یه دستور خلاصه کنی.میتونی با استفاده از pacman پکیج ها رو به اصلاح upgrade/downgrade کنی یعنی میتونی هم تغییر ورژن بدی یا به ورژن آپدیت تر ارتقا بدی یا به ورژه قدیمی تر برگردی.برای مثال، اگر بسته "xyz-1.5" را رو سیستم خود نصب کرده اما "xyz-1.4.9" آخرین نسخه در سرور اصلی است، pacman به "xyz-1.4.9" تنزل می دهد.sudo pacman -Syuu sudo pacman -Syyuuهمان طور که متوجه شدی این دو دستور برای یه کار خاص باهم combined شدن یا ترکبیب شدننصب پکیجنصب پکیج با pacman خیلی سادس , به دستور زیر دقت کن:sudo pacman -S <package_name_1> <package_name_2>این فرایند تمام وابستگی هارو شناسایی و مدیریت میکندبعضی وقتا بسته ها از الگو های مشابهی می آید, به جای تایپ نام یکسان از brackets به عنوان میانبرد استفاده کنید, lمثال زیر تمام بسته های پایتون را نصب میکند:sudo pacman -S python-{pip,py,pytest,pytest-runner}بعضی وقتا دوست داری پکیج دانلود بشه ولی عملیات نصب رو انجام نده صرفا دوست داری دانلود بشهاز سوییج Sw- استفاده کنsudo pacman -Sw <package_name>فقط pacman از دانلود پکیج به شما اطلاع میده ولی چیزی نصب نمیشه , بعد از این که فایل دانلود شد پکیج به این فرمت ذخیره میشه. <package_name>.tar.xz و در مسیر زیر قرار میگیرد./var/cache/pacman/pkgبرای نصب بسته های جدا دانلود شده از U- استفاده میکنیم.sudo pacman -U <package_name>.tar.xzتمام بسته هایی که pacman دانلود میکند همیشه وجود دارد میتونی از این مسیر پیداش کنی و اونا رو ببینی.ls /var/cache/pacman/pkg اگه دنبال یه بسته خواص میگردی grep میتونه خیلی کمکت کنه.ls /var/cache/pacman/pkg | grep <package_name>اگه یه زمان نیاز داشتی یه پکیجی رو install/upgrade/downgrade میتونی از این دستور استفاده کنی.سرچ کردن‌بعضی وقتا اسم پکیج رو فراموش میکنی باید تو pacman جستجو کنی.pacman -Ss <search_term>یکم خروجی دستور آزاردهندس برای این که خوانا تر بشه میتونی از این روش استفاده کنی.قدم اول : کسانی که vim بلد نیستن میتونن از nano استفاده کنن.sudo vim /etc/pacman.confکلمه color رو از کامند در میاری دقیقا به مثال بالا توجه کنوبعد ذخیره میکنی (shift=WS)حالا pacman خوانا شد میشه نوع ورژن رو با رنگ دیگه تشخیص داد.من از دستور grep خیلی لذت میبرم , شما میتونی دستور grep رو با pacman ترکیب کنی و ازش برای فهرست کردن بسته های موجود استفاده کنی خروجی رو میتونی با grep به اصلاح pipeline کنی تا همه پکیج های مورد نیازت رو نشان دهد.pacman -Ssq | grep pythonآیا به flag دستور Ssq- توجه کردی؟ این ترکیب همه پکیج های pacman را یک به یک نشان میدهد.من آن را به grep دادم تا فقط بسته های python3 را نشان دهد, احتمالا شما توضیحات کوتاه پکیج را دریافت نمیکنید.ابزار دیگری برای انجام جستجو ها وجود دارد: اسم این ابزار (pacsearch) است , این ابزار با قالب بندی مناسب و رنگ بندی جذاب خروجی تمیز تری ارائه می دهد.به احتمال زیاد قبلا روی توزیع Arch خودتون نصبه اما اگر نصب نیست میتونی از دستور زیر استفاده کنیsudo pacman -S pacman-contribحالا مراحل بالا رو به با استفاده از pacsearch انجام میدهیمpacsearch pythonpacsearch pythonتازه قابل خواندن شد.اطلاعات pacmanدستور زیر تمام بسته های نصب شده روی سیستم شما رو لیست می کندpacman -Qشاید برسی این همه پکیج برات گیج گننده باشه تو میتونی از grep استفاده کنی تا پیدا کردن پکیج ها برات آسان تر بشه.pacman -Q | grep linuxبعضی وقتا احتیاج داری اطلاعات دقیقی در مورد یه پکیج خاص داشته باشی میتونی از Qi- استفاده کنی.pacman -Qi <package_name>دستور Q- تنها اطلاعات بسته نصب شده را نشان می دهد.اگه دنبال آخرین اطلاعات در مورد یک بسته هستی میتونی از Si- استفاده کنی.pacman -Si <package_name>حذف نصببا استفاده از pacman میتونی پکج هایی که نصب کردی رو حذف نصب (uninstalling) کنی.sudo pacman -R <package_name>برای حذف یک پکیج همراه با تمام وابستگی هایش از ساختار زیر استفاده میکنیم.نکته کنکوری : هیچ پکیج دیگری به آن وابستگی ها بستگی ندارد.sudo pacman -Rs <package_name>میتوان pacman را مجبور به حذف نصب کرد, مهم نیست که این پکیج وابستگی های دیگررا از بین میبرد یا نه.نکته کنکوری کارشناسی ارشد: این کاره, خیلی خیلی خطر ناکیه اگه واقعا نمیدونی داری چیکار میکنی اصلا انجامش نده.sudo pacman -Rdd <package_name>سخن آخر پکیج Pacman یک مدیریت بسته قدرتمند برای Arch Linux است.بدون آن هیچ پکیجی از آن عبور نمیکند.حتی اگر پکیج هایی را از منابع دیگر مثل مخزن AUR بخوای نصب کنی باید قبلش از طریق pacman مراحل تکمیل نصب را کامل کنی. پس pacman یکی از اجزای جدا نشدنی اکوسیستم Arch است.باید کم کم کار با terminal رو یاد بگیری و تا برات استفاده از لینوکس دل چسب تر بشه.