امروز قصد داریم به معرفی راه های بهتر مدیریت بسته ها در توزیع های مبتنی بر ردهت مانند سنت او اس را با استفاده از دستور yum به شما عزیزان شرح دهیم. بعد از این آموزش شما خواهید آموخت که چگونه بسته های مورد نظر خود را از مخازن دریافت، نصب یا حذف کنید و یا دیگر عمل های مورد نظر را انجام دهید.
YUM چیست؟
YUM مخفف عبارت Yellowing Updater Modified می باشد. این دستور متن باز بوده که عمل مدیریت بسته های rpm یا Redhat Package Manager را روی سیستم های مبتنی بر ردهت انجام میدهد. YUM از مخازن زیادی بهره میبرد و شما در صورت استفاده از یکی از توزیع های مبتنی بر ردهت لینوکس تا حد زیادی نگرانی بابت دریافت بسته مورد نظر خود را نخواهید داشت.
نصب بسته ها
برای اینکه بتوانید یک بسته را با استفاده از مخازن موجود نصب کنید از دستور زیر استفاده کنید:
1 |
[root@arshatech ~]# yum install vsftpd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.hosteurope.de * epel: epel.scopesky.iq * extras: ftp.hosteurope.de * updates: ftp.hosteurope.de Resolving Dependencies --> Running transaction check ---> Package vsftpd.x86_64 0:3.0.2-22.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================================= Package Arch Version Repository Size ======================================================================================================================================================= Installing: vsftpd x86_64 3.0.2-22.el7 base 169 k Transaction Summary ======================================================================================================================================================= Install 1 Package Total download size: 169 k Installed size: 348 k Is this ok [y/d/N]: |
حذف بسته ها
شما میتوانید از بوسیله دستور زیر بسته مورد نظر خود را حذف کنید.
1 |
[root@arshatech ~]# yum remove vsftpd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Loaded plugins: fastestmirror Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package vsftpd.x86_64 0:3.0.2-22.el7 set to be erased --> Finished Dependency Resolution Dependencies Resolved ==================================================================================================== Package Arch Version Repository Size ==================================================================================================== Removing: vsftpd x86_64 3.0.2-22.el7 base 169 k Transaction Summary ==================================================================================================== Remove 1 Package(s) Reinstall 0 Package(s) Downgrade 0 Package(s) Is this ok [y/N]: |
به روز رسانی بسته ها
شما میتوانید یک بسته مورد نظر را در صورت نیاز به تنهایی به روز رسانی کنید. برای این کار میتوانید از دستور زیر استفاده کنید:
1 |
[root@arshatech ~]# yum update vsftpd |
1 2 3 4 5 6 7 |
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.hosteurope.de * epel: mirror.pregi.net * extras: ftp.hosteurope.de * updates: ftp.hosteurope.de No packages marked for update |
لیست کردن یک بسته
شما میتوانید بسته مورد نظر خود را نیز بوسیله yum مشاهده کنید. برای این کار به صورت زیر عمل کنید:
1 |
[root@arshatech ~]# yum list vsftpd |
1 2 3 4 5 6 7 8 |
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.hosteurope.de * epel: mirror.pregi.net * extras: ftp.hosteurope.de * updates: ftp.hosteurope.de Installed Packages vsftpd.x86_64 3.0.2-22.el7 |
جست و جوی بسته ای خاص
شما همچنین میتوانید به جست و جوی بسته ای خاص از داخل مخازن نصب شده روی ماشین خود به صورت زیر بپردازید:
1 |
[root@arshatech ~]# yum search bind |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.hosteurope.de * epel: mirror.pregi.net * extras: ftp.hosteurope.de * updates: ftp.hosteurope.de ============================================================================== N/S matched: bind =============================================================================== bind.x86_64 : The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server bind-chroot.x86_64 : A chroot runtime environment for the ISC BIND DNS server, named(8) bind-devel.i686 : Header files and libraries needed for BIND DNS development bind-devel.x86_64 : Header files and libraries needed for BIND DNS development bind-dyndb-ldap.x86_64 : LDAP back-end plug-in for BIND bind-libs.i686 : Libraries used by the BIND DNS packages bind-libs.x86_64 : Libraries used by the BIND DNS packages bind-license.noarch : License of the BIND DNS suite bind-lite-devel.i686 : Lite version of header files and libraries needed for BIND DNS development bind-lite-devel.x86_64 : Lite version of header files and libraries needed for BIND DNS development bind-pkcs11.x86_64 : Bind with native PKCS#11 functionality for crypto bind-pkcs11-devel.i686 : Development files for Bind libraries compiled with native PKCS#11 bind-pkcs11-devel.x86_64 : Development files for Bind libraries compiled with native PKCS#11 bind-pkcs11-libs.i686 : Bind libraries compiled with native PKCS#11 bind-pkcs11-libs.x86_64 : Bind libraries compiled with native PKCS#11 bind-pkcs11-utils.x86_64 : Bind tools with native PKCS#11 for using DNSSEC ... |
دریافت اطلاعات بیشتر پیرامون یک بسته
شما میتوانید در صورت نیاز اطلاعات بیشتری را درباره یک بسته کسب کنید. برای این کار از دستور زیر استفاده کنید:
1 |
[root@arshatech ~]# yum info vsftpd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.hosteurope.de * epel: mirror.pregi.net * extras: ftp.hosteurope.de * updates: ftp.hosteurope.de Installed Packages Name : vsftpd Arch : x86_64 Version : 3.0.2 Release : 22.el7 Size : 348 k Repo : installed From repo : base Summary : Very Secure Ftp Daemon URL : https://security.appspot.com/vsftpd.html License : GPLv2 with exceptions Description : vsftpd is a Very Secure FTP daemon. It was written completely from : scratch. |
نمایش لیست تمامی بسته ها
برای نمایش لیست کاملی از تمامی بسته ها که در دیتابیس yum وجود دارند به صورت زیر عمل کنید:
1 |
[root@arshatech ~]# yum list |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.hosteurope.de * epel: mirror.pregi.net * extras: ftp.hosteurope.de * updates: ftp.hosteurope.de Installed Packages GeoIP.x86_64 1.5.0-11.el7 @base NetworkManager.x86_64 1:1.10.2-14.el7_5 @updates NetworkManager-libnm.x86_64 1:1.10.2-14.el7_5 @updates NetworkManager-ppp.x86_64 1:1.10.2-14.el7_5 @updates NetworkManager-team.x86_64 1:1.10.2-14.el7_5 @updates NetworkManager-tui.x86_64 1:1.10.2-14.el7_5 @updates abrt.x86_64 2.1.11-50.el7.centos @base abrt-addon-ccpp.x86_64 2.1.11-50.el7.centos @base abrt-addon-kerneloops.x86_64 2.1.11-50.el7.centos @base abrt-addon-pstoreoops.x86_64 2.1.11-50.el7.centos @base abrt-addon-python.x86_64 2.1.11-50.el7.centos @base abrt-addon-vmcore.x86_64 2.1.11-50.el7.centos @base abrt-addon-xorg.x86_64 2.1.11-50.el7.centos @base abrt-cli.x86_64 2.1.11-50.el7.centos @base abrt-dbus.x86_64 2.1.11-50.el7.centos @base abrt-libs.x86_64 2.1.11-50.el7.centos @base abrt-python.x86_64 2.1.11-50.el7.centos @base abrt-retrace-client.x86_64 2.1.11-50.el7.centos @base abrt-tui.x86_64 2.1.11-50.el7.centos @base acl.x86_64 2.2.51-14.el7 @base aic94xx-firmware.noarch 30-6.el7 @anaconda alsa-firmware.noarch 1.0.28-2.el7 @anaconda alsa-lib.x86_64 1.1.4.1-2.el7 @base ... |
نمایش لیستی از بسته های نصب شده
اگر شما میخواهید لیست تمامی بسته های نصب شده روی ماشین خود را مشاهده کنید میتوانید از دستور زیر استفاده نمائید:
1 |
[root@arshatech ~]# yum list installed |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.hosteurope.de * epel: mirror.pregi.net * extras: ftp.hosteurope.de * updates: ftp.hosteurope.de Installed Packages GeoIP.x86_64 1.5.0-11.el7 @base NetworkManager.x86_64 1:1.10.2-14.el7_5 @updates NetworkManager-libnm.x86_64 1:1.10.2-14.el7_5 @updates NetworkManager-ppp.x86_64 1:1.10.2-14.el7_5 @updates NetworkManager-team.x86_64 1:1.10.2-14.el7_5 @updates NetworkManager-tui.x86_64 1:1.10.2-14.el7_5 @updates abrt.x86_64 2.1.11-50.el7.centos @base abrt-addon-ccpp.x86_64 2.1.11-50.el7.centos @base abrt-addon-kerneloops.x86_64 2.1.11-50.el7.centos @base abrt-addon-pstoreoops.x86_64 2.1.11-50.el7.centos @base abrt-addon-python.x86_64 2.1.11-50.el7.centos @base abrt-addon-vmcore.x86_64 2.1.11-50.el7.centos @base abrt-addon-xorg.x86_64 2.1.11-50.el7.centos @base abrt-cli.x86_64 2.1.11-50.el7.centos @base abrt-dbus.x86_64 2.1.11-50.el7.centos @base ... |
نمایش نام یک بسته از روی فایل مرتبط
شما میتوانید با استفاده از دستور زیر و معرفی یک فایل، اطلاعات دقیق بسته مرتبط با آن را بدست بیاورید:
1 |
[root@arshatech ~]# yum provides /etc/httpd/conf/httpd.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.hosteurope.de * epel: mirror.pregi.net * extras: ftp.hosteurope.de * updates: ftp.hosteurope.de httpd-2.4.6-80.el7.centos.x86_64 : Apache HTTP Server Repo : base Matched from: Filename : /etc/httpd/conf/httpd.conf httpd-2.4.6-80.el7.centos.1.x86_64 : Apache HTTP Server Repo : updates Matched from: Filename : /etc/httpd/conf/httpd.conf httpd-2.4.6-80.el7.centos.x86_64 : Apache HTTP Server Repo : @base Matched from: Filename : /etc/httpd/conf/httpd.conf |
بررسی به روزرسانی های در دسترس
شما میتوانید قبل از به روز رسانی سیستم خود ابتدا بررسی کنید که چه بسته هایی آپدیت جدید دریافت کرده اند:
1 |
[root@arshatech ~]# yum check-update |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.hosteurope.de * epel: mirror.pregi.net * extras: ftp.hosteurope.de * updates: ftp.hosteurope.de NetworkManager.x86_64 1:1.10.2-16.el7_5 updates NetworkManager-libnm.x86_64 1:1.10.2-16.el7_5 updates NetworkManager-ppp.x86_64 1:1.10.2-16.el7_5 updates NetworkManager-team.x86_64 1:1.10.2-16.el7_5 updates NetworkManager-tui.x86_64 1:1.10.2-16.el7_5 updates binutils.x86_64 2.27-28.base.el7_5.1 updates gsettings-desktop-schemas.x86_64 3.24.1-2.el7_5 updates httpd.x86_64 2.4.6-80.el7.centos.1 updates httpd-tools.x86_64 2.4.6-80.el7.centos.1 updates kernel.x86_64 3.10.0-862.6.3.el7 updates kernel-devel.x86_64 3.10.0-862.6.3.el7 updates kernel-headers.x86_64 3.10.0-862.6.3.el7 updates kernel-tools.x86_64 3.10.0-862.6.3.el7 updates kernel-tools-libs.x86_64 3.10.0-862.6.3.el7 updates python-perf.x86_64 3.10.0-862.6.3.el7 updates selinux-policy.noarch 3.13.1-192.el7_5.4 updates selinux-policy-targeted.noarch 3.13.1-192.el7_5.4 updates sos.noarch 3.5-9.el7.centos updates sudo.x86_64 1.8.19p2-14.el7_5 updates systemtap.x86_64 3.2-8.el7_5 updates systemtap-client.x86_64 3.2-8.el7_5 updates systemtap-devel.x86_64 3.2-8.el7_5 updates systemtap-runtime.x86_64 3.2-8.el7_5 updates |
به روز رسانی سیستم
شما با استفاده از دستور زیر میتوانید تمامی بسته های موجود روی سیستم خود را به نسخه جدید به روز رسانی کنید:
1 |
[root@arshatech ~]# yum update |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.hosteurope.de * epel: mirror.pregi.net * extras: ftp.hosteurope.de * updates: ftp.hosteurope.de Resolving Dependencies --> Running transaction check ---> Package NetworkManager.x86_64 1:1.10.2-14.el7_5 will be updated ---> Package NetworkManager.x86_64 1:1.10.2-16.el7_5 will be an update ---> Package NetworkManager-libnm.x86_64 1:1.10.2-14.el7_5 will be updated ---> Package NetworkManager-libnm.x86_64 1:1.10.2-16.el7_5 will be an update ---> Package NetworkManager-ppp.x86_64 1:1.10.2-14.el7_5 will be updated ---> Package NetworkManager-ppp.x86_64 1:1.10.2-16.el7_5 will be an update ---> Package NetworkManager-team.x86_64 1:1.10.2-14.el7_5 will be updated ---> Package NetworkManager-team.x86_64 1:1.10.2-16.el7_5 will be an update ---> Package NetworkManager-tui.x86_64 1:1.10.2-14.el7_5 will be updated ---> Package NetworkManager-tui.x86_64 1:1.10.2-16.el7_5 will be an update ---> Package binutils.x86_64 0:2.27-27.base.el7 will be updated ... |
نمایش لیستی از مخازن فعال
برای مشاهده لیستی از مخازنی که روی سیستم شما فعال هستند و شما میتوانید از بسته های ارائه شده توسط آن ها استفاده کنید دستور زیر را وارد کنید:
1 |
[root@arshatech ~]# yum repolist |
1 2 3 4 5 6 7 8 9 10 11 12 |
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.hosteurope.de * epel: mirror.pregi.net * extras: ftp.hosteurope.de * updates: ftp.hosteurope.de repo id repo name status base/7/x86_64 CentOS-7 - Base 9,911 epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 12,604 extras/7/x86_64 CentOS-7 - Extras 314 updates/7/x86_64 CentOS-7 - Updates 946 repolist: 23,775 |
نمایش لیست کاملی از مخازن
شما میتوانید لیست کاملی از مخازن سیستم خود را که شامل مخازن فعال و غیر فعال میشود را مشاهده کنید. برای این کار از دستور زیر استفاده نمائید:
1 |
[root@arshatech ~]# yum repolist all |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.hosteurope.de * epel: mirror.pregi.net * extras: ftp.hosteurope.de * updates: ftp.hosteurope.de repo id repo name status C7.0.1406-base/x86_64 CentOS-7.0.1406 - Base disabled C7.0.1406-centosplus/x86_64 CentOS-7.0.1406 - CentOSPlus disabled C7.0.1406-extras/x86_64 CentOS-7.0.1406 - Extras disabled C7.0.1406-fasttrack/x86_64 CentOS-7.0.1406 - CentOSPlus disabled C7.0.1406-updates/x86_64 CentOS-7.0.1406 - Updates disabled C7.1.1503-base/x86_64 CentOS-7.1.1503 - Base disabled C7.1.1503-centosplus/x86_64 CentOS-7.1.1503 - CentOSPlus disabled C7.1.1503-extras/x86_64 CentOS-7.1.1503 - Extras disabled C7.1.1503-fasttrack/x86_64 CentOS-7.1.1503 - CentOSPlus disabled C7.1.1503-updates/x86_64 CentOS-7.1.1503 - Updates disabled C7.2.1511-base/x86_64 CentOS-7.2.1511 - Base disabled C7.2.1511-centosplus/x86_64 CentOS-7.2.1511 - CentOSPlus disabled C7.2.1511-extras/x86_64 CentOS-7.2.1511 - Extras disabled C7.2.1511-fasttrack/x86_64 CentOS-7.2.1511 - ... |
نصب یک بوسیله از مخزنی خاص
شما میتوایند بسته مورد نظر خود را از مخزنی خاص دانلود و نصب کنید. برای این کار از دستور زیر استفاده کنید:
1 |
[root@arshatech ~]# yum --enablerepo=epel install ruby |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.hosteurope.de * epel: mirror.pregi.net * extras: ftp.hosteurope.de * updates: ftp.hosteurope.de Resolving Dependencies --> Running transaction check ---> Package ruby.x86_64 0:2.0.0.648-33.el7_4 will be installed --> Processing Dependency: ruby-libs(x86-64) = 2.0.0.648-33.el7_4 for package: ruby-2.0.0.648-33.el7_4.x86_64 --> Processing Dependency: rubygem(bigdecimal) >= 1.2.0 for package: ruby-2.0.0.648-33.el7_4.x86_64 --> Processing Dependency: ruby(rubygems) >= 2.0.14.1 for package: ruby-2.0.0.648-33.el7_4.x86_64 --> Processing Dependency: libruby.so.2.0()(64bit) for package: ruby-2.0.0.648-33.el7_4.x86_64 --> Running transaction check ---> Package ruby-libs.x86_64 0:2.0.0.648-33.el7_4 will be installed ---> Package rubygem-bigdecimal.x86_64 0:1.2.0-33.el7_4 will be installed ---> Package rubygems.noarch 0:2.0.14.1-33.el7_4 will be installed --> Processing Dependency: rubygem(rdoc) >= 4.0.0 for package: rubygems-2.0.14.1-33.el7_4.noarch --> Processing Dependency: rubygem(psych) >= 2.0.0 for package: rubygems-2.0.14.1-33.el7_4.noarch ... |
محیط اینتراکتیو
یک محیط شل اینتراکتیو برای yum وجود دارد که در صورت نیاز میتوانید از آن استفاده کنید:
1 |
[root@arshatech ~]# yum shell |
1 2 3 4 5 6 7 8 |
Loaded plugins: fastestmirror > update httpd Loading mirror speeds from cached hostfile * base: ftp.hosteurope.de * epel: mirror.pregi.net * extras: ftp.hosteurope.de * updates: ftp.hosteurope.de > exit |
پاک کردن کش
به صورت پیش فرض yum تمامی داده های مربوط به بسته ها را در مسیر var/cache/yum/ ذخیره میکند. این داده ها میتوانند حجم قابل توجهی را روی سیستم شما اشغال کنند. بهتر است هر از گاهی دستور زیر را برای خالی کردن کش yum استفاده کنید:
1 |
[root@arshatech ~]# yum clean all |
1 2 3 4 5 |
Loaded plugins: fastestmirror Cleaning repos: base epel extras updates Cleaning up everything Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos Cleaning up list of fastest mirrors |
مشاهده تاریخچه
برای مشاهده تاریخچه فعالیت هایی که بوسیله yum صورت گرفته میتوانید از دستور زیر استفاده کنید:
1 |
[root@arshatech ~]# yum history |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Loaded plugins: fastestmirror ID | Login user | Date and time | Action(s) | Altered ------------------------------------------------------------------------------- 14 | root <root> | 2018-07-07 22:39 | Install | 1 13 | root <root> | 2018-07-07 22:39 | Erase | 1 12 | root <root> | 2018-07-07 22:38 | Install | 1 11 | root <root> | 2018-06-26 02:23 | Install | 1 10 | root <root> | 2018-06-26 00:11 | Install | 13 9 | root <root> | 2018-06-25 23:46 | Install | 9 8 | root <root> | 2018-06-25 23:08 | Install | 15 7 | root <root> | 2018-06-25 22:17 | Install | 3 6 | root <root> | 2018-06-25 22:15 | Update | 2 5 | root <root> | 2018-06-18 22:59 | Install | 4 4 | root <root> | 2018-06-18 22:54 | Install | 1 3 | root <root> | 2018-06-18 22:28 | I, O, U | 390 E< 2 | root <root> | 2018-06-18 21:56 | Install | 1 > 1 | System <unset> | 2018-06-18 21:42 | Install | 453 history list |