您的位置:首页 > 运维架构 > Linux

【MD】yum install --downloadonly 下载依赖包、salt离线安装探索

2017-12-04 17:12 495 查看
原贴发表于17年初,本次使用md重新编辑并完善.

copyright:wangn

2017-1-16

CentOS-7-x86_64-Minimal-1511.iso

CentOS Linux release 7.2.1511 (Core)

离线生产环境部署linux 程序时,经常需要用到rpm安装,本文借用yum命令,在本地一次性下载rpm依赖包:

测试对象为salt-master软件

在使用yum下载之前,需要先安装linux附加软件
epel源
。推荐使用rpm或yum安装。

1、yum install -y epel-release
2、wget http://centos.ustc.edu.cn/epel/7/aarch64/e/epel-release-7-9.noarch.rpm rpm -ivh epel-release-7-9.noarch.rpm


利用yum downloadonly参数下载rpm组合依赖包:

# yum install --downloadonly --downloaddir=/home/salt-master salt-master
Loaded plugins: fastestmirror
epel/x86_64/metalink                                    | 5.9 kB  00:00:00
epel                                                    | 4.3 kB  00:00:00
(1/3): epel/x86_64/group_gz                             | 170 kB  00:00:00
(2/3): epel/x86_64/updateinfo                           | 718 kB  00:00:00
(3/3): epel/x86_64/primary_db                           | 4.5 MB  00:00:43
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.aliyun.com
* updates: centos.ustc.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package salt-master.noarch 0:2015.5.10-2.el7 will be installed
--> Processing Dependency: salt = 2015.5.10-2.el7 for package: salt-master-2015.5.10-2.el7.noarch
--> Processing Dependency: systemd-python for package: salt-master-2015.5.10-2.el7.noarch
--> Running transaction check
---> Package salt.noarch 0:2015.5.10-2.el7 will be installed
--> Processing Dependency: yum-utils for package: salt-2015.5.10-2.el7.noarch
--> Processing Dependency: python-zmq for package: salt-2015.5.10-2.el7.noarch
--> Processing Dependency: python-requests for package: salt-2015.5.10-2.el7.noarch
--> Processing Dependency: python-msgpack for package: salt-2015.5.10-2.el7.noarch
--> Processing Dependency: python-jinja2 for package: salt-2015.5.10-2.el7.noarch
--> Processing Dependency: python-crypto for package: salt-2015.5.10-2.el7.noarch
--> Processing Dependency: pciutils for package: salt-2015.5.10-2.el7.noarch
--> Processing Dependency: m2crypto for package: salt-2015.5.10-2.el7.noarch
--> Processing Dependency: PyYAML for package: salt-2015.5.10-2.el7.noarch
---> Package systemd-python.x86_64 0:219-30.el7_3.6 will be installed
--> Processing Dependency: systemd-libs = 219-30.el7_3.6 for package: systemd-python-219-30.el7_3.6.x86_64
--> Processing Dependency: systemd = 219-30.el7_3.6 for package: systemd-python-219-30.el7_3.6.x86_64
--> Running transaction check
---> Package PyYAML.x86_64 0:3.10-11.el7 will be installed
--> Processing Dependency: libyaml-0.so.2()(64bit) for package: PyYAML-3.10-11.el7.x86_64
---> Package m2crypto.x86_64 0:0.21.1-17.el7 will be installed
---> Package pciutils.x86_64 0:3.5.1-1.el7 will be installed
--> Processing Dependency: pciutils-libs = 3.5.1-1.el7 for package: pciutils-3.5.1-1.el7.x86_64
--> Processing Dependency: libpci.so.3(LIBPCI_3.5)(64bit) for package: pciutils-3.5.1-1.el7.x86_64
--> Processing Dependency: libpci.so.3(LIBPCI_3.3)(64bit) for package: pciutils-3.5.1-1.el7.x86_64
---> Package python-jinja2.noarch 0:2.7.2-2.el7 will be installed
--> Processing Dependency: python-babel >= 0.8 for package: python-jinja2-2.7.2-2.el7.noarch
--> Processing Dependency: python-markupsafe for package: python-jinja2-2.7.2-2.el7.noarch
---> Package python-requests.noarch 0:2.6.0-1.el7_1 will be installed
--> Processing Dependency: python-urllib3 >= 1.10.2-1 for package: python-requests-2.6.0-1.el7_1.noarch
--> Processing Dependency: python-chardet >= 2.2.1-1 for package: python-requests-2.6.0-1.el7_1.noarch
---> Package python-zmq.x86_64 0:14.3.1-1.el7 will be installed
--> Processing Dependency: libzmq.so.3()(64bit) for package: python-zmq-14.3.1-1.el7.x86_64
---> Package python2-crypto.x86_64 0:2.6.1-10.el7 will be installed
--> Processing Dependency: libtomcrypt.so.0()(64bit) for package: python2-crypto-2.6.1-10.el7.x86_64
---> Package python2-msgpack.x86_64 0:0.4.8-1.el7 will be installed
---> Package systemd.x86_64 0:219-19.el7_2.13 will be updated
--> Processing Dependency: systemd = 219-19.el7_2.13 for package: systemd-sysv-219-19.el7_2.13.x86_64
---> Package systemd.x86_64 0:219-30.el7_3.6 will be an update
---> Package systemd-libs.x86_64 0:219-19.el7_2.13 will be updated
--> Processing Dependency: systemd-libs = 219-19.el7_2.13 for package: libgudev1-219-19.el7_2.13.x86_64
---> Package systemd-libs.x86_64 0:219-30.el7_3.6 will be an update
---> Package yum-utils.noarch 0:1.1.31-40.el7 will be installed
--> Processing Dependency: yum >= 3.4.3-143 for package: yum-utils-1.1.31-40.el7.noarch
--> Processing Dependency: python-kitchen for package: yum-utils-1.1.31-40.el7.noarch
--> Processing Dependency: libxml2-python for package: yum-utils-1.1.31-40.el7.noarch
--> Running transaction check
---> Package libgudev1.x86_64 0:219-19.el7_2.13 will be updated
---> Package libgudev1.x86_64 0:219-30.el7_3.6 will be an update
---> Package libtomcrypt.x86_64 0:1.17-23.el7 will be installed
--> Processing Dependency: libtommath >= 0.42.0 for package: libtomcrypt-1.17-23.el7.x86_64
--> Processing Dependency: libtommath.so.0()(64bit) for package: libtomcrypt-1.17-23.el7.x86_64
---> Package libxml2-python.x86_64 0:2.9.1-6.el7_2.3 will be installed
---> Package libyaml.x86_64 0:0.1.4-11.el7_0 will be installed
---> Package pciutils-libs.x86_64 0:3.2.1-4.el7 will be updated
---> Package pciutils-libs.x86_64 0:3.5.1-1.el7 will be an update
---> Package python-babel.noarch 0:0.9.6-8.el7 will be installed
---> Package python-chardet.noarch 0:2.2.1-1.el7_1 will be installed
---> Package python-kitchen.noarch 0:1.1.1-5.el7 will be installed
---> Package python-markupsafe.x86_64 0:0.11-10.el7 will be installed
---> Package python-urllib3.noarch 0:1.10.2-2.el7_1 will be installed
--> Processing Dependency: python-six for package: python-urllib3-1.10.2-2.el7_1.noarch
--> Processing Dependency: python-backports-ssl_match_hostname for package: python-urllib3-1.10.2-2.el7_1.noarch
---> Package systemd-sysv.x86_64 0:219-19.el7_2.13 will be updated
---> Package systemd-sysv.x86_64 0:219-30.el7_3.6 will be an update
---> Package yum.noarch 0:3.4.3-132.el7.centos.0.1 will be updated
---> Package yum.noarch 0:3.4.3-150.el7.centos will be an update
--> Processing Dependency: python-urlgrabber >= 3.10-8 for package: yum-3.4.3-150.el7.centos.noarch
---> Package zeromq3.x86_64 0:3.2.5-1.el7 will be installed
--> Processing Dependency: libpgm-5.2.so.0()(64bit) for package: zeromq3-3.2.5-1.el7.x86_64
--> Running transaction check
---> Package libtommath.x86_64 0:0.42.0-4.el7 will be installed
---> Package openpgm.x86_64 0:5.2.122-2.el7 will be installed
---> Package python-backports-ssl_match_hostname.noarch 0:3.4.0.2-4.el7 will be installed
--> Processing Dependency: python-backports for package: python-backports-ssl_match_hostname-3.4.0.2-4.el7.noarch
---> Package python-six.noarch 0:1.9.0-2.el7 will be installed
---> Package python-urlgrabber.noarch 0:3.10-7.el7 will be updated
---> Package python-urlgrabber.noarch 0:3.10-8.el7 will be an update
--> Running transaction check
---> Package python-backports.x86_64 0:1.0-8.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===============================================================
Package                                 Arch             Version             Repository             Size
===============================================================
Installing:
salt-master                             noarch           2015.5.10-2.el7     epel                   1.0 M
Installing for dependencies:
PyYAML                                  x86_64           3.10-11.el7         base                   153 k
libtomcrypt                             x86_64           1.17-23.el7         epel                   224 k
libtommath                              x86_64           0.42.0-4.el7        epel                   35 k
libxml2-python                          x86_64           2.9.1-6.el7_2.3     base                   247 k
libyaml                                 x86_64           0.1.4-11.el7_0      base                   55 k
m2crypto                                x86_64           0.21.1-17.el7       base                   429 k
openpgm                                 x86_64           5.2.122-2.el7       epel                   171 k
pciutils                                x86_64           3.5.1-1.el7         base                   93 k
python-babel                            noarch           0.9.6-8.el7         base                   1.4 M
python-backports                        x86_64           1.0-8.el7           base                   5.8 k
python-backports-ssl_match_hostname     noarch           3.4.0.2-4.el7       base                   12 k
python-chardet                          noarch           2.2.1-1.el7_1       base                   227 k
python-jinja2                           noarch           2.7.2-2.el7         base                   515 k
python-kitchen                          noarch           1.1.1-5.el7         base                   267 k
python-markupsafe                       x86_64           0.11-10.el7         base                   25 k
python-requests                         noarch           2.6.0-1.el7_1       base                   94 k
python-six                              noarch           1.9.0-2.el7         base                   29 k
python-urllib3                          noarch           1.10.2-2.el7_1      base                   100 k
python-zmq                              x86_64           14.3.1-1.el7        epel                   468 k
python2-crypto                          x86_64           2.6.1-10.el7        epel                   475 k
python2-msgpack                         x86_64           0.4.8-1.el7         epel                   83 k
salt                                    noarch           2015.5.10-2.el7     epel                   4.1 M
systemd-python                          x86_64           219-30.el7_3.6      updates                109 k
yum-utils                               noarch           1.1.31-40.el7       base                   116 k
zeromq3                                 x86_64           3.2.5-1.el7         epel                   344 k
Updating for dependencies:
libgudev1                               x86_64           219-30.el7_3.6      updates                76 k
pciutils-libs                           x86_64           3.5.1-1.el7         base                   46 k
python-urlgrabber                       noarch           3.10-8.el7          base                   108 k
systemd                                 x86_64           219-30.el7_3.6      updates                5.2 M
systemd-libs                            x86_64           219-30.el7_3.6      updates                368 k
systemd-sysv                            x86_64           219-30.el7_3.6      updates                63 k
yum                                     noarch           3.4.3-150.el7.centosbase                   1.2 M
Transaction Summary
======================================================
Install  1 Package  (+25 Dependent packages)
Upgrade             (  7 Dependent packages)
Total download size: 18 M
Background downloading packages, then exiting:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
warning: /home/salt-master/libtommath-0.42.0-4.el7.x86_64.rpm.27716.tmp: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Public key for libtommath-0.42.0-4.el7.x86_64.rpm.27716.tmp is not installed
(1/33): libtommath-0.42.0-4.el7.x86_64.rpm                                            |  35 kB  00:00:00
(2/33): libgudev1-219-30.el7_3.6.x86_64.rpm                                           |  76 kB  00:00:00
(3/33): PyYAML-3.10-11.el7.x86_64.rpm                                                 | 153 kB  00:00:00
(4/33): libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm                                     | 247 kB  00:00:00
(5/33): pciutils-3.5.1-1.el7.x86_64.rpm                                               |  93 kB  00:00:00
(6/33): pciutils-libs-3.5.1-1.el7.x86_64.rpm                                          |  46 kB  00:00:00
(7/33): libyaml-0.1.4-11.el7_0.x86_64.rpm                                             |  55 kB  00:00:00
(8/33): openpgm-5.2.122-2.el7.x86_64.rpm                                              | 171 kB  00:00:00
(9/33): python-backports-1.0-8.el7.x86_64.rpm                                         | 5.8 kB  00:00:00
(10/33): libtomcrypt-1.17-23.el7.x86_64.rpm                                           | 224 kB  00:00:00
(11/33): python-chardet-2.2.1-1.el7_1.noarch.rpm                                      | 227 kB  00:00:00
(12/33): python-kitchen-1.1.1-5.el7.noarch.rpm                                        | 267 kB  00:00:00
(13/33): python-markupsafe-0.11-10.el7.x86_64.rpm                                     |  25 kB  00:00:00
(14/33): python-requests-2.6.0-1.el7_1.noarch.rpm                                     |  94 kB  00:00:00
(15/33): python-six-1.9.0-2.el7.noarch.rpm                                            |  29 kB  00:00:00
(16/33): python-jinja2-2.7.2-2.el7.noarch.rpm                                         | 515 kB  00:00:00
(17/33): python-urllib3-1.10.2-2.el7_1.noarch.rpm                                     | 100 kB  00:00:00
(18/33): python-urlgrabber-3.10-8.el7.noarch.rpm                                      | 108 kB  00:00:00
(19/33): python-backports-ssl_match_hostname-3.4.0.2-4.el7.noarch.rpm                 |  12 kB  00:00:00
(20/33): python-babel-0.9.6-8.el7.noarch.rpm                                          | 1.4 MB  00:00:00
(21/33): m2crypto-0.21.1-17.el7.x86_64.rpm                                            | 429 kB  00:00:01
(22/33): python-zmq-14.3.1-1.el7.x86_64.rpm                                           | 468 kB  00:00:00
(23/33): python2-msgpack-0.4.8-1.el7.x86_64.rpm                                       |  83 kB  00:00:00
(24/33): python2-crypto-2.6.1-10.el7.x86_64.rpm                                       | 475 kB  00:00:00
(25/33): systemd-libs-219-30.el7_3.6.x86_64.rpm                                       | 368 kB  00:00:00
(26/33): systemd-sysv-219-30.el7_3.6.x86_64.rpm                                       |  63 kB  00:00:00
(27/33): salt-master-2015.5.10-2.el7.noarch.rpm                                       | 1.0 MB  00:00:00
(28/33): yum-utils-1.1.31-40.el7.noarch.rpm                                           | 116 kB  00:00:00
(29/33): systemd-python-219-30.el7_3.6.x86_64.rpm                                     | 109 kB  00:00:01
(30/33): yum-3.4.3-150.el7.centos.noarch.rpm                                          | 1.2 MB  00:00:01
(31/33): salt-2015.5.10-2.el7.noarch.rpm                                              | 4.1 MB  00:00:03
(32/33): zeromq3-3.2.5-1.el7.x86_64.rpm                                               | 344 kB  00:00:02
(33/33): systemd-219-30.el7_3.6.x86_64.rpm                                            | 5.2 MB  00:00:05
-------------------------------------------------------------------------------------
Total                                                                        2.6 MB/s |  18 MB  00:00:06
exiting because "Download Only" specified


有几点需要注意下:

1.yum download的是当前系统状态的
依赖组合
,如果当前系统进行过任何升级或者组件安装,则每次的结果就会有差异。对于实际部署,必须要求初始环境一致。在这里我选择的是CentOS-7-x86_64-Minimal-1511.iso,系统安装后直接利用rpm离线部署。

2.在resolved过程看到,系统提示了所匹配的组件包的名称、架构、版本、来源、大小。

3.从download的过程来看,系统给出了需要安装的每个软件,安装25项依赖软件,升级7项依赖软件。对应的离线安装包就需要区别对待。此处要格外注意。

我们将update列为单独的目录,其他依赖及主文件放置在update目录外,目录树如下:

# tree
├── libtomcrypt-1.17-23.el7.x86_64.rpm
├── libtommath-0.42.0-4.el7.x86_64.rpm
├── libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm
├── libyaml-0.1.4-11.el7_0.x86_64.rpm
├── m2crypto-0.21.1-17.el7.x86_64.rpm
├── openpgm-5.2.122-2.el7.x86_64.rpm
├── pciutils-3.5.1-1.el7.x86_64.rpm
├── python2-crypto-2.6.1-10.el7.x86_64.rpm
├── python2-msgpack-0.4.8-1.el7.x86_64.rpm
├── python-babel-0.9.6-8.el7.noarch.rpm
├── python-backports-1.0-8.el7.x86_64.rpm
├── python-backports-ssl_match_hostname-3.4.0.2-4.el7.noarch.rpm
├── python-chardet-2.2.1-1.el7_1.noarch.rpm
├── python-jinja2-2.7.2-2.el7.noarch.rpm
├── python-kitchen-1.1.1-5.el7.noarch.rpm
├── python-markupsafe-0.11-10.el7.x86_64.rpm
├── python-requests-2.6.0-1.el7_1.noarch.rpm
├── python-six-1.9.0-2.el7.noarch.rpm
├── python-urllib3-1.10.2-2.el7_1.noarch.rpm
├── python-zmq-14.3.1-1.el7.x86_64.rpm
├── PyYAML-3.10-11.el7.x86_64.rpm
├── salt-2015.5.10-2.el7.noarch.rpm
├── salt-master-2015.5.10-2.el7.noarch.rpm
├── systemd-python-219-30.el7_3.6.x86_64.rpm
├── yum-utils-1.1.31-40.el7.noarch.rpm
│── zeromq3-3.2.5-1.el7.x86_64.rpm
└── update
├── libgudev1-219-30.el7_3.6.x86_64.rpm
├── libxml2-2.9.1-6.el7_2.3.x86_64.rpm
├── pciutils-libs-3.5.1-1.el7.x86_64.rpm
├── python-urlgrabber-3.10-8.el7.noarch.rpm
├── systemd-219-30.el7_3.6.x86_64.rpm
├── systemd-libs-219-30.el7_3.6.x86_64.rpm
├── systemd-sysv-219-30.el7_3.6.x86_64.rpm
└── yum-3.4.3-150.el7.centos.noarch.rpm


在目录同层,编写install_salt.sh并
授予执行权限


#!/bin/bash
rpm -Uvh update/*.rpm
rpm -ivh *.rpm
systemctl start salt-master.service
systemctl enable salt-master.service
systemctl status salt-master.service


安装后服务状态正常。

● salt-master.service - The Salt Master Server
Loaded: loaded (/usr/lib/systemd/system/salt-master.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2017-01-17 13:35:00 CST; 1h 16min ago
Main PID: 17972 (salt-master)
Memory: 6.6M
CGroup: /system.slice/salt-master.service
├─17972 /usr/bin/python /usr/bin/salt-master
├─17982 /usr/bin/python /usr/bin/salt-master
├─17984 /usr/bin/python /usr/bin/salt-master
├─17985 /usr/bin/python /usr/bin/salt-master
├─17991 /usr/bin/python /usr/bin/salt-master
├─17993 /usr/bin/python /usr/bin/salt-master
├─17994 /usr/bin/python /usr/bin/salt-master
├─17997 /usr/bin/python /usr/bin/salt-master
├─18000 /usr/bin/python /usr/bin/salt-master
├─18004 /usr/bin/python /usr/bin/salt-master
└─18005 /usr/bin/python /usr/bin/salt-master


另外
salt-minion
也可以使用类似的方式完成离线安装。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  yum centos linux