linux yum 命令

Linux yum 命令

yum( Yellow dog Updater, Modified)是一個在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端軟體包管理器。

基於 RPM 包管理,能夠從指定的伺服器自動下載 RPM 包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。

yum 提供了查詢、安裝、刪除某一個、一組甚至全部軟體包的命令,而且命令簡潔而又好記。

yum 語法

yum [options] [command] [package ...]
  • options:可選,選項包括-h(幫助),-y(當安裝過程提示選擇全部為 "yes"),-q(不顯示安裝的過程)等等。
  • command:要進行的操作。
  • package:安裝的包名。

yum常用命令

  • 1. 列出所有可更新的軟體清單命令:yum check-update

  • 2. 更新所有軟體命令:yum update

  • 3. 僅安裝指定的軟體命令:yum install <package_name>

  • 4. 僅更新指定的軟體命令:yum update <package_name>

  • 5. 列出所有可安裝的軟體清單命令:yum list

  • 6. 刪除軟體包命令:yum remove <package_name>

  • 7. 查詢軟體包命令:yum search <keyword>

  • 8. 清除快取命令:

    • yum clean packages: 清除快取目錄下的軟體包
    • yum clean headers: 清除快取目錄下的 headers
    • yum clean oldheaders: 清除快取目錄下舊的 headers
    • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除快取目錄下的軟體包及舊的 headers

例項 1

安裝 pam-devel

[root@www ~]# yum install pam-devel
Setting up Install Process
Parsing package install arguments
Resolving Dependencies  <==先檢查軟體的屬性相依問題
--> Running transaction check
---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be updated
--> Processing Dependency: pam = 0.99.6.2-4.el5 for package: pam-devel
--> Running transaction check
---> Package pam.i386 0:0.99.6.2-4.el5 set to be updated
filelists.xml.gz          100% |=========================| 1.6 MB    00:05
filelists.xml.gz          100% |=========================| 138 kB    00:00
-> Finished Dependency Resolution
……(省略)

例項 2

移除 pam-devel

[root@www ~]# yum remove pam-devel
Setting up Remove Process
Resolving Dependencies  <==同樣的,先解決屬性相依的問題
--> Running transaction check
---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Removing:
 pam-devel               i386       0.99.6.2-4.el5   installed         495 k

Transaction Summary
=============================================================================
Install      0 Package(s)
Update       0 Package(s)
Remove       1 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   : pam-devel                    ######################### [1/1]

Removed: pam-devel.i386 0:0.99.6.2-4.el5
Complete!

例項 3

利用 yum 的功能,找出以 pam 為開頭的軟體名稱有哪些?

[root@www ~]# yum list pam*
Installed Packages
pam.i386                  0.99.6.2-3.27.el5      installed
pam_ccreds.i386           3-5                    installed
pam_krb5.i386             2.2.14-1               installed
pam_passwdqc.i386         1.0.2-1.2.2            installed
pam_pkcs11.i386           0.5.3-23               installed
pam_smb.i386              1.1.7-7.2.1            installed
Available Packages <==底下則是『可升級』的或『未安裝』的
pam.i386                  0.99.6.2-4.el5         base
pam-devel.i386            0.99.6.2-4.el5         base
pam_krb5.i386             2.2.14-10              base

國內 yum 源

網易(163)yum源是國內最好的yum源之一 ,無論是速度還是軟體版本,都非常的不錯。

將yum源設定為163 yum,可以提升軟體包安裝和更新的速度,同時避免一些常見軟體版本無法找到。

安裝步驟

首先備份/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下載對應版本 repo 檔案, 放入 /etc/yum.repos.d/ (操作前請做好相應備份)

  • CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo
  • CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo
  • CentOS7 :http://mirrors.163.com/.help/CentOS7-Base-163.repo
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo

執行以下命令生成快取

yum clean all
yum makecache

除了網易之外,國內還有其他不錯的 yum 源,比如中科大和搜狐。

中科大的 yum 源,安裝方法檢視:https://lug.ustc.edu.cn/wiki/mirrors/help/centos

sohu 的 yum 源安裝方法檢視: http://mirrors.sohu.com/help/centos.html