مدیریت بسته های نرم افزاری

Print Friendly

نرم افزار ها در سیستم عامل های بر پایه RedHat در قالب یکسری فایل با پسوند rpm بسته بندی می شوند فایل های rpm علاوه بر بسته های نرم افزاری شامل یکسری اطلاعات دیگر در مورد بسته های می باشند این اطلاعات شامل توضیحات، پیش نیاز ها، معماری(۳۲ یا ۶۴ بیتی)، سازنده، حجم(اندازه)، لایسنس و یکسری اطلاعات دیگر می باشد.

زمانی که سیستم عامل را نصب می کنید می توانید بسته های نرم افزاری مورد نیاز خود را با فرآیند نصب سیستم عامل اضافه و یا حذف نمایید سیستم عاملی هایی نظیر CentOS که مشتق گرفته از RedHat می باشند از سیستم بسته بندی rpm برای بسته بندی نرم افزارها استفاده می کنند برای مدیریت بسته های rpm ابزارهای فراوانی وجود دارد دو مورد از بهترین و پراستفاده ترین این ابزار های yum و rpm می باشد که ما در این نوشته این دو مورد را مختصرا مورد بررسی قرار خواهیم داد.

yum: دستور yum یکی از پراستفاده ترین ابزار ها برای مدیریت بسته های نرم افزاری می باشد این دستور به صورت خودکار بسته های نرم افزاری را به همراه پیش نیاز های آن از مخازن انلاین و یا آفلاین نرم افزاری دانلود و به ترتیب نصب می نماید این دستور در بیشتر موارد به دستور rpm ترجیح داده می شود.

rpm: دستور rpm برای نصب بسته های نرم افزاری از سیستم محلی مانند هارد دیسک و یا سی دی/ دی وی دی به کار گرفته می شود از جمله کار هایی که با این دستور می توان انجام داد می توان به حذف و پرس و جوی بسته های نرم افزاری اشاره کرد این دستور در صورت نصب نبودن پیش نیاز ها هیچ اقدامی نسبت به نصب آنها انجام نمی دهد و در صورت نصب نبودن پیش نیاز ها فرآیند نصب با مشکل مواجه می شود.

 

کار با مخازن نرم افزاری

مخازن نرم افزاری توسط یکسری فایل با پسوند repo که در شاخه /etc/yum.repo.d/ قرار گرفته اند برای سیستم معرفی می شوند هر چند تعداد این مخازن در سیستم بیشتر باشد تعداد نرم افزارهایی که توسط ابزار yum می توان به نصب آنها اقدام نمود بیشتر می شود روش های متفاوتی برای اضافه کردن مخازن نرم افزاری وجود دارد که در ادامه چند مورد از پرکاربردترین آنها را مورد بررسی قرار خواهیم داد.

برای اضافه کردن یک مخرن به سیستم باید یک فایل در شاخه /etc/yum.repo.d/ که شامل آدرس مخزن و فایل کلید GPG آن می باشد ایجاد شود فایل کلید GPG برای verify کردن بسته های دانلود شده از مخزن مورد استفاده قرار می گیرد. فایل های repo که مشخص کننده مخازن می باشد را می توان هم به صورت دستی ایجاد کرد و هم به صورت خودکار، در روش خودکار روال کار به این شکل هست که تولید کننده مخزن برای ایجاد فایل repo یک فایل rpm تولید می کند که کاربر با نصب فایل rpm فایل repo آن مخزن به صورت خودکار ایجاد می شود.

 

اضافه کردن فایل repo(مخزن نرم افزار) به صورت دستی:

برای اضافه کردن فایل repo به صورت دستی همان طور که قبلا اشاره شده باید یک فایل با پسوند repo در شاخه /etc/yum.repo.d/ ایجاد کنید محتویات این فایل می تواند مقادیر متفاوتی باشد که در زیر برخی از پارامتر های و مقادیر مربوط به آن را مورد بررسی قرار خواهیم داد.

در  مثال زیر فایل های repo موجود در شاخه/etc/yum.repo.d/ را مشاهده می کنید.

محتویات فایل media.repo در بخش زیر نمایش داده شده است.

[media]: مشخص کننده یک مخزن می باشد چون در یک فایل repo می توان چندین مخرن را معرفی کرد با استفاده از [] می توان مخازن مختلف را در یک فایل معرفی کرد.

name: این پارامتر مشخص کننده نام مخزن می باشد که به هنگام استفاده از دستور yum مورد نیاز می باشد.

baseurl: این پارامتر اصلی ترین پارامتر این نوع فایل ها بوده و مشخص کننده آدرس مخزن نرم افزار می باشد همان طور که در بخش بالا مشاهده می کنید در مخزن media ما از یک شاخه محلی که شامل دی وی دی نصب CentOS می باشد استفاده کردیم از جمله مقادیری که این پارامتر می تواند داشته باشد آدرس مخازن نرم افزاری آنلاین می باشد که به مانند مثال زیر می باشند.

enabled: این پارامتر مشخص کننده فعال یا غیر فعال بودن یک مخزن می باشد که می تواند دو مقدار ۰ یا ۱ را به معنی غیر فعال و فعال بودن بپذیرد.

gpgcheck: این پارامتر همانند پارامتر بالا می تواند دو مقدار ۰ یا ۱ را داشته باشد و مشخص کننده بررسی فایل های دانلودی از جهت درست دانلود شدن آنها مورد استفاده قرار می گیرد.

gpgkey: این پارمتر نیز مشخص کننده فایل کلید GPG می باشد که برای verigy کردن بسته های دانلودی مورد استفاده قرار می گیرد مقدار این پارامتر نیز مانند baseurl می تواند به صورت آفلاین یا آنلاین باشد.

بعد از اینکه فایل repo ساخته شد نیاز است تا فایل کلید GPG بر روی سیستم نصب شود برای این منظور از دستور زیر استفاده کنید مقدار /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 در دستور زیر مشخص کننده آدرس فایل GPG می باشد که می تواند هم به صورت محلی باشد هم به صورت آنلاین.

 

اضافه کردن فایل repo (مخزن  نرم افزار) به صورت خودکار:

برای نصب مخازن نرم افزاری به صورت خودکار از دستور زیر استفاده کنید مقدار http://rpm.livna.org/livna-release-6.rpm مشخص کننده فایل rpm مربوط به مخزن نرم افزار مورد نیاز می باشد که هم می توانید به صورت یک فایل محلی باشد هم به صورت یک فایل آنلاین.

 

دستور yum:

پیدا کردن بسته ها:

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

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

در این مثال کلیه بسته های نرم افزاری موجود در مخازن نرم افزاری نمایش داده می شود.

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

در این مثال نرم افزار های نصب نشده موجود در مخازن نرم افزاری نمایش داده می شود.

در این مثال کلیه بسته های نرم افزاری که اول نام آنها شامل کلمه http می باشد نمایش داده می شود.

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

 

گزینه info:

این گزینه برای نمایش توضیحات بسته های نرم افزاری مورد استفاده قرار می گیرد این توضیحات از مخازن نرم افزاری استخراج می شود به مثال های زیر توجه کنید.

در این مثال توضیحات مربوط به بسته ی نرم افزاری nano نمایش داده می شود.

در این مثال توضیحات مربوط به بسته های نرم افزاری که با کلمه ی  word شروع می شوند نمایش داده می شود.

 

گزینه search:

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

گزینه whatprovides: این گزینه برای جستجو در میان فایل ها و یا وی‍ژگی های بسته های نرم افزاری به صورت زیر به کار گرفته می شود.

 

نصب بسته های نرم افزاری:

برای نصب بسته های نرم افزاری از میان مخازن نرم افزاری معرفی شده به سیستم از گزینه ی install دستور yum به شکل زیر استفاده کنید.

در این مثال بسته wordpress را می خواهیم نصب کنیم با اجرای دستور بالا این بسته به همراه پیش نیاز های آن به صورت خودکار از مخازن نرم افزاری دانلود و به ترتیب نصب می شوند. به هنگام فرآیند نصب اطلاعاتی از قبیل نسخه بسته نرم افزاری، معماری(۳۲ یا ۶۴ بیتی)، اندازه(حجم)دانلودی و نصبی، پیش نیاز های آن به همراه مخازن نرم افزاری مورد استفاده برای نصب بسته های نرم افزاری نمایش داده می شود و از سوالی مبنی بر اینکه آیا این اطلاعات مورد تایید می باشد یا نه پرسیده می شود که باید حرف y به منزله ی yes را وارد کنید تا فرآیند نصب ادامه پیدا کند اگر می خواهید از پرسیدن این سوال خودداری شود می توانید ارامتر –y به عنوان ورودی به شکل زیر به دستور yum بفرستید به مثال زیر توجه کنید.

دستور yum علاوه بر اینکه می تواند بسته های نرم افزاری را زا مخازن نرم افزاری نصب کند قابلیت این را هم دارد که فایل های rpm را از فایل سیستم محلی نصب کند گزینه localinstall این دستور برای این منظور به شکل زیر در دسترس است.

در مثال بالا بسته نرم افزاری  nano-2.3.1-10.el7.x86_64.rpm مورد نصب واقع می شود.

بسته های نرم افزاری در مخازن به صورت گروهی دسته بندی می شوند برای مثال گروه XFCR شامل تمامی بسته های نرم افزاری مربوط به میزکار XFCE می باشد برای نصب گروهی این بسته های می توان از گزینه groupinstall دستور yum استفاده کرد به مثال زیر توجه کنید.

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

 

به روز رسانی بسته های نرم افزاری:

دستور yum علاوه بر نصب بسته های نرم افزاری امکان به روز رسانی آنها را نیز فراهم کرده است به نمونه های زیر توجه کنید.

دستور بالا تمامی بسته های نرم افزاری که امکان به روز رسانی آنها به نسخه بالاتر از نسخه ی نصب شده وجود دارد را لیست می کند.

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

دستور بالا بسته openoffice را به روزرسانی می کند.

دستور بالا کلیه ی بسته های سیستم را به آخرین نسخه به روز رسانی می کند.

دستور بالا کلیه ی بسته های موجود در گروه XFCE را به روز رسانی می کند.

 

حذف بسته های نرم افزاری:

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

دستور بالا بسته nano را حذف می کند.

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

دستور بالا کلیه ی بسته های موجود در گروه XFCE را حذف می کند.

توجه داشته باشید که به هنگام حذف بسته ها با گزینه remove و groupremove بسته های که حذف می شوند را نمایش داده و تاییدیه حذف از کاربر درخواست می شود که باید y را به منزله ی yes وارد کنید تا فرآیند حذف کامل شود.

 

پاک سازی کش:

اگر مقدار پارامتر keepcache در فایل /etc/yum.conf برابر ۱ باشد بسته ها و یکسری اطلاعات دیگر در قالب فایلهایی در کش در مسیر /var/cahce/yum/rep ذخیره می شود گزینه clean دستور yum قابلیت پاک سازی بسته ها، header ها و metadata ها را از کش داراست به مثال های زیر توجه کنید.

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

مثال بالا کلیه ی metadata های موجود در کش را پاک می کند.

مثال بالا کلیه ی header های موجود در کش را پاک می کند.

مثال بالا کلیه ی بسته های نرم افزاری، metadata ها و header ها را از کش پاک می کند.

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

گزینه disablerepo: این گزینه برای غیر فعال کردن یک مخزن مورد استفاده قرار می گیرد به مثال زیر توجه کنید.

در مثال بالا دستور yum اقدام به جستجو در مورد بسته httpd می کند با این که مخزن media غیر فعال شده و در این مخزن عمل جستجو انجام نمی شود.

گزینه enablerepo: این گزینه برای فعال کردن یک مخزن مورد استفاده قرار می گیرد در مثال زیر با توجه به اینکه مخزن media که با اضافه کردن مقدار ۰ به پارامتر enabled در فایل repo آن از قبل غیر فعال شده است با فعال کردن آن اقدام به نصب بسته nano می کند.

 

دستور rpm:

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

 

نصب بسته ها:

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

همان طور که قبلا بیان شد این دستور نمی تواند پیش نیاز های یک بسته را به صورت خودکار دانلود و نصب کند و در صورت نصب نبودن پیش نیاز های بسته نصب بسته مورد نظر با خطا مواجه خواهد شد.

 

به روز رسانی بسته ها:

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

 

حذف بسته ها:

برای حذف بسته ی نرم افزاری از گزینه –e دستور rpm می توان استفاده کرد برای مثال برای حذف بسته nano می توان به شکل زیر استفاده کرد.

توجه داشته باشید که با نصب بودن چندین بسته با اسم nano باید نام آن بهص روت دقیق وارد شود به مثال زیر توجه کنید.

ولی در صورتی که بخواهید کلیه ی بسته هایی که نام آنها دارای nano است پاک شود می توانید از گزینه –allmatches به صورت زیر استفاده کنید.

گزینه nodeps: همان طور که قبلا چندین بار بیان شد دشتور rpm نمی تواند اقدام به نصب و حذف پیش نیاز ها بکند برای نادیده گرفتن پیش نیاز ها توسط این دستور می توانید از گزینه –nodeps استفاده کنید به مثال زیر توجه کنید.

در مثال بالا بسته nano بدون توجه به پیش نیاز های آن نصب می شود.

 

پرس و جو در مورد بسته های rpm:

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

در مثال بالا نسخه بسته نصب شده nano نمایش داده می شود.

در مثال بالا اطلاعات مربوط به فایل nano-2.3.1-10.el7.x86_64.rpm نمایش داده می شود.

در مثال بالا کلیه ی بسته های نصب شده بر روی سیستم نمایش داده می شود.

در مثال بالا بسته ای که فایل /etc/dhcp/dhcpd.conf متعلق به آن می باشد را نمایش می دهد.

دستور بالا اطلاعات تکمیلی در مورد بسته ی nano را نمایش می دهد.

مثال بالا محتویات فایل nano-2.3.1-10.el7.x86_64.rpm را نمایش می دهد.

در مثال بالا اسکریپت های قبل و بعد از نصب بسته nano را نمایش می دهد.

 

ساخت مجدد فایل پایگاه داده مربوط به rpm:

اگرفایل پایگاه داده مربو به دستور rpm دچار خرابی شود و امکان کار با دستور rpm و نصب بسته ها وجود نخواهد داشت براس ساخت مجدد فایل پایگاره داده از فایل های header بسته های نصب شده ابتدا با دستور زیر فایل های پایگاه داده خراب را پاک کنید.

سپس با دستور زیر فایل پایگاه داده را دوباره ایجاد کنید.

شما احتمالا این مطالب را نیز دوست دارید...

۲ بازخورد

  1. reza می‌گه:

    عالی بود
    تشکر ! 🙂

  2. سمیه می‌گه:

    سلام خیلی ممنونم از توضیحاتتون
    این دستورات برای فدورا هستش؟

پاسخ دهید

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