यह वास्तव में आसान है। कट्टर chroot स्क्रिप्ट करता है निम्नलिखित :
chroot_setup() {
CHROOT_ACTIVE_MOUNTS=()
[[ $(trap -p EXIT) ]] && die '(BUG): attempting to overwrite existing EXIT trap'
trap 'chroot_teardown' EXIT
chroot_maybe_add_mount "! mountpoint -q '$1'" "$1" "$1" --bind &&
chroot_add_mount proc "$1/proc" -t proc -o nosuid,noexec,nodev &&
chroot_add_mount sys "$1/sys" -t sysfs -o nosuid,noexec,nodev,ro &&
ignore_error chroot_maybe_add_mount "[[ -d '$1/sys/firmware/efi/efivars' ]]" \
efivarfs "$1/sys/firmware/efi/efivars" -t efivarfs -o nosuid,noexec,nodev &&
chroot_add_mount udev "$1/dev" -t devtmpfs -o mode=0755,nosuid &&
chroot_add_mount devpts "$1/dev/pts" -t devpts -o mode=0620,gid=5,nosuid,noexec &&
chroot_add_mount shm "$1/dev/shm" -t tmpfs -o mode=1777,nosuid,nodev &&
chroot_add_mount run "$1/run" -t tmpfs -o nosuid,nodev,mode=0755 &&
chroot_add_mount tmp "$1/tmp" -t tmpfs -o mode=1777,strictatime,nodev,nosuid
}
... और फिर प्रतियां resolv.conf
।
तो आपको इसकी आवश्यकता है:
mount proc "$chroot_directory/proc" -t proc -o nosuid,noexec,nodev
mount sys "$chroot_directory/sys" -t sysfs -o nosuid,noexec,nodev,ro
mount udev "$chroot_directory/dev" -t devtmpfs -o mode=0755,nosuid
mount devpts "$chroot_directory/dev/pts" -t devpts -o mode=0620,gid=5,nosuid,noexec
mount shm "$chroot_directory/dev/shm" -t tmpfs -o mode=1777,nosuid,nodev
mount run "$chroot_directory/run" -t tmpfs -o nosuid,nodev,mode=0755
mount tmp "$chroot_directory/tmp" -t tmpfs -o mode=1777,strictatime,nodev,nosuid
इसके अलावा, यदि आप EFI- बूटेड हैं:
mount efivarfs "$chroot_directory/sys/firmware/efi/efivars" -t efivarfs -o nosuid,noexec,nodev
/etc/resolv.conf
जरूरत पड़ने पर कॉपी भी करें या आप DNS नामों को हल करने में सक्षम नहीं होंगे।
वैकल्पिक रूप से, आप जेंटू चेरोट प्रक्रिया का भी पालन कर सकते हैं :
mount -t proc proc "$chroot_directory/proc"
mount --rbind /sys "$chroot_directory/sys"
mount --make-rslave "$chroot_directory/sys"
mount --rbind /dev "$chroot_directory/dev"
mount --make-rslave "$chroot_directory/dev"
उसके बाद, बस चलाएं chroot "$chroot_directory"
या शायद chroot "$chroot_directory" /usr/bin/bash
यदि आपका वर्तमान शेल उस निर्देशिका के अंदर उपलब्ध नहीं है जो आप दर्ज कर रहे हैं।
grub-install
या जो भी हो।