Wykonanie dalszej części skryptu po chroot


(Pabliszer) #1

Witam mam problem ze skryptem. Problem polega na tym że wykonuje się do polecenia chroot a później czeka i czeka i nie wykonuje się dalej az do wyjścia z chroot. I tu pytanie jak zrobić żeby polecenia wykonały się po wykonaniu chroot. (skrypt zamieszczam ponizej a jego zadaniem jest zmiana w plikach fstab mtab i grub.conf na własciwe wpisy).

#!/bin/bash


echo "Podaj oznaczenie dysku. (np sda)"

read a

echo "ooooooooooooooooooooooooooooooooooooooooooooo"

sleep 1

cd /

sleep 1

mount -o bind /dev /mnt/dysk/dev

mount -o bind /dev/pts /mnt/dysk/dev/pts

mount -o bind /sys /mnt/dysk/sys

mount -o bind /proc /mnt/dysk/proc

mount -o bind /selinux /mnt/dysk/selinux



cd /mnt/dysk

chroot ./


sleep 2

echo "jestem chrootem"


sleep 1

echo "zmieniammmmmmmmmm"


sed 's/\/dev\/[A-Za-z0-9]*\/[A-Za-z0-9]* swap/'$a'2/g' /etc/fstab |sed 's/\/dev\/[A-Za-z0-9]*\/[A-Za-z0-9]*/\/dev\/'$a3'/g' |sed 's/[A-Za-z0-9 = /]* \/boot/\/dev\/'$a'1 \/boot/g' >/etc/fstab 


sleep 2

echo "cos zmieniam "




sed 's/[A-Za-z]*\/[A-Za-z0-9]*-[A-Za-z0-9]*/'$a'3/g' /etc/mtab |sed 's/\/dev\/[a-z0-9]* \/boot/\/dev\/"$a"1 \/boot/g' > /etc/mtab


sleep 2

echo "zmiania ostatnia "


sed 's/\/dev\/[A-Za-z0-9]*\/[A-Za-z0-9]*/\/dev\/"$a"1/g' /boot/grub/grub.conf > /boot/grub/grub.conf

(roobal) #2

Żeby edytować pliki nie musisz się chrootować, wystarczy podmontować partycje i edytować pliki z uruchomionego systemu. Co do problemu, to spróbuj może eksportować polecenia lub uruchomić osobny skrypt w chroocie.

Pozdrawiam!


(saturno) #3

Wkomponuj x w polecenie.

Coś w tym stylu:

$ sh -x /opt/firefox/firefox

Być może dowiesz się wtedy na czym się ten twój skrypt zatrzymuje.