Linux
在沒有網際網路的 Ubuntu 伺服器中傳輸和離線安裝網路工具(啟用僅主機的虛擬機)
我不知道如何在不是面向網際網路的機器的 ubuntu 伺服器上安裝 net-tools,出於某些原因,我不希望這樣。
這是一個暫時設置為僅主機的虛擬機。
有沒有辦法將 .deb 包轉移到 我的VM,然後執行
sudo dpkg -i packet_name
安裝它,而無需使用網際網路在所有?
當然,您可以將文件複製到您的虛擬機(
scp
如果 ssh 有效),然後安裝它。問題是:包有依賴關係,你不會複製這些。
兩種選擇:
- 用你想要的軟體配置一個新的虛擬機 ===================
第一個選項,也是我推薦的選項:
虛擬機通常先進行配置,然後進行部署,然後再不使用:因此,請使用您最喜歡的配置工具來獲取具有您需要的所有軟體的虛擬機,然後將您的特定配置添加到其中。最大的優勢是您可以線上進行所有操作以設置所有軟體,然後斷開連接並複制不應在具有網際網路連接的電腦上的所有內容。
cloud-init
是一個流行的工具。不過,我個人主要ansible
在普通虛擬機上使用。這使得添加這個軟體只不過是在 yaml 文件中添加一行。2.使用
apt-offline
您可以使用
apt-offline
準備需要安裝的軟體包列表,以便您可以安裝所需的軟體,然後將該列表傳輸到具有 Internet 訪問權限的機器,下載所需的軟體包,將它們傳輸回您的離線 VM,然後安裝他們在那裡。
- 安裝 apt-offline:轉到https://packages.ubuntu.com並為您的架構下載 .deb 文件
apt-offline
(它沒有特殊的依賴項,所以您只需要它)- 使用 scp 將 deb 文件複製到離線伺服器上
sudo dpkg -i apt-offline*something.deb
在伺服器上- 生成包索引更新請求並在離線機器上安裝包:
sudo apt-offline set --install-packages PACKAGENAME --update apt-offline.sig
- 將該 apt-offline.sig 文件複製到您的線上電腦
- 在線上機器上,執行該請求:
apt-offline get --bundle bundle.zip apt-offline.sig
- 將 bundle.zip 複製到您的離線電腦
- 在離線機器上,
sudo apt-offline install bundle.zip
以及- 最後,您可以在離線機器上安裝該軟體包:
sudo apt install PACKAGENAME
.