轻松解决rpm软件包的依赖问题 yum download ,rpm和deb不同系列

centos rpm系列的

为它往往有很多依赖项目。比如,我们来查看一下net-tools的依赖项有哪些:

yum deplist net-tools

推荐使用以下几种方法:

1.repotrack

我这里也以上期讲到的Mariadb为例演示,以下操作需要在有网络的环境下进行。repotrack可以分析软件的依赖项目,并把依赖的rpm包下载下来。

# 安装yum-utils
yum -y install yum-utils

# 下载全量依赖包
repotrack net-tools

2.yumdownloader

yumdownloader也是一款离线依赖包下载工具,与repotrack不同的是,它并不是全量下载,而是根据你机器的环境来决定的,比如你电脑已经安装了大多数依赖项目,那么下载下来的软件包数量就少,反之就更多。

yumdownloader --downloadonly --resolve net-tools ./

我的建议是,使用一台全新安装的机器,运行yumdownloader得到关键的依赖项,拿到类似环境的服务器上,就能正常运行了。当然第一种方法更值得推荐,只是文件较多

# 离线安装
$ rpm -Uvh --force --nodeps *.rpm

3:yum 的 downloadonly 插件

下载 ansible 依赖包
$ yum -y install ansible --downloadonly --downloaddir=/tmp

deb系列:

1.查看依赖

apt-cache depends XXX

2.下载deb及其依赖包

apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-break

3.使用dpkg命令离线安装

sudo dpkg -i *.deb

下面的指令可以只下载软件包而不安装

sudo apt-get install --reinstall -d -y xxx软件包

 

组合起来就可以了

sudo apt-get install --reinstall -d -y `apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends xxx软件包 | grep -v i386 | grep "^\w"`


下载的路径是 /var/cache/apt/archives/
 

你可能感兴趣的:(linux,centos,运维)