20 YUM naredbi za upravljanje Linux paketima


U ovom ćemo članku naučiti kako instalirati, ažurirati, ukloniti, pronaći pakete, upravljati paketima i spremištima na Linux sustavima pomoću YUM (Yellowdog Updater Modified) alata koji je razvio RedHat.

Primjeri naredbi prikazani u ovom članku praktično su testirani na našem RHEL 8 poslužitelju, te materijale možete koristiti u svrhu učenja, RHEL certifikata ili samo za istraživanje načina za instaliranje novih paketa i održavanje vašeg sustava ažurnim.

Osnovni zahtjev ovog članka je da morate imati osnovno razumijevanje naredbi i radni operativni sustav Linux, gdje možete istraživati i vježbati sve naredbe navedene u nastavku.

Što je YUM?

YUM (Yellowdog Updater Modified) je alat otvorenog koda za naredbeni redak kao i grafički baziran alat za upravljanje paketima za RPM ( RedHat Package Manager) Linux sustavi.

Korisnicima i administratorima sustava omogućuje jednostavno instaliranje, ažuriranje, uklanjanje ili pretraživanje softverskih paketa u sustavu. Razvio ga je i izdao Seth Vidal pod GPL (Opća javna licenca) kao open-source, što znači da svatko može moći preuzeti i pristupite kodu za ispravljanje grešaka i razvoj prilagođenih paketa.

YUM koristi brojne repozitorije trećih strana za automatsku instalaciju paketa rješavanjem problema s njihovim ovisnostima.

Ažuriranje: Naredba yum zamijenjena je naredbom dnf, koja je verzija sljedeće generacije yum-a i smatra se zamjenom za YUM u većini novijih distribucija temeljenih na RPM-u.

1. Instalirajte paket s YUM-om

Da biste instalirali paket koji se zove Firefox, samo pokrenite donju naredbu i ona će automatski pronaći i instalirati sve potrebne ovisnosti za 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!

Gornja naredba će tražiti potvrdu prije instaliranja bilo kojeg paketa na vaš sustav. Ako želite automatski instalirati pakete bez traženja bilo kakve potvrde, koristite opciju -y kao što je prikazano u primjeru ispod.

yum -y install firefox

2. Uklanjanje paketa pomoću YUM-a

Za potpuno uklanjanje paketa sa svim ovisnostima, samo pokrenite sljedeću naredbu kao što je prikazano u nastavku.

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!

Na isti način, gornja naredba tražit će potvrdu prije uklanjanja paketa. Da biste onemogućili upit za potvrdu, samo dodajte opciju -y kao što je prikazano u nastavku.

yum -y remove firefox

3. Ažuriranje paketa pomoću YUM-a

Recimo da imate zastarjelu verziju MySQL paketa i želite je ažurirati na najnoviju stabilnu verziju. Samo pokrenite sljedeću naredbu, ona će automatski riješiti sve probleme ovisnosti i instalirati ih.

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. Navedite paket koristeći YUM

Koristite funkciju list za traženje određenog paketa s imenom. Na primjer, za traženje paketa pod nazivom OpenSSH koristite naredbu.

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

Kako bi vaše pretraživanje bilo preciznije, definirajte nazive paketa s njihovom verzijom, ako znate. Na primjer, za traženje određene verzije OpenSSH-4.3p2 paketa, koristite naredbu.

yum list openssh-4.3p2

5. Potražite paket koristeći YUM

Ako se ne sjećate točnog naziva paketa, upotrijebite funkciju search da biste pretražili sve dostupne pakete kako biste odgovarali nazivu paketa koji ste naveli. Na primjer, za pretraživanje svih paketa koji odgovaraju riječi.

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. Dobijte informacije o paketu koristeći YUM

Recimo da želite znati informacije o paketu prije nego što ga instalirate. Za dobivanje informacija o paketu jednostavno izdajte naredbu ispod.

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. Navedite sve dostupne pakete koristeći YUM

Za popis svih dostupnih paketa u Yum bazi podataka, upotrijebite naredbu ispod.

yum list | less

8. Navedite sve instalirane pakete koristeći YUM

Za popis svih instaliranih paketa na sustavu, samo izdajte donju naredbu, ona će prikazati sve instalirane pakete.

yum list installed | less

9. Yum pruža funkciju

Yum omogućuje da se funkcija koristi za pronalaženje kojem paketu određena datoteka pripada. Na primjer, ako želite znati naziv paketa koji ima /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. Provjerite dostupna ažuriranja koristeći Yum

Da biste saznali koliko instaliranih paketa na vašem sustavu ima dostupna ažuriranja, označite korištenje sljedeće naredbe.

yum check-update

11. Ažurirajte sustav koristeći Yum

Da bi vaš sustav bio ažuran sa svim sigurnosnim i ažuriranjima binarnih paketa, pokrenite sljedeću naredbu. Instalirat će sve najnovije zakrpe i sigurnosna ažuriranja na vaš sustav.

yum update

12. Navedite sve dostupne grupne pakete

U Linuxu je niz paketa grupiran u određenu grupu. Umjesto instaliranja pojedinačnih paketa s yumom, možete instalirati određenu grupu koja će instalirati sve povezane pakete koji pripadaju grupi. Na primjer, za popis svih dostupnih grupa, izdajte sljedeću naredbu.

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. Instalirajte grupne pakete

Za instaliranje određene grupe paketa koristimo opciju groupinstall. Na primjer, da biste instalirali “MySQL bazu podataka“, samo izvršite naredbu u nastavku.

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. Ažurirajte grupne pakete

Za ažuriranje postojećih instaliranih grupnih paketa samo pokrenite sljedeću naredbu kao što je prikazano u nastavku.

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. Uklonite grupne pakete

Za brisanje ili uklanjanje bilo koje postojeće instalirane grupe iz sustava, samo upotrijebite naredbu u nastavku.

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. Popis omogućenih Yum spremišta

Za popis svih omogućenih Yum repozitorija u vašem sustavu, koristite sljedeću opciju.

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. Navedite sva omogućena i onemogućena Yum spremišta

Sljedeća naredba će prikazati sva omogućena i onemogućena spremišta yum na sustavu.

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. Instalirajte paket iz određenog repozitorija

Da biste instalirali određeni paket iz određenog omogućenog ili onemogućenog repozitorija, morate koristiti opciju --enablerepo u svojoj naredbi yum. Na primjer, da biste instalirali paket PhpMyAdmin, samo izvršite naredbu.

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. Interaktivna Yum Shell

Uslužni program Yum nudi prilagođenu ljusku u kojoj možete izvršavati više naredbi.

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. Očistite Yum Cache

Prema zadanim postavkama yum čuva sve podatke paketa omogućenog repozitorija u /var/cache/yum/ sa svakim poddirektorijem, da biste očistili sve datoteke u predmemoriji iz omogućenog repozitorija, morate redovito pokretati sljedeću naredbu očistite svu predmemoriju i uvjerite se da ništa nepotrebno koristi prostor. Ne želimo dati izlaz donje naredbe, jer želimo zadržati predmemorirane podatke onakvima kakvi jesu.

yum clean all

20. Pregledajte povijest Yuma

Da biste vidjeli sve prošle transakcije naredbe yum, samo upotrijebite sljedeću naredbu.

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

Pokušali smo pokriti sve osnovne naredbe za napredovanje yum-a s njihovim primjerima. Možda je nešto što je povezano s yum naredbama propušteno. Obavijestite nas putem našeg okvira za komentare. Dakle, nastavljamo ažurirati isto na temelju primljenih povratnih informacija.