使用mmdebstrap
构建最小的debian系统通常涉及在Chroot环境中手动安装和卸载/dev
访问。/dev
>
为什么自动安装?
/dev
apt update
> /dev/null
解决方案1:利用
<code>[...] /usr/bin/apt-key: 95: cannot create /dev/null: Permission denied /usr/bin/apt-key: 95: cannot create /dev/null: Permission denied E: gpgv, gpgv2 or gpgv1 required for verification, but neither seems installed Err:3 http://deb.debian.org/debian bookworm-updates InRelease gpgv, gpgv2 or gpgv1 required for verification, but neither seems installed [...]</code>
>
systemd-nspawn
,
>,systemd-nspawn
的自动安装。
systemd
/dev
步骤1:安装/proc
/sys
在基于Debian的系统上
:
>步骤2:chroot条目systemd-nspawn
sudo apt update sudo apt install systemd-container创建一个Chroot环境(例如,使用
):
mmdebstrap
mmdebstrap --variant=minbase stable /tmp/debian-rootfs自动管理必要目录的安装和卸载。
systemd-nspawn
解决方案2:
sudo systemd-nspawn -D /tmp/debian-rootfs
>
systemd-nspawn
在Chroot环境中的安装和卸载。 它可以在[ostechnix github gist]上提供(link_to_gist_here-替换为实际链接,如果可用)。
chrootmnt
密钥功能:
chrootmnt
> chroot路径和命令的灵活输入处理。
/dev
鲁棒错误处理。
>自动清理出口。 拟交互式工具的伪末端支持。
使脚本可执行:
chrootmnt.sh
>
#!/usr/bin/env bash CHROOT_DIR="" shift sudo mount --bind /dev "$CHROOT_DIR/dev" sudo mount --bind /dev/pts "$CHROOT_DIR/dev/pts" trap "sudo umount "$CHROOT_DIR/dev/pts"; sudo umount "$CHROOT_DIR/dev"" EXIT sudo chroot "$CHROOT_DIR" "$@"
>
使用创建Chroot环境后,请使用脚本:
请记住用实际的chroot路径替换
。chmod +x chrootmnt.sh>
选择正确的解决方案
systemd-nspawn
:非常适合需要容器样功能的高级用户。chrootmnt
脚本:更简单,很容易自动安装/卸载。结论
>自动化/dev
安装消除了手动干预,从而提高了使用
以上是如何在Linux中的Chroot环境中自动安装\/Dev的详细内容。更多信息请关注PHP中文网其他相关文章!