چنانچه در زمینه مدیریت لینوکس تجربه داشته باشید، می‌دانید که نمی‌توان سیستم‌های RHEL ،CentOS ،Fedora ،Scientific Linux را بدون دستور YUM مدیریت کرد. Yum که مخفف عبارت Yellowdog Updater Modified است، یکی از ابزارهای مدیریت بسته در سیستم عامل لینوکس است و قادر به انجام فعالیت‌های بسیاری می‌باشد.

 

دستور Yum برای نصب، به‌روزرسانی، جستجو و حذف بسته‌ها در برخی توزیع‌های لینوکس مبتنی بر RedHat استفاده می‌شود. دیگر ابزارهای مدیریت بسته که در لینوکس مورد استفاده قرار می‌گیرند، شامل ابزارهای apt-get ،dpkg ،rpm ،Zypper ،pacman و غیره می‌باشند.

در اینجا نمونه‌هایی از کاربردهای دستور yum را بر روی سرور CentOS 6.6 شرح می‌دهیم.

 

مکان فایل و سختار دستور yum

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

# Common syntax for yum #
root@2daygeek [~]# yum [options] [commands] [package name]

# most popular yum commands #
root@2daygeek [~]# [install remove update search info check-update clean repolist list history

# yum Repository file location #
root@2daygeek [~]# /etc/yum.repos.d

# yum cached file location #
root@2daygeek [~]# /var/cache/yum

در ادامه نمونه‌هایی از کاربردهای دستور yum ارائه شده است.

 

نصب یک بسته یا چندین بسته

برای نصب هر بسته بروی سیستم خود از دستور زیر استفاده نمایید. در این مثال می‌خواهیم Apache، سرور MariaDB و کلاینت MariaDB را نصب کنیم. در حین نصب، دستور yum از شما تاییدیه مربوط به بسته را درخواست می‌نماید. چنانچه می‌خواهید بدون دریافت این درخواست‌ها، بسته را نصب کنید از گزینه y- به همراه yum استفاده نمایید.

# Install a single package #
root@2daygeek [~]# yum install httpd
or
root@2daygeek [~]# yum -y install httpd

# Install more than one packages #
root@2daygeek [~]# yum install MariaDB-server MariaDB-client
or
root@2daygeek [~]# yum -y install MariaDB-server MariaDB-client

 

حذف یک بسته یا چندین بسته

برای حذف (پاک کردن) هر بسته در سیستم خود می‌توانید، از دستور زیر استفاده کنید. در این مثال می‌خواهیم Apache، سرور MariaDB و کلاینت MariaDB را حذف نماییم.

# Remove a single package #
root@2daygeek [~]# yum remove httpd
or
root@2daygeek [~]# yum erase httpd

# Remove more than one packages #
root@2daygeek [~]# yum remove MariaDB-server MariaDB-client
or
root@2daygeek [~]# yum erase MariaDB-server MariaDB-client

 

به‌روز رسانی یک بسته یا چندین بسته

برای به‌روزرسانی هر بسته در سیستم خود می‌توانید از دستور زیر استفاده کنید. در این مثال می‌خواهیم Apache، سرور MariaDB و کلاینت MariaDB را به آخرین نسخه به‌روزرسانی نماییم.

# update single package #
root@2daygeek [~]# yum update httpd

# update more than one packages #
root@2daygeek [~]# yum update MariaDB-server MariaDB-client

 

این مطلب نیز ممکن است برای شما مفید باشد: دستورات مدیریت بسته ها (package manager) در توزیع‌های مختلف

 

نمایش تمام بسته‌های مخزن

برای نمایش تمام بسته‌های موجود در کلیه مخازن می‌توانید، از دستور زیر استفاده کنید. در این مثال، مخزن‌های EPEL  وREMI را فعال کرده‌ایم و با استفاده از هر دو دستور زیر، تمام بسته‌های مخزن قابل مشاهده هستند.

root@2daygeek [~]# yum list
or
root@2daygeek [~]# yum list all

 

بررسی به‌روزرسانی‌ها

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

root@2daygeek [~]# yum list updates
or
root@2daygeek [~]# yum check-update
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.hyve.com
 * epel: mirrors.coreix.net
 * extras: centos.hyve.com
 * rpmforge: www.mirrorservice.org
 * updates: mirror.sov.uk.goscomb.net

kernel.x86_64                                                     2.6.32-504.3.3.el6                                                     updates

 

نمایش بسته‌های نصب شده

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

root@2daygeek [~]# yum list installed

 

جستجوی یک بسته

اگر نام بسته‌ موردنظر را دقیق نمی‌دانید، از گزینه search استفاده کنید. این گزینه، رشته‌های مطابقت شده را برمی‌گرداند. در این مثال، می‌خواهیم  ftpd را جستجو نماییم.

root@2daygeek [~]# yum search ftpd
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.hyve.com
 * epel: mirrors.coreix.net
 * extras: centos.hyve.com
 * rpmforge: www.mirrorservice.org
 * updates: mirror.sov.uk.goscomb.net
============================================================== N/S Matched: ftpd ===============================================================
nordugrid-arc-gridftpd.x86_64 : ARC gridftp server
pure-ftpd.x86_64 : Lightweight, fast and secure FTP server
vsftpd.x86_64 : Very Secure Ftp Daemon

  Name and summary matches only, use "search all" for everything.

خروجی فوق، تمام رشته‌های شامل رشته ftpd را نشان می‌دهد.

 

این مطلب نیز ممکن است برای شما مفید باشد: نحوه غیرفعال کردن به روز رسانی Yum برای برخی از بسته‌ها

 

بررسی اطلاعات بسته

اگر می‌خواهید اطلاعات دقیق بسته را قبل از شروع نصب بدانید، از دستور زیر استفاده کنید. این دستور اطلاعات کاملی درباره بسته مانند نسخه بسته، اندازه، نام repo و غیره را ارائه می‌دهد.

root@2daygeek [~]# yum info vsftpd
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.hyve.com
 * epel: mirrors.coreix.net
 * extras: mirrors.coreix.net
 * rpmforge: www.mirrorservice.org
 * updates: mirror.sov.uk.goscomb.net
Available Packages
Name        : vsftpd
Arch        : x86_64
Version     : 2.2.2
Release     : 13.el6_6.1
Size        : 151 k
Repo        : updates
Summary     : Very Secure Ftp Daemon
URL         : http://vsftpd.beasts.org/
License     : GPLv2 with exceptions
Description : vsftpd is a Very Secure FTP daemon. It was written completely from
            : scratch.

 

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

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

root@2daygeek [~]# yum list installed openssh
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.hyve.com
 * epel: mirrors.coreix.net
 * extras: centos.hyve.com
 * rpmforge: www.mirrorservice.org
 * updates: mirror.sov.uk.goscomb.net
Installed Packages
openssh.x86_64                                                    5.3p1-104.el6_6.1                                                     @updates

 

تابع provides یا whatprovides در دستور yum

این دستور جستجو می‌کند که کدام بسته‌ها، وابستگی درخواستی فایل را ارائه می‌دهد.

root@2daygeek [~]# yum provides /etc/passwd
or
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.hyve.com
 * epel: mirrors.coreix.net
 * extras: centos.hyve.com
 * rpmforge: www.mirrorservice.org
 * updates: mirror.sov.uk.goscomb.net
setup-2.8.14-20.el6_4.1.noarch : A set of system configuration and setup files
Repo        : base
Matched from:
Filename    : /etc/passwd

setup-2.8.14-20.el6_4.1.noarch : A set of system configuration and setup files
Repo        : installed
Matched from:
Other       : Provides-match: /etc/passwd

 

هدف makecache

Makecache برای بارگیری استفاده می‌شود و منجر به قابل استفاده شدن کل metadata برای مخزن موجود در سیستم شما می‌گردد.

root@2daygeek [~]# yum makecache

 

نمایش مخزن‌های yum

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

# To print enabled repository #
root@2daygeek [~]# yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centos.hyve.com
 * epel: mirrors.coreix.net
 * extras: centos.hyve.com
 * rpmforge: www.mirrorservice.org
 * updates: mirror.sov.uk.goscomb.net
repo id                                        repo name                                                                              status
base                                           CentOS-6 - Base                                                                          6,456+62
epel                                           Extra Packages for Enterprise Linux 6 - x86_64                                         10,483+671
extras                                         CentOS-6 - Extras                                                                              36
isv_ownCloud_community                         Latest stable community release of ownCloud (CentOS_CentOS-6)                                 2+1
rpmforge                                       RHEL 6 - RPMforge.net - dag                                                              4,677+41
updates                                        CentOS-6 - Updates                                                                         496+34
repolist: 22,150

# To print Disabled repository #
root@2daygeek [~]# yum repositories disabled

# To print all repository #
root@2daygeek [~]# yum repolist all

 

این مطلب نیز ممکن است برای شما مفید باشد: نحوه مشاهده بسته های نصب شده در Ubuntu و Debian

 

به‌روزرسانی کامل سیستم

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

root@2daygeek [~]# yum update

 

لیست بسته‌های گروهی موجود

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

root@2daygeek [~]# yum grouplist

 

نصب بسته‌های گروهی

برای نصب گروهی از بسته‌ها، باید به جای استفاده از install از آپشن groupinstall به همراه دستور yum استفاده نمود. در این مثال می‌خواهیم ابزار “Development tools” را نصب نماییم. داخل این بسته گروهی، بسته‌های libtool، gcc، c++، automake، pkgconfig، autoconf و غیره قرار دارد.

root@2daygeek [~]# yum groupinstall 'Development tools'

 

به‌روزرسانی بسته‌های گروهی

برای به‌روزرسانی گروهی از بسته‌ها می‌توان از دستور زیر استفاده کرد.

root@2daygeek [~]# yum groupupdate 'Development tools'

 

حذف بسته‌های گروهی

برای حذف گروهی از بسته‌ها می‌توان از دستور زیر استفاده نمود.

root@2daygeek [~]# yum groupremove 'Development tools'
or
root@2daygeek [~]# yum grouperase 'Development tools'

 

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

 

نصب یک بسته از یک مخزن خاص

برای نصب یک بسته از یک مخزن خاص می‌توان از دستور زیر استفاده کرد. در این مثال می‌خواهیم بسته Htop را از مخزن rpmforge نصب نماییم.

root@2daygeek [~]# yum --enablerepo=rpmforge install htop

 

خالی کردن حافظه کش yum

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

# cleans up any cached packages #
root@2daygeek [~]# yum clean packages

# cleans up any cached xml metadata #
root@2daygeek [~]# yum clean metadata

# cleans up any cached db packages #
root@2daygeek [~]# yum clean dbcache

# Clean all cached files #
root@2daygeek [~]# yum clean all

 

بررسی بسته‌های اخیراً اضافه شده به مخزن

برای بررسی بسته‌های اخیراً اضافه شده در مخزن می‌توانید، از دستور زیر استفاده کنید.

root@2daygeek [~]# yum list recent

 

نمایش تاریخچه yum

برای نمایش تاریخچه yum می‌توانید، از دستور زیر استفاده نمایید.

root@2daygeek [~]# yum history

 

راهنمای yum

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

root@2daygeek [~]# yum -help
or
root@2daygeek [~]# man yum
or
root@2daygeek [~]# yum --h

 

 

منبع:

2daygeek