在实际工作中,很多公司会用到内网研发。
我自己就遇到了平时研发在外网(可以连接互联网)
但是开发完成后需要将项目部署到内网(不能连接互联网)
而且有一些依赖又不能通过软件打包的项目解决。
因此产生了这样的问题。
怎么在没有网络的服务器上安装一些软件或者依赖包呢?
这里主要介绍,将软件源码、或者安装包下载后,
上传到内网服务器,然后对环境进行部署安装。
接下来就以下载mysql为例:
yum install --downloadonly --downloaddir=./ mysql
--download 表示仅下载,不进行安装
--downloaddir=./ 表示将软件包及其依赖下载到当前目录
mysql表示需要下载的软件包
正常情况下,我们单独安装一个rpm包的时候,可以直接使用rpm -i xxx.rpm来进行安装。但是如果需要安装的rpm依赖其他rpm,并且其他rpm又依赖于其他的rpm。
这样我们每次单个安装的时候都会报错,这样一个一个去排查太麻烦了。
所以衍生出下面这样的问题:
当一个软件包有多个依赖,而且依赖之间有不同的安装顺序时,该怎么办呢?
使用以下命令进行安装,就会自动按顺序进行安装:
rpm -Uvh *.rpm --nodeps --force