yum的使用-實戰篇

yum命令的使用實戰php

(1)      安裝程序包mysqlpython

命令格式:yum install package1 [package2] [...]mysql

[root@Bisc-lab01 ~]# yum -y install mysql

#提示:nginx

   1)當你使用第一次使用時yum要下載倉庫的元數據庫文件,網速慢請耐心的等待;es6

   2)當你已經安裝了Mysql時,若是倉庫中有新版的MysQL此時會進行更新的。web

   3)若是你想安裝全部與php相關的程序包,這裏還可使用通配符(*[])進行匹配安裝。sql

(2)程序的卸載shell

    命令格式:yum remove| erase package1 [package2] [...]數據庫

     在程序卸載時,yum會把所依賴的關係的程序包,沒有別的程序所依賴的包一統卸載。centos

[root@Bisc-lab01 ~]# yum remove tree

(3)程序包的升級

    在進行升級以前你能夠檢查一下當前系統上有哪些程序包可升級的,使用yum check-update命令進行檢查。

   命令格式:yum update[package1] [package2] [...]

[root@Bisc-lab01 ~]# yum update mysql    #<----更新mysql
Loaded plugins: fastestmirror,refresh-packagekit, security
Setting up Update Process
Repository base is listed morethan once in the configuration
Loading mirror speeds fromcached hostfile
Package(s) mysql available, butnot installed.
No Packages marked for Update

提示:若是沒有要升級以前沒有安裝mysql程序包,yum是不會進行安裝,會提示此程序包沒有安裝。

   省略後面的包名,即只有yum update命令,yum會對當前系統升級,包括內核版本,程序包等。

(4)程序包的查看

   程序包的查看能夠是已安裝的,能夠安裝的,可升級的,已廢棄的包或系統上已經安裝,但不是當前倉庫中的程序包,即不知來源的程序包。

命令格式:yum list {available|updates|installed|extras|obsoletes}[glob_exp1] [...]

[root@Bisc-lab01 ~]# yum list extras    #查看當前系統上已安裝的但不是倉庫的程序包
Loaded plugins: fastestmirror,refresh-packagekit, security
Repository base is listed morethan once in the configuration
Loading mirror speeds fromcached hostfile
Extra Packages                 #這裏指明瞭包的類型
Nessus.x86_64                6.3.4-es6                installed
nginx.x86_64                1.6.2-1.el6.ngx        installed

#提示:

1)顯示的信息主要的格式爲:name.arch[epoch:]version-release  repo or@installed-from-repo

即:包名.適合的平臺  版本號:發行號    由哪一個倉庫提供或已經安裝在當前系統上的

2)當使用命令yum list all能夠查看當前系統所安裝的及yum倉庫的包

5)列出已經配置的可用倉庫

  命令格式:yum repolist[all|enabled|disabled]

[root@Bisc-lab01 ~]# yum repolist
Loaded plugins: fastestmirror,refresh-packagekit, security
Repository base is listed morethan once in the configuration
Loading mirror speeds from cached hostfile      #<----這些數據是來自本機的緩存
repo id        repo name                                status
base           CentOS-6 - Base - 163.com                       6,518
epel          Fedora EPEL for CentOS6 x86_64 onlocal server 172.16.0.1   12,922
extra         CentOS 6 x86_64                               2,334
extras         CentOS-6 - Extras - 163.com                       37
updates        CentOS-6 - Updates - 163.com                    965
repolist: 22,776                   #<---總的程序包數量

提示:(1)輸出的格式即爲/etc/yum.repos.d/.repo中的配置文件內容:

       [標識]   name   此倉庫包的數量

[base]

name=CentOS-$releasever- Base - 163.com

baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

gpgcheck=1

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

   2)當本地沒有緩存或緩存已經很長時間沒有更新,此行yumrepolist時會下載元數據庫並緩存到本地

6yum緩存管理

    yum緩存管理能夠對當前緩存進行清理,及手動的更新緩存。

  命令格式:yum clean[ packages | metadata | expire-cache | rpmdb | plugins | all ]

         yum makecache

[root@Bisc-lab01 ~]# yum cleanall     #清理全部的緩存
Loaded plugins: fastestmirror,refresh-packagekit, security
Repository base is listed morethan once in the configuration
Cleaning repos: base epel extraextras updates
Cleaning up Everything
Cleaning up list of fastest mirrors
[root@Bisc-lab01 ~]# yummakecache     #手動執行緩存建立

7)查詢程序包的簡要信息

  不論包是否安裝只要倉庫中有都會被顯示出來,從中能夠查詢是否被安裝還在倉庫中。

[root@Bisc-lab01 ~]# yum info bash
Loaded plugins: fastestmirror,refresh-packagekit, security
Loading mirror speeds fromcached hostfile
Installed Packages         #提示程序包已安裝,如未安裝就會顯示在哪一個倉庫中。
Name        : bash
Arch        : x86_64
Version        : 4.1.2
Release        : 29.el6
Size        : 3.0 M
Repo        : installed
From repo        : anaconda-CentOS-201410241409.x86_64
Summary        : The GNU Bourne Again shell
URL        : http://www.gnu.org/software/bash
License        : GPLv3+
Description : The GNU BourneAgain shell (Bash) is a shell or command language
            : interpreter that is compatiblewith the Bourne shell (sh). Bash
            : incorporates useful features fromthe Korn shell (ksh) and the C shell
            : (csh). Most sh scripts can be runby bash without modification.

8)查找程序包,進行模擬查找

   若是你記得某個程序包的某關鍵字,能夠經過使用yum search string1 [string2] [...]進行查找的

例如:查找以包含有php關鍵字的包

[root@Bisc-lab01 ~]# yum searchphp
Loaded plugins: fastestmirror,refresh-packagekit, security
Loading mirror speeds fromcached hostfile
=================================N/S Matched: php =============================================
cups-php.x86_64 : Common UnixPrinting System - php module
eclipse-phpeclipse.noarch : PHPEclipse plugin
……………省略………………………

提示:其中的關鍵字包括在包名中的與Summary中的字符串。

9)安裝本地的程序包

  若是你想使用的程序包在當前的倉庫中沒有,而你已經把程序包下載到本地了,你可使用如下命令進行安裝,yum會自動的解決其依賴關係。

 命令格式:yuminstall 包文件

[root@Bisc-lab01 ~]# yuminstall zabbix-web-2.4.0-1.el6.noarch.rpm   #<---安裝zabbix-web程序,yum自動解決依賴關係
Loaded plugins: fastestmirror,refresh-packagekit, security
Setting up Install Process
Examiningzabbix-web-2.4.0-1.el6.noarch.rpm: zabbix-web-2.4.0-1.el6.noarch
Markingzabbix-web-2.4.0-1.el6.noarch.rpm to be installed
Loading mirror speeds fromcached hostfile
Resolving Dependencies
--> Running transactioncheck
---> Package zabbix-web.noarch0:2.4.0-1.el6 will be installed
--> Processing Dependency:zabbix-web-database = 2.4.0-1.el6 for package: zabbix-web-2.4.0-1.el6.noarch
--> Processing Dependency:php >= 5.3 for package: zabbix-web-2.4.0-1.el6.noarch
--> Processing Dependency:php-bcmath for package: zabbix-web-2.4.0-1.el6.noarch
--> Processing Dependency:php-gd for package: zabbix-web-2.4.0-1.el6.noarch
……………省略………………………

10)程序包組的管理

    yum能夠對程序進行安裝、卸載、升級、查看等的操做,其命令就是在相應的命令前面加下group便可:

   命令格式:

          yumgrouplist

          yum groupinstall group1[group2] [...]

          yumgroupremove group1 [group2] [...]

         yumgroupupdate group1 [group2] [...]

例如:查看當前全部的程序包組

[root@Bisc-lab01 ~]# yum grouplist
Loaded plugins: fastestmirror,refresh-packagekit, security
Setting up Group Process
Loading mirror speeds fromcached hostfile
Installed Groups:            #表示已安裝的程序包組
   Additional Development
   Base
……………省略………………………
Installed Language Groups:      #表示已安裝的語言包組
   Arabic Support [ar]
   Armenian Support [hy]
……………省略………………………
Available Groups:             #可安裝的程序包組
   Backup Client
   Backup Server
……………省略………………………
Available Language Groups:       #可安裝的語言包組
   Afrikaans Support [af]
……………省略………………………

11)查詢某文件是由哪一個程序包所產生的

   你是否是還記到上次咱們說過rpm也能夠查看某文件是由哪一個程序包所產生的。

命令格式:yum provides|whapprovides/PATH/TO/SOME_FILE

[root@Bisc-lab01 ~]# yum provides /etc/passwd     #<---查看/etc/passwd由哪一個程序包產生的
Loaded plugins: fastestmirror,refresh-packagekit, security
Loading mirror speeds fromcached hostfile      #<---表示調用的是本地緩存信息
setup-2.8.14-20.el6_4.1.noarch: A set of system configuration and setup files   #<---/etc/passwd是由setup所產生
Repo        : base                      #<---程序包所在的倉庫
Matched from:
Filename    : /etc/passwd
setup-2.8.14-20.el6_4.1.noarch: A set of system configuration and setup files
Repo        : installed                     #<---表示已安裝程序包
Matched from:
Other       : Provides-match: /etc/passwd

(12)使用yum命令出錯

[root@Bisc-lab01 ~]# yum install httpd*
Loaded plugins: fastestmirror, refresh-packagekit, security
Existing lock /var/run/yum.pid: another copy is running as pid 12652.
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: yum
    Memory :  48 M RSS (342 MB VSZ)
    Started: Sun Apr 12 20:31:04 2015 - 00:23 ago
    State  : Sleeping, pid: 12652

#提示:這說明有一個進程正在使用yum命令,若是你打開了多個終端窗口請查看。或者是當前你只開了一個終端窗口,在保證沒有另外的正在使用時你能夠強行的kill進程,操做方法以下:

[root@Bisc-lab01 ~]# ps -ef|grep yum

root     12652  3643  0 20:31 pts/1    00:00:02 /usr/bin/python /usr/bin/yum install mysql

root     12735  6659  0 20:36 pts/4    00:00:00 grep --color yum

[root@Bisc-lab01 ~]# kill 12652         #數字「12652」爲進程的PID

#kill以後從新運行yum命令,由於yum命令不運行時,不容許在yum命令,這樣說吧,一個yum命令在安裝mysql程序,而別一個yum命令恰好卸載了mysql依賴的某個程序包,一邊報mysql安裝完成,一邊報卸載完成,這不是亂套了嗎?

小結:

   yum命令是一個很基礎的命令,在生產環境中也是用得比較多的一個命令,從理論的原理知識去剖析它,會讓你從另一個層次去了解它,從而對它的執行作到內心有數,也會讓你更輕鬆的使用它,你會發現慢慢的你會愛上它的哦!!!

  咱們能夠運行用上面說到的yum工做原理,去搭建一個屬於本身的yum源,由於在生產環境中不是每一臺服務器都能上互聯網的,因此你須要一臺屬於本身的yum服務器。

相關文章
相關標籤/搜索