yum的倉庫搭建

準備A,B兩臺主機
1,在主機A 服務端上修改yum配置文件

#yum下載軟件不清空
[root@ c7-41 ~] sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf
[root@ c7-41 ~] mkdir -p /yum/centos7 #創建目錄用來做 YUM 倉庫的使用

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

[root@ c7-41 ~] yum -y install createrepo yum-utils

3,初始化repodata索引文件

[root@ c7-41 ~] cd /yum/centos7/
[root@ c7-41 centos7] yumdownloader tree # 只下載軟件不安裝
[root@ c7-41 centos7] createrepo -pdo /yum/centos7/ /yum/centos7/ #更新repodata索引文件

4,提供yum服務

[root@ c7-41 ~] cd /yum/centos7/
#可以用Apache或nginx提供web服務,但用Python的http模塊更簡單,適用於內網環境
[root@ c7-41 centos7] python -m SimpleHTTPServer 81 &>/dev/null &
#可以通過瀏覽器輸入本機IP查看: 如http://10.0.0.41:81/
#可以查看一下python進程
[root@ c7-41 centos7] ps -ef |grep python
root       1425      1  0 13:37 ?        00:00:00 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
root      18405   2880  0 14:07 pts/0    00:00:00 python -m SimpleHTTPServer 81
root      18407   2880  0 14:07 pts/0    00:00:00 grep --color=auto python

在瀏覽器上測試
在這裏插入圖片描述
5,添加新的rpm包

[root@ c7-41 centos7] yumdownloader pcre-devel openssl-devel # 只下載軟件不安裝
[root@ c7-41 centos7] createrepo --update /yum/centos7/ # 每加入一個rpm包就要更新一下

在這裏插入圖片描述6,在主機B 客戶端上配置yum

[root@ c7-42 ~] mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.ori
[root@ c7-42 ~] cat >/etc/yum.repos.d/centos7.repo<<EOF[centos7]name=Serverbaseurl=http://10.0.0.41:81enable=1gpgcheck=0EOF

7,臨時使用指定的自己指定的centos7 庫

[root@ c7-42 ~] yum --enablerepo=centos7 --disablerepo=base,extras,updates,epel list
[root@ c7-42 ~] sed -i -e '19a enabled=0' -e '29a enabled=0' -e '39a enabled=0' /etc/yum.repos.d/CentOS-Base.repo #添加永久使用
#註釋/etc/resolv.conf
[root@ c7-42 ~] vim /etc/resolv.conf
[root@ c7-42 ~] cat /etc/resolv.conf
#nameserver 223.5.5.5
#nameserver 223.6.6.6

[root@ c7-42 ~] ping qq.com
ping: qq.com: Name or service not known

8,服務端安裝nginx或者找nginx相關rpm,找到nginx所有的相關rpm

[root@ c7-41 ~] yum -y install nginx
#找到nginx所有的相關rpm
[root@ c7-41 ~] cd /var/cache/yum/x86_64/7/
[root@ c7-41 7] find . -name '*.rpm'
./base/packages/deltarpm-3.6-3.el7.x86_64.rpm
./base/packages/createrepo-0.9.9-28.el7.noarch.rpm
./base/packages/python-chardet-2.2.1-3.el7.noarch.rpm
./base/packages/python-deltarpm-3.6-3.el7.x86_64.rpm
./base/packages/python-kitchen-1.1.1-5.el7.noarch.rpm
./base/packages/yum-utils-1.1.31-52.el7.noarch.rpm
./base/packages/centos-indexhtml-7-9.el7.centos.noarch.rpm
./base/packages/dejavu-fonts-common-2.33-6.el7.noarch.rpm
./base/packages/dejavu-sans-fonts-2.33-6.el7.noarch.rpm
./base/packages/fontconfig-2.13.0-4.3.el7.x86_64.rpm
./base/packages/fontpackages-filesystem-1.44-8.el7.noarch.rpm
./base/packages/gd-2.0.35-26.el7.x86_64.rpm
./base/packages/gperftools-libs-2.6.1-1.el7.x86_64.rpm
./base/packages/libX11-1.6.7-2.el7.x86_64.rpm
./base/packages/libX11-common-1.6.7-2.el7.noarch.rpm
./base/packages/libXau-1.0.8-2.1.el7.x86_64.rpm
./base/packages/libXpm-3.5.12-1.el7.x86_64.rpm
./base/packages/libxcb-1.13-1.el7.x86_64.rpm
./epel/packages/nginx-all-modules-1.16.1-1.el7.noarch.rpm
./epel/packages/nginx-1.16.1-1.el7.x86_64.rpm
./epel/packages/nginx-filesystem-1.16.1-1.el7.noarch.rpm
./epel/packages/nginx-mod-http-image-filter-1.16.1-1.el7.x86_64.rpm
./epel/packages/nginx-mod-http-perl-1.16.1-1.el7.x86_64.rpm
./epel/packages/nginx-mod-http-xslt-filter-1.16.1-1.el7.x86_64.rpm
./epel/packages/nginx-mod-mail-1.16.1-1.el7.x86_64.rpm
./epel/packages/nginx-mod-stream-1.16.1-1.el7.x86_64.rpm

9,將找到的nginx相關rpm包添加到自己創建的yum倉庫

[root@ c7-41 7] find . -name '*.rpm'|xargs -i cp {} /yum/centos7
[root@ c7-41 7] cd /yum/centos7/
[root@ c7-41 centos7] createrepo --update /yum/centos7/ #更新自己的yum倉庫

10,在主機B 客戶端上重新加載yum緩存並下載nginx

[root@ c7-42 ~] yum clean all #清除緩存
[root@ c7-42 ~] yum makecache #重新加載
[root@ c7-42 ~] yum -y install nginx #安裝nginx
[root@ c7-42 nginx] pwd
/usr/share/nginx #yum安裝nginx默認路徑

應用場景

在項目實施過程中,很多實施單位存在沒有外網的情況。此時,在服務器上直接使用Yum命令根本無法使用,爲了方便在本地搭建環境,爲了方便快捷安裝軟件依賴包,我們採用臨時解決方案進行本地Yum倉庫搭建,不但可以供搭建機器使用,更可以供整個服務器羣使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章