LOADING...

加载过慢请开启缓存(浏览器默认开启)

loading

LXD 镜像制作

由于一些发行版官方不支持,或者一些过时的版本已不提供,所以需要自己动手制作。

Debian

需要先安装 debootstrap 包,如果当前主机没有提供包,则可以考虑在 LXD 创建一个 Debian 环境:

lxc launch debian/11 my-debian-container
lxc exec my-debian-container -- bash
apt install -y debootstrap

或者在 Docker 下:

docker run --privileged \
           -e container=docker \
           --name my-debian \
           -it debian \
           /sbin/init
docker exec -it my-debian-container bash
apt install -y debootstrap

Lenny

debootstrap lenny ./lenny http://mirrors.aliyun.com/debian-archive/debian
tar -cvzf rootfs.tar.gz -C lenny .

如果该系统不是基于 Systemd 的,那么是需要一些配置,首先是网络:

cat << EOF >> ./lenny/etc/network/interfaces
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp
EOF

其次是让 LXD 可以执行 lxc stop 来关闭他,需要改动里面的 init 脚本:

sed -i 's|pf::powerwait:/etc/init.d/powerfail start|pf::powerwait:/etc/init.d/rc 0|' ./lenny/etc/inittab

打包:

tar -cvzf rootfs.tar.gz -C lenny .

创建 metadata.yaml 文件:

architecture: x86_64
creation_date: 1658306082
properties:
  architecture: amd64
  description: Debian Ienny amd64
  os: Debian
  release: lenny

再打包该文件,并导入到 LXD 中:

tar -cvzf metadata.tar.gz metadata.yaml
lxc image import metadata.tar.gz rootfs.tar.gz