Debian

使用預裝的軟體包和設置創建 Xen 來賓

  • November 29, 2019

對於上下文,我正在創建一個腳本來簡化創建 xen 來賓的過程。該腳本使用xen-create-image並使用一堆標誌來設置盡可能多的有用設置(發行版、vg、根磁碟大小、IP 等)。這一切都在 Debian 10 上。

我想知道是否有其他 Xen 工具或配置可用於(預)安裝某些軟體包,並在新創建的來賓中設置某些設置/配置文件。

我想避免使用包含所有預安裝包的圖像文件,然後dd進入新的 LV,然後必須更改主機名、IP 等。

有這樣的命令或設置嗎?

編輯: 為澄清起見,我使用的是開源 Xen 4.11

編輯 2: 我考慮過 SSH,但顯然 xen-create-image 沒有安裝和啟用 openssh-server。

我想到了。

xen-create-image 有一個名為--role; 這些角色在 中定義為sh腳本/etc/xen-tools/role.d/,您可以創建自己的角色,只要它是可執行的。

我做了一個非常簡單的角色,只是為了測試:

#!/bin/sh

prefix=$1

installDebianPackage ${prefix} openssh-server

chroot ${prefix} /bin/systemctl enable ssh
chroot ${prefix} /bin/echo 'PermitRootLogin yes' >> ${prefix}/etc/ssh/sshd_config

prefix=$1預設情況下是/tmp/一個隨機生成名稱的文件夾。在這裡xen-create-image建構文件系統並安裝包,然後將其放入邏輯卷或映像(或者看起來如此)。

common.sh是一個包含大量xen-create-image用於建構 VM 的函式的腳本。 installDebianPackage據我所知,這是其中一個功能,它會將指定的軟體包安裝到 VM 中。

以開頭的行chroot可以是確保設置某些設置的命令,將行添加到配置文件等。這是角色的一個強大功能,因為這使得基本上可以執行任何命令。systemctl start, systemctl stop,systemctl restart當然不工作,但是systemctl enable可以。

在啟用的情況下,sshd啟動機器後大約需要 5 分鐘才能啟動,包括啟動時間和我的機器在實際啟動之前不知何故說“無法處理卷組”50 次。

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