Rumah > Tutorial sistem > LINUX > Cara mengautomasikan pemasangan \/dev dalam persekitaran chroot di linux

Cara mengautomasikan pemasangan \/dev dalam persekitaran chroot di linux

Jennifer Aniston
Lepaskan: 2025-03-06 12:01:10
asal
156 orang telah melayarinya

How To Automate Mounting /dev In Chroot Environments In Linux

Menggunakan

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

Persekitaran chroot tidak mempunyai akses kepada direktori

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>
Salin selepas log masuk

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
Salin selepas log masuk

Langkah 2: Kemasukan chroot

Buat persekitaran chroot (mis., Menggunakan

): mmdebstrap

mmdebstrap --variant=minbase stable /tmp/debian-rootfs
Salin selepas log masuk
masukkan chroot menggunakan

: systemd-nspawn

sudo systemd-nspawn -D /tmp/debian-rootfs
Salin selepas log masuk

secara automatik menguruskan pelekap dan tidak membuat direktori yang diperlukan. systemd-nspawn

penyelesaian 2: skrip chrootmnt

skrip bash

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:

    Pengendalian input fleksibel untuk laluan dan arahan chroot.
  • Pengendalian ralat yang teguh.
  • pembersihan automatik pada keluar.
  • sokongan terminal pseudo untuk alat interaktif.

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" "$@"
Salin selepas log masuk
Langkah 2: Eksekutif

Buat skrip boleh dilaksanakan:

chmod +x chrootmnt.sh
Salin selepas log masuk
Langkah 3: Penggunaan skrip

Selepas mewujudkan persekitaran chroot dengan

, gunakan skrip:

mmdebstrap

ingat untuk menggantikan
./chrootmnt.sh /tmp/debian-rootfs /bin/bash  # Start a shell
./chrootmnt.sh /tmp/debian-rootfs ls -l /     # Run a command
Salin selepas log masuk
dengan laluan chroot sebenar anda.

/tmp/debian-rootfs

memilih penyelesaian yang betul

    3
  • systemd-nspawn skrip : mudah, mudah mengautomasikan pemasangan/unmounting.
  • chrootmnt Kesimpulan
Automating

Pemasangan menghapuskan intervensi manual, meningkatkan kecekapan dalam bekerja dengan persekitaran chroot . Pilih penyelesaian yang paling sesuai dengan kepakaran teknikal dan keperluan aliran kerja anda.

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan