untuk membina sistem Debian yang minimum sering melibatkan tugas membosankan secara manual pemasangan dan tidak membuat direktori mmdebstrap
dalam persekitaran chroot. Panduan ini membentangkan penyelesaian automasi yang cekap untuk menyelaraskan proses ini, memastikan akses /dev
lancar semasa operasi chroot. /dev
mengapa automate pemasangan? /dev
sistem tuan rumah secara lalai. Batasan ini menyebabkan kesilapan apabila melaksanakan arahan seperti /dev
, kerana aplikasi memerlukan akses kepada fail peranti seperti apt update
. Pemasangan manual adalah rumit; Automasi meningkatkan kecekapan. /dev/null
<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>
Penyelesaian 1: memanfaatkan systemd-nspawn
, sebahagian daripada suite systemd-nspawn
, mencipta bekas sistem yang ringan dan terpencil. Ia dengan elegan mengendalikan pemasangan automatik systemd
, /dev
, dan /proc
dalam chroot. /sys
Langkah 1: Pemasangan
Pasang pada sistem berasaskan Debian: systemd-nspawn
sudo apt update sudo apt install systemd-container
Langkah 2: Kemasukan chroot
Buat persekitaran chroot (mis., Menggunakan): mmdebstrap
mmdebstrap --variant=minbase stable /tmp/debian-rootfs
: systemd-nspawn
sudo systemd-nspawn -D /tmp/debian-rootfs
secara automatik menguruskan pelekap dan tidak membuat direktori yang diperlukan. systemd-nspawn
penyelesaian 2: skrip chrootmnt
memudahkan chrootmnt
pelekap dan unmount dalam persekitaran chroot. Ia boleh didapati di [ostechnix github gist] (link_to_gist_here - gantikan dengan pautan sebenar jika tersedia). /dev
Ciri -ciri Utama:
Langkah 1: Penciptaan skrip
Simpan skrip berikut sebagai: (Nota: Ini adalah versi yang mudah.
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" "$@"
Buat skrip boleh dilaksanakan:
chmod +x chrootmnt.sh
Selepas mewujudkan persekitaran chroot dengan
, gunakan skrip:
mmdebstrap
./chrootmnt.sh /tmp/debian-rootfs /bin/bash # Start a shell ./chrootmnt.sh /tmp/debian-rootfs ls -l / # Run a command
/tmp/debian-rootfs
Pemasangan menghapuskan intervensi manual, meningkatkan kecekapan dalam bekerja dengan persekitaran chroot . Pilih penyelesaian yang paling sesuai dengan kepakaran teknikal dan keperluan aliran kerja anda.
3
Automating systemd-nspawn
skrip : mudah, mudah mengautomasikan pemasangan/unmounting. chrootmnt
Kesimpulan
Atas ialah kandungan terperinci Cara mengautomasikan pemasangan \/dev dalam persekitaran chroot di linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!