使用預裝的軟體包和設置創建 Xen 來賓
對於上下文,我正在創建一個腳本來簡化創建 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 次。