Nowe posty

Autor Wątek: Wykonanie dalszej części skryptu po chroot.  (Przeczytany 4445 razy)

pabliszer

  • Gość
Wykonanie dalszej części skryptu po chroot.
« dnia: 2011-12-15, 00:10:05 »
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

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3069
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Wykonanie dalszej części skryptu po chroot.
« Odpowiedź #1 dnia: 2011-12-15, 05:57:19 »
Drugim parametrem chroot jest ścieżka do skryptu do wykonania w chroot. Tak więc potrzebujesz 2 skrypty: jeden wszystko konfiguruje i potem przez chroot woła drugi. Po zakończeniu drugiego chroot się kończy i sterowanie wraca do pierwszego, który sprząta.
Drugi skrypt musi znaleźć się gdzieś w katalogu do ktorego się chrootujesz, w komendzie chroot podajesz ścieżkę do niego względem katalogu chroot i wszystkie polecenia użyte w nim muszą być dostępne z katalogu chroot wraz z bibliotekami.
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy