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

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


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

方法一:

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

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

1a64dc4cdf3747589720294c812a8757.png
yum -y install --downloadonly --downloaddir /tmp/ NetworkManager 
89d138f25fa84e6a8f2839d78062e236.png

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

方法二:

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

yum -y install yum-utils
82c139c1cdbb4eb1808a7b5c1676013d.png

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

yumdownloader NetworkManager
8dd81ef390f544abaf2dcd8bbe978dc2.png
b256df625c1f4626abcdc006276cd76b.png

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

yumdownloader --destdir /tmp/ NetworkManager
959f90cf154142b29903387a14c34392.png

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

yumdownloader --destdir /tmp/ --resolve NetworkManager
ab104bf0f70d41d9b684d9ab2227ccea.png

现在咱们把/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年运维经验,持续分享运维干货,感谢大家的阅读和关注!

猜你喜欢

转载自blog.csdn.net/qq_37510195/article/details/129333749
今日推荐