Швець Степан: ШС> К примеру, как можно выполнить какую-либо команду внутри ШС> подмонтированной системы, если реально работает система, запущенная ШС> с диска и, соответственно, внешняя (подмонтированная система), по ШС> отношению к работающей, представляет собой всего лишь совокупность ШС> файлов и каталогов со схожей с нею структурой.
Команда chroot изменяет корневой каталог для тех программ, которые через неё запускаются. Если Вы выполните chroot /mnt команда то и сама команда будет найдена внутри /mnt, и все имена файлов, которые она будет использовать, будут отсчитываться, начиная с /mnt. Если, например, команда попытается прочитать файл /boot/grub/device.map, то в действительности она обратится к файлу /mnt/boot/grub/device.map. Некоторые части ФС (например, /dev, /proc, /sys) создаются системой динамически. В действительности они не хранятся на диске, а являются виртуальными ФС, отражающими текущее состояние ядра. Но монтируются эти ФС, как и все прочие, просто к каталогам. Поэтому перед выполнением chroot стоит позаботиться о том, чтобы соответствующие каталоги внутри /mnt (именно /mnt/dev, /mnt/proc, /mnt/sys) тоже отражали состояние ядра, а не содержимое одноимённых каталогов на жёстком диске. Это достигается при помощи команды mount --bind старая-точка-монтирования новая-точка-монтирования которая создаёт для ФС ещё одну, новую точку монтирования. После выполнения этой команды к одному и тому же файлу можно будет обращаться как через старую точку монтирования, так и через новую. -- Дмитрий Падучих -- Blinux-rus mailing list [email protected] http://www.a11ywiki.org/cgi-bin/mailman/listinfo/blinux-rus
