我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎样在CentOS里下载RPM包及其所有依赖

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎样在CentOS里下载RPM包及其所有依赖

怎样在CentOS里下载RPM包及其所有依赖,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

我们可以使用 curl 或者 wget  下载任何软件包,然而这些命令并不能下载要求的依赖软件包。你必须去花一些时间而且手动的去寻找和下载被安装的软件所依赖的软件包。然而,我们并不是必须这样。在这个简短的教程中,我将会带领你以两种方式下载软件包及其所有依赖包。我已经在  CentOS 7 下进行了测试,不过这些相同的步骤或许在其他基于 RPM 管理系统的发行版上也可以工作,例如 RHEL,Fedora 和 Scientific  Linux。

方法 1 利用 “Downloadonly” 插件下载 RPM 软件包及其所有依赖包

我们可以通过 yum 命令的 “Downloadonly” 插件下载 RPM 软件包及其所有依赖包。

为了安装 Downloadonly 插件,以 root 身份运行以下命令。

yum install yum-plugin-downloadonly

现在,运行以下命令去下载一个 RPM 软件包。

yum install --downloadonly <package-name>

默认情况下,这个命令将会下载并把软件包保存到 /var/cache/yum/ 的 rhel-{arch}-channel/packageslocation  目录,不过,你也可以下载和保存软件包到任何位置,你可以通过 &ndash;downloaddir选项来指定。

yum install --downloadonly --downloaddir=<directory> <package-name>

例子:

yum install --downloadonly --downloaddir=/root/mypackages/ httpd

终端输出:

Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile  * base: centos.excellmedia.net  * epel: epel.mirror.angkasa.id  * extras: centos.excellmedia.net  * updates: centos.excellmedia.net Resolving Dependencies --> Running transaction check ---> Package httpd.x86_64 0:2.4.6-40.el7.centos.4 will be installed --> Processing Dependency: httpd-tools = 2.4.6-40.el7.centos.4 for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 --> Running transaction check ---> Package apr.x86_64 0:1.4.8-3.el7 will be installed ---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed ---> Package httpd-tools.x86_64 0:2.4.6-40.el7.centos.4 will be installed ---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved =======================================================================================================================================  Package Arch Version Repository Size ======================================================================================================================================= Installing:  httpd x86_64 2.4.6-40.el7.centos.4 updates 2.7 M Installing for dependencies:  apr x86_64 1.4.8-3.el7 base 103 k  apr-util x86_64 1.5.2-6.el7 base 92 k  httpd-tools x86_64 2.4.6-40.el7.centos.4 updates 83 k  mailcap noarch 2.1.41-2.el7 base 31 k Transaction Summary ======================================================================================================================================= Install 1 Package (+4 Dependent packages) Total download size: 3.0 M Installed size: 10 M Background downloading packages, then exiting: (1/5): apr-1.4.8-3.el7.x86_64.rpm | 103 kB 00:00:01  (2/5): apr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:00:01  (3/5): mailcap-2.1.41-2.el7.noarch.rpm | 31 kB 00:00:01  (4/5): httpd-tools-2.4.6-40.el7.centos.4.x86_64.rpm | 83 kB 00:00:01  (5/5): httpd-2.4.6-40.el7.centos.4.x86_64.rpm | 2.7 MB 00:00:09  --------------------------------------------------------------------------------------------------------------------------------------- Total 331 kB/s | 3.0 MB 00:00:09  exiting because "Download Only" specified

怎样在CentOS里下载RPM包及其所有依赖

现在去你指定的目录位置下,你将会看到那里有下载好的软件包和依赖的软件。在我这种情况下,我已经把软件包下载到 /root/mypackages/  目录下。

让我们来查看一下内容。

ls /root/mypackages/

样本输出:

apr-1.4.8-3.el7.x86_64.rpm apr-util-1.5.2-6.el7.x86_64.rpm httpd-2.4.6-40.el7.centos.4.x86_64.rpm httpd-tools-2.4.6-40.el7.centos.4.x86_64.rpm mailcap-2.1.41-2.el7.noarch.rpm
   [object Object]

正如你在上面输出所看到的, httpd软件包已经被依据所有依赖性下载完成了 。

请注意,这个插件适用于 yum install/yum update, 但是并不适用于 yum  groupinstall。默认情况下,这个插件将会下载仓库中***可用的软件包。然而你可以通过指定版本号来下载某个特定的软件版本。

例子:

yum install --downloadonly --downloaddir=/root/mypackages/ httpd-2.2.6-40.el7

此外,你也可以如下一次性下载多个包:

yum install --downloadonly --downloaddir=/root/mypackages/ httpd vsftpd

方法 2 使用 “Yumdownloader” 工具来下载 RPM 软件包及其所有依赖包

“Yumdownloader” 是一款简单,但是却十分有用的命令行工具,它可以一次性下载任何 RPM 软件包及其所有依赖包。

以 root 身份运行如下命令安装 “Yumdownloader” 工具。

yum install yum-utils

一旦安装完成,运行如下命令去下载一个软件包,例如 httpd。

yumdownloader httpd

为了根据所有依赖性下载软件包,我们使用 --resolve 参数:

yumdownloader --resolve httpd

默认情况下,Yumdownloader 将会下载软件包到当前工作目录下。

为了将软件下载到一个特定的目录下,我们使用 --destdir 参数:

yumdownloader --resolve --destdir=/root/mypackages/ httpd

或者,

yumdownloader --resolve --destdir /root/mypackages/ httpd

终端输出:

  1. Loaded plugins: fastestmirror 

  2. Loading mirror speeds from cached hostfile 

  3.  * base: centos.excellmedia.net 

  4.  * epel: epel.mirror.angkasa.id 

  5.  * extras: centos.excellmedia.net 

  6.  * updates: centos.excellmedia.net 

  7. --> Running transaction check 

  8. ---> Package httpd.x86_64 0:2.4.6-40.el7.centos.4 will be installed 

  9. --> Processing Dependency: httpd-tools = 2.4.6-40.el7.centos.4 for package: httpd-2.4.6-40.el7.centos.4.x86_64 

  10. --> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-40.el7.centos.4.x86_64 

  11. --> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 

  12. --> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.4.x86_64 

  13. --> Running transaction check 

  14. ---> Package apr.x86_64 0:1.4.8-3.el7 will be installed 

  15. ---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed 

  16. ---> Package httpd-tools.x86_64 0:2.4.6-40.el7.centos.4 will be installed 

  17. ---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed 

  18. --> Finished Dependency Resolution 

  19. (1/5): apr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:00:01  

  20. (2/5): mailcap-2.1.41-2.el7.noarch.rpm | 31 kB 00:00:02  

  21. (3/5): apr-1.4.8-3.el7.x86_64.rpm | 103 kB 00:00:02  

  22. (4/5): httpd-tools-2.4.6-40.el7.centos.4.x86_64.rpm | 83 kB 00:00:03  

  23. (5/5): httpd-2.4.6-40.el7.centos.4.x86_64.rpm | 2.7 MB 00:00:19 


[object Object]

让我们确认一下软件包是否被下载到我们指定的目录下。

ls /root/mypackages/

终端输出:

apr-1.4.8-3.el7.x86_64.rpm apr-util-1.5.2-6.el7.x86_64.rpm httpd-2.4.6-40.el7.centos.4.x86_64.rpm httpd-tools-2.4.6-40.el7.centos.4.x86_64.rpm mailcap-2.1.41-2.el7.noarch.rpm

怎样在CentOS里下载RPM包及其所有依赖

不像 Downloadonly 插件,Yumdownload 可以下载一组相关的软件包。

yumdownloader "@Development Tools" --resolve --destdir /root/mypackages/

在我看来,我喜欢 Yumdownloader 更胜于 Yum 的 Downloadonly  插件。但是,两者都是十分简单易懂而且可以完成相同的工作。

看完上述内容,你们掌握怎样在CentOS里下载RPM包及其所有依赖的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎样在CentOS里下载RPM包及其所有依赖

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎样在CentOS里下载RPM包及其所有依赖

怎样在CentOS里下载RPM包及其所有依赖,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。我们可以使用 curl 或者 wget 下载任何软件包,然而这些命令并不能下载要求的
2023-06-16

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录