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

由于工作环境是离线的,在使用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来安装之前准备的安装包了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

相关阅读更多精彩内容

友情链接更多精彩内容