Linux Paket Yönetimi için 20 YUM Komutu


Bu makalede, YUM (Yellowdog Updater Modified) aracını kullanarak Linux sistemlerine nasıl kurulacağını, güncelleneceğini, kaldırılacağını, paketleri bulacağını, paketleri ve depoları nasıl yöneteceğimizi öğreneceğiz. Strong>RedHat.

Bu makalede gösterilen örnek komutlar RHEL 8 sunucumuzda pratik olarak test edilmiştir; bu malzemeleri çalışma amacıyla, RHEL sertifikaları için veya yalnızca yeni paketleri kurmanın ve sisteminizi güncel tutmanın yollarını keşfetmek için kullanabilirsiniz.

Bu makalenin temel gereksinimi, aşağıda listelenen tüm komutları keşfedip uygulayabileceğiniz, komutlar ve çalışan bir Linux işletim sistemi hakkında temel bilgiye sahip olmanızdır.

YUM nedir?

YUM (Yellowdog Updater Modified), RPM () için açık kaynaklı bir komut satırı ve grafik tabanlı paket yönetim aracıdır. RedHat Paket Yöneticisi) tabanlı Linux sistemleri.

Kullanıcıların ve sistem yöneticilerinin bir sistemdeki yazılım paketlerini kolayca kurmasına, güncellemesine, kaldırmasına veya aramasına olanak tanır. Seth Vidal tarafından GPL (Genel Kamu Lisansı) altında açık kaynak olarak geliştirilmiş ve yayınlanmıştır; bu, herkesin indirmesine izin verilebileceği anlamına gelir ve hataları düzeltmek ve özelleştirilmiş paketler geliştirmek için koda erişin.

YUM, bağımlılık sorunlarını çözerek paketleri otomatik olarak yüklemek için çok sayıda üçüncü taraf depo kullanır.

Güncelleme: yum komutunun yerini, yum'un yeni nesil sürümü olan ve onun yerine geçtiği düşünülen dnf komutu almıştır. YUM, daha yeni RPM tabanlı dağıtımların çoğunda.

1. YUM ile Paket Kurun

Firefox adlı bir paketi yüklemek için aşağıdaki komutu çalıştırmanız yeterlidir; paket, Firefox için gerekli tüm bağımlılıkları otomatik olarak bulup yükleyecektir.

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!

Yukarıdaki komut sisteminize herhangi bir paket kurmadan önce onay isteyecektir. Paketleri herhangi bir onay istemeden otomatik olarak kurmak istiyorsanız aşağıdaki örnekte gösterildiği gibi -y seçeneğini kullanın.

yum -y install firefox

2. YUM'lu Paketi Kaldırma

Bir paketi tüm bağımlılıklarıyla birlikte tamamen kaldırmak için, aşağıda gösterildiği gibi aşağıdaki komutu çalıştırmanız yeterlidir.

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!

Aynı şekilde yukarıdaki komut bir paketi kaldırmadan önce onay isteyecektir. Onay istemini devre dışı bırakmak için aşağıda gösterildiği gibi -y seçeneğini eklemeniz yeterlidir.

yum -y remove firefox

3. YUM kullanarak Paket Güncelleme

Diyelim ki MySQL paketinin eski bir sürümüne sahipsiniz ve onu en son kararlı sürüme güncellemek istiyorsunuz. Sadece aşağıdaki komutu çalıştırın, tüm bağımlılık sorunlarını otomatik olarak çözecek ve yükleyecektir.

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'u kullanarak Paket Listeleme

Belirli bir paketi bir adla aramak için liste işlevini kullanın. Örneğin, OpenSSH adlı bir paketi aramak için bu komutu kullanın.

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                                                                          base

Aramanızı daha doğru hale getirmek için, biliyorsanız paket adlarını versiyonlarıyla birlikte tanımlayın. Örneğin, paketin belirli bir OpenSSH-4.3p2 sürümünü aramak için bu komutu kullanın.

yum list openssh-4.3p2

5. YUM kullanarak Paket arayın

Paketin tam adını hatırlamıyorsanız, belirttiğiniz paketin adıyla eşleşen mevcut tüm paketleri aramak için arama işlevini kullanın. Örneğin, kelimeyle eşleşen tüm paketleri aramak için.

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 kullanarak Paket Hakkında Bilgi Alın

Bir paketi kurmadan önce onunla ilgili bilgileri öğrenmek istediğinizi varsayalım. Bir paket hakkında bilgi almak için aşağıdaki komutu vermeniz yeterlidir.

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'u kullanarak Mevcut tüm Paketleri listeleyin

Yum veritabanındaki mevcut tüm paketleri listelemek için aşağıdaki komutu kullanın.

yum list | less

8. YUM'u kullanarak tüm Kurulu Paketleri listeleyin

Bir sistemdeki tüm kurulu paketleri listelemek için aşağıdaki komutu vermeniz yeterlidir, kurulu tüm paketleri gösterecektir.

yum list installed | less

9. Yum İşlev Sağlar

Yum sağlar işlevi belirli bir dosyanın hangi pakete ait olduğunu bulmak için kullanılır. Örneğin, /etc/httpd/conf/httpd.conf dosyasını içeren paketin adını bilmek istiyorsanız.

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'u Kullanarak Mevcut Güncellemeleri Kontrol Edin

Sisteminizde kaç tane kurulu pakette güncelleme bulunduğunu bulmak için aşağıdaki komutu kullanmayı kontrol edin.

yum check-update

11. Yum'u kullanarak Sistemi Güncelleyin

Sisteminizi tüm güvenlik ve ikili paket güncellemeleriyle güncel tutmak için aşağıdaki komutu çalıştırın. Sisteminize en son yamaları ve güvenlik güncellemelerini yükleyecektir.

yum update

12. Mevcut tüm Grup Paketlerini listeleyin

Linux'ta çok sayıda paket belirli bir grupta toplanmıştır. Yum ile ayrı ayrı paketler kurmak yerine, gruba ait tüm ilgili paketleri kuracak belirli bir grup kurabilirsiniz. Örneğin mevcut tüm grupları listelemek için aşağıdaki komutu vermeniz yeterlidir.

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. Grup Paketlerini Kurun

Belirli bir paket grubunu kurmak için groupinstall seçeneğini kullanırız. Örneğin “MySQL Database” kurmak için aşağıdaki komutu uygulamanız yeterli.

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. Grup Paketlerini Güncelleyin

Mevcut herhangi bir kurulu grup paketini güncellemek için aşağıda gösterildiği gibi aşağıdaki komutu çalıştırmanız yeterlidir.

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. Grup Paketlerini Kaldır

Mevcut herhangi bir kurulu grubu sistemden silmek veya kaldırmak için aşağıdaki komutu kullanmanız yeterlidir.

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. Etkinleştirilmiş Yum Depolarını Listeleyin

Sisteminizdeki tüm etkin Yum depolarını listelemek için aşağıdaki seçeneği kullanın.

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. Tüm Etkin ve Devre Dışı Yum Depolarını Listeleyin

Aşağıdaki komut sistemdeki tüm etkin ve devre dışı yum depolarını görüntüleyecektir.

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. Belirli Bir Depodan Paket Kurun

Belirli bir etkin veya devre dışı depodan belirli bir paketi yüklemek için yum komutunuzda --enablerepo seçeneğini kullanmanız gerekir. Örneğin PhpMyAdmin paketini kurmak için komutu çalıştırmanız yeterlidir.

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. İnteraktif Yum Kabuğu

Yum yardımcı programı, birden fazla komutu çalıştırabileceğiniz özel bir kabuk sağlar.

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 Önbelleğini Temizleyin

Varsayılan olarak yum, deponun etkin olduğu tüm paket verilerini her bir alt dizinde /var/cache/yum/ içinde tutar; etkin depodaki önbelleğe alınmış tüm dosyaları temizlemek için aşağıdaki komutu düzenli olarak çalıştırmanız gerekir. tüm önbelleği temizleyin ve gereksiz alanın kullanıldığı hiçbir şey olmadığından emin olun. Önbelleğe alınan verileri olduğu gibi tutmayı sevdiğimiz için aşağıdaki komutun çıktısını vermek istemiyoruz.

yum clean all

20. Yum'un Geçmişini Görüntüleyin

Yum komutunun geçmiş tüm işlemlerini görüntülemek için aşağıdaki komutu kullanmanız yeterlidir.

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 komutlarını ilerletmek için gereken tüm temel bilgileri örnekleriyle ele almaya çalıştık. Yum komutlarıyla ilgili herhangi bir şey kaçırılmış olabilir. Lütfen yorum kutumuz aracılığıyla bizi bilgilendirin. Bu nedenle, alınan geri bildirimlere göre aynı şeyi güncellemeye devam ediyoruz.