制作Debian云镜像的方法是什么?
Debian官方的云镜像可以从 https://cdimage.debian.org/cdimage/openstack/ 下载,但想要使用自己定制的镜像。由于每次都忘记了制作方法所以在这里记录一下制作方法。
在本次中,我們將使用最簡單的openstack-debian-images進行操作,儘管有關於如何創建OpenStack的Cloud Image的方法在https://docs.openstack.org/ja/image-guide/create-images-automatically.html中有詳細整理。
如何进行定制化。
-
- KVM上で動かすのでqemu-guest-agentを入れる
fishをログインシェルにする
ログイン画面にIPアドレスを表示する
方式
在运行Debian的计算机上安装openstack-debian-images。
# apt install -y openstack-debian-images
在openstack-debian-images中,您可以指定在构建时运行的hook脚本。请准备好以下文件作为/root/hook-script.sh。不要忘记赋予执行权限。
#!/bin/bash
set -e
# ログイン画面にIPアドレスを表示
cat << 'EOS' > ${BODI_CHROOT_PATH}/etc/issue
Debian GNU/Linux 9 \n \l
eth0: \4{eth0}, \6{eth0}
EOS
# ログインシェルをfishに変更
chroot ${BODI_CHROOT_PATH} chsh -s /usr/bin/fish debian
使用此文件构建云镜像的下一个命令是1。如果还有其他要安装的软件包,请在–extra-packages中指定。
# build-openstack-debian-image --release stretch \
--hook-script /root/hook-script.sh \
--extra-packages qemu-guest-agent,less,vim,bzip2,curl,wget,fish,man
做完了。
在man中写道,只能在wheezy和jessie里指定-release,但在版本1.20~deb9u2中,根据源代码显示,除了wheezy和jessie,还可以指定stretch和buster。