下载rpm包与本地yum仓库的制作

一. 用downloadonly下载

1.1 处理依赖关系自动下载到/tmp/pages目录,pages这个目录会自动创建

yum install --downloadonly --downloaddir=/tmp/pages ceph-deploy

注意,如果下载的包包含了任何没有满足的依赖关系,yum将会把所有的依赖关系包下载,但是都不会被安装。

下载rpm包与本地yum仓库的制作_第1张图片
image.png

1.2 上传到另外一台机器或就在本机测试安装,用rpm -Uvh *.rpm命令

如何通过yum下载rpm包

1.3 用rpm -qa|grep ceph-deploy命令进行验证,如图所示安装成功,这样就实现了在无法联网的机器中通过rpm包安装,既解决了源码的繁琐,也很好的解决了依赖关系

image.png

二、不使用downloadonly ,自动安装或升级的同时保留RPM包

yum 默认情况下,升级或者安装后,会删除下载的rpm包。
不过,我们也可以如下设置升级后不删除下载的rpm包

vim/etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0

将 keepcache=0 修改为 keepcache=1, 安装或者升级后,在目录 /var/cache/yum 下就会有下载的 rpm 包了。

三. 利用rpm安装包文件进行自己的yum仓库的制作

前面两种是利用厂商发布的iso镜像文件作为yum仓库。当我们需要安装一些第三方提供的软件的时候我们需要到网上下载rpm的安装包,但是每次都下载多麻烦,我们可以将较常使用的rpm安装包归到一个文件里面制作成一个可以被系统识别的yum仓库,通过配置yum仓库指向文件可以将它设置成本地的yum源也可以是通过http发布的共享yum源。

3.1. 首先下几个rpm包放在一个文件夹里面。

下载rpm包与本地yum仓库的制作_第2张图片
rpm

3.2.1 安装createrepo命令

yum install createrepo

或者

 rpm -ivh libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm 
 rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm 
 rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm 
 rpm -Uvh createrepo-0.9.9-28.el7.noarch.rpm 

3.2.2 生成符合要求的yum仓库

执行createrepo /home/rpm_ceph10.2.9 ##将放置rpm安装包的文件夹创造成一个仓库文件,文件夹里面会多出一个repodata仓库数据文件夹。

下载rpm包与本地yum仓库的制作_第3张图片
image.png

3.2.3可以看到多了一个repodata的仓库数据文件,此时创建库成功。

下载rpm包与本地yum仓库的制作_第4张图片
image.png
  1. 如果添加或者删除了个人的rpm包,不需要再次重新create,浪费时间,只需要--update就可以了
createrepo --update  ./

5.1 备份当前yum.repos.d/

mkdir /etc/yum.repos.bak

cp /etc/yum.repos.d/*  /etc/yum.repos.bak/

5.2 删除yum.repos.d/下的文件

rm /etc/yum.repos.d/* 

5.3 编辑yum源repo文件。

#vi /etc/yum.repos.d/CentOS-Media.repo

添入


# CentOS-Media.repo
#
#  This repo can be used with mounted DVD media, verify the mount point for
#  CentOS-7.  You can use this repo and yum to install items directly off the
#  DVD ISO that we release.
#
# To use this repo, put in your DVD and use it with the other repos too:
#  yum --enablerepo=c7-media [command]
#  
# or for ONLY the media repo, do this:
#
#  yum --disablerepo=\* --enablerepo=c7-media [command]

[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///home/rpm_ceph10.2.9/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

baseurl=file:///root/ceph.10.2.9/ 为rpm 设置路径
gpgcheck=0表示不检查rpm数字证书,1为检查rpm数字证书
enabled=1启用这个源

保存,执行:

sudo yum clean all && yum check-update

就可以使用本地yum源了。

其实在iso的挂载点可以看到它也有一个repodata的文件,这个标志性的文件夹标志着这个文件夹具备成为yum源的可能。

配置本地yum 源: https://blog.csdn.net/danneel/article/details/52098527

你可能感兴趣的:(下载rpm包与本地yum仓库的制作)