لینوکس و تاثیر آن در دنیای سیستم عامل ها

سیستم مدیریت پکیج RPM چیست ؟

RPM یک ابزار مدیریت پکیج بسیار محبوب و پیش فرض برای سیستم های مبتنی بر (Red Hat,RHEL,CenOS,Fedora) است. این ابزار به مدیران سیستم و کاربران اجازه می دهد تا پکیج های نرم افزاری سیستم را در سیستم عامل های یونیکس و لینوکس مدیریت ،نصب ،آپدیت و حذف کنند.

هر پکیج یک بسته جدا از فایلی مرتبط ، متون و اطلاعات پیکربندی است و معمولا هر پکیج یک اپلیکیشن مجزا است. با تمرکز بر روی پکیج به عنوان یک واحد مدیریتی، RPM پروسه نصب و حذف اپلیکیشن ها را بسیار راحت کرده است.  RPM به عنوان فایل .rpm شناخته می شود وشامل برنامه های  نرم افزاری کامپایل شده و کتابخانه های مورد نیاز پکیج است.

RPM چیست ؟

مدیریت پکیج مختلفی برای لینوکس برای پیگیری و دستکاری اپلیکیشن های نصب شده  در دسترس است. مهم ترین آنها که استفاده گسترده ای از آن می شود  مدیریت پکیج (RPM (Redhat Package Manager است.

RPM درابتدا برای لینوکس Red Hat ایجاد شده بود و لی ترکیب آن  از ویژگی های فنی و زمان سنجی مناسب موجب شده تا RPM یک استاندارد برای پکیج کردن نرم افزارها در بیشتر توزیع های لینوکس شود.  اخیرا، فرمت فایل پکیج های RPM بر اساس پایه استاندارد های پایه  لینوکس تطبیق داده شد.  پایه استاندارد لینوکس (LSB) تلاشی برای ایجاد یک مبنا است تا  تمامی توزیع های لینوکس از آن پیروی کنند.  تاریخ مدیریت پکیج در لینوکس با تاریخ توزیع های لینوکس در هم تنیده است.

 لینوکس بر می گردد به یک قطعه مجزا از نرم افزار و هسته شبیه به یونیکس که Linus Torvalds آن را در اینترنت توزیع کرد و از سال ۱۹۹۱ تا کنون در حال توسعه است. این هسته لینوکس یک قطعه فوق العاده از نرم افزار است،در حال حاضر شامل ۳.۷ میلیون خط  کدهای متن باز و متون است . این فاکتور ها با هم دیگر یک هسته سیستم عامل پایدار،با امکانات کامل و سریع را ایجاد میکند که قابل استفاده برای بیش از ۳۰ پردازنده مختلف از سیستم های مجتمع تا ساعت ها و سرور ها و حتی تا سوپر کامپیوتر هاست.

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

اگر چه  لینوکس یک هسته عالی از یک سیستم عامل مناسب برای بسیاری از اپلیکیشنهای دنیای واقعی است، هسته لینوکس خود به تنهایی مناسب برای انجام بسیاری از وظایف نیست.بنابراین واضح است که بسیاری از کاربران لینوکس هم به هسته لینوکس و هم به مجموعه بزرگی ازنرم افزارهای همراه (یک کتابخانه C، یک ویرایشگر مانند vi و غیره) برای انجام وظایف  مختلف نیاز داشته باشند.

پیشنهاد ایران هاست برای وب سایت های لینوکس، استفاده از سرورهای ابری با سرعت و Uptime بالاست.

همین امروز سفارش دهید

کاربران از لینوکس  انتظار دارند تا دارای نرم افزار های سرور همانند وب سرور Apache، نرم افزار های دسک تاپ همانند OpenOffice و دیگر پکیج ها باشد. در حقیقت بسیاری از کاربران لینوکس  بین هسته (از نظر فنی تنها به هسته لینوکس گفته می شود)و دیگر پکیج های افزودنی که همراه لینوکس به عنوان یک توزیع لینوکس  عرضه می شوند تمایزی قائل نیستند و در نتیجه کل آن را لینوکس در نظر می گیرند.

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

ظهور سیستم مدیریت پکیج

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

در نسخه های اخیر مانند MCC و SLS ، آنها برای کاربران این امکان را فراهم کردند که فرایند نصب را بدون کنترل روی اینکه چه نرم افزارهایی ممکن است نصب شود ،انجام دهند. چیزهایی که طراحان این توزیع از لینوکس بر روی هارد دیسک خود داشته اند  چیزی است که نصب کننده توزیع بر روی هاد دیسک خود دارد. حتی این بهتر از این است که توزیع خودتان را با دست ایجاد کنید. برای مثال، SLS که مخفف Soft Landing System است، و برای ایجاد تجربه نصب راحت تر لینوکس طراحی شده است.

طراحان توزیع لینوکس به سرعت دریافتند که انعطاف پذیری بیشتری نیاز است و به دنبال روش هایی بودند تا هم در حین نصب و هم بعد از نصب گزینه هایی را فراهم کنند.  برای مثال توزیع Slackware اپلیکیشن ها را به دسته بندی های  کاربردی چندگانه تقسیم می کند.  تمامی یوزر ها نسخه پایه توزیع را نصب می کنند و سپس میتوانند بر حسب نیازشان  گروه مکملی را نصب کنند.

Slackware

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

 قابلیت به روز شدن پکیج

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

به عنوان نمونه فرض کنید  شما با استفاده از  RPM بر روی سرور Apache  نصب کرده و تغییراتی را در فایل httpd.conf به عنوان تغییر در پیکر بندی آن اعمال کرده اید. اگر شما Apache را  با استفاده از  RPM به روز رسانی کنید، RPM دقت می کند که اگر تنظیمات سفارشی را اعمال کرده اید آنها را نگه دارد. در مقابل به روز رسانی دستی اپلیکیشن تمامی فایلهای پیکربندی را جایگزین می کند و اغلب تنظیمات انجام شده از بین می روند.

وابستگی های متقابل در پکیج

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

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

به عنوان مثال با استفاده از دستور ذیل می توان وابستگی های اپلیکیشن BitTorrent-5.2.2-1-Python2.4.noarch.rpm  را مشاهده کرد:

untitled

قابلیت پرس و جو

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

معماری های چندگانه

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

تفاوت بین RPM و YUM چیست؟

تفاوت RPM و YUM به دو جنبه تقسیم می شود:

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

تفاوت بین RPM و YUM چیست؟

 

با کارت بانکی باشگاه ایران هاست پولتان به حسابتان باز می گردد.

همین حالا رایگان عضو شوید

نیما حسن زاده

در IT قله های زیادی هست که هنوز فتح نشده اند . . . | مدیر سرور ایران هاست ، کارشناس ارشد مدیریت فناری اطلاعات، کارشناس مهندسی فناوری اطلاعات

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
بستن
بستن