环境准备
首先明确在内网的目标电脑(简称内网机)的系统版本,然后找一台有外网环境的相同系统版本的机子(简称外网机),在外网机上使用安装 yum-utils
和 createrepo
服务。
yum install -y yum-utils createrepo
制作离线yum源
首先在外网机的一个合适的位置创建的一文件夹用于放置下载的rpm包,然后使用yum-utils
服务中的repotrack
命令来下载内网机上需要安装服务的所有依赖包。
以缺少grow_part命令为例为例:
mkdir -p /root/registry
cd /root/registry
yum provides grow_part
#发现包含该命令的软件包为cloud-utils-growpart-0.27-10.el7.x86_64
repotrack cloud-utils-growpart-0.27-10.el7.x86_64
等待所有的依赖包下载完成,会看到下载了非常多的依赖的rpm包还有包括需要的nginx的rpm包。
使用createrepo
命令制作离线yum源。
#返回上一级目录/root
cd ..
createrepo registry/
执行完后会发现/root/registry下多了个 repodata
的文件夹
-rw-r--r--. 1 root root 194000 8月 23 2019 readline-6.2-11.el7.i686.rpm
-rw-r--r--. 1 root root 197696 8月 23 2019 readline-6.2-11.el7.x86_64.rpm
drwxr-xr-x. 2 root root 4096 8月 28 19:43 repodata
-rw-r--r--. 1 root root 1220216 12月 1 2021 rpm-4.11.3-48.el7_9.x86_64.rpm
-rw-r--r--. 1 root root 285792 12月 1 2021 rpm-libs-4.11.3-48.el7_9.x86_64.rpm
tar -zcvf growpart_repo.tar.gz registry/
使用自定义离线yum源安装服务
将之前的tar包传到内网机上,解压出来
tar -zxvf growpart-repo.tar.gz
修改/etc/yum.repos.d
文件夹下的 repo文件,我的机子上叫 base.repo
,修改前记得先备份。
cd /etc/yum.repos.d
cp base.repo base.repo.bak
vi base.repo
[local]
name=local
baseurl=file:///root/registry
enable=1
gpgcheck=0
然后保存退出。执行下面的命令。
yum clean all
yum makecache
#一键安装软件包
yum install -y cloud-utils-growpart-0.27-10.el7.x86_64
参考链接:【CentOS在无网络网环境下安装服务】_centos 8 中当我们在没有外部网络的情况下使用什么安装-CSDN博客