علی کنگرانی
علی کنگرانی
خواندن ۴ دقیقه·۳ سال پیش

کار با Package Manager در لینوکس

کلن Package Manager چیه؟

برای نصب یک نرم افزار بر روی سیستم های لینوکسی شما به طور کلی دو راه دارید: ۱. اینه که می تونید source نرم افزار رو دانلود کنید و اون رو به صورت دستی روی سیستم نصب کنید. در این حالت بازمه که شما بتونید نرم افزار رو کامپایل کنید، پیکربندی های لازم رو انجام بدین، فایل های لازم رو سر جای خودشون قرار بدین و dependency های لازم رو نصب کنید (بعضی نرم افزار ها برای اجرا به نرم افزارهای دیگه نیاز دارن که بهشون dependency میگن). راه دوم هم اینه که از یک Package Manager استفاده کنید که همه ی این کارها رو به صورت اتوماتیک انجا میده. در این حالت زمانی که شما اقدام به نصب یک برنامه می کنید، Package Manager در ریپازیتوری هایی که داره، دنبال این برنامه می گرده، بعد dependency های مربوطش رو که در حال حاضر بر روی سیستم شما نصب نیستن رو مشخص می کنه و کار دانلود و نصب رو شروع می کنه و در نهایت پیکر بندی های لازم رو انجام میده. تو شکل زیر می تونید فرایند کار این ابزار ها رو ببینید.



همه‌ی Package Manager ها هم به صورت گرافیکی وجود دارن و هم به صورت ترمینالی. ابزارهای مورد نیاز برای این کار به صورت پیش فرض بر روی تمامی توزیع های لینوکس وجود دارن. توجه داشته باشید که هر توزیع ابزار مورد نیاز خودش رو داره هخ ریپازیتوری های خاص خودشون رو دارن.



نحوه استفاده از Package Manager در سیستم های لینوکسی:

در این مقاله ما نحوه کار با ابزار های مدیریت بسته سیستم های Debian رو بررسی می کنیم.

پر کاربردترین ابزارهایی که در این توزیع لینوکس وجود دارن، apt و apt-get هستن.

کار با هردوشون تا حد بسیار زیادی یکسان هستش. اگه بخایم به ساده ترین شکل تفاوتشون رو توضیح بدیم باید گفت که بعضی از قابلیت ها بین apt-get و apt-cache تقسیم شده بودن که کار با این ابزارها رو کمی سخت کرده بودن، به همین دلیل Debian ابزار apt رو معرفی کرد که کار باهاش ساده تره و می شه خیلی کارها رو با خودش انجام داد و نیازی به یه ابزار دیگه نداریم. به خاطر همین دلایلی که گفتیم، ما در این مقاله کار با apt رو توضیح می دیم اما شما می تونید از هر ابزاری که دوست دارید استفاده کنید (توجه داشته باشید که ما در لینوکس واسه انجام هیچ کاری فقط یک راه نداریم)

در ابتدا، شما می تونید با وارد کردن دستور زیر تمامی کارهایی رو که می شه با این ابزار انجام داد رو ببینید.

$ apt --help



(تفاوت بین update و upgrade رو خوبه بدونید.)

فرق بین update و upgrade اینه که، در زمانی که شما از گزینه update استفاده می کنید، ابزار شما لیست ریپازیتوری ها شو به روز می کنه و به شما نشون می ده که آخرین نسخه پکیج هایی که در حال حاضر نصب دارین چی هست و اینکه آیا آپدیتی وجود داره یا نه. اما زمانی که upgrade رو بزنید، ابزار علاوه بر اینکه نشون میده آخرین نسخه پکیج ها چین، برای هر چیزی که امکانش باشه عملیات به روز رسانی رو انجام میده.

$ apt update



$ apt upgrade



به شکل زیر می تونید در ریپازیتوری های سیستم دنبال یک نرم افزار بگردین که اگه وجود داشته باشه مثل تصویر زیر به شما اطلاعاتش رو میده.

$ apt search htop



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

$ apt show htop



برای نصب برنامه می تونید در راحت ترین حالت ممکن فقط به شکل زیر عمل کنید. خود ابزار تمام کارهای لازم برای نصبشو انجام میده.

$ apt install htop



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

$ htop



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

$ apt remove htop



همونطور که انتظار میره، اگه دوباره تلاش کنید که برنامه رو اجرا کنید، می بینید که وجود نداره.

$ htop



آدرس ریپازیتوری ها رو می تویند از مسیر زیر پیدا کنید.

$ vi /etc/apt/sources.list


بخش هایی که رنگی نشون داده شدن، درواقع هموت آدرس ریپازیتوری هایی هستن که ابزار ازشون استفاده می کنه.




این آدرس ها رو می تونید از روی صفحه وب هم ببینید. در اینجا می تونید بهتر متوجه بشید که این ابزار ها دقیقا چیکار می کنن. پکیج هارو خودشون ندارن و فقط بلدن چجوری سریع با این ریپازیتوری ها کار کنن و یه لیست از اطلاعاتی که توش دارن رو نگه می دارن. خلاصه همه کارهایی که این ابزارها انجا می دن رو ما هم میتونیم دستی انجام بده اما خوب کی میره این همه راهو!؟

به شکل زیر می تونید لیست تمام پکیج هایی که در ریپازیتوری ابزار وجود دارن رو ببینید (به ترتیب اسم).


$ apt list


با استفاده از دستور زیر هم می تونید تمام نسخه های موجود (در این ریپازیتوری) از یک برنامه رو ببینید.

$ apt list -a nginx


yumaptapt getlinuxpackage manager
شاید از این پست‌ها خوشتان بیاید