如何查找并下载rpm依赖包并使用yum离线安装rpm包

Linux版本:CentOS Linux release 7.3.1611 (Core)

一、需求

最近在工作中需要postgresql + postgis的离线安装。安装有两种方式:

  • 源码编译
  • rpm包安装

源码编译耗费时间长,缺乏编译环境且生成目录位置不详,所以选择使用rpm包安装。但是我们最终目的是rpm包离线安装,目前不知道安装postgresql + postgis所依赖的rpm包有哪些,并且从网上找rpm包容易引起版本冲突啊,怎么办呢?

办法总比问题多,接着往下看。

二、在线安装

通过下载外部repo源的安装方式,我这里暂且称之为在线安装。

我们首先要使用在线安装的方式,成功安装postgresql + postgis,然后再考虑如何获取相关依赖rpm包的问题。请看具体命令:

# 安装postgresql依赖的rpm包
rpm -ivh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
# 安装postgis的依赖包
rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

通过执行上述命令,在/etc/yum.repos.d/目录下会有以下几个文件:

  • pgdg-96-centos.repo
  • epel.repo
  • epel-testing.repo

三个文件含有postgresql + postgis的外部下载源。通过yum的方式来安装:

# 安装postgresql
yum install postgresql96 postgresql96-server postgresql96-libs postgresql96-contrib postgresql96-devel
# 安装postGIS
yum install postgis24_96

安装成功。接下来就是要将postgresql + postgis依赖的rpm包收集起来,然后做一个yum本地源,就可以进行离线安装了。

三、收集依赖的rpm包

我们可以使用yum命令的–downloaddir参数及–downloadonly参数来将依赖的rpm包下载到本地。具体步骤如下:

  1. 首先需要将postgresql + postgis相关的包进行yum卸载,然后我们再install到本地
yum remove postgresql96 postgresql96-server postgresql96-libs postgresql96-contrib postgresql96-devel postgis24_96
  1. 创建目录,指定rpm依赖包的存储目录。我们后续会用到httpd,所以我们先安装httpd服务。
yum install -y httpd
# httpd安装成功后,会自动创建/var/www/html/目录,我们将要下载的rpm依赖包放置到该目录下
mkdir /var/www/html/postgres
  1. 下载rpm依赖包
yum install --downloaddir=/var/www/html/postgres --downloadonly postgresql96 postgresql96-server postgresql96-libs postgresql96-contrib postgresql96-devel postgis24_96

等下载完毕之后,rpm依赖包如下图所示:

然后我们再搭建yum本地源。

四、搭建yum本地源

  1. 下载createrepo工具
yum install -y createrepo
  1. 生成repodata目录
cd /var/www/html/postgres
createrepo .
ll repodata
  1. 删除之前在线安装时的repo文件
cd /etc/yum.repos.d
# 删除之前在线安装时的repo文件,以测试yum本地源是否搭建成功
rm -rf epel.repo epel-testing.repo pgdg-96-centos.repo
  1. 启动httpd服务
service httpd start
  1. 制作.repo文件

新建postgres.repo文件,并将其放入到/etc/yum.repos.d目录下。文件内容如下:

[postgres]
name=postgresql and postgis
baseurl=http://liuyzh2.xdata/postgres/
gpgcheck=0
enabled=1

五、yum安装

# 先卸载postgresql相关包
yum remove postgresql*
# 安装postgresql9.6 + postgis2.4
yum install -y postgresql96 postgresql96-server postgresql96-libs postgresql96-contrib postgresql96-devel postgis24_96

安装成功,如下图所示;

六、总结

总结一下:

  • 我们首先下载了外部repo源,然后通过yum install的方式将需要的服务成功安装。
  • 然后执行yum install --downloaddir=/var/www/html/postgres --downloadonly postgresql96 postgis24_96 ...命令,这样就将postgresql96 postgis24_96 …等所依赖的rpm包下载到了/var/www/html/postgres目录下了。
  • 有了依赖的rpm包,就简单多啦。直接制作yum本地源,生成repo文件就行了。

参考链接


码字不易,如果您觉得文章写得不错,请扫码关注公众号支持作者~ 您的关注是我写作的最大动力?

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
如果环境不能安装请使用:-- rpm -ivh *****.rpm --nodeps --force rpm -Uvh binutils-2*x86_64* rpm -Uvh g2*x86_64* nss-softokn-freebl-3*x86_64* nss-softokn-freebl-3*i686* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh glibc-2*i686* rpm -Uvh compat-libstdc++-33*x86_64* rpm -Uvh glibc-common-2*x86_64* rpm -Uvh glibc-devel-2*x86_64* rpm -Uvh glibc-devel-2*i686* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh glibc-headers-2*x86_64* rpm -Uvh elfutils-libelf-0*x86_64* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh elfutils-libelf-devel-0*x86_64* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh gcc-4*x86_64* rpm -Uvh gcc-c++-4*x86_64* rpm -Uvh ksh-*x86_64* rpm -Uvh libaio-0*x86_64* rpm -Uvh libaio-devel-0*x86_64* rpm -Uvh libaio-0*i686* rpm -Uvh libaio-devel-0*i686* rpm -Uvh libgcc-4*x86_64* rpm -Uvh libgcc-4*i686* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh libstdc++-4*x86_64* rpm -Uvh libstdc++-4*i686* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh libstdc++-devel-4*x86_64* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh make-3.81*x86_64* rpm -Uvh numactl-devel-2*x86_64* rpm -Uvh sysstat-9*x86_64* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh compat-libstdc++-33*i686* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh compat-libcap* rpm -Uvh unixODBC-2.2.11-7.1.i386 rpm -Uvh unixODBC-2.2.11-10.el5.x86_64 rpm -Uvh unixODBC-devel-2.2.2-3.i386 rpm -Uvh unixODBC-devel-2.2.3-6.i386 rpm -Uvh unixODBC-devel-2.2.11-7.1.i386 rpm -Uvh unixODBC-devel-2.2.11-10.el5.x86_64 tar -zxvf unixODBC-2.3.1.tar.gz

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

create17

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值