CentOS7.3部署局域網(wǎng)yum源(http方式)

一.搭建原因

由於開(kāi)發(fā)工作都是在單位局域網(wǎng)內(nèi),平時(shí)開(kāi)發(fā)機(jī)可以通過(guò)代理服務(wù)器連外網(wǎng)絡(luò),但是服務(wù)器是不允許連接到外網(wǎng)的。在部署一臺(tái)新的服務(wù)器恋捆,安裝服務(wù)軟件只能通內(nèi)網(wǎng)環(huán)境的其它機(jī)器傳輸或拷貝,所以需要部署局域網(wǎng)內(nèi)的yum源重绷。

Linux版本:

[root@hanzo ~]# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 

二.安裝

1.啓動(dòng)httpd

如果沒(méi)有安裝httpd沸停,請(qǐng)執(zhí)行以下命令:
yum -y install httpd

  • 若對(duì)httpd配置不是很熟悉的話,不要修改其配置文件(/etc/httpd/conf/httpd.conf)昭卓。httpd默認(rèn)目錄爲(wèi)/var/www/html愤钾;
  • 若需要修改httpd端口瘟滨,可以先查看http的開(kāi)放端口,防止訪問(wèn)http服務(wù)失斈馨洹杂瘸;
[root@hanzo ~]# semanage port -l | grep http
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000 #httpd服務(wù)可用端口
  • 儘量使用80端口,不然很有可能訪問(wèn)失敗伙菊。在這裏就使用默認(rèn)的80端口了

查看httpd是否已經(jīng)啓動(dòng):
systemctl status httpd.service
如果沒(méi)有啓動(dòng)败玉,使用以下命令啓動(dòng):
systemctl start httpd.service
查看httpd服務(wù)是否開(kāi)機(jī)啓動(dòng):

[root@hanzo ~]# systemctl list-unit-files httpd.service
UNIT FILE     STATE   
httpd.service disabled #enabled爲(wèi)開(kāi)機(jī)啓動(dòng)。這裏顯示開(kāi)機(jī)不啓動(dòng)

1 unit files listed.

若需要開(kāi)機(jī)啓動(dòng)镜硕,執(zhí)行以下命令:
systemctl enable httpd.service

2.準(zhǔn)備rpm

本地yum源中的rpm軟件包可以通過(guò)以下方式獲仍艘怼:

  • 從CentOS-xxxx.iso或其他iso鏡像中獲取兴枯;
  • 通過(guò)網(wǎng)絡(luò)下載自己所需要的rpm軟件包血淌;
  • 通過(guò)reposync(由yum-utils提供的一個(gè)服務(wù))工具從遠(yuǎn)程鏡像站點(diǎn)(yum服務(wù)器)同步到本地。
    當(dāng)然還有很多別的方式獲取念恍,但是不管用什麼方式六剥,總之晚顷,在你的本地會(huì)得到一些rpm軟件包文件峰伙。
    在本例中,我需要在內(nèi)網(wǎng)的服務(wù)器上和自己的開(kāi)發(fā)機(jī)上安裝docker该默。所以瞳氓,我使用配置docker的yum源來(lái)獲取rpm軟件包以進(jìn)行安裝。

添加docker yum軟件源

#在/etc/yum.repos.d目錄下新建文件docker.repo
[root@hanzo yum.repos.d]# pwd
/etc/yum.repos.d
[root@hanzo yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  docker.repo
[root@hanzo yum.repos.d]# cat docker.repo 
#添加以下內(nèi)容至docker.repo文件中
[dockerrepo] #[name]repo id栓袖,隨意但必須存在
name=Docker Repository #repo name匣摘,描述性內(nèi)容
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

完成上述步驟之後,就可以在本機(jī)上安裝docker了裹刮。如果你不需要就略過(guò)音榜。
yum update
yum install docker-engine

同步docker yum軟件源至本地

#進(jìn)入httpd默認(rèn)目錄。將rpm包同步到此目錄捧弃,以供創(chuàng)建倉(cāng)庫(kù)使用
[root@hanzo html]# pwd
/var/www/html
#列出目前本機(jī)上所使用的倉(cāng)庫(kù)赠叼,找到之上添加的dockerrepo倉(cāng)庫(kù)標(biāo)識(shí)
[root@hanzo html]# yum repolist all
...
repo id                        repo name                              status
......
dockerrepo                     Docker Repository                      enabled:   110
.......
[root@hanzo html]# reposync -r dockerrepo -p /var/www/html/
#-r 指定倉(cāng)庫(kù)標(biāo)識(shí)。我的是dockerrepo违霞,如果你和我的不一樣嘴办,注意換成自己的
#-p 指定目標(biāo)目錄,默認(rèn)爲(wèi)當(dāng)前工作目錄
dockerrepo                                                             | 2.9 kB  00:00:00     
(1/66): docker-engine-1.7.0-1.el7.centos.x86_64.rpm                    | 4.5 MB  00:00:32
......
(66/66): docker-engine-debuginfo-17.05.0.ce-1.el7.centos.x86_64.rpm    | 3.4 MB  00:00:25 
[root@hanzo html]# ls dockerrepo/
Packages #包含一堆rpm

上述reposync -r dockerrepo -p /var/www/html/執(zhí)行完後买鸽,會(huì)將docker yum軟件源同步到本地的/var/www/html/目錄中涧郊,在此目錄中會(huì)生成dockerrepo目錄用於存放rpm包。第一次同時(shí)時(shí)間比較長(zhǎng)眼五,大概66個(gè)rpm包妆艘。

3.創(chuàng)建本地yum倉(cāng)庫(kù)

[root@hanzo dockerrepo]# pwd
/var/www/html/dockerrepo #當(dāng)前工作目錄
[root@hanzo dockerrepo]# ls
Packages
[root@hanzo dockerrepo]# createrepo . #創(chuàng)建當(dāng)前目錄爲(wèi)yum倉(cāng)庫(kù)
Spawning worker 0 with 17 pkgs
Spawning worker 1 with 17 pkgs
Spawning worker 2 with 16 pkgs
Spawning worker 3 with 16 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@hanzo dockerrepo]# ls
Packages  repodata

dockerrepo中的repodata目錄很重要彤灶,它就是分析rpm軟件後所產(chǎn)生的軟件屬性相依數(shù)據(jù)存放處。

4.使用yum倉(cāng)庫(kù)

使用ssh登陸內(nèi)網(wǎng)中其他的服務(wù)器

[root@Riped-MicroService-01 yum.repos.d]# pwd
/etc/yum.repos.d
#當(dāng)前服務(wù)器不能連接外網(wǎng)批旺,所以默認(rèn)使用的倉(cāng)庫(kù)不能使用枢希。
#重命名或者修改enable=0使CentOS-Base.repo中配置的源失效。
#若你的服務(wù)器上的其它*.repo文件中有啓用的最好也修改一下朱沃,以防影響測(cè)試苞轿。
[root@Riped-MicroService-01 yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak  
#創(chuàng)建lan-yum.repo文件,並添加以下內(nèi)容
[root@Riped-MicroService-01 yum.repos.d]# cat lan-yum.repo 
[lanrepo]
name=LAN YUM Repository
baseurl=http://yum倉(cāng)庫(kù)IP/dockerrepo
enable=1
gpgcheck=0
#查看當(dāng)前目錄的變化
[root@Riped-MicroService-01 yum.repos.d]# ls
CentOS-Base.repo.bak  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo        CentOS-fasttrack.repo  CentOS-Sources.repo  lan-yum.repo
#查看當(dāng)前服務(wù)器上此刻啓用的yum源
#可以看到逗物,僅有剛配置的repo id爲(wèi)``lanrepo``的yum源是開(kāi)啓的
[root@Riped-MicroService-01 yum.repos.d]# yum repolist all
......
lanrepo                     LAN YUM Repository                                enabled: 66
......

通過(guò)yum repolist all命令可以看到搬卒,僅有剛配置的repo id爲(wèi)lanrepo的yum源是開(kāi)啓的。

查看軟件列表

[root@Riped-MicroService-01 yum.repos.d]# yum list
Installed Packages
......
Available Packages
docker-engine.x86_64             17.05.0.ce-1.el7.centos                   lanrepo  
docker-engine-debuginfo.x86_64   17.05.0.ce-1.el7.centos                   lanrepo  
docker-engine-selinux.noarch     17.05.0.ce-1.el7.centos                   lanrepo 

上述列出的結(jié)果Available Packages就是我所需要的翎卓,如果沒(méi)有列出期望的軟件契邀,可以先執(zhí)行yum clean all,然後再執(zhí)行yum list失暴。
接下來(lái)就可以進(jìn)行內(nèi)網(wǎng)服務(wù)器的軟件安裝了坯门。

4.更新yum倉(cāng)庫(kù)

  • yum倉(cāng)庫(kù)更新(開(kāi)發(fā)機(jī))
    通過(guò)yum下載(不安裝)一個(gè)或多個(gè)rpm軟件包,用於更新yum倉(cāng)庫(kù)用逗扒。
    比如下載一個(gè)vsftpd rpm軟件包古戴,可以通過(guò)以下兩種方式:
    1. yumdownloader --destdir=/var/www/html/dockerrepo/ vsftpd (推薦)
    2. yum -y install --downloadonly --downloaddir=/var/www/html/dockerrepo/ vsftpd (未成功下載)

由於我需要的是GitLab的rpm包,所以之下用的是我直接從官網(wǎng)下載的gitlab-cerpm包矩肩。

#在之前生成的yum倉(cāng)庫(kù)文件夾下添加rpm包现恼。在這裏添加的是gitlab的rmp包,從官網(wǎng)下載的黍檩。
#無(wú)論是放到``Packages``中叉袍,還是新建目錄都可以
[root@hanzo dockerrepo]# ls
gitlab-ce-9.5.3-ce.0.el7.x86_64.rpm  Packages  repodata
#更新yum倉(cāng)庫(kù)
[root@hanzo dockerrepo]# createrepo --update .
Spawning worker 0 with 1 pkgs
Spawning worker 1 with 0 pkgs
Spawning worker 2 with 0 pkgs
Spawning worker 3 with 0 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
  • 使用端更新(本文所指內(nèi)網(wǎng)服務(wù)器)
#第一次列出結(jié)果沒(méi)有變化,沒(méi)看見(jiàn)新添加的rpm包
[root@Riped-MicroService-01 yum.repos.d]# yum list
Installed Packages
......
Available Packages
docker-engine.x86_64             17.05.0.ce-1.el7.centos                   lanrepo  
docker-engine-debuginfo.x86_64   17.05.0.ce-1.el7.centos                   lanrepo  
docker-engine-selinux.noarch     17.05.0.ce-1.el7.centos                   lanrepo 
#清除舊數(shù)據(jù)(/var/cache/yum)
#yum clean [packages | headers | all]
#packages: 將已下載的軟件文件刪除
#header  : 將下載的軟件文件頭刪除
#all     : 刪除所有相關(guān)數(shù)據(jù) 
[root@Riped-MicroService-01 yum.repos.d]# yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: lanrepo
Cleaning up everything
Cleaning up list of fastest mirrors
#再次列出會(huì)顯示新添加的rpm包
[root@Riped-MicroService-01 yum.repos.d]# yum list
......
gitlab-ce.x86_64                 9.5.3-ce.0.el7                             lanrepo

刪除rpm包與添加rpm包過(guò)程相似刽酱,都需要執(zhí)行相應(yīng)的createrepo --update .yum clean all命令喳逛。

本機(jī)使用本機(jī)的yum倉(cāng)庫(kù),僅需要在相應(yīng)的*.repo文件中把baseurl修改爲(wèi)file://path/repo棵里。比如润文,在我這,我直接進(jìn)行以下修改:

[root@hanzo yum.repos.d]# cat docker.repo 
[dockerrepo]
name=Docker Repository
#baseurl=https://yum.dockerproject.org/repo/main/centos/7/
baseurl=file:///var/www/html/dockerrepo
enabled=1
#gpgcheck=1
#gpgkey=https://yum.dockerproject.org/gpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末衍慎,一起剝皮案震驚了整個(gè)濱河市转唉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌稳捆,老刑警劉巖赠法,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡砖织,警方通過(guò)查閱死者的電腦和手機(jī)款侵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)侧纯,“玉大人新锈,你說(shuō)我怎么就攤上這事】舭荆” “怎么了妹笆?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)娜氏。 經(jīng)常有香客問(wèn)我拳缠,道長(zhǎng),這世上最難降的妖魔是什么贸弥? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任窟坐,我火速辦了婚禮,結(jié)果婚禮上绵疲,老公的妹妹穿的比我還像新娘哲鸳。我一直安慰自己,他們只是感情好盔憨,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布徙菠。 她就那樣靜靜地躺著,像睡著了一般般渡。 火紅的嫁衣襯著肌膚如雪懒豹。 梳的紋絲不亂的頭發(fā)上芙盘,一...
    開(kāi)封第一講書(shū)人閱讀 49,760評(píng)論 1 289
  • 那天驯用,我揣著相機(jī)與錄音,去河邊找鬼儒老。 笑死蝴乔,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的驮樊。 我是一名探鬼主播薇正,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼囚衔!你這毒婦竟也來(lái)了挖腰?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤练湿,失蹤者是張志新(化名)和其女友劉穎猴仑,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體肥哎,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡辽俗,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年疾渣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片崖飘。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡榴捡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出朱浴,到底是詐尸還是另有隱情吊圾,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布翰蠢,位于F島的核電站街夭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏躏筏。R本人自食惡果不足惜板丽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望趁尼。 院中可真熱鬧埃碱,春花似錦、人聲如沸酥泞。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)芝囤。三九已至似炎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間悯姊,已是汗流浹背羡藐。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留悯许,地道東北人仆嗦。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像先壕,于是被迫代替她去往敵國(guó)和親瘩扼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容