[TOC]
## 一、背景介紹
> 大多數的工作場景中,部署階段,客戶一般會提供能夠訪問外網的服務器環境。但是,也不排除某些場景下,客戶無法或不能提供必要外網連接的服務器環境。
在這樣的情況下,我們可以使用離線yum源,來完成基礎環境的安裝。
首先先查看服務器Centos的版本:
```
cat /etc/issue
```
## 二、安裝步驟
### 1.下載包含yum源的鏡像文件
案例中我們使用centos7.4對應版本的安裝文件。進入下載初始頁,選擇對應版本7.4.1708
http://vault.centos.org/
選擇Europe的第一個
http://vault.centos.org/notonvault.html
選擇對應版本,在此選擇下載7.4
http://mirror.nsc.liu.se/centos-store/7.4.1708/isos/x86_64/
下載依據需求而定,最好下載everyting版本,但是因為太大,本文下載CentOS-7-x86_64-DVD-1708.iso版本。
### 2.上傳到服務器
```
/opt/softwares/CentOS-7-x86_64-DVD-1708.iso
```
### 3.掛著鏡像到服務器
```
mount /opt/softwares/CentOS-7-x86_64-DVD-1708.iso /mnt/cdrom/
```
### 4.將掛在盤內容復制到本地目錄
```
mkdir /media/CentOS/
cp -fr /mnt/cdrom/* /media/CentOS/
```
### 5.將Yum源倉庫repo備份
```
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
```
備注:一定移除或者重命名/etc/yum.repos.d/CentOS-Base.repo這個文件,因為默認會首先讀取這個訪問外網源的文件
### 6.復制CentOS-Media.repo并且編輯
```
cp /etc/yum.repos.d/bak/CentOS-Media.repo /etc/yum.repos.d/
vi /etc/yum.repos.d/CentOS-Media.repo
```
修改為:
```
# CentOS-Media.repo
#
# This repo can be used with mounted DVD media, verify the mount point for
# CentOS-7. 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=c7-media [command]
#
# or for ONLY the media repo, do this:
#
# yum --disablerepo=\* --enablerepo=c7-media [command]
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/ #(1)-->這一行改成前邊我們新建的CentOS目錄
# file:///media/cdrom/ #(2)-->這一行加#號注釋掉
# file:///media/cdrecorder/ #(3)-->這一行加#號注釋掉
gpgcheck=1
enabled=1 #(4)-->這一行把0改成1來啟用源
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
```
### 7.卸載鏡像
```
umount /mnt/cdrom/
```
### 8.檢測
```
yum list
```
結果:
```
systemtap-server.x86_64 3.1-3.el7 c7-media
t1lib.x86_64 5.1.2-14.el7 c7-media
taglib.x86_64 1.8-7.20130218git.el7 c7-media
tagsoup.noarch 1.2.1-8.el7 c7-media
talk.x86_64 0.17-46.el7 c7-media
talk-server.x86_64 0.17-46.el7 c7-media
targetcli.noarch 2.1.fb46-1.el7 c7-media
targetd.noarch 0.8.6-1.el7 c7-media
tbb.x86_64 4.1-9.20130314.el7 c7-media
tbb-devel.x86_64 4.1-9.20130314.el7 c7-media
tboot.x86_64 1:1.9.5-1.el7 c7-media
tcl.x86_64 1:8.5.13-8.el7 c7-media
tcl-devel.x86_64 1:8.5.13-8.el7 c7-media
tcl-pgtcl.x86_64 2.0.0-5.el7 c7-media
tcp_wrappers.x86_64 7.6-77.el7 c7-media
tcp_wrappers-devel.x86_64 7.6-77.el7 c7-media
tcpdump.x86_64 14:4.9.0-5.el7 c7-media
tcsh.x86_64 6.18.01-15.el7 c7-media
tdb-tools.x86_64 1.3.12-2.el7 c7-media
telepathy-farstream.x86_64 0.6.0-5.el7 c7-media
telepathy-filesystem.noarch 0.0.2-6.el7 c7-media
```
到此為之,我們就可以在系統中使用yum安裝我們自己想要的包了。but,如果你有N臺服務器需要部署,難道我們要把一個幾個G的文件傳來傳去?我們可以基于本地yum源構建一個共享yum源,這樣就可以構造一個私有的yum源,以方便在其他服務器中進行部署了。
## 三、共享yum源
### 1.在本地yum源配置完成之后安裝apache
```
yum install httpd
systemctl start httpd
systemctl enable httpd
systemctl stop firewalld
systemctl disable firewalld
```
### 2.創建掛載文件目錄
```
mkdir /var/www/html/source7.4
```
### 3.掛載鏡像
```
mount /opt/softwares/CentOS-7-x86_64-DVD-1708.iso /var/www/html/source7.4/
```
### 4.開機自動掛載
(1)編輯rc.local寫入
```
vim /etc/rc.d/rc.local
mount /opt/softwares/CentOS-7-x86_64-DVD-1708.iso /var/www/html/source7.4/
```
(2)修改權限
```
chmod +x /etc/rc.d/rc.local
```
### 5.訪問
```
http://IP/source7.4/
```
結果:

> 參考資料:https://blog.csdn.net/u010886217/article/details/88647591
- ?寫在前面
- 部署管理思想
- 更新說明
- ?第一章 基礎環境部署
- 1-1 linux防火墻管理
- 1-2 服務器初始化
- 1-3 存儲管理
- 文件刪除空間釋放問題
- 定時清理日志
- 1-4 JDK安裝
- 1-5 無外網環境部署
- 1-6 切換阿里云yum源
- 1-7 使用ssh隧道解決網絡問題
- 1-8 使用Axure+svn+httpd搭建自己的在線畫圖工具
- linux svn環境搭建
- 1-9 編譯環境安裝
- ??第二章 快速部署篇
- 2-1 一個命令快速安裝mysql
- mysql windows版本安裝
- mysql源碼版的一鍵部署
- mysql配置
- 自動化失敗
- mysql異常處理
- Oracle表結構轉mysql表結構
- 修改字段注釋沒那么簡單!
- 2-2 基于linux腳本的基礎環境發布
- 2-3 docker
- 2-4 nodejs部署
- 2-5 基于Alibaba Cloud Toolkit的Springboot發布腳本
- 2-6 elasticsearch部署
- es6.x部署
- es7.x部署
- ik分詞器部署
- 內存調優
- 回收空間
- 2-7 Oracle生產安裝
- ??第三章 系統APM
- 3-1 Zabbix安裝
- 修改默認端口
- 踩坑記錄
- 3-2 Grafana部署
- 3-3 Kibana部署
- ??第四章 中間件部署
- 4-1 nginx
- nginx安裝部署
- nginx動靜分離配置,這個雷你踩過嗎?
- 圖解nginx304緩存策略
- nginx日志切割
- 4-2 activemq升級
- 4-3 redis安裝
- 4-4 Canal部署
- 報錯解決
- Canal+Rabbitmq實現同步
- canal數據同步到es
- 4-5 SpringCloud Alibaba
- nacos
- 新建項目
- seata
- 4-6 rabbitmq安裝
- 第五章 高可用架構
- 5-1 mysql主從復制
- 主從復制配置
- 5-2 mysql數據自動備份
- ??第六章 數據ETL
- 6-1 dataX
- 第七章 持續集成
- 7-1 基于Docker+Jekins+Git實現企業持續集成、部署
- 7-2 安裝jekins
- 安裝maven
- 7-3 jvm-sandbox自動化測試
- jvm-sandbox-repeater Windows開發環境安裝
- 第八章 JVM調優
- jps:查詢正在運行的虛擬機進程
- jstat:查看JVM統計信息
- jinfo:實時查看和修改JVM配置參數
- 第七章 域名申請與管理
- SSL證書申請
- 第九章 業務插件部署
- 6-1 ffmpeg
- 第十章 云服務器
- 騰訊云
- 阿里云
- 其他
- 其他作品
- 簡歷內推
- 聯系我內推