centos离线安装应用和应用相关依赖
适用于无法连接访问外网的 centos 系统,如一些对安全性要求比较高的服务器,不允许访问外网。比如现在无法访问外网的centos系统为 centos7。
1. 安装Docker
找一台能访问外网的电脑或者服务器(假设我们用的是一台可以访问外网的centos服务器),安装 docker
[sudo] apt install docker.io
2. 拉取并运行容器
拉取一个与无法联网的centos版本相同的系统,并启动一个名叫offline-pkg
的容器。
[sudo] docker run -it --name offline-pkg centos:centos7 /bin/bash
这一步的作用是拉取并进入一个纯净的centos系统,以便在下载应用的依赖的时候,能够把这个应用的全部依赖拉取下来。毕竟现实中很难找到跟无法联网的系统一模一样的服务器环境。
3. 下载应用和依赖
容器中执行:
yum update
yum install epel-release
yum install -y --downloadonly --downloaddir=. supervisor
tar -cvf pkg.tar *.rpm
不退出offline-pkg
容器的情况下,在宿主机中执行如下命令,将应用及其依赖拷贝出来:
[sudo] docker cp offline-pkg:/home/pkgs/pkg.tar pkg.tar
4. 部署
将pkg.tar
上传到无法访问外网的centos服务器。
[sudo] tar -xvf pkg.tar
[sudo] yum install *.rpm
相关下载示例
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum localinstall mysql57-community-release-el7-11.noarch.rpm
yum install -y --downloadonly --downloaddir=. mysql-community-server
https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html https://www.jianshu.com/p/1dab9a4d0d5f