如何使用 yum 下载软件包而不安装它
已更新 -
Issue
如何用不安装包的方式,利用yum命令下载一个包?
Environment
- Red Hat Enterprise Linux 5
Resolution
请确认系统已经安装了yum-downloadonly包。如果没安装的话,在Red Hat Network (RHN)上会有这个包的下载。如果该系统已经注册到Red Hat Network,可以用下面的命令去安装yum-downloadonly包:
#yum install yum-downloadonly
yum-downloadonly 是一个用来从RHN下载软件包的插件,或者是不用安装包的已配置好的yum仓库。
检查一下/etc/yum/pluginconf.d/downloadonly.conf文件的内容,并且确保这个插件是启动的。
[main]
enabled=1
举个例子,如果这个包存在的话,运行下面的命令可以下载最新版本的vsftpd包,这个命令只是下载并不用安装它。
# yum install --downloadonly vsftpd
Loading "downloadonly" plugin
Loading "rhnplugin" plugin
rhel-i386-server-5 100% |=========================| 1.4 kB 00:00
Setting up Install Process
Parsing package install arguments
Package vsftpd - 2.0.5-10.el5.i386 is already installed.
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.i386 0:2.0.5-12.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Updating:
vsftpd i386 2.0.5-12.el5 rhel-i386-server-5 138 k
Transaction Summary
=============================================================================
Install 0 Package(s)
Update 1 Package(s)
Remove 0 Package(s)
Total download size: 138 k
Is this ok [y/N]: y
Downloading Packages:
(1/1): vsftpd-2.0.5-12.el 100% |=========================| 138 kB 00:02
exiting because --downloadonly specified
这个包,在rhel-i386-server-5的环境里默认是在/var/cache/yum/目录下保存的。传递--downloaddir和--downloadonly参数给yum命令,用来指明存放包的目录。
#yum install --downloadonly --downloaddir=/tmp vsftpd
如果想要下载已经安装了的包的话,请用yumdownloader命令。举个例子,已经安装了httpd-2.2.3-22.el5包。
# rpm -q httpd
httpd-2.2.3-22.el5
用yumdownloader来下载那个包
# yumdownloader httpd-2.2.3-22.el5
Loaded plugins: fastestmirror, kmod, protectbase, rhnplugin, versionlock
Loading mirror speeds from cached hostfile
Reading version lock configuration
0 packages excluded due to repository protections
httpd-2.2.3-22.el5.i386.rpm
那个下载以后的包会在当前目录下保存,参数--destdir可以用来去指定一个特定的目的目录用来存放下载的包。
详细信息请参见yumdownloader的man page。
Comments