Таким образом, я смотрю на:
https://help.ubuntu.com/community/LiveCDCustomizationFromScratch
и попытка следующего в рамках сценария удара:
sudo chroot chroot
mount none -t proc /proc
mount none -t sysfs /sys
mount none -t devpts /dev/pts
Запущение скрипта спадает до оболочки в sudo chroot chroot
. Когда я exit
то, что я получаю ожидаемые предупреждения о корне необходимости монтирования. Существует ли способ, которым я могу сохранить все это в рамках одного сценария оболочки?
Править: Я хочу, чтобы это было повторяемым процессом, который является, почему я хочу написать сценарий всего этого, а не ввести его вовремя и время снова.
Создайте второй сценарий (например, chroot.sh
) и поместите его в Ваш chroot/
папка.
Теперь редактируют команду в Вашем исходном сценарии к этому:
chroot chroot/ ./chroot.sh
Теперь сценарий chroot.sh
будет выполняться в Вашем chroot
.
Привет u должен пойти с простым решением как канал:
cat << EOF | chroot chroot
rm -rf /
EOF
пз. шутя о комнате-rf ;), что-либо, что Вы выполняете в EOF - EOF, работал в Вашем chrooted каталоге, можно также использовать sudo, если Вам нравится
cat << EOF | sudo chroot chroot
ls /
EOF
Вещь [приблизительно 112], которые с и /proc
, /sys
и /dev/pts
- то, что эти три файловых системы обеспечиваются ядром, таким образом, они остаются тем же, монтируетесь ли Вы в chroot или извне. Действительно, Вы будете видеть, раньше в инструкциях:
sudo mount --bind /dev chroot/dev
/dev
заполняется ядром, но не обеспеченная ядром файловая система, таким образом, это должно было быть, связывают - смонтированный. Поэтому на практике Вы будете видеть, что монтирование его, который связывает использование, монтируется (или иначе) прежде, чем ввести работы chroot точно также (примите sudo
):
for i in dev proc sys dev/pts
do
mount -o bind /$i chroot/$i
done
chroot chroot
for i in dev/pts proc sys dev
do
umount -chroot/$i
done
# or
mount -o bind /dev chroot/dev
mount -t sysfs none chroot/sys
mount -t proc none chroot/proc
mount -t devpts none chroot/dev/pts
chroot chroot
for i in dev/pts proc sys dev
do
umount -chroot/$i
done
Соответствующее чтение:
Вы могли создать .bashrc сценарий или что-то как он, которое добавляется к/root/.bashrc chroot ENV, который делает все монтирование и т.д. Aftwerwards, Вы восстанавливаете сохраненный .bashrc в/, базируются и выходят из chroot:
Основной сценарий:
#!/usr/bin/env bash
cp bashrcscript chroot/root/
if [ -a chroot/root/.bashrc ]; then
cp chroot/root/.bashrc chroot/root/.bashrc.bak
fi
echo "./bashrcscript" >> chroot/root/.bashrc
chroot chroot/
rm chroot/root/.bashrc
rm chroot/root/bashrcscript
if [ -a chroot/root/.bashrc.bak ]; then
mv chroot/root/.bashrc.bak chroot/root/.bashrc
fi
bashrcscript:
mount none -t proc /proc
mount none -t sysfs /sys
mount none -t devpts /dev/pts
# Anything else you like to do
bashrcscript будет тогда выполняться, когда корневая консоль будет запущена. Удостоверьтесь, что это - исполняемый файл.
Вы могли даже поместить resolv.conf копирование в основной сценарий и т.д.
Я думаю, что это не говорит, что необходимо поместить те команды в сценарий, но что Вы должны вводить их ; т.е. введите mount
команды в эти sudo
оболочка.