前言
Linux系列(1)介绍了挂载镜像实现yum安装,但还是存在问题,本文以安装docker为例,解决离线安装问题,还是首先准备两台最小化安装的虚拟机。
方法1本地rpm安装
- 先联网,下载docker需要安装rpm包,yum会自行解决安装包依赖关系并下载。
# 添加阿里云镜像地址
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 下载,会按照依赖关系下载docker需要的包,也有可能下载的并不完全,可按照yumdownloader glibc* 下载其他相关的单独包
yum install docker-ce-19.03.8 --downloadonly --downloaddir=/data/packages/docker
cd /data/packages/docker
ll
- 上传所有rpm包至没有联网的服务器
- 离线安装
# 在rpm包目录执行,会自动搜寻依赖关系并安装
yum -y localinstall *.rpm
- 验证
# 设置并启动
systemctl start docker
systemctl enable docker
# 拉取镜像
docker pull daocloud.io/library/nginx:1.13.0-alpine
方法2createrepo创建远程yum源
同样问题,方法1只适用于本机,为方便其他服务器想使用,可使用rpm包创建远程yum源,其他服务器直接使用此源安装。
- httpd安装,输入IP地址访问首页
# 安装httpd及createrepo
yum install httpd createrepo
# 启动
systemctl start httpd
# 开机自启
systemctl enable httpd
# 查看状态
systemctl status httpd
# 关闭防火墙
systemctl stop firewalld
- 下载需要安装的rpm包
cd /var/www/html/
mkdir -p /centos/7/os/x86_64
# 下载docker、gcc、vim等安装包到当前目录,实际生产环境,应该先联网下载,然后再上传到此目录
yum install gcc docker-ce-19.03.8 vim --downloadonly --downloaddir=/var/www/html/centos/7/os/x86_64
cd /centos/7/os/x86_64
ll
- 制作仓库,访问httpd(http://192.168.58.240/centos/7/os/x86_64/),搭建完成
createrepo /var/www/html/centos/7/os/x86_64
3. 另外一台服务器配置远程YUM源
# 原系统yum源配置文件进行备份
mv /etc/yum.repos.d /etc/yum.repos.d.bak
# 创建远程源文件
mkdir /etc/yum.repos.d
cd /etc/yum.repos.d
# 创建remote.repo文件
vi remote.repo
# 添加内容,保存退出
[remote]
name=remote.repo
baseurl=http://192.168.58.240/centos/7/os/x86_64/
enabled=1
gpgcheck=0
# 清除缓存
yum clean all
# 缓存本地信息
yum makecache
# 查看源列表
yum repolist
4. 关闭网络,验证
# 使用自己部署的yum源安装gcc
yum install gcc
5. 更新,当需要添加新的安装包时,可参考以下安装redis操作,
# 联网环境先下载redis安装包,实际坏境应当下载后再上传到内网服务器
yum install epel-release
yum install redis --downloadonly --downloaddir=/var/www/html/centos/7/os/x86_64
# 刷新
createrepo --update /var/www/html/centos/7/os/x86_64
# 另外一台服务器,执行以下命令,发现redis安装包已有了
yum clean all
yum clean makecache
yum search redis
yum install redis
总结
基于此系列,已完美解决内网安装软件的各种问题,如有错误,欢迎指正,有问题,请留言,若转载,请注明!!!