yum安装本地rpm包及依赖

一、背景说明

需求:安装Readline-devel

平时我们机器有网络的情况下一般安装软件如下yum install即可。

yum install readline-devel

但是在内网机上要去这样安装,就没法直接用了,没有网络下载源,这时候如果包少,我们可以去rpm包网站搜索下来手动一个个传进去rpm安装即可,但是依赖较多就麻烦了。

如readline-devel包

安装readline-devel 依赖包有5个,5个我们也可以手动1个个rpm很快搞定, 但是遇到其它包中又有依赖包,依赖几十个,顺序先后都是问题,这时候我们不能用rpm一个个安装了。

二、下载rpm包到本地,制作源配置

1、下载yumdownloadonly插件安装

yum install yum-plugin-downloadonly

2、下载所需安装包,只下载不安装

#yum 下载rpm包到指定目录,只下载不安装
yum install --downloadonly --downloaddir=路径 安装包名

下载readline-devel包

yum install  --downloadonly --downloaddir=/cdrom/readline readline-devel

安装createrepo,创建repomd.xml

yum install createrepo

#创建repomd.xml
cd /cdrom/
createrepo readline/

createrepo后在readline文件夹下看到repodata文件夹,在文件夹下可看到如下创建的。

打包已下载的软件包,传到内网机

tar -czvf readline.tar.gz readline/

三、上传包到内网机、配置源进行安装

1、内网机解压位置到

/cdrom/readline

2、制作yum源文件

vim zmyum.repo

[zmcdrom]
name=local resource
baseurl=file:///cdrom/readline
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

其它yum源文件可以移到别的文件夹下,避免受影响。

更新yun

yum clean all
yum update
yum repolist

3、执行安装

yum install readline-devel
#可以看到yum仓库用的是我们定义的zmcdrom里面的。

------------ OK---------------内网机安装完rpm包。


CentOS ISO镜像作为Repository

CentOS ISO镜像中含有大量的RPM包,可以用作Repository。
先执行如下命令mount iso:

mount -o loop CentOS-7-x86_64-DVD-1804.iso /mnt

#然后创建repo文件,如下:
/etc/yum.repos.d/centos-iso.repo
[centosiso]
name=CentOS DVD ISO
baseurl=file:///mnt
enabled=1
gpgcheck=1
gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7