20 ví dụ lệnh Yum trên Centos / Ubuntu / Debian / Fedora

Lệnh "yum" trong Linux là một công cụ quản lý gói phần mềm được sử dụng chủ yếu trên các hệ điều hành dựa trên Red Hat như CentOS và Fedora. Nó cho phép bạn cài đặt, cập nhật và gỡ bỏ các gói phần mềm trên hệ thống của mình.

Cài đặt một gói phần mềm với YUM

Để cài đặt một gói phần mềm có tên là Firefox, chỉ cần chạy lệnh sau đây, nó sẽ tự động tìm và cài đặt tất cả các phụ thuộc cần thiết cho 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!

Lệnh trên sẽ yêu cầu xác nhận trước khi cài đặt bất kỳ gói phần mềm nào trên hệ thống của bạn. Nếu bạn muốn cài đặt gói phần mềm mà không yêu cầu xác nhận, hãy sử dụng tùy chọn -y như ví dụ dưới đây.

# yum -y install firefox

Gỡ bỏ một gói phần mềm với YUM

Để gỡ bỏ một gói phần mềm hoàn toàn cùng với tất cả các phụ thuộc, chỉ cần chạy lệnh sau đây như được hiển thị dưới đây. 

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

Tương tự, lệnh trên sẽ yêu cầu xác nhận trước khi gỡ bỏ một gói phần mềm. Để tắt cửa sổ xác nhận, chỉ cần thêm tùy chọn -y như được hiển thị dưới đây.

# yum -y remove firefox

Cập nhật một gói phần mềm bằng YUM

Giả sử bạn đang sử dụng một phiên bản cũ của gói phần mềm MySQL và bạn muốn cập nhật nó lên phiên bản ổn định mới nhất. Chỉ cần chạy lệnh sau đây, nó sẽ tự động giải quyết tất cả các vấn đề phụ thuộc và cài đặt chúng.

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

Liệt kê một gói phần mềm bằng YUM

Sử dụng chức năng list để tìm kiếm gói phần mềm cụ thể theo tên. Ví dụ, để tìm kiếm gói phần mềm có tên là OpenSSH, sử dụng lệnh sau:

# 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

Để làm cho tìm kiếm của bạn chính xác hơn, xác định tên gói phần mềm kèm theo phiên bản, trong trường hợp bạn biết. Ví dụ, để tìm kiếm phiên bản cụ thể OpenSSH-4.3p2 của gói phần mềm, sử dụng lệnh sau.

# yum list openssh-4.3p2

Tìm kiếm một gói phần mềm bằng lệnh yum

Nếu bạn không nhớ chính xác tên của gói phần mềm, hãy sử dụng chức năng search để tìm kiếm tất cả các gói phần mềm khả dụng để khớp với tên gói phần mềm bạn chỉ định. Ví dụ, để tìm kiếm tất cả các gói phần mềm khớp với từ khóa.

# 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

Lấy thông tin về một gói phần mềm bằng lệnh yum

Giả sử bạn muốn biết thông tin về một gói phần mềm trước khi cài đặt. Để lấy thông tin về một gói phần mềm, chỉ cần sử dụng lệnh dưới đây.

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

Liệt kê tất cả các gói phần mềm khả dụng bằng yum

Liệt kê tất cả các gói phần mềm khả dụng trong cơ sở dữ liệu Yum, sử dụng lệnh dưới đây.

# yum list | less

Liệt kê tất cả các gói phần mềm đã cài đặt lệnh yum

Liệt kê tất cả các gói phần mềm đã cài đặt trên hệ thống, chỉ cần sử dụng lệnh dưới đây, nó sẽ hiển thị tất cả các gói phần mềm đã cài đặt.

# yum list installed | less

Chức năng "Yum Provides"

Chức năng "Yum provides" được sử dụng để tìm gói phần mềm mà một tập tin cụ thể thuộc về. Ví dụ, nếu bạn muốn biết tên gói phần mềm chứa tập tin /etc/httpd/conf/httpd.conf, sử dụng lệnh sau.

# 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

Kiểm tra cập nhật khả dụng bằng lênh yum đơn giản

Để tìm hiểu có bao nhiêu gói phần mềm đã cài đặt trên hệ thống của bạn có cập nhật khả dụng, sử dụng lệnh sau.

# yum check-update

Cập nhật hệ thống bằng lệnh yum

Để duy trì hệ thống của bạn cập nhật với tất cả các bản vá bảo mật và cập nhật gói nhị phân, chạy lệnh sau. Nó sẽ cài đặt tất cả các bản vá và cập nhật bảo mật mới nhất cho hệ thống của bạn.

# yum update

Liệt kê tất cả các gói nhóm khả dụng

Trong Linux, một số gói phần mềm được nhóm lại thành một nhóm cụ thể. Thay vì cài đặt các gói phần mềm cá nhân bằng yum, bạn có thể cài đặt một nhóm cụ thể sẽ cài đặt tất cả các gói phần mềm liên quan thuộc về nhóm đó. Ví dụ, để liệt kê tất cả các nhóm khả dụng, chỉ cần thực hiện lệnh sau.

# 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

Cài đặt các gói nhóm

Để cài đặt một nhóm gói cụ thể, chúng ta sử dụng tùy chọn groupinstall. Ví dụ, để cài đặt "MySQL Database", chỉ cần thực hiện lệnh dưới đây.

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

Cập nhật các gói nhóm

Để cập nhật các gói nhóm đã cài đặt, chỉ cần chạy lệnh sau đây.

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

Xóa các gói nhóm

Để xóa hoặc gỡ bỏ bất kỳ gói nhóm đã cài đặt nào khỏi hệ thống, chỉ cần sử dụng lệnh dưới đây.

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

Liệt kê các kho Yum đã được kích hoạt

Để liệt kê tất cả các kho Yum đã được kích hoạt trong hệ thống của bạn, sử dụng tùy chọn sau.

# 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

Cài đặt một gói từ một kho cụ thể

Để cài đặt một gói cụ thể từ một kho đã được kích hoạt hoặc vô hiệu hóa cụ thể, bạn phải sử dụng tùy chọn --enablerepo trong lệnh yum của bạn. Ví dụ, để cài đặt gói PhpMyAdmin, chỉ cần thực hiện lệnh sau.

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

Giao diện dòng lệnh tương tác lệnh yum

Tiện ích yum cung cấp một shell tùy chỉnh trong đó bạn có thể thực hiện nhiều lệnh.

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

Xóa bộ nhớ cache của Yum

Theo mặc định, yum lưu trữ tất cả dữ liệu gói từ kho đã kích hoạt trong /var/cache/yum/ với mỗi thư mục con, để xóa tất cả các tệp cache từ kho đã kích hoạt, bạn cần thường xuyên chạy lệnh sau để dọn dẹp bộ nhớ cache và đảm bảo không có không gian không cần thiết được sử dụng. Chúng tôi không muốn cung cấp kết quả của lệnh dưới đây, vì chúng tôi muốn giữ dữ liệu cache như nó hiện tại.

# yum clean all

Xem lịch sử của lệnh yum

Để xem tất cả các giao dịch trước đây của lệnh yum, chỉ cần sử dụng lệnh sau.

# 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

Chúng tôi đã tóm tắt tất cả các lệnh yum cơ bản và nâng cao cùng với từng ví dụ. Nếu có bất kỳ điều gì liên quan đến lệnh yum có thể đã bị bỏ sót, xin vui lòng cập nhật cho chúng tôi thông qua ô bình luận. Chúng tôi sẽ tiếp tục cập nhật dựa trên phản hồi nhận được.

Mọi người cùng tìm kiếm: yum install, yum ubuntu, yum centos, centos yum, centos update, centos update yum, check ubuntu or centos, centos 7 yum