چنانچه در زمینه مدیریت لینوکس تجربه داشته باشید، میدانید که نمیتوان سیستمهای 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
منبع:
0 دیدگاه
نوشتن دیدگاه