Linux

在沒有網際網路的 Ubuntu 伺服器中傳輸和離線安裝網路工具(啟用僅主機的虛擬機)

  • March 14, 2022

我不知道如何在不是面向網際網路的機器的 ubuntu 伺服器上安裝 net-tools,出於某些原因,我不希望這樣。

這是一個暫時設置為僅主機的虛擬機。

有沒有辦法將 .deb 包轉移 我的VM,然後執行sudo dpkg -i packet_name安裝它,而無需使用網際網路在所有?

當然,您可以將文件複製到您的虛擬機(scp如果 ssh 有效),然後安裝它。

問題是:包有依賴關係,你不會複製這些。

兩種選擇:

  1. 用你想要的軟體配置一個新的虛擬機 ===================

第一個選項,也是我推薦的選項:

虛擬機通常先進行配置,然後進行部署,然後再不使用:因此,請使用您最喜歡的配置工具來獲取具有您需要的所有軟體的虛擬機,然後將您的特定配置添加到其中。最大的優勢是您可以線上進行所有操作以設置所有軟體,然後斷開連接並複制不應在具有網際網路連接的電腦上的所有內容。

cloud-init是一個流行的工具。不過,我個人主要ansible在普通虛擬機上使用。這使得添加這個軟體只不過是在 yaml 文件中添加一行。

2.使用apt-offline

您可以使用apt-offline準備需要安裝的軟體包列表,以便您可以安裝所需的軟體,然後將該列表傳輸到具有 Internet 訪問權限的機器,下載所需的軟體包,將它們傳輸回您的離線 VM,然後安裝他們在那裡。

  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.

引用自:https://unix.stackexchange.com/questions/694346