標籤:linux centos yum yum源
yum 簡介
Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟體包管理器。基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。
yum 安裝:
系統預設是安裝了yum的,所以無需安裝。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/58/C9/wKioL1S8u4CAbeQkAAE6kMZzC74131.jpg" title="1.png" alt="wKioL1S8u4CAbeQkAAE6kMZzC74131.jpg" />
如果朋友們系統有未安裝yum的,請自行掛載光碟片安裝,
yum的基礎安裝包如下,其他的安裝包根據自己需要進行安裝,安裝過程不再示範;
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/58/CC/wKiom1S8vEyCMR3RAANOtgZpY-s391.jpg" title="2.png" alt="wKiom1S8vEyCMR3RAANOtgZpY-s391.jpg" />
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/yumkeepcache=0 //安裝完成後是否保留軟體包,0為不保留(預設為0),1為保留debuglevel=2 //Debug 資訊輸出登機,範圍為0-10,預設為2logfile=/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 //允許保留多少個核心,預設為5bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yumdistroverpkg=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* //排除某些軟體在升級名單之外,可以用萬用字元,列表中各個項目要用空格隔開,這個對於安裝了諸如美化包,中文補丁的朋友特別有用。gpgcheck=1//有1和0兩個選擇,分別代表是否進行gpg(GNU Private Guard)校正,以確定rpm包的來源是有效和安全的。這個選項如果設定在[main]部分,則對每個repository都有效。預設值為0。
配置本地yum源:
1、掛載光碟片(掛載請參考:http://ssc4469.blog.51cto.com/6315913/1602717)這裡不做解釋;
2、本地yum源位於 /etc/yum.repos.d/
[[email protected] 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 - Mediabaseurl=file:///media/CentOS/ file:///media/cdrom/ file:///media/cdrecorder/gpgcheck=1enabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
在baseurl中修改第2個路徑,注(此路徑為光碟片的掛載點路徑,下面是我的掛載路徑,朋友根據自己路徑變更)
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/58/CD/wKiom1S8zlvABydQAAMuy2XLx8o484.jpg" title="3.png" alt="wKiom1S8zlvABydQAAMuy2XLx8o484.jpg" />
將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/yumServerName XXX.XXX.XXX #填寫綁定的網域名稱<Directory "/home/yum">Options Indexes FollowSymlinks</Directory></VirtualHost>
5、重啟apache
兩種方式(1)# /etc/init.d/httpd restart(2)# service httpd restart
顯示如下:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/58/CB/wKioL1S824CTvkeiAASD-kykSGQ804.jpg" title="4.png" alt="wKioL1S824CTvkeiAASD-kykSGQ804.jpg" />
6、配置用戶端的yum源設定檔
(1)清空用戶端預設/etc/yum.repos.d/目錄下的源檔案
(2)建立
# vim local-media.repo
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/58/CE/wKiom1S82xHAyRwAAACdD1M5nUw482.jpg" title="6.png" alt="wKiom1S82xHAyRwAAACdD1M5nUw482.jpg" />
說明:[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、列出所有可用repoyum repolist {enabled|disabled|all}2、列出rpm包yum list {all|installed|available} yum list KEYWORD*3、包的描述資訊yum info package_name4、列出所有的包組資訊yum grouplist5、顯示包組的資訊:例如組中包含的程式包列表yum groupinfo "GROUP NAME"CentOS6 跟開發相關的包組:Development ToolsServer Platform DevelopmentDesktop Platform Development6、清理緩衝yum clean {all|packages|metadata|expire-cache|rpmdb|plugins}7、安裝程式包yum install package_name 重新安裝:yum reinstall package_name8、升級yum check-update: 檢查可用的升級包yum update package_nameyum update x-1.3.2yum downgrade package_name9、卸載yum remove|erase package_name10、查詢某檔案是由哪個包安裝產生的yum whatprovides|provides /path/to/somefile11、安裝包組yum groupinstall "GROUP NAME"12、卸載包組yum groupremove "GROUP NAME"
本文出自 “阿俊部落格” 部落格,請務必保留此出處http://ssc4469.blog.51cto.com/6315913/1605864
CentOS yum 源配置和使用與配置yum倉庫