1、应用场景:
在项目实施过程中,很多实施单位存在没有外网的情况。此时,在服务器上直接使用Yum命令根本无法使用,为了方便在本地搭建环境,为了方便快捷安装软件依赖包,我们采用临时解决方案进行本地Yum仓库搭建,不但可以供搭建机器使用,更可以供整个服务器群使用。
2、yum仓库的搭建:
服务端上的搭建:
1、关闭防火墙:
2、yum下载软件不清空:
sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf
3、创建目录用来做yum仓库的使用:
mkdir -p /yum/centos7
4、安装createrepo软件,用于生成yum仓库数据库的软件:
yum -y install createrepo yum-utils
5、初始化repodata索引文件:
cd /yum/centos7
#只下载软件不安装:
yumdownloader tree
更新repodata索引文件:
createrepo -pdo /yum/centos7/ /yum/centos7/
6、提供yum服务
可以使用apache或nginx提供web服务,但用python的http模块更简单,适用于内网环境。
cd /yum/centos7/
python -m SimpleHTTPServer 81 &>/dev/null &
可以通过浏览器查看本机的ip http://10.0.0.42/81
7、添加新的rpm包:
#只下载软件不安装:
yumdownloader pcre-devel openssl-devel
#每加入一个rpm包 就要更新一下
createrepo --update /yum/centos7/
客户端的配置:
1、关闭防火墙:
2、mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.ori
cat >/etc/yum.repos.d/centos7.repo<<EOF
> [centos7]
> name=Server
> baseurl=http://10.0.0.42:81
> enable=1
> gpgcheck=0
> EOF
3、临时使用自己指定的centos7库:
yum --enablerepo=centos7 --disablerepo=base,extras,updates,epel list
永久使用:
sed -i -e '19a enabled=0' -e '29a enabled=0' -e '39a enabled=0' /etc/yum.repos.d/CentOS-Base.repo
测试下载:
vim /etc/resolv.conf
服务器安装nginx:
yum -y install nginx
找到nginx相关的rpm:
cd /var/cache/yum/x86_64/7/
find . -name '*.rpm'
更新自己的yum仓库:
cd /yum/centos7/
createrepo --update /yum/centos7/
客户端重新加载yum 并下载nginx:
yum clean all
yum makecache
yum -y install nginx