1. 使用所需的软件配置新的虚拟机

1. 使用所需的软件配置新的虚拟机

我不知道如何在不是面向互联网的机器的 ubuntu 服务器上安装 net-tools,并且由于某些原因,我不希望如此。

这是暂时设置为仅主机的虚拟机。

有没有办法传输 .deb 包,例如:https://debian.pkgs.org/11/debian-main-arm64/net-tools_1.60+git20181103.0eebece-1_arm64.deb.html 进入我的虚拟机,然后运行sudo dpkg -i packet_name安装它而根本不需要使用互联网?

答案1

当然,您可以将文件复制到虚拟机上(scp如果 ssh 有效),然后安装它。

问题是:包具有依赖性,并且您不会复制它们。

两种选择:

1. 使用所需的软件配置新的虚拟机

第一个选项,也是我推荐的:

VM 通常是提供的,然后部署,然后就不再触及:因此,使用您最喜欢的配置工具来获取包含您需要的所有软件的虚拟机,然后只需向其中添加您的特定配置即可。最大的优点是,您可以在线完成所有操作来设置所有软件,然后断开连接并复制不应位于具有互联网连接的计算机上的所有内容。

cloud-init是一个流行的工具。不过,我个人主要ansible在普通虚拟机上使用。这使得添加这个软件只不过是在 yaml 文件中添加一行。

2. 使用apt-offline

您可以apt-offline准备一个需要安装的软件包列表,以便安装您想要的软件,然后将该列表传输到可以访问互联网的机器上,下载所需的软件包,将它们传输回您的离线虚拟机,然后在那里安装它们。

  1. 安装 apt-offline:转到https://packages.ubuntu.com并下载适合您的架构的 .deb 文件apt-offline(它没有特殊的依赖项,因此您只需要它)
  2. 使用 scp 将 deb 文件复制到离线服务器上
  3. sudo dpkg -i apt-offline*something.deb在服务器上
  4. 生成包索引更新请求并随后在离线计算机上安装包:sudo apt-offline set --install-packages PACKAGENAME --update apt-offline.sig
  5. 将 apt-offline.sig 文件复制到您的在线计算机上
  6. 在在线机器上,执行该请求:apt-offline get --bundle bundle.zip apt-offline.sig
  7. 将bundle.zip复制到您的离线计算机上
  8. 在离线机器上,sudo apt-offline install bundle.zip以及
  9. 最后,您可以在离线计算机上安装该软件包:sudo apt install PACKAGENAME

相关内容