آموزش لینوکس

در این وبلاگ مطالبی در خصوص سیستم عامل لینوکس به اشتراک گذاشته می شود.

آموزش لینوکس

در این وبلاگ مطالبی در خصوص سیستم عامل لینوکس به اشتراک گذاشته می شود.

ایجاد مخزن در لینوکس (repository)

چهارشنبه, ۲۹ اسفند ۱۳۹۷، ۱۲:۵۴ ب.ظ

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

 

* فایل تنظیمات مخازن:

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

  • [repositoryid]

در خط اول شناسه ی دلخواه در فرم مشخص (داخل براکت) بیان می شود. این شناسه بعنوان ID مخزن بوده و باید برای هر مخزن بصورت یکتا و در قالب یک کلمه تعریف شود.

[package]

 

  • name

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

name=rpm package for redhat linux 7

 

  • baseurl

این پارامتر مسیر مخزن را مشخص می کند.

بطور مثال مخازن اینترنتی بصورت زیر تعریف می شوند:

baseurl=http://192.168.20.50/package/centos/6

baseurl=ftp://192.168.20.60/package/rhel/5U7

مسیر مخزن در صورتی که بر روی یک دایرکتوری از سیستم باشد بصورت زیر تعریف می شود:

baseurl=file:///source/package

 

  • enabled

با کمک این پارامتر می‌توان مخزن را فعال یا غیرفعال نمود. در صورت عدم استفاده از این پارامتر، مخزن فعال می باشد.

enabled=1  or  0

 

  • gpgcheck

این پارامتر تعیین می کند که پکیج ها قبل از نصب از نظر اصالت بررسی شوند یا خیر. برای اینکار Header پکیج با استاندارد معرفی شده توسط سازنده ی پکیج تطابق داده می شود. در حالت پیش‌فرض gpgcheck انجام نمی شود.

gpgcheck=1  or  0

 

  • enablegroups

با استفاده از این پارامتر مشخص می‌شود که مخزن می‌تواند از package groups استفاده نماید یا خیر. در حالت پیش‌فرض مخازن مجاز به استفاده از package groups هستند.

enabledgroups=1  or  0

 

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

* در ساده‌ترین حالت می‌توان فایل تنظیمات مخزن را بصورت زیر تعریف کرد.

vi /etc/yum.repos.d/<Any_Name>.repo

[rpm]

name= its a test

baseurl=file:///source/package/

 

* ایجاد مخزن با استفاده از فایل iso :

ابتدا باید مسیر ایجاد شود. (این مسیر دلخواه می باشد)

mkdir -p /source/image

فایل iso در این پوشه قرار می گیرد.

cd /source/image

ll

-rw-r--r--. 1 root root 3885117440 Jan 13  2017 Software.iso

فایل iso با دستور زیر به مسیر ایجاد شده Mount می شود.

mount -o loop /source/image/Software.iso   /source/image/

df -h

Filesystem                              Size       Used     Avail        Use%     Mounted on

/dev/sda3                               123G     87G      30G           75%       /

tmpfs                                       7.8G      68K       7.8G            1%       /dev/shm

/dev/sda1                               488M    116M   337M        26%       /boot

/source/image/Software.iso       3.7G      3.7G      0       100%      /source/image

 

اکنون باید فایل تنظیمات مربوط به مخزن  ایجاد شود. (با دستور زیر فایلی با نام test.repo در مسیر /etc/yum.repos.d/ با پارامترهای زیر ایجاد می شود.)

vi /etc/yum.repos.d/test.repo

[iso]

name=iso file

baseurl=file:///source/image 

enabled=1

gpgcheck=0

 

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

yum repolist

Loaded plugins: aliases, changelog, kabi, presto, refresh-packagekit, security,

              : tmprepo, ulninfo, verify, versionlock

Loading support for kernel ABI

repo id                            repo name                              status

iso                                   iso file                                    2,675

repolist: 2,675

 

* ایجاد مخزن با استفاده از Package File :

در ادامه روند ایجاد مخزن برای چند پکیج خاص که در یک دایرکتوری قرار دارند را مشاهده خواهید کرد. .

با دستور زیر مسیر ایجاد می شود.

mkdir -p /source/package

پکیج ها در این مسیر کپی می شوند.

cd /source/package

ll

-rw-r--r--  1 root root    92328 Jan 10  2017 rlwrap-0.37-1.el6.x86_64.rpm

--rw-r--r-- 1 root root    96384 Oct 17  2013 createrepo-0.9.9-18.0.1.el6.noarch.rpm

-rw-rw-r-- 1 root root    74212 Oct 19  2013 cronie-1.4.4-12.el6.x86_64.rpm

-rw-rw-r-- 1 root root    30580 Oct 19  2013 cronie-anacron-1.4.4-12.el6.x86_64.rpm

-rw-rw-r-- 1 root root     9604 Oct 19  2013 cronie-noanacron-1.4.4-12.el6.x86_64.rpm

 

در این روش برای اجرای دستور زیر نیاز به نصب پکیج createrepo.noarch می باشد.

createrepo / source/package/

یک فایل با نام package.repo در مسیر /etc/yum.repos.d/ ایجاد و پارامترهای زیر در آن درج می شود.

vi /etc/yum.repos.d/package.repo

[rpm]

name=any packages

baseurl=file:///source/package/ 

enabled=1

gpgcheck=0

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

yum repolist

Loaded plugins: aliases, changelog, kabi, presto, refresh-packagekit, security,

              : tmprepo, ulninfo, verify, versionlock

Loading support for kernel ABI

repo id                            repo name                              status

iso                                   iso file                                    2,675

rpm                                      any package                      5

repolist: 2,680


* تعریف مخزن اینترنتی :

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

vi /etc/yum.repos.d/redhat.repo

[redhat]

Name=redhat linux 7

Baseurl=http://www.sample.com/source/redhat7 

Enabled=1

Gpgcheck=0

نمونه دیگری از تعریف baseurl :

baseurl=ftp://10.33.200.34/Fedora/Fedora-release/Packages/

 

نکته: برای تعریف بیش از یک مخزن می توان تنظیمات مربوط به مخازن را در فایل های جداگانه قرار داد و یا اینکه تنظیمات مربوط به تمام مخازن را در یک فایل تجمیع کرد.


* غیرفعال کردن مخزن :

در فایل تنظیمات مربوط به هر مخزن با تغییر مقدار Enabled به عدد صفر، مخزن غیرفعال می شود.

Enabled=0

البته برای اینکار می‌توان فایل تنظیمات مخزن را حذف نمود.

نکته: با نصب پکیج yum-utils بر روی سیستم، ابزار yum-config-manager قابل استفاده می گردد.

 از yum-config-manager برای پیکربندی ابزار yum و مخازن نرم افزاری استفاده می شود.

 بطور مثال برای غیرفعال نمودن یک مخزن از دستور زیر نیز می‌توان استفاده کرد.

yum-config-manager --disable <Repo_Name>

بزودی در مطلبی مستقل به بررسی ابزار yum-config-manager خواهیم پرداخت.

۹۷/۱۲/۲۹
عیسی اسداله پور

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی