CentOSآموزش

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

Print Friendly, PDF & Email

نرم افزار ها در سيستم عامل هاي بر پايه RedHat در قالب يكسري فايل با پسوند rpm بسته بندي مي شوند فايل هاي rpm علاوه بر بسته هاي نرم افزاري شامل يكسري اطلاعات ديگر در مورد بسته هاي مي باشند اين اطلاعات شامل توضيحات، پيش نياز ها، معماري(32 يا 64 بيتي)، سازنده، حجم(اندازه)، لايسنس و يكسري اطلاعات ديگر مي باشد.

زماني كه سيستم عامل را نصب مي كنيد مي توانيد بسته هاي نرم افزاري مورد نياز خود را با فرآيند نصب سيستم عامل اضافه و يا حذف نماييد سيستم عاملي هايي نظير 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: اين پارامتر مشخص كننده فعال يا غير فعال بودن يك مخزن مي باشد كه مي تواند دو مقدار 0 يا 1 را به معني غير فعال و فعال بودن بپذيرد.

gpgcheck: اين پارامتر همانند پارامتر بالا مي تواند دو مقدار 0 يا 1 را داشته باشد و مشخص كننده بررسي فايل هاي دانلودي از جهت درست دانلود شدن آنها مورد استفاده قرار مي گيرد.

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 را مي خواهيم نصب كنيم با اجراي دستور بالا اين بسته به همراه پيش نياز هاي آن به صورت خودكار از مخازن نرم افزاري دانلود و به ترتيب نصب مي شوند. به هنگام فرآيند نصب اطلاعاتي از قبيل نسخه بسته نرم افزاري، معماري(32 يا 64 بيتي)، اندازه(حجم)دانلودي و نصبي، پيش نياز هاي آن به همراه مخازن نرم افزاري مورد استفاده براي نصب بسته هاي نرم افزاري نمايش داده مي شود و از سوالي مبني بر اينكه آيا اين اطلاعات مورد تاييد مي باشد يا نه پرسيده مي شود كه بايد حرف 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 برابر 1 باشد بسته ها و يكسري اطلاعات ديگر در قالب فايلهايي در كش در مسير /var/cahce/yum/rep ذخيره مي شود گزينه clean دستور yum قابليت پاك سازي بسته ها، header ها و metadata ها را از كش داراست به مثال هاي زير توجه كنيد.

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

مثال بالا كليه ي metadata هاي موجود در كش را پاك مي كند.

مثال بالا كليه ي header هاي موجود در كش را پاك مي كند.

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

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

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

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

گزينه enablerepo: اين گزينه براي فعال كردن يك مخزن مورد استفاده قرار مي گيرد در مثال زير با توجه به اينكه مخزن media كه با اضافه كردن مقدار 0 به پارامتر 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 بسته هاي نصب شده ابتدا با دستور زير فايل هاي پايگاه داده خراب را پاك كنيد.

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

Related Articles

2 thoughts on “مديريت بسته هاي نرم افزاري”

پاسخ دهید

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

Close