yum 簡介
Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟體包管理器。基于RPM包管理,能夠從指定的伺服器自動下載下傳RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載下傳、安裝。
yum 安裝:
系統預設是安裝了yum的,是以無需安裝。

如果朋友們系統有未安裝yum的,請自行挂載CD光牒安裝,
yum的基礎安裝包如下,其他的安裝包根據自己需要進行安裝,安裝過程不再示範;
yum配置:
yum的配置檔案分為兩部分:main和repositoy
· man部分定義了全局配置選項,整個yum配置檔案應該隻有一個main,位于 /etc/yum.conf 中;
· repository 部分定義了每個源/伺服器的具體配置,可以有一到多個。位于 /etc/yum.repo.d 目錄下的各個檔案中
[main]
cachedir=/var/cache/yum/$basearch/$releasever
//yum 緩存的目錄,yum在此存儲下載下傳的rpm包和資料庫,預設設定為/var/cache/yum
keepcache=0
//安裝完成後是否保留軟體包,0為不保留(預設為0),1為保留
debuglevel=2
//Debug 資訊輸出登機,範圍為0-10,預設為2
logfile=/var/log/yum.log
//yum 日志檔案位置。使用者可以到/var/log/yum.log 檔案中去查詢過去所做的更新
exactarch=1
//有1和0兩個選項,設定為1,則yum隻會安裝和系統架構比對的軟體包,例如,yum不會将i686的軟體包安裝在适合i386的系統中。預設為1。
obsoletes=1
//這是一個update的參數,具體請閱讀yum(8),簡單的說就是相當于upgrade,允許更新陳舊的PRM包。
gpgcheck=1
//gpgcheck是gpg驗證是否開啟的選項,1是開啟,0是不開啟,一般情況可以關掉.
plugins=0
//是否啟用插件,預設1為允許,0表示不允許。我們一般會用yum-fastestmirror這個插件。
installonly_limit=5
//允許保留多少個核心,預設為5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
//指定一個軟體包,yum會根據這個包判斷你的發型版本,預設是centos-release,也可以是安裝的任何針對自己發行版的rpm包。
# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
除了上面之外,還有一些可以添加的選項,如:
exclude=selinux*
//排除某些軟體在更新名單之外,可以用通配符,清單中各個項目要用空格隔開,這個對于安裝了諸如美化包,中文更新檔的朋友特别有用。
//有1和0兩個選擇,分别代表是否進行gpg(GNU Private Guard)校驗,以确定rpm包的來源是有效的和安全的。這個選項如果設定在[main]部分,則對每個repository都有效。預設值為0。
配置本地yum源:
1、挂載CD光牒(挂載請參考:http://ssc4469.blog.51cto.com/6315913/1602717)這裡不做解釋;
2、本地yum源位于 /etc/yum.repos.d/
[root@mage 10.19.166.23 /etc/yum.repos.d ]
# ls -l /etc/yum.repos.d/
total 20
-rw-r--r--. 1 root root 1926 Jan 19 05:36 CentOS-Base.repo
-rw-r--r--. 1 root root 638 Jan 19 05:36 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 630 Jan 19 05:36 CentOS-Media.repo
-rw-r--r--. 1 root root 3664 Jan 19 05:36 CentOS-Vault.repo
CentOS-Base.repo 是yum網絡源的配置檔案
CentOS-Media.repo 是yum本地源的配置檔案
修改CentOS-Media.repo
# vim CentOS-Media.repo
# CentOS-Media.repo
#
# This repo can be used with mounted DVD media, verify the mount point for
# CentOS-6. You can use this repo and yum to install items directly off the
# DVD ISO that we release.
# To use this repo, put in your DVD and use it with the other repos too:
# yum --enablerepo=c6-media [command]
#
# or for ONLY the media repo, do this:
# yum --disablerepo=\* --enablerepo=c6-media [command]
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
file:///media/cdrom/
file:///media/cdrecorder/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
在baseurl中修改第2個路徑,注(此路徑為CD光牒的挂載點路徑,下面是我的挂載路徑,朋友根據自己路徑進行更改)
将enabled=0改為1
3、禁用預設的yum網絡源方式:
(1)将預設的yum源改名;
(2)将預設的yum源備份放置其他目錄;
注意:如果預設有CentOS-Base.repo系統會自動有限使用網絡源進行尋找合适的包
4、執行,yum install postgresql
自建網絡yum源配置:(由于時間關系,簡寫了,雖然簡寫,按照步棸執行絕對能配置成功)
1、yum install httpd (安裝Apache軟體包,同理也可以使用nginx)
2、進入預設的Apache路徑,建立yum源目錄分類名;我這裡建立了rpmpackage,實際上示範圖省事,把cdrom的包copy過來了。
# cd /var/www/html/rpmpackage
3、安裝createrepo軟體包
# yum install createrepo
執行createrepo
# creataerepo /var/www/html/rpmpackage
在/var/www/html/rpmpackage目錄下會自動生成repodata目錄,repodata目錄裡是一個資料庫,其中的檔案主要是XML格式,描述了一個rpm包的詳細資訊,如依賴關系,包含檔案,校驗碼資訊。
4、修改apache預設配置
vim /etc/httpd/conf/httpd.conf
在最後加入:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /home/yum
ServerName XXX.XXX.XXX #填寫綁定的域名
<Directory "/home/yum">
Options Indexes FollowSymlinks
</Directory>
</VirtualHost>
5、重新開機apache
兩種方式
(1)# /etc/init.d/httpd restart
(2)# service httpd restart
顯示如下:
6、配置用戶端的yum源配置檔案
(1)清空用戶端預設/etc/yum.repos.d/目錄下的源檔案
(2)建立
# vim local-media.repo
說明:
[test]:是repo id。
name:倉庫的描述。
baseurl:倉庫的位置。
enabled:是否啟用這個倉庫,1為起用,0為禁用。
gpgcheck:是否檢查gpg簽名,1為檢查,0為不檢查。
(XXX.XXX.XXX是綁定的域名)
注:如果是内部使用,gpgcheck可以設定為0(同時gpgkey也不用設定),如果更新源放在公網上的話還是需要檢查gpg簽名,保證用戶端得到來源的可靠性。
(3)清理緩存
# yum clean all
(4)檢視yum包
# yum listall
##########################結束~~
yum用戶端指令的使用:
1、列出所有可用repo
yum repolist {enabled|disabled|all}
2、列出rpm包
yum list {all|installed|available}
yum list KEYWORD*
3、包的描述資訊
yum info package_name
4、列出所有的包組資訊
yum grouplist
5、顯示包組的資訊:例如組中包含的程式包清單
yum groupinfo "GROUP NAME"
CentOS6 跟開發相關的包組:
Development Tools
Server Platform Development
Desktop Platform Development
6、清理緩存
yum clean {all|packages|metadata|expire-cache|rpmdb|plugins}
7、安裝程式包
yum install package_name
重新安裝:
yum reinstall package_name
8、更新
yum check-update: 檢查可用的更新包
yum update package_name
yum update x-1.3.2
yum downgrade package_name
9、解除安裝
yum remove|erase package_name
10、查詢某檔案是由哪個包安裝生成的
yum whatprovides|provides /path/to/somefile
11、安裝包組
yum groupinstall "GROUP NAME"