【Linux】离线安装apt包-如何配置断网虚拟机的环境
情景引入
今天在公司实习的时候,遇到了云服务器上虚拟机配环境困难的问题,来看看我是如何部分解决的吧
众所周知公司的开发环境往往是内网环境,网络通信的出入都有可能是十分严格的。这些管控依赖于电脑中配置的安全软件,包括公司内的服务器也有这些安全软件,而运行在这些服务器之上的虚拟机,却有可能因为种种原因,可能是安全软件不方便安装,或者是其它我不知道的原因,总之为了防止虚拟机绕过安全检测产生泄密问题,虚拟机的网络往往比内网的弱互联网更弱,不仅访问不了官方apt源,甚至因为网络配置或者安全拦截等问题访问不到公司内的镜像apt源,对于这种情况,如果想要配置必要的环境,有没有什么办法解决呢?
方法原理
我们可以利用宿主机能够访问apt源的网络优势,获取apt包的离线安装包,传入虚拟机后,再用dpkg -i指令安装
具体步骤
我们以离线安装lcov包为例子,演示如何解决我们的问题
1. 下载apt离线包
我们使用apt download指令下载
1 | apt download lcov |
输出如下

2. 转移离线包到虚拟机
这里我们主要有两种方式
scp <源目录> <登录用户>@<远端地址>通过网络通信复制粘贴到虚拟机- 使用挂载的存储卷,直接通过共享目录的方式使虚拟机能获取宿主机内的安装包
这里我们使用存储卷,就不多做演示了
其实是我自己的云服务器上没虚拟机
3. 安装离线包
我们使用dpkg -i指令安装离线包
1 | dpkg -i ./*.deb |

4. 处理依赖问题
可以看到并不能直接安装lcov,因为它依赖于其它包,我们要先把报错里的两个依赖的包用同样的方式离线安装了,才可以最后安装lcov。
同理,它的依赖也可能有依赖,最后我们会获得一颗展开的多叉树,每个节点都是一个要安装的包,我们按照后序遍历的方式逐个安装就好了,最后才能把lcov安装好。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 supdriver的博客!
评论