当前位置: 首页 > article >正文

yumdownloader介绍和使用示例

有时候公司的服务器外网权限控制的很严,不允许连接到外网。安装系统离线源之外的工具使用yum会直接报错,例如:

yum install autossh
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile* base: centos.t-2.net* extras: centos.t-2.net* updates: centos.t-2.net
No package autossh available.
Error: Nothing to do

如果使用离线rpm安装的话,有很多依赖需要下载安装。

yumdownloader神器的出现完美的解决这这个问题,安装:

# yum install yum-utils -y

使用:

yumdownloader --resolve --destdir=/data/mypackages/ xxx
  • -–destdir:默认情况下,Yumdownloader 将会下载软件包到当前工作目录下.为了将软件下载到一个特定的目录下,我们使用  参数:
  • --resolve:解析所有依赖

示例1:安装httpd

1)使用yumdownloader下载依赖:

# yumdownloader --resolve --destdir=/root/mypackages/ httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
--> Running transaction check
---> Package httpd.i686 0:2.4.6-98.tl2.7.1 will be installed
--> Processing Dependency: httpd-tools = 2.4.6-98.tl2.7.1 for package: httpd-2.4.6-98.tl2.7.1.i686
--> Processing Dependency: libaprutil-1.so.0 for package: httpd-2.4.6-98.tl2.7.1.i686
--> Processing Dependency: libapr-1.so.0 for package: httpd-2.4.6-98.tl2.7.1.i686
---> Package httpd.x86_64 0:2.4.6-98.tl2.7.1 will be installed
--> Running transaction check
---> Package apr.i686 0:1.4.8-7.tl2 will be installed
---> Package apr-util.x86_64 0:1.5.2-6.el7 will be updated
---> Package apr-util.i686 0:1.5.2-6.tl2.1 will be installed
---> Package apr-util.x86_64 0:1.5.2-6.tl2.1 will be an update
---> Package httpd-tools.x86_64 0:2.4.6-98.tl2.7.1 will be installed
--> Finished Dependency Resolution
No Presto metadata available for tlinux
(1/6): apr-1.4.8-7.tl2.i686.rpm                                                                                                                                     | 108 kB  00:00:00     
(2/6): apr-util-1.5.2-6.tl2.1.i686.rpm                                                                                                                              |  93 kB  00:00:00     
(3/6): apr-util-1.5.2-6.tl2.1.x86_64.rpm                                                                                                                            |  92 kB  00:00:00     
(4/6): httpd-2.4.6-98.tl2.7.1.x86_64.rpm                                                                                                                            | 2.7 MB  00:00:00     
(5/6): httpd-tools-2.4.6-98.tl2.7.1.x86_64.rpm                                                                                                                      |  94 kB  00:00:00     
(6/6): httpd-2.4.6-98.tl2.7.1.i686.rpm # ll
total 5972
-rw-r--r-- 1 root root  110256 Nov 17  2020 apr-1.4.8-7.tl2.i686.rpm
-rw-r--r-- 1 root root   95376 Jun  5  2023 apr-util-1.5.2-6.tl2.1.i686.rpm
-rw-r--r-- 1 root root   93924 Jun  5  2023 apr-util-1.5.2-6.tl2.1.x86_64.rpm
-rw-r--r-- 1 root root 2838832 May  6  2023 httpd-2.4.6-98.tl2.7.1.i686.rpm
-rw-r--r-- 1 root root 2845720 May  6  2023 httpd-2.4.6-98.tl2.7.1.x86_64.rpm
-rw-r--r-- 1 root root   96368 May  6  2023 httpd-tools-2.4.6-98.tl2.7.1.x86_64.rpm

2)使用createrepo制作离线源

cd /root
createrepo mypackages                         #将mypackages目录制作成仓库vim /etc/yum.repos.d/httpd.repo
[httpd]
name=httpd
baseurl=file:///root/mypackages/
gpgcheck=0
enabled=1

示例2:安装ansible

假设两台服务器A和B,A安装了ansible,B不允许联外网,无法使用yum安装,可以使用如下方式:

1)在A服务器上使用yumdownloader下载ansible依赖:

# yumdownloader --resolve ansible
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
base                                                                                                                                                                | 3.6 kB  00:00:00     
docker-ce-stable                                                                                                                                                    | 3.5 kB  00:00:00     
epel                                                                                                                                                                | 4.7 kB  00:00:00     
extras                                                                                                                                                              | 3.4 kB  00:00:00     
tlinux                                                                                                                                                              | 4.0 kB  00:00:00     
updates                                                                                                                                                             | 3.4 kB  00:00:00     
--> Running transaction check
---> Package ansible.noarch 0:2.9.27-2.tl2 will be installed
--> Finished Dependency Resolution
ansible-2.9.27-2.tl2.noarch.rpm                                                                                                                                     |  17 MB  00:00:01     
[root@VM-18-54-centos /data/knowliu/ansible_dep]# ll
total 17416
-rw-r--r-- 1 root root 17832116 Feb  6  2023 ansible-2.9.27-2.tl2.noarch.rpm

注:只下载了ansible-2.9.27-2.tl2.noarch.rpm,以来貌似没有下载。

2)将ansible-2.9.27-2.tl2.noarch.rpm上传到服务器B,然后执行安装:

# rpm -ivh ansible-2.9.27-2.tl2.noarch.rpm 
error: Failed dependencies:python-httplib2 is needed by ansible-2.9.27-2.tl2.noarchpython-paramiko is needed by ansible-2.9.27-2.tl2.noarchpython2-jmespath is needed by ansible-2.9.27-2.tl2.noarchsshpass is needed by ansible-2.9.27-2.tl2.noarch

3)在A服务器上,继续使用yumdownloader下载以上的包:

# yumdownloader python-httplib2
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
python-httplib2-0.9.2-1.el7.noarch.rpm                                                                                                                              | 115 kB  00:00:00 # yumdownloader python-paramiko
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
python-paramiko-2.1.1-9.tl2.noarch.rpm                                                                                                                              | 268 kB  00:00:00# yumdownloader python2-jmespath
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
python2-jmespath-0.9.4-2.el7.noarch.rpm                                                                                                                             |  41 kB  00:00:00# yumdownloader sshpass
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
sshpass-1.06-2.el7.x86_64.rpm                                                                                                                                       |  21 kB  00:00:00

4)在B服务器上执行依赖安装:

rpm -ivh python-httplib2-0.9.2-1.el7.noarch.rpm
rpm -ivh python-paramiko-2.1.1-9.tl2.noarch.rpm
rpm -ivh python2-jmespath-0.9.4-2.el7.noarch.rpm
rpm -ivh sshpass-1.06-2.el7.x86_64.rpm 
rpm -ivh ansible-2.9.27-2.tl2.noarch.rpm

http://www.lryc.cn/news/2417102.html

相关文章:

  • 正则表达式语法及使用
  • DM脚本启动报错:please change nobody or root to execute the service script,otherwise may be failed
  • USBKEY全解析---概要介绍
  • Java 程序的运行环境及示例代码
  • 日志过滤实体中的属性
  • EtherCAT运动控制卡开发教程之Qt(上):开发环境配置与简单运动控制应用
  • usb一致性测试软件,USB 3.0一致性测试方法
  • EasyExcel 样式注解大全
  • 【计算机网络】网络安全知识要点
  • 【MATLAB安装教学】图文并茂手把手教学
  • OTN技术
  • ShareSDK Android SDK第三方平台分享参数说明
  • 概念模型与E-R模型
  • linux samba 不设权限,centos下Samba配置 解决没有权限问题
  • GD32F303固件库开发(8)----USART收发配置
  • GoldenDict:一款免费的词典工具
  • mysql tdb数据库_MYSQL数据库基础
  • 指针函数的概念
  • 网格组布局管理器(GridBagLayout)网格包布局管理器
  • 什么是串联谐振和并联谐振,有什么作用(硬件每日一题)
  • CSS——FC(BFC/IFC/FFC/GFC)超详细版+原理案例分析
  • Android将library代码发布到jcenter
  • 机器学习——多元线性回归分析(multiple regression)及应用
  • C语言(五)---函数
  • Javascript的调试利器:Firebug使用详解
  • qtp11安装及入门
  • BOSS系统
  • VML概览
  • ironpython是什么意思_意思是“IronPython是Python编程语言的一种实现”
  • 连接池介绍