任务背景
服务器上面需要部署sql server数据库,数据库服务又有好多的依赖包需要进行安装,但是这个服务器又没有连接外网,只能通过离线安装的方式进行安装
数据库服务又有好多的依赖包需要进行安装,依赖包还有依赖包安装,最简单的方式就是找一个可以上网的服务器,将所有的rpm通过yum偷包全偷下来
环境准备
系统类型 | 系统版本 | ip地址 | 备注 |
---|---|---|---|
linux | centos7.5 | 192.168.100.132 | 可以连接外网 |
先找一台可以连接上外网的服务器,,进行yum偷包,偷包完成后,将所需要的安装包给拷贝到不能上外网的服务器上面进行安装
实施步骤
[root@localhost ~]# rpm -ivh mssql-server-14.0.3370.1-18.x86_64.rpm #从官网下载的sql server的rpm包,下面全都是依赖
警告:mssql-server-14.0.3370.1-18.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID be1229cf: NOKEY
错误:依赖检测失败:
bzip2 被 mssql-server-14.0.3370.1-18.x86_64 需要
gdb 被 mssql-server-14.0.3370.1-18.x86_64 需要
libsss_nss_idmap 被 mssql-server-14.0.3370.1-18.x86_64 需要
cyrus-sasl 被 mssql-server-14.0.3370.1-18.x86_64 需要
cyrus-sasl-gssapi 被 mssql-server-14.0.3370.1-18.x86_64 需要
[root@localhost ~]# vi /etc/yum.conf #编辑yum的配置文件,开启keepcache功能
[root@localhost ~]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever #保存路径
keepcache=1 #默认是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
# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
[root@localhost ~]# yum -y clean all #清理下yum缓存
已加载插件:fastestmirror
正在清理软件源: base extras updates
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@localhost ~]# yum makecache #重新生成缓存
已加载插件:fastestmirror
Determining fastest mirrors
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.ustc.edu.cn
base | 3.6 kB 00:00
extras | 2.9 kB 00:00
updates | 2.9 kB 00:00
(1/10): base/7/x86_64/group_gz | 153 kB 00:00
(2/10): extras/7/x86_64/filelists_db | 225 kB 00:00
(3/10): extras/7/x86_64/other_db | 135 kB 00:00
(4/10): extras/7/x86_64/primary_db | 224 kB 00:00
(5/10): base/7/x86_64/filelists_db | 7.2 MB 00:01
(6/10): updates/7/x86_64/other_db | 454 kB 00:00
(7/10): updates/7/x86_64/filelists_db | 3.4 MB 00:01
(8/10): base/7/x86_64/other_db | 2.6 MB 00:03
(9/10): updates/7/x86_64/primary_db | 5.6 MB 00:03
(10/10): base/7/x86_64/primary_db | 6.1 MB 00:04
元数据缓存已建立
# 这里用的是localinstall安装方式,因为有了官网的rpm包的前提的,install 安装方式也是支持的。
[root@localhost ~]# yum localinstall -y mssql-server-14.0.3370.1-18.x86_64.rpm
已加载插件:fastestmirror
正在检查 mssql-server-14.0.3370.1-18.x86_64.rpm: mssql-server-14.0.3370.1-18.x86_64
mssql-server-14.0.3370.1-18.x86_64.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 mssql-server.x86_64.0.14.0.3370.1-18 将被 安装
--> 正在处理依赖关系 bzip2,它被软件包 mssql-server-14.0.3370.1-18.x86_64 需要
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.ustc.edu.cn
--> 正在处理依赖关系 gdb,它被软件包 mssql-server-14.0.3370.1-18.x86_64 需要
--> 正在处理依赖关系 libsss_nss_idmap,它被软件包 mssql-server-14.0.3370.1-18.x86_64 需要
--> 正在处理依赖关系 cyrus-sasl,它被软件包 mssql-server-14.0.3370.1-18.x86_64 需要
--> 正在处理依赖关系 cyrus-sasl-gssapi,它被软件包 mssql-server-14.0.3370.1-18.x86_64 需要
--> 正在检查事务
---> 软件包 bzip2.x86_64.0.1.0.6-13.el7 将被 安装
---> 软件包 cyrus-sasl.x86_64.0.2.1.26-23.el7 将被 安装
---> 软件包 cyrus-sasl-gssapi.x86_64.0.2.1.26-23.el7 将被 安装
---> 软件包 gdb.x86_64.0.7.6.1-120.el7 将被 安装
---> 软件包 libsss_nss_idmap.x86_64.0.1.16.5-10.el7_9.7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=================================================================================================================================================
Package 架构 版本 源 大小
=================================================================================================================================================
正在安装:
mssql-server x86_64 14.0.3370.1-18 /mssql-server-14.0.3370.1-18.x86_64 942 M
为依赖而安装:
bzip2 x86_64 1.0.6-13.el7 **base** #这个是配置文件里面的那个rpm包保存路径 52 k
cyrus-sasl x86_64 2.1.26-23.el7 **base** #这个是配置文件里面的那个rpm包保存路径 88 k
cyrus-sasl-gssapi x86_64 2.1.26-23.el7 **base** #这个是配置文件里面的那个rpm包保存路径 41 k
gdb x86_64 7.6.1-120.el7 **base** #这个是配置文件里面的那个rpm包保存路径 2.4 M
libsss_nss_idmap x86_64 1.16.5-10.el7_9.7 **updates** #这个是配置文件里面的那个rpm包保存路径 167 k
事务概要
=================================================================================================================================================
安装 1 软件包 (+5 依赖软件包)
总计:945 M
总下载量:2.8 M
安装大小:949 M
Downloading packages:
(1/5): cyrus-sasl-gssapi-2.1.26-23.el7.x86_64.rpm | 41 kB 00:00:00
(2/5): cyrus-sasl-2.1.26-23.el7.x86_64.rpm | 88 kB 00:00:00
(3/5): bzip2-1.0.6-13.el7.x86_64.rpm | 52 kB 00:00:00
(4/5): libsss_nss_idmap-1.16.5-10.el7_9.7.x86_64.rpm | 167 kB 00:00:00
(5/5): gdb-7.6.1-120.el7.x86_64.rpm | 2.4 MB 00:00:00
-------------------------------------------------------------------------------------------------------------------------------------------------
总计 2.6 MB/s | 2.8 MB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : cyrus-sasl-gssapi-2.1.26-23.el7.x86_64 1/6
正在安装 : cyrus-sasl-2.1.26-23.el7.x86_64 2/6
正在安装 : gdb-7.6.1-120.el7.x86_64 3/6
正在安装 : bzip2-1.0.6-13.el7.x86_64 4/6
正在安装 : libsss_nss_idmap-1.16.5-10.el7_9.7.x86_64 5/6
正在安装 : mssql-server-14.0.3370.1-18.x86_64 6/6
+--------------------------------------------------------------+
请运行 "sudo /opt/mssql/bin/mssql-conf setup"
完成 Microsoft SQL Server 的设置
+--------------------------------------------------------------+
需重启 SQL Server 才能应用此设置。请运行
"systemctl restart mssql-server.service"。
验证中 : libsss_nss_idmap-1.16.5-10.el7_9.7.x86_64 1/6
验证中 : bzip2-1.0.6-13.el7.x86_64 2/6
验证中 : mssql-server-14.0.3370.1-18.x86_64 3/6
验证中 : gdb-7.6.1-120.el7.x86_64 4/6
验证中 : cyrus-sasl-2.1.26-23.el7.x86_64 5/6
验证中 : cyrus-sasl-gssapi-2.1.26-23.el7.x86_64 6/6
已安装:
mssql-server.x86_64 0:14.0.3370.1-18
作为依赖被安装:
bzip2.x86_64 0:1.0.6-13.el7 cyrus-sasl.x86_64 0:2.1.26-23.el7 cyrus-sasl-gssapi.x86_64 0:2.1.26-23.el7
gdb.x86_64 0:7.6.1-120.el7 libsss_nss_idmap.x86_64 0:1.16.5-10.el7_9.7
完毕!
[root@localhost packages]# cd
[root@localhost ~]# cd /var/cache/yum/x86_64/7/base/packages/ #到相应的目录下面找到需要的包
[root@localhost packages]# ls
bzip2-1.0.6-13.el7.x86_64.rpm cyrus-sasl-2.1.26-23.el7.x86_64.rpm cyrus-sasl-gssapi-2.1.26-23.el7.x86_64.rpm gdb-7.6.1-120.el7.x86_64.rpm
[root@localhost packages]# cd /var/cache/yum/x86_64/7/updates/packages/ #到相应的目录下面找到需要的包
[root@localhost packages]# ls
libsss_nss_idmap-1.16.5-10.el7_9.7.x86_64.rpm
[root@localhost packages]#
开始安装
将上图所需要的安装包上传到需要进行离线安装得服务器上面去,然后再进行安装。
安装完成,这个只是演示偷包过程,