YUM介紹html
YUM主要用於自動升級、安裝\移除rpm軟件包,它能自動查找並解決rpm包之間的依賴關係,要成功的使用YUM工具更新系統和軟件,須要有一個包含各類rpm軟件包的repository(軟件倉庫),提供軟件倉庫的服務器習慣上成爲「源」服務器。網絡上有大量的源服務器,可是,因爲受到網絡鏈接速度、帶寬的限制,致使軟件安裝耗時過長甚至失敗。特別是當有大量服務器大量軟件包須要升級時,更新的緩慢程序使人難以忍受。linux
相比較而言,本地YUM源服務器最大優勢在局域網的快速網絡鏈接和穩定性。有了局域網中的YUM源服務器,即使在Internet鏈接中斷的狀況下,也不會影響其餘YUM客戶端的軟件升級和安裝。sql
下面就介紹下 本地yum源的搭建。apache
1、啓動 httpd 服務(通常httpd服務已經安裝)瀏覽器
取一臺 CentOS操做系統的機器做爲源服務器。啓動服務器的httpd 服務:service httpd start緩存
可查看配置文件: /etc/httpd/conf/httpd.conf 瞭解httpd相關配置信息服務器
這裏咱們配置的文檔根目錄爲:/var/www/html/ 端口: Listen 80網絡
vi /etc/httpd/conf/httpd.confide
確認服務啓動,瀏覽器訪問: http://localhost:80 出現以下apache頁面(若是從其餘機器訪問,請先關閉防火牆:service iptables stop )工具
2、安裝 createrepo 工具 (若使用 linux iso 鏡像 則爲非必須)
createrepo是linux下的建立倉庫的軟件包。
1、在機器聯網的狀況下可直接安裝: yum install createrepo
2、可以使用rpm -ivh createrepo-xxx.noarch.rpm 安裝由網上下載的rpm包,通常會有兩個依賴
3、linux經常使用工具rpm包,通常在鏡像文件中都存在
3、安裝 yum 源
一、使用 Linux ISO 鏡像中的RPM包安裝
(1)、將 ISO 文件 copy 到服務器上,並在文件夾: /var/www/html/ 下建立文件夾 CentOS
(2)、將 ISO文件掛載至文件夾 /var/www/html/CentOS
執行:mount -o loop /var/www/html/CentOS-6.4-x86_64-bin-DVD1.iso /var/www/html/CentOS
(取消掛載 umount /var/www/html/CentOS)
(3)、查看文件夾 /var/www/html/CentOS
能夠看到 repodata 文件夾的存在,repodata做爲軟件的倉庫信息文件。
ISO鏡像 yum源搭建OK
瀏覽器訪問:http://localhost:80/CentOS/
二、使用 本身準備的 RPM 包 (這裏以 apache ambari爲例)
(1)、在目錄 /var/www/html/ 下創建一個文件夾,把準備的 RPM包放到裏面
(2)、建立倉庫信息文件,在目錄 /var/www/html/ 下執行:createrepo ambari
查看ambari目錄,能夠看到 repodate 文件已經生成
ambari yum源搭建OK
4、使用yum源
(1)、編輯 repo 文件
在本機或其餘機器上,進入文件夾:/etc/yum.repos.d/ 將其中的文件移除掉
新建文件:CentOS.repo (可由 CentOS-Base.repo copy)
(2)、更新 yum源
yum clean 清除yum源緩存
yum repolist 列出可用yum源
(3)、使用 (嘗試安裝postgresql)
同理可配置使用 ambari 源
可將 repo 文件放置在源服務器 /var/www/html/ 目錄下,以供其餘機器方便下載使用
5、可能會出現的問題
一、問題
you don't have permission to access / on this server(Apache Server權限訪問問題)
Apache Http Server已經在linux上安裝完成,但是經過瀏覽器訪問,卻出現了「you don't have permission to access / on this server」.
解決:
(1)、在httpd.conf文件中,有這麼一段
<Directory/> # 這裏的目錄爲本身的目錄
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
能夠嘗試把Deny改爲Allow,而後重啓apache服務,訪問頁面,看問題是否解決。
(2)、查看相應的目錄是否擁有權限,若是你不知道怎麼加權限之類,運行以下兩個命令:
chown apache.root 目錄名 -R # 此是更改目錄所屬用戶和用戶組
chmod 755 目錄名 -R # 此是更改目錄讀寫權限
而後重啓apache服務,訪問頁面,看問題是否解決。
(3)、終極絕殺,以上2條都還通不過的話(報相同的錯誤信息),運行以下兩個命令
setenforce 0 # 暫時禁用SELinux服務
service iptables stop #暫時禁用防火牆
訪問頁面,看問題是否解決;
二、問題:
Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
http://10.1.33.21/ambari/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 403 Forbidden"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: ambari-1.x. Please verify its path and try again
解決:
yum源服務器運行以下命令
setenforce 0 # 暫時禁用SELinux服務
3、問題:
yum install xxx.rpm
warning:
Package xxx.rpm is not signed
解決:
只要在在後面加上--nogpgcheck就能夠了,格式以下
yum install *rpm --nogpgcheck