【运维杂谈】如何用yum只下载,不安装?

吾日三省吾身,想出类拔萃,要把知识,学牢,学全,学深,学广。


哈喽,大家好,我是koten,今天带大家一起研究下linux如何只用yum下载,而不自动安装。

方法一:

用yum自带的参数选项,如果没有自带这个,需要安装yum-plugin-downloadonly安装包。

用yum list去找个软件包测试下,就用这个NetworkManager吧。

【运维杂谈】如何用yum只下载,不安装?_第1张图片
yum -y install --downloadonly --downloaddir /tmp/ NetworkManager 
【运维杂谈】如何用yum只下载,不安装?_第2张图片

搞定了,自带的参数就可以搞定,--downloadonly 是只下载不安装,并且会自动帮你解决依赖,--downloaddir是指定下载到的路径,不写就安装到了本地了。

方法二:

在网上了解到需要用yumdownloader命令,在yum-utils工具包里,咱们先下载这个yum工具包。

yum -y install yum-utils
【运维杂谈】如何用yum只下载,不安装?_第3张图片

同样下载NetworkManager,如果不加参数的话,会把rpm包下载到本地。

yumdownloader NetworkManager
【运维杂谈】如何用yum只下载,不安装?_第4张图片

咱们也可以用--destdir参数去自定义软件包存放路径,比如说安装到/tmp当中

yumdownloader --destdir /tmp/ NetworkManager
【运维杂谈】如何用yum只下载,不安装?_第5张图片

也可以通过--resolve解决软件的依赖关系

yumdownloader --destdir /tmp/ --resolve NetworkManager
【运维杂谈】如何用yum只下载,不安装?_第6张图片

现在咱们把/tmp/下的NetworkManager安装包去安装一下。

直接安装,提示要先安装依赖,尝试rpm安装依赖包,发现依赖包也需要依赖包,一层一层套娃太麻烦了,先不安装了。

[root@VMware-koten ~]#rpm -ivh /tmp/NetworkManager-1.18.8-2.el7_9.x86_64.rpm 
error: Failed dependencies:
    NetworkManager-libnm(x86-64) = 1:1.18.8-2.el7_9 is needed by NetworkManager-1:1.18.8-2.el7_9.x86_64
[root@VMware-koten ~]#ll /tmp/
total 4152
-rw-r--r-- 1 root root 1960152 Nov 18  2020 NetworkManager-1.18.8-2.el7_9.x86_64.rpm
-rw-r--r-- 1 root root 1774664 Nov 18  2020 NetworkManager-libnm-1.18.8-2.el7_9.x86_64.rpm
-rw-r--r-- 1 root root  169068 Nov 18  2020 NetworkManager-team-1.18.8-2.el7_9.x86_64.rpm
-rw-r--r-- 1 root root  336828 Nov 18  2020 NetworkManager-tui-1.18.8-2.el7_9.x86_64.rpm
[root@VMware-koten ~]#rpm -ivh /tmp/NetworkManager-{libnm,team,tui}-1.18.8-2.el7_9.x86_64.rpm
error: Failed dependencies:
    NetworkManager(x86-64) = 1:1.18.8-2.el7_9 is needed by NetworkManager-team-1:1.18.8-2.el7_9.x86_64
    NetworkManager = 1:1.18.8-2.el7_9 is needed by NetworkManager-tui-1:1.18.8-2.el7_9.x86_64

方法三:

网上看到的,先把所有yum库都下载到本地,再用离线安装的方式安装,这里就不再尝试了,是下策。

-r    #指定已经本地已经配置的 yum 仓库的 repo源的名称。
-p    #指定下载的路径
reposync -r epel -p /opt/local_epel  #把epel源的所有安装包下载到本地。
rpm -Uvh --force --nodeps /opt/local_epel/NetworkManager-1.18.8-2.el7_9.x86_64.rpm    
#忽略所有依赖关系安装NetworkManager


我是koten,10年运维经验,持续分享运维干货,感谢大家的阅读和关注!

你可能感兴趣的:(运维知识分享,基础运维知识,运维杂谈,linux,运维,服务器,经验分享,centos)