محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

تفاوت YUM و RPM در چیست؟ به زبان ساده

RPM مخفف کلمه های RedHat Package Manager است و سیستم Package Manager پیشفرض توزیع های لینوکسی است که از ساختار Package Management ای به همین اسم استفاده می کنند. این نوع ساختار Package Manager توسط شرکت RedHat طراحی و ایجاد شد و به سرعت توسط بسیاری از توزیع های لینوکس دیگر مورد استفاده قرار گرفت. YUM مخفف کلمه های Yellowdog Update Modified است و در واقع ابزاری است که وظیفه بهره برداری از Package های RPM را بر عهده دارد و می توان آن را بهینه سازی شده RPM عنوان کرد ، در واقع شما با استفاده از YUM می توانید بسته های RPM را مدیریت کنید ، YUM و RPM فقط با توزیع های لینوکسی قابل استفاده هستند که ساختار Package Management آنها بر اساس RPM باشد و در سایر توزیع ها مانند Debian و Ubuntu که ساختار Package Management متفاوت است نمی توان از این ابزارها استفاده کرد.

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

همانطور که RPM یک ابزار قدرتمند و حرفه ای است و بسیار از کاربران لینوکس با آن به خوبی آشنایی دارند در عین حال چند مشکل کوچک هم در این سیستم مدیریت بسته های نرم افزاری در لینوکس وجود دارد که کاربران آن را برخی اوقات بسیار عصبی می کند. برجسته ترین مشکلی که در حال حاضر اکثر افرادی که با RPM کار می کنند با آن مواجه هستند مشکلی به نام جهنم وابستگی ها یا Dependency Hell است. این مشکل برای Package های پیش می آید که وابستگی ها یا Dependency های بسیار زیادی به Package های دیگر دارند که بعضا پیش می آید همان Package ها نیز خودشان به Package های دیگری وابسته هستند و این ماجرا همینطور می تواند ادامه دار باشد ...

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

Dependency Hell در RPM چیست

YUM بزرگترین مشکل RPM را حل می کند ، YUM قادر است تمامی وابستگی های یک Package را پیدا کردن و همزمان آنها را نصب کند بدون اینکه نیازی به دخالت کردن کاربر در این مسئله وجود داشته باشد. این دقیقا همان کاری است که RPM قادر به انجام آن نیست ، با استفاده از YUM شما می توانید مطمئن باشید که در زمانیکه می خواهید یک Package را نصب کنید تمامی پیشنیازها و وابستگی های نرم افزاری آن به همراه آن نصب خواهند شد و شما نیازی با انجام اینکار بصورت دستی نخواهید داشت. یکی از نکات جالب در خصوص YUM این است که در صورتیکه نتواند بسته های مورد نیاز را از Repository های آنلاین پیدا کند شروع به جستجوی بسته های مورد نیاز از روی Repository های موجود بر روی سیستم می کند.

هم RPM و هم YUM در ابزار دستوری یا Command Line ای هستند که برای اینکه بتوانید بسته های نرم افزاری را به درستی و با کیفیت نصب کنید بایستی با سویچ ها و پارامترهای آنها تا حدودی آشنایی داشته باشید و این ممکن است کمی تازه کارهای لینوکس را دچار مشکل کند. برای حل این مشکل و ساده تر کردن کار با سیستم عامل لینوکس و بسته های نرم افزار آن ابزارهای گرافیکی بسیاری طراحی شده اند که براحتی می توانند با ارائه دادن یک محیط GUI ساده هم YUM و هم RPM را بصورت گرافیکی به شما ارائه کنند ، بسیاری از افراد ترجیح می دهند از این ابزارهای گرافیکی به جای استفاد های از دستورات YUM و RPM استفاده کنند. اما دقت کنید که همیشه محیط گرافیکی برای استفاده وجود ندارد و این در صورتی کاربرد دارد که شما محیط های دسکتاپ لینوکس را نصب کرده باشید ، در بسیاری از سازمان ها لینوکس فقط بصورت خط فرمانی نصب می شود و خبری از محیط گرافیکی نیست ، بصورت کلی می توان تفاوت بین RPM و YUM را در دو مورد خلاصه کرد :

  1. RPM یک Package Manager است در حالیکه YUM یک لایه میانی است که می تواند با RPM یکپارچه و کار کند
  2. RPM نمی تواند وابستگی های نرم افزاری را نصب کند اما YUM می تواند ITPRO باشید

نویسنده : محمد نصیری

منبع : انجمن تخصصی فناوری اطلاعات ایران

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات