20 دستورالعمل لینوکس YUM (Yellowdog Updater ، اصلاح شده) برای مدیریت بسته بندی

در این مقاله نحوه نصب ، بروزرسانی ، حذف ، پیدا کردن بسته ها ، مدیریت بسته ها و مخازن در سیستم های لینوکس با استفاده از ابزار YUM (Yellowdog Updater اصلاح شده) که توسط RedHat ساخته شده است ، خواهیم آموخت. دستورات مثال نشان داده شده در این مقاله ، عملاً بر روی سرور CentOS 6.3 ما آزمایش شده است ، شما می توانید از این متریال برای اهداف مطالعه ، گواهینامه ها یا فقط برای کشف راه های نصب بسته های جدید و به روز نگه داشتن سیستم خود استفاده کنید. شرط اصلی این مقاله ، شما باید یک درک اساسی از دستورات و یک سیستم عامل لینوکس کار کنید ، که در آن می توانید تمام دستورات ذکر شده در زیر را کشف و تمرین کنید.

YUM چیست؟

YUM (Yellowdog Updater اصلاح شده) یک خط فرمان منبع باز و همچنین ابزار مدیریت بسته گرافیکی برای سیستم های لینوکس مبتنی بر RPM (RedHat Package Manager) است. این برنامه به کاربران و سرپرست سیستم اجازه می دهد تا بسته های نرم افزاری را بر روی یک سیستم به راحتی نصب ، به روز رسانی ، حذف یا جستجو کنند. این نرم افزار توسط Seth Vidal تحت GPL (مجوز عمومی) به عنوان منبع آزاد تهیه و منتشر شد ، به این معنی که هر کس می تواند برای رفع اشکالات و ایجاد بسته های سفارشی ، اجازه بارگیری و دسترسی به کد را داشته باشد. YUM از تعداد زیادی مخزن شخص ثالث برای برطرف کردن بسته های وابسته به صورت خودکار بسته ها را نصب می کند.

1. یک بسته با YUM نصب کنید

برای نصب بسته ای به نام Firefox 14 ، کافیست دستور زیر را اجرا کنید که به طور خودکار تمام وابستگی های مورد نیاز Firefox را پیدا و نصب خواهد کرد.

# yum install firefox
Loaded plugins: fastestmirror
Dependencies Resolved

================================================================================================
 Package                    Arch        Version                    Repository            Size        
================================================================================================
Updating:
firefox                        i686        10.0.6-1.el6.centos     updates             20 M
Updating for dependencies:
 xulrunner                     i686        10.0.6-1.el6.centos     updates             12 M

Transaction Summary
================================================================================================
Install       0 Package(s)
Upgrade       2 Package(s)

Total download size: 32 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): firefox-10.0.6-1.el6.centos.i686.rpm                                |  20 MB   01:10
(2/2): xulrunner-10.0.6-1.el6.centos.i686.rpm                              |  12 MB   00:52
------------------------------------------------------------------------------------------------
Total                                                           63 kB/s |  32 MB   02:04

Updated:
  firefox.i686 0:10.0.6-1.el6.centos

Dependency Updated:
  xulrunner.i686 0:10.0.6-1.el6.centos

Complete!

دستور فوق قبل از نصب هر بسته روی سیستم خود ، تأیید را می پرسد. اگر می خواهید بسته ها را بطور خودکار و بدون درخواست تأیید نصب کنید ، از گزینه -y مانند مثال زیر استفاده کنید.

# yum -y install firefox

2. حذف بسته با YUM

برای حذف کامل بسته با تمام وابستگی های آنها ، فقط دستور زیر را مطابق شکل زیر اجرا کنید.

# yum remove firefox
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package firefox.i686 0:10.0.6-1.el6.centos set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================
 Package                    Arch        Version                        Repository            Size        
====================================================================================================
Removing:
 firefox                    i686        10.0.6-1.el6.centos            @updates              23 M

Transaction Summary
====================================================================================================
Remove        1 Package(s)
Reinstall     0 Package(s)
Downgrade     0 Package(s)

Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing        : firefox-10.0.6-1.el6.centos.i686                                                                                                                          1/1

Removed:
  firefox.i686 0:10.0.6-1.el6.centos

Complete!

قبل از حذف بسته ، دستور فوق تأیید می کند. برای غیرفعال کردن اعلان تأیید کافیست گزینه -y را مانند شکل زیر اضافه کنید.

# yum -y remove firefox

3. به روزرسانی یک بسته با استفاده از YUM

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

# yum update mysql
Loaded plugins: fastestmirror
Dependencies Resolved

============================================================================================================
 Package            Arch                Version                    Repository                    Size
============================================================================================================
Updating:
 vsftpd             i386                2.0.5-24.el5_8.1           updates                       144 k

Transaction Summary
============================================================================================================
Install       0 Package(s)
Upgrade       1 Package(s)

Total size: 144 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating       : vsftpd                                                                     1/2
  Cleanup        : vsftpd                                                                     2/2

Updated:
  vsftpd.i386 0:2.0.5-24.el5_8.1

Complete!

4- بسته بندی هایی را که از YUM استفاده می کنند را لیست کنید

برای جستجوی بسته خاص با نام از عملکرد لیست استفاده کنید. به عنوان مثال برای جستجوی بسته ای به نام openshash ، از دستورزیر استفاده کنید.

# yum list openssh
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.neu.edu.cn
 * epel: mirror.neu.edu.cn
 * extras: mirror.neu.edu.cn
 * rpmforge: mirror.nl.leaseweb.net
 * updates: mirror.nus.edu.sg
Installed Packages
openssh.i386                                       4.3p2-72.el5_6.3                                                                      installed
Available Packages                                 4.3p2-82.el5             

برای دقیق تر کردن جستجوی خود ، در صورت اطلاع ، نام بسته را با نسخه آنها تعریف کنید. به عنوان مثال برای جستجوی نسخه خاص opensh-4.3p2 از بسته ، از دستور زیر استفاده کنید.

# yum list openssh-4.3p2

5. با استفاده از YUM یک بسته جستجو کنید

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

# yum search vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.neu.edu.cn
 * epel: mirror.neu.edu.cn
 * extras: mirror.neu.edu.cn
 * rpmforge: mirror.nl.leaseweb.net
 * updates: ftp.iitm.ac.in
============================== Matched: vsftpd ========================
ccze.i386 : A robust log colorizer
pure-ftpd-selinux.i386 : SELinux support for Pure-FTPD
vsftpd.i386 : vsftpd - Very Secure Ftp Daemon

6. با استفاده از YUM ، اطلاعات یک بسته را بدست آورید

بگویید که مایلید قبل از نصب اطلاعات یک بسته را بدانید. برای به دست آوردن اطلاعات از بسته ، دستور زیر را صادر کنید.

# yum info firefox
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.neu.edu.cn
 * epel: mirror.neu.edu.cn
 * extras: mirror.neu.edu.cn
 * rpmforge: mirror.nl.leaseweb.net
 * updates: ftp.iitm.ac.in
Available Packages
Name       : firefox
Arch       : i386
Version    : 10.0.6
Release    : 1.el5.centos
Size       : 20 M
Repo       : updates
Summary    : Mozilla Firefox Web browser
URL        : http://www.mozilla.org/projects/firefox/
License    : MPLv1.1 or GPLv2+ or LGPLv2+
Description: Mozilla Firefox is an open-source web browser, designed for standards
           : compliance, performance and portability.

7. لیست بسته های موجود را با استفاده از YUM لیست کنید

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

# yum list | less

8- بسته های نصب شده را با استفاده از YUM لیست کنید

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

 

# yum list installed | less

9. یام عملکردی را ارائه می دهد

Yum فراهم می کند تابع برای پیدا کردن کدام بسته خاص یک فایل خاص استفاده می شود. به عنوان مثال ، اگر می خواهید نام بسته ای را که دارای /etc/httpd/conf/httpd.conf است بدانید.

 

# yum provides /etc/httpd/conf/httpd.conf
Loaded plugins: fastestmirror
httpd-2.2.3-63.el5.centos.i386 : Apache HTTP Server
Repo        : base
Matched from:
Filename    : /etc/httpd/conf/httpd.conf

httpd-2.2.3-63.el5.centos.1.i386 : Apache HTTP Server
Repo        : updates
Matched from:
Filename    : /etc/httpd/conf/httpd.conf

httpd-2.2.3-65.el5.centos.i386 : Apache HTTP Server
Repo        : updates
Matched from:
Filename    : /etc/httpd/conf/httpd.conf

httpd-2.2.3-53.el5.centos.1.i386 : Apache HTTP Server
Repo        : installed
Matched from:
Other       : Provides-match: /etc/httpd/conf/httpd.conf

10. با استفاده از YUM ، به روزرسانی های موجود را بررسی کنید

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

# yum check-update

11. سیستم را با استفاده از YUM به روز کنید

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

# yum update

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

در لینوکس ، تعداد بسته ها به گروه خاصی بسته می شود. به جای نصب بسته های جداگانه با yum ، می توانید گروه خاصی را نصب کنید که تمام بسته های مربوط به آن را در گروه نصب کند. به عنوان مثال برای لیست همه گروه های موجود ، دستور زیر را صادر کنید.

# yum grouplist
Installed Groups:
   Administration Tools
   DNS Name Server
   Dialup Networking Support
   Editors
   Engineering and Scientific
   FTP Server
   Graphics
   Java Development
   Legacy Network Server
Available Groups:
   Authoring and Publishing
   Base
   Beagle
   Cluster Storage
   Clustering
   Development Libraries
   Development Tools
   Eclipse
   Educational Software
   KDE (K Desktop Environment)
   KDE Software Development

13. بسته های گروهی را نصب کنید

برای نصب یک گروه بسته بندی خاص ، از گزینه به عنوان groupinstall استفاده می کنیم. به عنوان مثال ، برای نصب "MySQL Database" ، فقط دستور زیر را اجرا کنید.

# yum groupinstall 'MySQL Database'
Dependencies Resolved

=================================================================================================
Package								Arch      Version			 Repository        Size
=================================================================================================
Updating:
 unixODBC                           i386      2.2.11-10.el5      base              290 k
Installing for dependencies:
 unixODBC-libs                      i386      2.2.11-10.el5      base              551 k

Transaction Summary
=================================================================================================
Install       1 Package(s)
Upgrade       1 Package(s)

Total size: 841 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : unixODBC-libs	1/3
  Updating       : unixODBC         2/3
  Cleanup        : unixODBC         3/3

Dependency Installed:
  unixODBC-libs.i386 0:2.2.11-10.el5

Updated:
  unixODBC.i386 0:2.2.11-10.el5

Complete!

14. بسته های گروهی را به روز کنید

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

# yum groupupdate 'DNS Name Server'

Dependencies Resolved
================================================================================================================
 Package			Arch	        Version				Repository           Size
================================================================================================================
Updating:
 bind                           i386            30:9.3.6-20.P1.el5_8.2          updates              981 k
 bind-chroot                    i386            30:9.3.6-20.P1.el5_8.2          updates              47 k
Updating for dependencies:
 bind-libs                      i386            30:9.3.6-20.P1.el5_8.2          updates              864 k
 bind-utils                     i386            30:9.3.6-20.P1.el5_8.2          updates              174 k

Transaction Summary
================================================================================================================
Install       0 Package(s)
Upgrade       4 Package(s)

Total size: 2.0 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating       : bind-libs            1/8
  Updating       : bind                 2/8
  Updating       : bind-chroot          3/8
  Updating       : bind-utils           4/8
  Cleanup        : bind                 5/8
  Cleanup        : bind-chroot          6/8
  Cleanup        : bind-utils           7/8
  Cleanup        : bind-libs            8/8

Updated:
  bind.i386 30:9.3.6-20.P1.el5_8.2                  bind-chroot.i386 30:9.3.6-20.P1.el5_8.2

Dependency Updated:
  bind-libs.i386 30:9.3.6-20.P1.el5_8.2             bind-utils.i386 30:9.3.6-20.P1.el5_8.2

Complete!

15. بسته های گروهی را حذف کنید

برای حذف یا حذف هر گروه نصب شده موجود از سیستم ، فقط از دستور زیر استفاده کنید.

# yum groupremove 'DNS Name Server'

Dependencies Resolved

===========================================================================================================
 Package                Arch              Version                         Repository          Size
===========================================================================================================
Removing:
 bind                   i386              30:9.3.6-20.P1.el5_8.2          installed           2.1 M
 bind-chroot            i386              30:9.3.6-20.P1.el5_8.2          installed           0.0

Transaction Summary
===========================================================================================================
Remove        2 Package(s)
Reinstall     0 Package(s)
Downgrade     0 Package(s)

Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing        : bind                                                   1/2
warning: /etc/sysconfig/named saved as /etc/sysconfig/named.rpmsave
  Erasing        : bind-chroot                                            2/2

Removed:
  bind.i386 30:9.3.6-20.P1.el5_8.2                                        bind-chroot.i386 30:9.3.6-20.P1.el5_8.2

Complete!

16. لیست کردن مخازن فعال در Yum 

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

# yum repolist

repo id                     repo name                                            status
base                        CentOS-5 - Base                                      enabled:  2,725
epel                        Extra Packages for Enterprise Linux 5 - i386         enabled:  5,783
extras                      CentOS-5 - Extras                                    enabled:    282
mod-pagespeed               mod-pagespeed                                        enabled:      1
rpmforge                    RHEL 5 - RPMforge.net - dag                          enabled: 11,290
updates                     CentOS-5 - Updates                                   enabled:    743
repolist: 20,824

16. لیست کردن تمام مخازن Yum که فعال و غیرفعال هستند

دستور زیر تمام مخازن yum فعال و غیرفعال را در سیستم نمایش می دهد.

# yum repolist all

repo id                     repo name                                            status
C5.0-base                   CentOS-5.0 - Base                                    disabled
C5.0-centosplus             CentOS-5.0 - Plus                                    disabled
C5.0-extras                 CentOS-5.0 - Extras                                  disabled
base                        CentOS-5 - Base                                      enabled:  2,725
epel                        Extra Packages for Enterprise Linux 5 - i386         enabled:  5,783
extras                      CentOS-5 - Extras                                    enabled:    282
repolist: 20,824

17. بسته ای از مخازن خاص را نصب کنید

برای نصب یک بسته خاص از یک مخزن فعال یا غیرفعال ، باید از دستور –enablerepo در دستور yum خود استفاده کنید. به عنوان مثال برای نصب بسته PhpMyAdmin 3.5.2 ، فقط دستورزیر را اجرا کنید.

# yum --enablerepo=epel install phpmyadmin

Dependencies Resolved
=============================================================================================
 Package                Arch           Version            Repository           Size
=============================================================================================
Installing:
 phpMyAdmin             noarch         3.5.1-1.el6        epel                 4.2 M

Transaction Summary
=============================================================================================
Install       1 Package(s)

Total download size: 4.2 M
Installed size: 17 M
Is this ok [y/N]: y
Downloading Packages:
phpMyAdmin-3.5.1-1.el6.noarch.rpm                       | 4.2 MB     00:25
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : phpMyAdmin-3.5.1-1.el6.noarch             1/1
  Verifying  : phpMyAdmin-3.5.1-1.el6.noarch             1/1

Installed:
  phpMyAdmin.noarch 0:3.5.1-1.el6

Complete!

18. تعاملی Yum Shell

ابزار Yum یک پوسته سفارشی فراهم می کند که در آن می توانید چندین دستور را اجرا کنید.

# yum shell
Loaded plugins: fastestmirror
Setting up Yum Shell
> update httpd
Loading mirror speeds from cached hostfile
 * base: mirrors.sin3.sg.voxel.net
 * epel: ftp.riken.jp
 * extras: mirrors.sin3.sg.voxel.net
 * updates: mirrors.sin3.sg.voxel.net
Setting up Update Process
>

19- تمیز کزدن حافظه کش Yum

به طور پیش فرض yum تمام داده های بسته فعال شده مخزن را در var/cache/yum/ با هر زیر فهرست نگه می دارد ، برای پاک کردن کلیه پرونده های ذخیره شده از مخزن فعال ، باید دستور زیر را وارد نمایید تا همه حافظه پنهان پاک شود و مطمئن شوید که هیچ چیز از فضای غیر ضروری استفاده نمی کند ما نمی خواهیم خروجی دستور زیر را ارائه دهیم ، زیرا ما دوست داریم داده های ذخیره شده را به شکلی که هست نگه داریم.

# yum clean all

20. مشاهده تاریخچه یام Yum

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

# yum history

Loaded plugins: fastestmirror
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    10 | root               | 2012-08-11 15:19 | Install        |    3
     9 | root               | 2012-08-11 15:11 | Install        |    1
     8 | root               | 2012-08-11 15:10 | Erase          |    1 EE
     7 | root               | 2012-08-10 17:44 | Install        |    1
     6 | root               | 2012-08-10 12:19 | Install        |    2
     5 | root               | 2012-08-10 12:14 | Install        |    3
     4 | root               | 2012-08-10 12:12 | I, U           |   13 E<
     3 | root               | 2012-08-09 13:01 | Install        |    1 >
     2 | root               | 2012-08-08 20:13 | I, U           |  292 EE
     1 | System            | 2012-08-08 17:15 | Install        |  560
history list

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

از این پست لذت بردید؟ با پیوستن به خبرنامه ما مطلع شوید!

نظرات

برای ارسال نظر باید وارد شوید.

درباره نویسنده