Переход в новый корневой каталог после зависания pivot_root

Я пытаюсь запустить скрипт на удаленном компьютере (клиенте) с сервера с помощью команды.

ssh -v -t root@10.68.xxx.xxx "sh /tmp/flash.sh 'root@server:/bamboo-agent-home/xml-data/latest/eng_20190124040906.sdcard' 1>&2"

"Flash.sh" имеет следующее (для краткости я просто показываю команды, а не обработки ошибок).

ПРОБЛЕМА: скрипт запускается правильно, пока не достигнет команды после pivot_root. Он выводит эхо "переезд в новый корневой каталог" и просто зависает. Иногда идет вперед, чтобы переместить горы и снова зависает.

У меня нет способа отладки, потому что удаленный компьютер уже находится в смонтированном состоянии. и -v для ssh не выдает никаких результатов после зависания команды.

Любая помощь или предложения приветствуются.

MOUNT_DIR="/mnt/net"
BLOCK_MOUNT="/run/media/mmcblk1p1/"
OLDROOT="oldroot"
NOT_MOUNTED_ERROR=32

echo "unmounting $MOUNT_DIR and recreating this directory"
umount $MOUNT_DIR
rm -rf $MOUNT_DIR
mkdir $MOUNT_DIR
cd /
echo "stopping services"
sh /tst/test/testservice.sh  stop
echo "mounting remote rootfs from $REMOTE_MOUNT_PATH at $MOUNT_DIR"
sshfs -o ssh_command="ssh -i /home/root/.ssh/id_test_cpib" $REMOTE_MOUNT_PATH $MOUNT_DIR

sync

echo "waiting for 120 seconds for the system to be ready for rootfs change in case it is not"
sleep 120

cd $MOUNT_DIR/
mkdir -p $MOUNT_DIR/$OLDROOT

echo "changing rootfs to .$MOUNT_DIR/$OLDROOT"
/sbin/pivot_root . $OLDROOT/

echo "moving to new root directory"
ls -la /
cd /

echo "moving the mounts"
mount --move $OLDROOT/dev/ /dev
mount --move $OLDROOT/proc/ /proc
mount --move $OLDROOT/sys/ /sys
mount --move $OLDROOT/run/ /run
mount --move $OLDROOT/var/volatile /var/volatile/

0 ответов

Другие вопросы по тегам