1. 程式人生 > >自動化部署必備技能—搭建YUM倉庫

自動化部署必備技能—搭建YUM倉庫

M主要用於自動安裝、升級rpm軟體包,它能自動查詢並解決rpm包之間的依賴關係。要成功的使用YUM工具安裝更新軟體或系統,就需要有一個包含各種rpm軟體包的repository(軟體倉庫),這個軟體倉庫我們習慣稱為yum源。網路上有大量的yum源,但由於受到網路環境的限制,導致軟體安裝耗時過長甚至失敗。特別是當有大量伺服器大量軟體包需要安裝時,緩慢的進度條令人難以忍受。因此我們在優化系統時,都會更換國內的源。

    相比較而言,本地YUM源伺服器最大優點是區域網的快速網路連線和穩定性。有了區域網中的YUM源伺服器,即便在Internet連線中斷的情況下,也不會影響其他YUM客戶端的軟體安裝和升級。

1.1 服務端配置

mkdir -p
/application/yum/centos6/x86_64/    ß1.建立yum倉庫目錄,rpm包都上至此目錄

yum -y install createrepo                ß2.安裝createrepo軟體

createrepo -pdo
/application/yum/centos6/x86_64/ /application/yum/centos6/x86_64/            ß3.初始化repodata索引檔案

cd /application/yum/centos6/x86_64/       ß4.進入需要提供倉庫的目錄

python -m SimpleHTTPServer 80 &>/dev/null &   ß

5.可以用Apachenginx提供web服務,但用Pythonhttp模組更簡單,適用於內網環境可以通過瀏覽器輸入本機IP檢視。

createrepo --update /application/yum/centos6/x86_64/        ß6.每加入一個rpm包就要更新一下

sed -i 's#keepcache=0#keepcache=1#g'
/etc/yum.conf          ß修改yum配置檔案keepacache=0改為1,儲存下載過的軟體

cachedir=/var/cache/yum/$basearch/$releasever         ß安裝包儲存目錄=
/var/cache/yum/x86_64/6/base/packages

1.2客戶端配置

cd /etc/yum.repos.d

[[email protected] yum.repos.d]# vi oldboy.repo          ß連線本地yum

[xuliangwei]

name=Server

baseurl=http://10.0.0.5

enable=1

gpgcheck=0

[[email protected] ~]# yum
--enablerepo=xuliangwei--disablerepo=base,extras,updates,epel list ß指定使用xuliangwei(臨時生效)

[[email protected] yum.repos.d]# vim
/etc/yum.repos.d/CentOS-Base.repo

# 在每一個啟動的源加上

# enabled=0#改為1就啟用,沒有此引數也是啟用。

[base]

…………

enabled=0

[updates]

…………

enabled=0

[extras]

…………

enabled=0

# 還有其他開啟的倉庫就使用這個辦法關閉

2.Yum服務配置檔案

2.1全域性配置檔案


main部分定義了全域性配置選項,整個yum配置檔案應該只有一個main,位於/etc/yum.cof

[[email protected] ~]# cat /etc/yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasever         ßyum快取的目錄,儲存下載的rpm包和資料庫

keepcache=0   ß安裝完成後是否保留軟體包,0為不保留(預設為0)1為保留

debuglevel=2   ßDebug資訊輸出等級,範圍為0-10,預設為2

logfile=/var/log/yum.log ß日誌檔案位置

exactarch=1     ß10兩個選項,設定為1,則yum只會安裝和系統架構匹配的軟體包。

obsoletes=1     ß update的引數,相當於upgrade,允許更新陳舊的RPM包。

gpgcheck=1     ß

plugins=1 ß是否啟用外掛,預設1為允許,0表示不允許

installonly_limit=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會根據這個包判斷髮行版本


2.2yum倉庫配置檔案

repository部分定義了每個源伺服器的具體配置,可以有一到多個,位於/etc/yum.repos.d/目錄下的各檔案中

[[email protected] ~]# ll /etc/yum.repos.d/

CentOS-Base.repo   ß網路源的配置檔案

CentOS-Media.repo         ß本地源的配置檔案

epel.repo ß第三方源的配置檔案

2.3配置本地yum源

[[email protected] ~]# grep -v "^#"
/etc/yum.repos.d/CentOS-Media.repo

[c6-media]

name=CentOS-$releasever - Media

baseurl=file:///media/CentOS/

file:///media/cdrom/       ß修改為/mnt/cdrom(即為光碟掛載點)

file:///media/cdrecorder/

gpgcheck=1

enabled=0 ß改為1就啟動,沒有此引數也是啟用。

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#當然也可以像上面自己寫一個檔案,然後指定為下載點即可。

3.企業yum倉庫搭建實戰

上面只是將自己製作的rpm包,放入yum源。但還有一種企業需求,說的更具體一點,平時學生上課yum安裝軟體都是從公網下載的,佔用頻寬,因此在學校裡搭建一個內網yum伺服器,但又考慮到學生回家也要使用yum安裝軟體,如果yum軟體的資料庫檔案repodata不一樣,就會有問題。因此我想到的解決方法就是直接使用公網yum源的repodata。

映象同步公網yum源上游yum源必須要支援rsync協議,否則不能使用rsync進行同步。http://mirrors.ustc.edu.cn/status/

CentOS官方標準源:rsync://mirrors.ustc.edu.cn/centos/

epel源:rsync://mirrors.ustc.edu.cn/epel/

同步命令:

使用rsync同步yum源,為了節省頻寬、磁碟和下載時間,我只同步了CentOS6rpm包,這樣所有的rpm包只佔用了21G,全部同步需要300G左右。

同步base源,小技巧,我們安裝系統的光碟映象含有部分rpm包,大概3G,這些就不用重新下載。

/usr/bin/rsync -av
rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64/
/data/yum_data/centos/6/os/x86_64/

/usr/bin/rsync -av
rsync://mirrors.ustc.edu.cn/centos/6/extras/x86_64/
/data/yum_data/centos/6/extras/x86_64/

/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/updates/x86_64/
/data/yum_data/centos/6/updates/x86_64/

# epel源

/usr/bin/rsync -av --exclude=debug
rsync://mirrors.ustc.edu.cn/epel/6/x86_64/ /data/yum_data/epel/6/x86_64/

學生使用內網yum源方法

# 可以自建一個內網dns,如果沒有,可使用hosts解析。

echo
'192.168.0.200 mirrors.aliyun.com' >>/etc/hosts


相關推薦

自動化部署必備技能——搭建YUM倉庫

yumyum主要用於自動安裝、升級rpm軟件包,它能自動查找並解決rpm包之間的依賴關系。要成功的使用YUM工具安裝更新軟件或系統,就需要有一個包含各種rpm軟件包的repository(軟件倉庫),這個軟件倉庫我們習慣稱為yum源。網絡上有大量的yum源,但由於受到網絡環境的限制,導致軟件安裝耗時過長甚至失

自動化部署必備技能搭建YUM倉庫

M主要用於自動安裝、升級rpm軟體包,它能自動查詢並解決rpm包之間的依賴關係。要成功的使用YUM工具安裝更新軟體或系統,就需要有一個包含各種rpm軟體包的repository(軟體倉庫),這個軟體倉庫我們習慣稱為yum源。網路上有大量的yum源,但由於受到網路環境的限制,

自動化部署必備技能部署yum倉庫、定制rpm包

實例 ase 成功 mar 自動安裝 占用 便在 運行 devel 部署yum倉庫、定制rpm包 目錄 第1章 擴展 - yum緩存   1.1 yum緩存使用步驟... 1 1.1.1 導言... 1 1.1.2 修改配置文件... 1 1.1.3 使用緩存... 1

自動化部署必備技能—定制化RPM包

rpm這裏也不介紹rpmbuild這個打包工具了,想了解的朋友自行谷歌百度。但我不建議大家花太多的時間去學習這個命令,比較晦澀,而且我會在下面介紹更簡單的命令。FPM打包工具FPM的作者是jordansissel FPM的github:https://github.com/jordansissel/fpm F

自動化部署必備技能——定制RPM包

rpm回顧下安裝軟件的三種方式:1、編譯安裝軟件,優點是可以定制化安裝目錄、按需開啟功能等,缺點是需要查找並實驗出適合的編譯參數,諸如MySQL之類的軟件編譯耗時過長。 2、yum安裝軟件,優點是全自動化安裝,不需要為依賴問題發愁了,缺點是自主性太差,軟件的功能、存放位置都已經固定好了,不易變更。 ===&g

搭建yum倉庫部署共享型yum源、掛載的兩種方式

概述: 上一節講到如何讓新建立的虛擬機器下載官方軟體,那麼難道我們每新建一個虛擬機器都需要配置一次yum源嗎? 所以我們需要部署共享型yum源,讓多臺主機也可以下載軟體。 如果將yum源搭建在虛擬機器中,那麼每次開機都需要開啟這個虛擬機器才能實現yum源的共享, 這樣比較麻煩,所以直接

定制rpm包及搭建yum倉庫

定制rpm包及搭建yum倉庫定制rpm包及搭建yum倉庫 第1章 定制rpm包 1.FPM打包工具FPM的作者是jordansisselFPM的github:https://github.com/jordansissel/fpmFPM功能簡單說就是將一種類型的包轉換成另一種類型。 支持的源類型包:dir

同步阿裏雲鏡像到本地,在本地搭建YUM倉庫

同步阿裏雲鏡像到本地,在本地搭建YUM倉庫

自動化部署之Maven的私有倉庫Nexus

jenkins 自動化部署 maven nexus 1、什麽是Nexus?在前面進行maven項目的構建中,可以看到在構建的過程中需要安裝maven的依賴插件,如圖:而在maven的默認配置中是在官網的中央倉庫和第三方的maven倉庫進行下載,速度偏慢。這裏提供阿裏雲的maven插件庫(htt

定制rpm包、搭建yum倉庫

hat nginx ont img outline ace 5.6 bottom sel 一、定制rpm包1、環境[root@m01 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@m01 ~]#

搭建yum倉庫遠程登陸Win7系統

yum倉庫;Linux;遠程登陸Win7實驗目的:Linux實現鏡像文件自動掛載,搭建yum倉庫,配置遠程桌面功能,可以遠程控制win7系統 1.找到/dev目錄下的cdrom並掛載(自己創建掛載路徑本實驗用的是/mnt)2.安裝遠程連接所需軟件包如下圖所示:3.檢查/etc/yum.repos.d目錄下內

實現Linux鏡像文件自動掛載,搭建yum倉庫實現遠程桌面win7系統

inux鏡像文件自動掛載 搭建yum倉庫實現遠程桌面win7系統 實現Linux鏡像文件自動掛載,搭建yum倉庫實現遠程桌面win7系統 環境描述:Linux01(IP地址192.168.10.10/24)實現鏡像文件自動掛載,搭建yum倉庫,配置遠程桌面功能,可以遠程桌面win7系統(IP地址19

Linux搭建yum倉庫

3.3 2.4 查看 net 客戶端 target pack str packages 1、安裝nginx 2、為nginx搭建共享目錄 3、安裝createrepo,創建存儲庫 4、客戶端測試 1、安裝nginx yum list |grep nginx  #查看是

搭建yum倉庫服務器

plugins 連接 avi bubuko qlite yum安裝 ini 配置文件信息 title 環境:服務端centos6.9 客戶端要求 能上網(可以ping通baidu.com) 1.yum的配置文件信息在/etc/yum.repos.d/下,我們配置的是自己的

Linux服務器上搭建yum倉庫

sha 解決 麻煩 我們 安裝軟件 網絡連接 linux系統 微軟雅黑 ima 概述 YUM主要用於自動安裝、升級rpm軟件包,它能自動查找並解決rpm包之間的依賴關系。要成功的使用YUM工具安裝更新軟件或系統,就需要有一個包含各種rpm軟件包的r

搭建yum倉庫指令碼

Shell指令碼語言是實現Linux/UNIX系統管理及自動化運維所必備的重要工具,Linux/UNIX系統的底層及基礎應用軟體的核心大部分涉及Shell指令碼的內容。每一個合格的Linux系統管理員或運維工程師,都需要熟練的編寫Shell指令碼語言,並能夠閱讀系統及各類軟體附帶的Shell指令碼內容。只有這

搭建yum倉庫腳本

info 一個 核心 工程 shell腳本 png 技術分享 圖片 shell Shell腳本語言是實現Linux/UNIX系統管理及自動化運維所必備的重要工具,Linux/UNIX系統的底層及基礎應用軟件的核心大部分涉及Shell腳本的內容。每一個合格的Linux系統管理

Centos6.9定製rpm包、搭建yum倉庫

目錄 1 保留yum安裝軟體時下載下來的rpm包 只需修改yum配置檔案即可。下載下來的rpm包會自動儲存在/var/cache/yum/目錄下 [[email p

同步阿里雲映象到本地,在本地搭建YUM倉庫 【轉】

1.下載阿里雲映象repo檔案 專案使用CentOS6系統,因此我下載的檔案是: # CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and th

搭建yum倉庫

搭建Yum倉庫YUM主要用於自動安裝、升級rpm軟體包,它能自動查詢並解決rpm包之間的依賴關係。要成功的使用YUM工具安裝更新軟體或系統,就需要有一個包含各種rpm軟體包的repository(軟體倉庫),這個軟體倉庫我們習慣稱為yum源。網路上有大量的yum源,但由於受到