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時會下載元數據庫並緩存到本地
(6)yum緩存管理
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服務器。