صفحه اصلی arrow مقالات arrow مدیریت بسته‌های نرم ‌افزاری در لینوکس - بخش ۲ - yum

مدیریت بسته‌های نرم ‌افزاری در لینوکس - بخش ۲ - yum چاپ ارسال به دوست
رای کاربران: / 1
ضعیفعالی 
مقالات - مقالات
نویسنده حمید جعفریان   
۲۳ فروردين ۱۳۸۷
به نام خدا

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

[root@dev ]# rpm -ql mysql-5.0.22-2.2.el5_1.1
این دستور تمامی فایلهایی را که از طریق نصب بسته نرم افزاری MySQLبر روی سیستم نصب شده است را به شما نشان خواهد داد که از لحاظ مدیریتی بسیار قابل توجه میباشد.

و بالعکس دستور زیر را امتحان کنید:
[root@dev ]# rpm -qf /usr/lib/mysql
mysql-5.0.22-2.2.el5_1.1
به عبارتی نشان میدهد که فایل ذکر شده توسط بسته Mysql نصب شده است.
به هر حال امکانات زیاد این دستور درخور توجه میباشد. اما نکته‌ای که در بحث بسته‌های RPM وجود داردَ، وابستگی بین بسته‌ها میباشد. بعضی از اوقات ممکن است شما نیاز به تهیه چندین بسته RPM و نصب تمامی آنها را داشته باشید تا بتوانید بسته دلخواه خود را نصب کنید. پیگیری وابستگیها نیز از طریق اجرای دستور و پیگیری پیامهای خطاها که نشانگر وجود وابستگی در بسته‌ها میباشد، امکان پذیر است.
به هر حال شرکت ردهت نیز دست به ابتکاری زده و دستوری با نام yum را با همین املا  جهت رفع این مشکل معرفی کرده است.

۲- دستور yum
شاید تا به حال در محیط لینوکسهای Fedoraو CentOS و Redhat، در حالت گرافیکی گزینه Add/Remove Software را دیده باشید. رابط گرافیکی که از اجرای این دستور در اختیار شما قرار میگیرد در اصل همان خروجی دستور yum‌در حالت گرافیکی میباشد. این محیط شبیه به محیط دستور yast‌ در لینوکس suse میباشد.
امکاناتی که این رابط در اختیار شما قرار میدهد شامل موارد زیر میباشد:
       ۱- اطلاع از بسته‌های نرم‌افزاری نصب شده بر روی رایانه - به عبارتی چیزی شبیه به rpm -qa‌ که قبلا در مورد آن صحبت شده است.
       ۲- امکان جستجو بر روی بسته‌های نرم افزاری موجود- چه نصب شده ها و چه نصب نشده ها
       ۳- نصب و به روزرسانی بسته‌های نرم افزاری دلخواه
علاوه بر ظاهر گرافیکی که برای بسیاری از تازه‌کاردان بسیار جذاب می‌باشد، مزیت مهمتر این دستور حل مشکل وابستگیها بین بسته‌های نرم‌افزاری میباشد. به عبارتی این دستور قابلیت تشخیص وابستگی موجود بین بسته‌ها و نصب بسته‌های لازم و در انتها نصب بسته‌ مورد نظر را دارد.
همانظور که تمامی دستورات لینوکس رابطی در محیط متن نیز در اختیار کاربران قرار میدهند،‌این برنامه نیز دستوری با همین نام برای کار در محیط پوسته دارد که علاوه بر داشتن تمامی قابلیتهای حالت گرافیکی از مزیتهای محیط متن نیز بهره میبرد. به عنوان مثال دستور زیر را امتحان کنید:
[root@dev ]# yum search mysql
این دستور تمامی بسته‌های mysql را برای شما نشان داده و همچنین مشخص خواهد کرد که کدامین بسته‌ها بر روی سیستم نصب شده اند.
برای جستجوی میتوانید از * نیز استفاده کنید. البته توجه داشته باشید که رشته مورد جستجو در این حالت حتما در داخل کوتیشن قرار بگیرد:
[root@dev ]# yum search "*mysql*"
جهت نصب یک بسته نرم افزاری نیز میبتواند از کامند install استفاده کنید:
[root@dev ]# yum install mysql
این دستور نرم‌افزار mysql را بر روی نرم افزار شما نصب خواهد کرد و اگر احیانا وابستگیهایی نیز وجود داشته باشد ضمن اطلاع به شما از نام و حجم آنها آن بسته‌ها را نیز بر روی سیستم نصب خواهد کرد. برای به‌روز رسانی یک بسته نرم افزاری میتوانید از کامند update استفاده کنید:
[root@dev ]# yum update mysql
توجه داشته باشید که اگر از دستور update بدون پارامتر استفاده کنید تمامی بسته‌های موجود بر روی سیستم به روز رسانی خواهند شد. نکته جالبی که در مورد دستور yum وجود دارد آنستکه اگر به عنوان ورودی یک بسته rpm به او دهید به راحتی با تمام وابستگیها بسته مورد نظر را نصب خواهد کرد. در نتیجه شما دغدغه جمع‌آوری وابستگیها را نخواهید داشت.
اما سوالی که معمولا مطرح میشود اینستکه بسته‌های نرم‌افزاری به چه طریق در اختیار دستور yum قرار میگیرند و وابستگیهای بین آنها چگونه مرتفع میشود. این موضوع را باید در مفهوم مخزن نرم‌افزارها یا به اصطلاح Repository جستجو کرد.

۳- مخزن نرم افزاها (Repository)
مخزن نرم‌افزار معمولا شاخه‌ای بر روی یک سیستم محلی یا بر روی فضای اینترنت میباشد که جهت نگهداری اطلاعات مربوط به نرم‌افزارها و همچنین بسته‌های نرم‌افزاری از آن استفاده میشود. زیر شاخه مهمی در این شاخه وجود دارد به نام repdata که همانطور که از اسم آن پیداست مکان نگهداری اطلاعاتی در مورد پکیجهای نرم‌افزاری میباشد. به عبارتی یک نوع MetaData در مورد بسته‌های نرم‌افزاری میباشد.
اگر مایل باشید چنین شاخه‌ای را ببینید و اطلاعات درون آن را وارسی کنید کافی است دیسک شماره یک مربوط به لینوکس خود را مونت کرده و وارسی کنید. بسته‌های نرم افزاری در قالب بسته‌های RPM در این شاخه‌ها قرار دارند. حتی اگر مایل باشید که بسته‌ها را به صورت مجزا نصب کنید میتوانید به شاخه‌ای که بسته‌های نرم‌افزاری در آن قرار دارد مراجه و با استفاده از دستور RPM موارد دلخواه خود را نصب کنید.
مکان مخارن نرم‌افاری در فایل‌های کانفیگ نرم افزار yum مشخص میشود و به صورت خاص در شاخه /etc/yum.repos.d. در این شاخه مشخصات هر مخزن به صورت فایلی با نام مخزن و پسوند .repo ذخیره شده است.
حتمالا تا اکنون متوجه شده‌آید که به‌روزرسانی و نصب نرم‌افزارها در سیستمهای مبتنی بر RedHat، نیازمند اتصال به اینترنت میباشد. برای درک این موضوع میتوانید یکی از فایلهای .repo را باز کرده و مقدار فیلد mirrorlist را نگاه کنید. مقدار این فیلد بیانگر مکان مخزن نرم‌افزارها میباشد که به صورت پیشفرض از مخازن موجود بر روی اینترنت استفاده میکنند.
امکان دارد که اتصال به اینترنت نداشته باشید و بخواهید از یک مخزن محلی استفاده کنید. اگر احیانا از یک توزیع استفاده میکنید که DVD آن را هم در اختیار دارید یک روش بسیار ساده وجود دارد:
۱- ابتدای یک image از DVD خود بسازید و آن را بر روی یک شاخه به عنوان مثال /mnt/test/ مونت کنید. (برای آگاهی از روش ساختن ایمیج و طریقه مونت کردن به اینجا مراجعه کنید)
۲- در شاخه /etc/yum.repos.d/ یک فایل مخزن با نام دلخواه ساخته (مثلا test.repo)  و متون زیر در آن اضافه کنید:
[test]
name = a test repository
baseurl = file:///mnt/test
enabled = 1
gpgcheck = 0
بدین صورت شما قادر خواهید از مخزن محلی خود برای نصب و به روز رسانی نرم‌افزارها استفاده کنید.
به عنوان آخرین مطلب هم از متن دوست عزیزمان آقای hmm استفاده میکنم که فایل مخزن مربوط به سایت iran.ir را که برای لینوکس CentOS را معرفی کرده اند. جهت دیدن اصل مطلب میتوانید به اینجا مراجعه کنید. به هر به طور خلاصه باید بگم که توسعه دهندگان سایت iran.ir یک مخزن محلی ایجاد کرده اند که مطلب ذکر شده  فایل مربوط به دسترسی به این مخزن است که باید در شاخه /etc/yum.repos.d/ کپی شود در اختیار شما قرار میدهد.
استفاده از این مخزن مزیتهایی همچون سرعت را برای شما به ارمغان خواهد آورد.

موفق باشید

بازدید: 327

اولین یادداشت برای این مطلب
 RSS یادداشت ها

ایجاد یادداشت
  • لطفا نظرات خود را در مورد این مطلب در اینجا ثبت کنید
نام:
پست الکترونیکی شما:
وب سایت شما:
عنوان:
BBCode:Web AddressEmail AddressBold TextItalic TextUnderlined TextQuoteCodeOpen ListList ItemClose List
یادداشت



کد امنیتی: (کد مقابل را داخل کادر وارد کنید)* Code
ارسال یک رونوشت از یادداشت به پست الکترونیک شما

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