搭建YUM倉庫

概述

  YUM 主要用於自動安裝、升級 rpm 軟件包,它能自動查找並解決 rpm 包之間的依賴關係。要功的使用 YUM 工具安裝更新軟件或系統,就須要有一個包含各類 rpm 軟件包的 repository(件倉庫),這個軟件倉庫咱們習慣稱爲 yum 源。網絡上有大量的 yum 源,但因爲受到網絡環的限制,致使軟件安裝耗時過長甚至失敗。特別是當有大量服務器大量軟件包須要安裝時,慢的進度條使人難以忍受。所以咱們在優化系統時,都會更換國內的源。相比較而言,本地 YUM 源服務器最大優勢是局域網的快速網絡鏈接和穩定性。有了局域網中YUM 源服務器,即使在 Internet 鏈接中斷的狀況下,也不會影響其餘 YUM 客戶端的軟件安裝升級。html

1.YUM是什麼?python

  YUM(Yellow Dog Updater Modified)爲多個 Linux 發行版的軟件包管理器,例如 Redhad RHEL、CentOS & Fedora。YUM 主要用於自動安裝,升級 rpm 軟件包,他能自動查找並解決 rpm 包的依賴關係,YUM 自動下載 YUM 包並安裝,相似軟件管家的一鍵安裝功能。linux

2.YUM源是什麼web

(1)要成功的使用 YUM 工具安裝更新軟件或系統,就須要有一個包含各類 rpm 軟件包的repository(軟件倉庫),這個軟件倉庫咱們習慣稱爲 yum 源,
(2)網絡上有大量的 yum 源,但因爲受到網絡環境的限制,致使軟件安裝耗時過長甚至失敗,特別是當有大量服務器大量軟件包須要安裝時,緩慢的進度條使人難以忍受,所以咱們在優化系統時,都會更換國內的源
(3)相比較而言,本地 YUM 源服務器最大優勢是局域網的快速網絡鏈接和穩定性,有了局域網中的 YUM 源服務器,即使在 Internel 鏈接中斷的狀況下,也不會影響其餘 YUM 客戶端的軟件安裝和升級。
數據庫

搭建內網中的YUM源

系統:CentOS6.5vim

YUM 源配置文件的存放路徑瀏覽器

[root@aery ~]# cd /etc/yum.repos.d/
[root@aery yum.repos.d]# ls
CentOS-Base.repo CentOS-Base.repo.bak
CentOS-Media.repo CentOS-Debuginfo.repo 
CentOS-Vault.repo

對比修改後的 YUM 源與原 YUM 配置文件的區別緩存

[root@aery yum.repos.d]# vimdiff CentOS-Base.repo CentOS-Base.repo.bak

服務端配置服務器

1. 建立目錄用來作YUM倉庫使用網絡

[root@aery ~]# mkdir /yum_source
[root@aery ~]# cd /yum_source/
[root@aery yum_source]# 
  # 上傳 rpm 包到此目錄,此目錄下面還能夠包括文件夾
  獲取 rpm 軟件包的幾種方法
   (1) 開啓 YUM 緩存
   (2) yumdownloader pcre-devel openssl-devel # 只下載軟件不安裝,做爲忘記開啓YUM 緩存的補救手段

 咱們這裏使用系統光盤中的RPM包做爲咱們YUM倉庫的YUM源文件

[root@aery yum_source]# mount /dev/cdrom /mnt/            //掛載系統光盤
[root@aery yum_source]# cp /mnt/Packages/* /yum_source/        //將光盤下的全部rpm包拷貝到咱們建立的YUM倉庫的目錄下

2. 安裝 createrepo 軟件,用於生成 yum 倉庫數據庫的軟件

[root@aery ~]# yum -y install createrepo        //安裝createrepo(YUM倉庫軟件)軟件
[root@aery ~]# rpm -q createrepo            //檢查軟件是否安裝

3. 初始化 repodata 索引文件(每次發佈新的內容都須要更新)

更多createrepo命令的使用參考:http://linux.51yip.com/search/createrepo

[root@aery ~]# createrepo -pdo /yum_source/ /yum_source/        //初始化
Spawning worker 0 with 3995 pkgs
......        //部份內容省略
Sqlite DBs complete
[root@aery ~]# createrepo --update /yum_source/                //每加入一個rpm包就要更新一次

4. 使用 python 命令開啓 80 端口,(要求在 rpm 的路徑下執行此命令,)此命令的功能就是經過瀏覽器把內容發佈出去

[root@aery ~]# cd /yum_source/
[root@aery yum_source]# python -m SimpleHTTPServer 80 &> /dev/null &
[1] 3729

5. 提供 web 服務查看 80 端口是否開啓

[root@aery yum_source]# lsof -i :80
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
python 3729 root    3u  IPv4  29903      0t0  TCP *:http (LISTEN)

打開瀏覽器測試

客戶端配置

[root@aery ~]# curl -I 192.168.1.105                //檢查 YUM 發佈的頁面客戶端是否能夠訪問
HTTP/1.0 200 OK
Server: SimpleHTTP/0.6 Python/2.6.6
Date: Sat, 23 Sep 2017 09:51:43 GMT
Content-type: text/html; charset=UTF-8
Content-Length: 376140

[root@aery ~]# cd /etc/yum.repos.d/                //切換到 yum 配置文件
[root@aery yum.repos.d]# mkdir bak                //建立一個存放暫時不用的yum源配置文件目錄
[root@aery yum.repos.d]# mv CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo bak/    //將暫時不用的yum源配置文件移動到其餘目錄
[root@aery yum.repos.d]# > CentOS-Base.repo             //清空 yum 配置文件
[root@aery yum.repos.d]# vim CentOS-Base.repo             //編輯 YUM 配置文件
 [inside] 
 name=inside yum source
 baseurl=http://192.168.1.105
 enabled=1
 gpgcheck=0

[root@aery yum.repos.d]# yum clean all                //須要先清除 yum 之前的緩存
Loaded plugins: fastestmirror, refresh-packagekit, security
Cleaning repos: inside
Cleaning up Everything
[root@aery yum.repos.d]# yum makecache                //更新 YUM 緩存

 安裝DNS服務測試

[root@aery ~]# yum -y install bind
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package bind.x86_64 32:9.8.2-0.17.rc1.el6_4.6 will be installed
--> Finished Dependency Resolution
...... //部份內容省略
相關文章
相關標籤/搜索