20 YUM Commands alang sa Linux Package Management


Niini nga artikulo, makakat-on kita unsaon pag-instalar, pag-update, pagtangtang, pagpangita sa mga pakete, pagdumala sa mga pakete ug mga repository sa mga sistema sa Linux gamit ang YUM (Yellowdog Updater Modified) nga himan nga gimugna sa RedHat.

Ang mga panig-ingnan nga mga sugo nga gipakita niini nga artikulo praktikal nga gisulayan sa among mga sertipikasyon sa RHEL, o aron lang masusi ang mga paagi sa pag-instalar sa bag-ong mga pakete ug ipadayon ang imong sistema nga labing bag-o.

Ang sukaranan nga kinahanglanon sa kini nga artikulo mao, kinahanglan nga adunay usa ka sukaranan nga pagsabut sa mga mando ug usa ka nagtrabaho nga operating system sa Linux, diin mahimo nimong susihon ug buhaton ang tanan nga mga mando nga gilista sa ubos.

Unsa ang YUM?

Ang YUM (Yellowdog Updater Modified) usa ka open-source command-line ingon man graphical-based package management tool para sa RPM (RedHat Package Manager) nga nakabase sa Linux system.

Gitugotan niini ang mga tiggamit ug mga tagdumala sa sistema nga dali nga mag-install, mag-update, magtangtang o mangita mga pakete sa software sa usa ka sistema. Gi-develop ug gi-release ni Seth Vidal ubos sa GPL (General Public License) isip open-source, nga nagpasabot nga bisan kinsa mahimong tugutan sa pag-download ug pag-access sa code aron ayohon ang mga bugs ug paghimo og customized nga mga pakete.

Ang YUM naggamit ug daghang mga third-party nga repository aron awtomatikong i-install ang mga pakete pinaagi sa pagsulbad sa ilang mga isyu sa dependency.

Update: Ang yum command gipulihan sa RPM-based distributions.

Aron ma-install ang usa ka package nga gitawag og Firefox, padagana lang ang command sa ubos nga kini awtomatik nga makit-an ug ma-install ang tanan nga gikinahanglan nga dependencies alang sa 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!

Ang sugo sa ibabaw mangayo alang sa kumpirmasyon sa dili pa i-install ang bisan unsang pakete sa imong sistema. Kung gusto nimo nga awtomatiko nga i-install ang mga pakete nga wala mangayo og bisan unsang kumpirmasyon, gamita ang kapilian -y sama sa gipakita sa ubos nga pananglitan.

# yum -y install firefox

Aron makuha ang usa ka pakete nga hingpit sa tanan nga mga dependency, pagdagan lang ang mosunud nga mando sama sa gipakita sa ubos.

# 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!

Sa samang paagi, ang sugo sa ibabaw mangayo ug kumpirmasyon sa dili pa kuhaa ang usa ka pakete. Aron ma-disable ang confirmation prompt idugang lang ang opsyon -y sama sa gipakita sa ubos.

# yum -y remove firefox

Ingnon ta nga ikaw adunay usa ka outdated nga bersyon sa MySQL package ug gusto nimo nga i-update kini sa pinakabag-o nga stable nga bersyon. Pagdagan lang ang mosunud nga mando awtomatiko nga masulbad ang tanan nga mga isyu sa dependency ug i-install kini.

# 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!

Gamita ang list function aron pangitaon ang piho nga pakete nga adunay ngalan. Pananglitan sa pagpangita sa usa ka pakete nga gitawag og OpenSSH, gamita ang sugo.

# 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

Aron mas tukma ang imong pagpangita, ipasabot ang mga ngalan sa pakete sa ilang bersyon, kung nahibal-an nimo. Pananglitan sa pagpangita sa usa ka piho nga bersyon OpenSSH-4.3p2 sa package, gamita ang sugo.

# yum list openssh-4.3p2

[ Tingali ganahan ka usab: Unsaon Pagsiguro ug Pagtig-a sa OpenSSH Server ]

Kung dili nimo mahinumduman ang eksaktong ngalan sa package, unya gamita ang search function aron pangitaon ang tanan nga magamit nga mga pakete aron ipahiangay ang ngalan sa package nga imong gitakda. Pananglitan, sa pagpangita sa tanan nga mga pakete nga mohaum sa pulong.

# 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

Ingna nga gusto nimong mahibal-an ang kasayuran bahin sa usa ka pakete sa dili pa kini i-install. Aron makakuha og impormasyon sa usa ka pakete i-isyu lang ang sugo sa ubos.

# 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.

Aron ilista ang tanan nga magamit nga mga pakete sa database sa Yum, gamita ang mando sa ubos.

# yum list | less

Aron ilista ang tanan nga mga naka-install nga mga pakete sa usa ka sistema, i-isyu lang ang mando sa ubos, ipakita niini ang tanan nga na-install nga mga pakete.

# yum list installed | less

Naghatag ang Yum og function nga gigamit sa pagpangita kung unsang pakete ang nahisakop sa usa ka piho nga file. Pananglitan, kung gusto nimo mahibal-an ang ngalan sa package nga adunay /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

Aron mahibal-an kung pila ang na-install nga mga pakete sa imong sistema nga adunay mga update nga magamit, susiha aron magamit ang mosunud nga mando.

# yum check-update

Aron mapadayon ang imong sistema nga labing bag-o sa tanan nga mga update sa seguridad ug binary nga pakete, padagana ang mosunud nga mando. I-install niini ang tanan nga pinakabag-o nga mga patch ug mga update sa seguridad sa imong sistema.

# yum update

Sa Linux, daghang mga pakete ang gi-bundle sa usa ka partikular nga grupo. Imbis nga i-install ang indibidwal nga mga pakete nga adunay yum, mahimo nimong i-install ang usa ka partikular nga grupo nga mag-install sa tanan nga mga may kalabutan nga pakete nga nahisakop sa grupo. Pananglitan aron ilista ang tanan nga magamit nga mga grupo, i-isyu lang ang mosunod nga mando.

# 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

Aron ma-install ang usa ka partikular nga grupo sa pakete, gigamit namon ang kapilian ingon pag-install sa grupo. Pananglitan, aron ma-install ang MySQL Database, ipatuman lang ang mando sa ubos.

# 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!

Aron ma-update ang bisan unsang na-install nga mga pakete sa grupo, pagdagan lang ang mosunud nga mando sama sa gipakita sa ubos.

# 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!

Aron mapapas o matangtang ang bisan unsang na-install nga grupo gikan sa sistema, gamita lang ang mando sa ubos.

# 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!

Aron ilista ang tanan nga gipalihok nga Yum repository sa imong sistema, gamita ang mosunod nga kapilian.

# 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

Ang mosunud nga mando magpakita sa tanan nga gi-enable ug disabled nga yum repository sa sistema.

# 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

Aron ma-install ang usa ka partikular nga pakete gikan sa usa ka piho nga gi-enable o gi-disable nga repository, kinahanglan nimong gamiton ang --enablerepo usa ka kapilian sa imong yum command. Pananglitan sa Pag-install sa PhpMyAdmin package, i-execute lang ang command.

# 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!

Ang Yum utility naghatag og usa ka custom nga kabhang diin mahimo nimong ipatuman ang daghang mga sugo.

# 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
>

Pinaagi sa default, gitipigan ni yum ang tanan nga repository nga nakapahimo sa data sa pakete sa/var/cache/yum/sa matag sub-direktoryo, aron malimpyohan ang tanan nga mga naka-cache nga file gikan sa gipalihok nga repository, kinahanglan nimo nga padaganon kanunay ang mosunud nga mando aron malimpyohan ang tanan nga cache ug mahimo. sigurado nga wala’y gamit nga wala kinahanglana nga wanang. Dili namo gusto nga ihatag ang output sa ubos nga sugo, tungod kay gusto namo nga tipigan ang mga naka-cache nga datos sama niini.

# yum clean all

Aron makita ang tanang nangaging mga transaksyon sa yum command, gamita lang ang mosunod nga sugo.

# 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

Gisulayan namon nga tabonan ang tanan nga sukaranan sa pag-uswag sa mga yum nga mando sa ilang mga pananglitan. Kung adunay bisan unsang butang nga may kalabutan sa yum nga mga mando mahimo’g nasipyat. Palihug i-update kami pinaagi sa among kahon sa komento. Mao nga, nagpadayon kami sa pag-update sa parehas base sa nadawat nga feedback.