Quellcode |
|
1 2 3 4 5 6 7 8 9 10 |
#!bin/bash mount /dev/sdc3 /mnt/gentoo/ mount -t proc none /mnt/gentoo/proc mount -o bind /dev /mnt/gentoo/dev chroot /mnt/gentoo /bin/bash env-update && source /etc/profile export PS1="(chroot_gentoo) $PS1" ##sh /home/update_script |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Michigen« (15.07.2010, 22:19)
Quellcode |
|
1 |
chroot /mnt/gentoo /bin/bash |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#!bin/bash mount /dev/sdc3 /mnt/gentoo/ mount -t proc none /mnt/gentoo/proc mount -o bind /dev /mnt/gentoo/dev chroot /mnt/gentoo /bin/bash <<EOF #### Wird im chroot ausgeführt env-update && source /etc/profile #export PS1="(chroot_gentoo) $PS1" # braucht Du nicht, weil nicht interaktiv emerge -uDN world exit #### Chroot Ende EOF umount /mnt/gentoo/dev umount /mnt/gentoo/proc |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
#!bin/bash mount /dev/sdc3 /mnt/gentoo/ mount -t proc none /mnt/gentoo/proc mount -o bind /dev /mnt/gentoo/dev cp /tools/update_script.sh /mnt/gentoo/tmp chroot /mnt/gentoo /bin/bash /tmp/update_script.sh rm /mnt/gentoo/tmp/update_script.sh umount /mnt/gentoo/dev umount /mnt/gentoo/proc |
Quellcode |
|
1 2 3 4 5 6 |
if [ -d $CHROOTDIR ]; then mount /dev/$1 $CHROOTDIR mount -t proc proc $CHROOTDIR/proc mount -o bind /dev $CHROOTDIR/dev cp -L /etc/resolv.conf $CHROOTDIR/etc/resolv.conf chroot $CHROOTDIR /bin/bash |
Mit "<<EOF" "env-update" "EOF" klappt das gerade nicht.
genau so soll es und am Anfang sollen die "env-update" "sh /home/update_script" Befehle gleich übergeben werden.Zitat von »bell«
Interaktiv heißt eigentlich nur, dass Du auf "emerge -a " (o.ä.) reagieren kannst.
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
#!/bin/bashsh ###################################################################################### #Hier ein Kleines Script um sich die einzelnen Schritte für Chroot zu ersparen. # # # #Das Script erwartet den Scriptnamen und als Argument das Device in das 'gechrooted' # #werden soll, ohne ein führendes '/dev/'. # #Zum Beispiel: # # # #chroot.sh sda8 # # # #um ein Chroot in die Partition /dev/sda8 durchzuführen. Nachdem die Arbeiten in der # #Chroot-Umgebung erledigt sind, verlässt man sie wieder mit dem Befehl "exit". # #Das Script hängt danach die Mountpunkte wieder aus. # ###################################################################################### CHROOTDIR=/mnt/chroot # Make sure only root can run our script if [ $EUID -ne 0 ]; then echo "This script must be run as root" 1>&2 exit 1 fi # Make sure that $1 is not empty if [ ! -n "$1" ]; then echo -e "\033[1;33mYou must give an argument which device you want to chroot in (without leading '/dev/') " echo -e "\033[1;33mExample '$0 sda8' will chroot the device /dev/sda8 into /mnt/chroot." exit 1 fi # Make sure that directory '/mnt/chroot' exists if [ ! -d $CHROOTDIR ]; then echo Error: No directory $CHROOTDIR existing. Creating it... !! >&2 mkdir -p $CHROOTDIR fi if [ -d $CHROOTDIR ]; then echo Created directory $CHROOTDIR successfully... >&2 echo Now chrooting into /dev/$1 ... >&2 fi if [ -d $CHROOTDIR ]; then mount /dev/$1 $CHROOTDIR mount -t proc proc $CHROOTDIR/proc mount -o bind /dev $CHROOTDIR/dev cp -L /etc/resolv.conf $CHROOTDIR/etc/resolv.conf chroot $CHROOTDIR /bin/bash <<EOF env-update && source /etc/profile sh /home/update_script EOF fi echo unmounting the devices from the chroot directory ... >&2 if [ -d $CHROOTDIR ]; then umount $CHROOTDIR/proc umount $CHROOTDIR/dev umount $CHROOTDIR fi echo deleting chroot directory $CHROOTDIR ... >&2 rmdir $CHROOTDIR if [ ! -d $CHROOTDIR ]; then echo $CHROOTDIR deleted successfully. Good bye !! >&2 |