有时候你需要一个软件包在离线linux系统上安装,如果自己找软件包麻烦,可以linux yum下载需要的软件包,准备工作是找一台能够联网的linux,并准备好了yum及yum源,一般我们用我们的vmware linux虚拟机就可以了。
有两种方法:
1、一般yum工具自带两个参数
--downloadonly don't update, just download //只下载
--downloaddir=DLDIR specifies an alternate directory to store packages //下载目录
命令格式如下,例如我要下载screen packet到/root目录
yum install --downloadonly --downloaddir=/root screen
完了,查看如下:
[root@compute ~]# cd /root/
[root@compute ~]# ll
total 568
-rw-r--r-- 1 root root 264 Dec 30 03:16 90-eno-fix.rules
-rw-------. 1 root root 958 May 22 2017 anaconda-ks.cfg
-rw-r--r-- 1 root root 565300 Apr 25 2018 screen-4.1.0-0.25.20120314git3c2946.el7.x86_64.rpm
注意:这种方式会下载你需要软件包安装时所需要的依赖包,这个是不是很棒。
2、用rpm包下载工具:yumdownloader
安装yumdownloader:
[root@controller ~]# yum install yum-utils
下载screen为例:
[root@controller ~]# yumdownloader screen
默认下载在当前目录,当然你也可制定下载目录,也是用"–downloaddir"参数
[root@controller ~]# ll
total 572
-rw-------. 1 root root 958 May 18 2017 anaconda-ks.cfg
-rwxr-xr-x 1 root root 5 Feb 7 2018 kel.1.txt
-rw-r--r-- 1 root root 565300 Apr 25 2018 screen-4.1.0-0.25.20120314git3c2946.el7.x86_64.rpm
-rw-r--r-- 1 root root 932 Feb 5 2018 xxx.txt
注意:这种方式不会下载你要的rpm的依赖包,仅仅下载你命令里给的软件包
另,实际你yum安装或者update软件时,你可以选择将安装或者update的软件包保留下载,yum的一般默认配置是删除的,这个可以修改yum配置文件,让安装或者update后的包保存下来,如下两个参数:
[root@controller yum.repos.d]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //保存目录
keepcache=0 //0不保存,1保存
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
最后:
然后就可以进下载目录通过rpm安装指令进行安装了
安装rpm包 :
强制安装一次: rpm -ivh --force --nodeps *.rpm
再次执行: rpm -ivh *.rpm