Systemd-nspawn 镜像制作
Systemd-nspawn 并没有提供远程仓库,但是官方有一个 mkosi 制作镜像的项目。但是 mkosi 本身有太多的限制和问题:
- 老版本有太多没有修复的问题,最好直接使用新版本,debian 需要用 backports 仓库的版本
- 虽然能制作带分区表和文件系统的镜像,但是官方并没有提供扩容方案
- 受上游工具影响,所以很难制作不同于主机的发行版
- ……
Arch
如果不是在 Arch 的环境,那么就算是系统带有 arch-install-scripts 也是不行的,所以可以虚拟一个环境,如 Docker:
docker run --privileged \
-e container=docker \
--name archlinux-container
-it \
archlinux \
/sbin/init
docker exec abc sh -c 'echo 'Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch' > /etc/pacman.d/mirrorlist'
pacman --noconfirm -Syu
pacman -S mkosi
mkosi -d arch -t directory -O ./dist -m http://mirrors.ustc.edu.cn/archlinux -o archlinux
生成的 dist/archlinux
的目录就是镜像地址,制作的 Arch 镜像如果 key 出现问题,需要:
rm -R /etc/pacman.d/gnupg/
rm -R /root/.gnupg/
gpg --refresh-keys
pacman-key --init && pacman-key --populate archlinux