RPM包及其依赖下载到本地并离线安装

在部署oracle的时候发现需要下载很多依赖包,但是有些依赖在centos的yum源里是没有的,因此需要在orcale的源中下载好,然后应用到Centos中:

一、使用Downloadonly

我们可以通过 yum 命令的 “Downloadonly” 插件下载 RPM 软件包及其所有依赖包, 为了安装 Downloadonly 插件,以 root 身份运行以下命令:

yum install yum-plugin-downloadonly  

现在,运行以下命令去下载一个 RPM 软件包

yum install --downloadonly <package-name>

默认情况下,这个命令将会下载并把软件包保存到 /var/cache/yum/ 的 rhel-{arch}-channel/packageslocation 目录,不过,你也可以下载和保存软件包到任何位置,你可以通过 –downloaddir 选项来指定。
创建指定目录:

mkdir -p /opt/rpm_packages
yum install --downloadonly --downloaddir=/opt/rpm_packages/  bind-utils bind-utils  compat-libstdc++-33 glibc-devel ksh libaio-devel libstdc++-devel net-tools nfs-utils psmisc smartmontools sysstat unzip xorg-x11-utils xorg-x11-xauth

查看下载好的rpm内容:

[root@jxq-9p43 /opt/rpm_packages]# ls
bind-export-libs-9.11.4-9.P2.el7.x86_64.rpm              libaio-devel-0.3.109-13.el7.x86_64.rpm
bind-libs-9.11.4-9.P2.el7.x86_64.rpm                     libdmx-1.1.3-3.el7.x86_64.rpm
bind-libs-lite-9.11.4-9.P2.el7.x86_64.rpm                libgcc-4.8.5-39.el7.x86_64.rpm
bind-license-9.11.4-9.P2.el7.noarch.rpm                  libgomp-4.8.5-39.el7.x86_64.rpm
bind-utils-9.11.4-9.P2.el7.x86_64.rpm                    libstdc++-4.8.5-39.el7.x86_64.rpm
compat-libcap1-1.10-7.el7.x86_64.rpm                     libstdc++-devel-4.8.5-39.el7.x86_64.rpm
compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm              libXmu-1.1.2-2.el7.x86_64.rpm
cpp-4.8.5-39.el7.x86_64.rpm                              libXt-1.1.5-3.el7.x86_64.rpm
dhclient-4.2.5-77.el7.centos.x86_64.rpm                  libXv-1.0.11-1.el7.x86_64.rpm
dhcp-common-4.2.5-77.el7.centos.x86_64.rpm               libXxf86dga-1.1.4-2.1.el7.x86_64.rpm
dhcp-libs-4.2.5-77.el7.centos.x86_64.rpm                 libXxf86misc-1.0.3-7.1.el7.x86_64.rpm
gcc-4.8.5-39.el7.x86_64.rpm                              linux-firmware-20190627-999.2.git7ae3a09d.el7.noarch.rpm
gcc-c++-4.8.5-39.el7.x86_64.rpm                          mailx-12.5-19.el7.x86_64.rpm
glibc-2.17-292.el7.x86_64.rpm                            net-tools-2.0-0.25.20131004git.el7.x86_64.rpm
glibc-common-2.17-292.el7.x86_64.rpm                     nfs-utils-1.3.0-0.65.el7.x86_64.rpm
glibc-devel-2.17-292.el7.x86_64.rpm                      psmisc-22.20-16.el7.x86_64.rpm
glibc-headers-2.17-292.el7.x86_64.rpm                    smartmontools-7.0-1.el7.x86_64.rpm
glibc-utils-2.17-292.el7.x86_64.rpm                      sysstat-10.1.5-18.el7.x86_64.rpm
kernel-uek-4.1.12-124.32.3.2.el7uek.x86_64.rpm           unzip-6.0-20.el7.x86_64.rpm
kernel-uek-firmware-4.1.12-124.32.3.2.el7uek.noarch.rpm  xorg-x11-utils-7.5-23.el7.x86_64.rpm
ksh-20120801-139.el7.x86_64.rpm                          xorg-x11-xauth-1.0.9-1.el7.x86_64.rpm
libaio-0.3.109-13.el7.x86_64.rpm

但是有个缺点,在使用downloadonly时,需要在没有安装过依赖的机器上执行,如果执行的机器之前安装过所需依赖,执行downloadonly后,会提示,依赖已经安装,不能下载。。。
例如:

[root@jxq-9p43 /opt/mypackages]# yum install --downloadonly --downloaddir=/opt/mypackages/ ksh
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Package ksh-20120801-139.el7.x86_64 already installed and latest version
Nothing to do

另外:请注意,这个插件适用于 yum install/yum update, 但是并不适用于 yum groupinstall。默认情况下,这个插件将会下载仓库中最新可用的软件包。然而你可以通过指定版本号来下载某个特定的软件版本。

yum install --downloadonly --downloaddir=/opt/rpm_packages/ httpd-2.2.6-40.el7

二、使用Yumdownloader

“Yumdownloader” 是一款简单,但是却十分有用的命令行工具,它可以一次性下载任何 RPM 软件包及其所有依赖包。
以 root 身份运行如下命令安装 “Yumdownloader” 工具。

yum install yum-utils

安装完成,运行如下命令去下载一个软件包,这个命令的好处是可以下载之前安装过的依赖包,默认是下载到当前目录:

[root@jxq-9p43 /opt/mypackages]# yumdownloader ksh
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
ksh-20120801-139.el7.x86_64.rpm                                                                    | 885 kB  00:00:00     
[root@jxq-9p43 /opt/mypackages]# ll
total 892
-rw-r--r--. 1 root root 906336 Nov 12  2018 ksh-20120801-139.el7.x86_64.rpm

为了将软件下载到一个特定的目录下,我们使用 --destdir 参数:

yumdownloader --resolve --destdir=/root/mypackages/ ksh
或者
yumdownloader --resolve --destdir /root/mypackages/ ksh

不像 Downloadonly 插件,Yumdownload 可以下载一组相关的软件包。

yumdownloader "@Development Tools" --resolve --destdir /root/mypackages/

以上两个命令,按需使用,均可。

三、安装离线rpm

到rpm下载的目录下,执行:

yum install *.rpm
或者
rpm -ivh *.rpm
  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值