صفحه اصلی arrow مقالات arrow مدیریت بسته‌های نرم‌افزاری در لینوکس - RPM - بخش ۱
مدیریت بسته‌های نرم‌افزاری در لینوکس - RPM - بخش ۱ چاپ ارسال به دوست
رای کاربران: / 7
ضعیفعالی 
مقالات - مقالات
نویسنده حمید جعفریان   
۰۶ اسفند ۱۳۸۶

۱- مقدمه:
شاید رایجترین موضوعی که کاربران لینوکس در بدو ورود با آن مواجه می‌باشند مسئله چگونگی نصب نرم‌افزارهای جدید و به روزرسانی نرم افزارها‌ی موجود در سیستم عامل لینوکس میباشد؟ و شاید اینکه بخواهند بدانند که چه نرم‌افزارهایی در لینوکس نصب شده اند؟

اگر احیانا پیش زمینه فکری از ویندوز وجود داشته باشد ممکن است در محیط گرافیکی به دنبال گزینه Add/Remove Softwares باشید که خوشبختانه در ویرایشهای جدید اکثر لینوکسها، اینگونه گزینه‌ای تعبیه شده است که میتوانید به صورت محاوره‌ای از آن استفاده کرده و به نصب، به‌روزرسانی و حذف نرم‌افزارهای بپردازید. البته با توجه به تمایل کاربران لینوکس به استفاده از محیط متن،‌ با توجه به قابلیتهای گوناگونی که این محیط در اختیار کاربر قرار میدهد و همچنین نظر به اینکه تا چند سال گذشته امکانات گرافیکی وجود نداشتند، ایده‌آل به نظر میرسد تا کاربران محترم سعی در درک مفاهیم پایه و استفاده از امکانات موجود در محیط متن نمایند چرا که علاوه بر قدرت مانور زیاد که حاصل این روش کار است، درک مفهومی و عمیقی نیز از عملکرد سیستم ایجاد خواهد شد.
برای شروع میتوانید دستور زیر را در را در محیط پوسته(Shell) تایپ کنید...

bash-$ rpm -qa

حتما متوجه شده‌اید که خروجی این دستور چه میباشد؟ بله... خروجی این دستور تمامی نرم‌افزارهایی میباشند که در سیستم نصب شده اند.. اگر به عنوان مثال خواهان تعیین این موضوع هستید که آیا نرم‌افزار Office در سیستم نصب شده است یا خیر میتوانید از این دستور زیر را امتحان کنید.. 

bash-$ rpm -qa | grep office

درک این دستور نیاز به آشنایی اولیه با مفاهیم پوسته دارد. (اما به طور خلاصه میتوان گفت که این دستور خروجی خاصل از دستور «rpm -qa» را به دستور «grep office» میدهد که این دستور نیز شروع به جستجوی متن «office» در خروجی حاصل از «rpm -qa» کرده و اگر خطی شامل آن باشد در خروجی نمایش خواهد داد). به عبارت بهتر باید گفت که اگر نرم افزار Office بر روی سیستم نصب باشد این دستور حداقل باید یک خط خروجی شامل نام نرم‌افزار و توصیف آن را داشته باشد. به عنوان مثال بر روی سیستم آزمایشی ما، خروجی  به شکل زیر خواهد بود: 

bash-$ rpm -qa | grep office
    openoffice.org-graphicfilter-2.3.0-6.6.fc8
    openoffice.org-writer-2.3.0-6.6.fc8
    openoffice.org-math-2.3.0-6.6.fc8
    openoffice.org-calc-2.3.0-6.6.fc8
    openoffice.org-langpack-en-2.3.0-6.6.fc8
    openoffice.org-impress-2.3.0-6.6.fc8
    openoffice.org-xsltfilter-2.3.0-6.6.fc8
    openoffice.org-core-2.3.0-6.6.fc8
    openoffice.org-draw-2.3.0-6.6.fc8

این خروجی نشان میدهد که برروی سیستم مورد بحث ما بسته‌های گوناگون Office نصب شده است.
۲- RPM چیست؟
RPM یک کلمه اختصاری برای RedHat Package Manager میباشد. فکر میکنم که نام آن گویای مطلب باشد. RPM در اصل نام بسته‌های نرم‌افزاری میباشد که شامل تمامی اطلاعات لازم در مورد نرم‌افزار مورد نظر جهت انجام عملیاتهایی همچون نصب، به‌روزرسانی، و حذف نرم‌افزار بر روی سیستم میباشد. این بسته‌های نرم‌افزاری به صورت یک فایل با پسوند «rpm» میباشند. به عبارتی اگر تاکنون در محیط ویندوز به درون شاخه‌ای رفته و فایل Setup را اجرا میکرده‌اید اکنون در لینوکس ابتدا باید به دنبال فایل RPM نرم‌افزار مورد نظر خود باشید و بعد از آن با استفاده از دستور rpm‌ شروع به نصب نرم‌افزار مورد نظر خود نمایید.
قابل ذکر است که rpm علاوه بر اینکه نام بسته‌های نرم افزاری لینوکس میباشد، ‌دستوری با همین املا در محیط متن، مسئول مدیریت بسته‌های rpm میباشد. این دستور تمامی قابلیتهای مورد نیاز جهت نصب،‌ به‌روزرسانی و حذف نرم‌افزارها را به شما خواهد داد. برای آشنایی بیشتر با این دستور، از عبارت «man rpm» در محیط پوسته استفاده کنید(قابل ذکر است که دستور «man» در لینوکس یکی از جذابترین و پرکاربردترین دستورات میباشد. با استفاده از این دستور شما منوال کاملی از دستورات لینوکس در اختیار دارید که به راحتی امکان آشنایی با دستورات و قابلیتهای آنها را در اختیار شما قرار میدهد).
۳- آشنایی مختصر با دستور rpm:
با فرض اینکه بسته rpm‌ مورد نظر نرم‌افزار خود را پیداکرده‌اید میتوانید برای نصب بسته نرم‌افزار از دستور زیر استفاده کنید:

bash-$ rpm -iv path-to-/package_name.rpm

البته باید به جای کلمه «path-to-/package.rpm» مسیر محل فایل rpm خود را قرار دهید. در این دستور «i» برای rpm بیان میکند که هدف از اجرای دستور نصب نرم‌افزار مورد نظر میباشد و همچنین انتخاب «v» باعث خواهد شد که دستور rpm شرح کاملی از عملیاتی در حال انجام را همچون فایلهای کپی شده بر روی سیستم رابه شما نمایش دهد که برای پیگیری و انجام تنظیمات مربوطه به نرم‌افزار بسیار کارساز میباشد.
در هنگام نصب ممکن است با پیامهای گوناگونی مواجه شوید به عنوان مثال به خروجی دستور مقابل توجه کنید:

bash-$ rpm -iv zsh-4.3.4-4.fc8.i386.rpm
Preparing packages for installation...
    package zsh-4.3.4-4.fc8 is already installed

این خروجی بیانگر این حقیقت است که ‍بسته نرم‌افزاری در سیستم نصب شده است.
و یا ممکن است اینگونه خروجیی را مشاهده فرمایید:

bash-$ rpm -iv tiquit-2.4-6.fc8.noarch.rpm
error: Failed dependencies:
    php-gd is needed by tiquit-2.4-6.fc8.noarch

این موضوع نشانگروجود وابستگی بین بسته‌های نرم‌افزاری میباشد. به عبارت دیگر قبل از اینکه بسته «tiquit-2.4-6.fc8.noarch.rpm» بتواند نصب شود شما باید بسته «php-gd» را نصب کرده باشید. بنابراین باید در صدد نصب «php-gd» برآیید و بعد از آن به نصب «tiquit-2.4-6.fc8.noarch.rpm» بپردازید.
حال چنانکه خواستار حذف نرم‌افزار باشید باید از دستور زیر استفاده کنید:

bash-$ rpm -ev path-to-/package_name

انتخاب «e»‌ یا همان «erase» بیان خواهد کرد که هدف از اجرای دستور rpm حذف نرم ‌افزار مورد نظر میباشد.
التبه احتمال دارد که در حین اجرای دستور با عبارتی اینچنین مواجه شوید:

bash-$ rpm -ev yum-3.2.7-1.fc8
error: Failed dependencies:
    yum >= 2.9.5 is needed by (installed) system-config-language-1.2.12-1.fc8.noarch
    yum >= 3.2.0 is needed by (installed) yum-updatesd-0.7-1.fc8.noarch
    yum >= 3.1.1 is needed by (installed) yum-utils-1.1.8-1.fc8.noarch
    yum >= 3.2.5-2 is needed by (installed) pirut-1.3.25-2.fc8.noarch

این خروجی بیان میکند که بسته‌های ذکر شده در خروجی برای اجرا به بسته ذکر شده جهت حذف وابسته میباشند. در نتیجه قبل از حذف آن باید نرم‌افزارهای لیست شده را از سیستم حذف کیند.
توجه داشته باشید که نامی که در هنگام حذف نرم‌افزار در جلو دستور «rpm» قرار میگیرد (به عنوان مثال yum-3.2.7-1.fc8 در مثال بالا) باید همان نامی باشد که در خروجی «rpm -qa» دیده میشود و نیازی به پسوند rpm ندارد.

۴- طریقه دستیابی به بسته های rpm:
بهترین راه حل استفاده از اینترنت برای دستیابی به بسته مورد نظر میباشد. البته توجه داشته باشید که rpm مورد نظر با لینوکس شما همخوانی داشته باشد. البته قابل اعتمادترین روش استفاده از cd های نصب میباشد. در این cd ها، rpm ها در شاخه ای بر روی cd قرار داده شده اند. در نتیجه به راحتی قادر خواهید بود rpm مناسب را پیدا کرده و نصب کنید. همچنین اگر وابستگیی نیز وجود داشت میتوانید وابستگی را با پیدا کردن rpm مورد نظر و نصب آن رفع کنید.

موفق باشید.

آخرین بروز رسانی ( ۰۳ ارديبهشت ۱۳۸۷ )
<قبل   بعد>