感兴趣LinuxCentOS

CentOS7.5和CentOS8.1的离线环境安装yum缓存包

2021-11-16  本文已影响0人  Peyo_Jec

由于工作环境是离线的,在使用Linux安装软件的时候会经常出现依赖包无法下载的情况,经过几天的探索和测试,在CentOS7.5和CentOS8.1两个系统中通过制作yum源实现软件的离线安装。
思路肯定是需要准备一台能连互联网的机器(最好是新创建的系统,因为使用过的系统以前可能安装过相关依赖包),通过这台机器将所需要安装包保存下来,转移到离线环境中,再想办法能够使其正常安装。
我在很多文章中也看到使用yumdownloader或者使用downloadonly等方法来下载、保存安装包及依赖包,然后再在离线环境中安装,可能是我需要安装的软件比较特殊,总是会安装出错,一直“正在处理依赖关系”。
最后通过摸索,我将yum install 安装过程的所有包存放在某个路径下,在这个路径中添加yum仓库文件,再在离线环境中修改机器的yum仓库源,再yum install的时候就可以了。

缓存yum install包

首先修改yum install的缓存路径:

vi /etc/yum.conf

将内容改为:

[main]
cachedir=/var/cache/yum/packages
keepcache=1
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

重点是设置cachedir并将keepcache改成1。
这样再进行yum install的时候所有相关的文件都会保存到所设定的cachedir中。

CentOS8思路也是一样,但是/etc/yum.conf的内容不一样,默认是没有cachedir和keepcache的,可以手动添加一下:

[main]
cachedir=/var/cache/yum/packages
keepcache=1
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True

然后是需要安装yum仓库制作的插件,CentOS7.5和8.1是一样的:

yum -y install createrepo

在yum 的cachedir中添加仓库文件:

createrepo -v /var/cache/yum/packages

添加成功后cachedir中会出现一个repodata文件夹:


添加repodata.png

这样包含所需安装的软件的安装、依赖包及仓库就创建好了,将其传输到离线机器上,再修改离线机器的yum源。

修改yum源

yum源位于/etc/yum.repos.d下,先将原本的文件进行备份,以防万一:

mkdir -p /etc/yum.repos.d/repo.bak   #创建备份文件夹
mv *.repo repo.bak    #转移文件

在/etc/yum.repos.d目录下,新建一个repo:

vi /etc/yum.repos.d/*****.repo

添加以下内容:

[cifs-utils]
name=CentOS-$releasever - Plus
baseurl=file:///opt/datas/*****  #这里是上传的yum仓库路径
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 
  #如果是CentOS8需要改成:gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

然后就可以通过yum install来安装之前准备的安装包了。

上一篇 下一篇

猜你喜欢

热点阅读