View previous topic :: View next topic |
Author |
Message |
3PO Veteran
Joined: 26 Nov 2006 Posts: 1110 Location: Schwabenländle
|
Posted: Fri Jun 27, 2014 12:02 pm Post subject: [bash] chroot in einem Script? |
|
|
Hallo Zusammen,
ich mochte ein System via Script changerooten, was auch soweit funktioniert, nur habe ich ein Problem, mit der Übernahme von Variablen.
Das Script sieht im wesentlichen so aus:
Code: | FOO="bar"
mount -t proc none /mnt/proc
mount --rbind /sys /mnt/sys
mount --rbind /dev /mnt/dev
source /etc/profile
export PS1="(chroot) $PS1"
chroot /mnt /bin/bash <<EOF
Befehl 1
Befehl 2
Befehl 3
...
echo $FOO
exit
EOF |
Wie kann ich nun die Variable "FOO" in die change-root übernehmen? |
|
Back to top |
|
|
py-ro Veteran
Joined: 24 Sep 2002 Posts: 1734 Location: Velbert
|
Posted: Fri Jun 27, 2014 12:22 pm Post subject: |
|
|
ist dein Freund.
Bye
Py |
|
Back to top |
|
|
3PO Veteran
Joined: 26 Nov 2006 Posts: 1110 Location: Schwabenländle
|
Posted: Fri Jun 27, 2014 12:28 pm Post subject: |
|
|
Wie geht das dann mit "export"?
Sorry, aber ich glaube, ich stehe wohl etwas auf dem Schlauch. |
|
Back to top |
|
|
py-ro Veteran
Joined: 24 Sep 2002 Posts: 1734 Location: Velbert
|
Posted: Fri Jun 27, 2014 12:34 pm Post subject: |
|
|
Hast doch sogar schon oben drin stehen, ansonsten man export
Bye
Py |
|
Back to top |
|
|
3PO Veteran
Joined: 26 Nov 2006 Posts: 1110 Location: Schwabenländle
|
Posted: Fri Jun 27, 2014 12:37 pm Post subject: |
|
|
py-ro wrote: | Hast doch sogar schon oben drin stehen, ansonsten man export
Bye
Py |
So?
Code: | export FOO="(chroot) $FOO" |
|
|
Back to top |
|
|
py-ro Veteran
Joined: 24 Sep 2002 Posts: 1734 Location: Velbert
|
Posted: Fri Jun 27, 2014 12:57 pm Post subject: |
|
|
Hmm, evtl. nochmal zurück zu den Grundlagen, da du am Skripten warst dachte ich die hättest drin.
Variablen sind nur für den aktiven Prozess verfügbar, es sei den Sie werden per export an Kindprozesse vererbt.
Code: | export FOO="(chroot) $FOO" |
Würde tatsächlich zu einer gesetzten Variablen FOO im chroot führen, allerdings mit dem Inhalt:
Du kannst export direkt bei der Zuweisung benutzen:
oder beliebig später:
Steht aber auch in der Manpage oder bei Onkel Google, auch ausprobieren wäre wohl gegangen.
Bye
Py |
|
Back to top |
|
|
toralf Developer
Joined: 01 Feb 2004 Posts: 3940 Location: Hamburg
|
Posted: Sun Jun 29, 2014 3:07 pm Post subject: |
|
|
chroot übernimmt doch nicht die exportierten Variablen ?!?!?
Code: | tfoerste@n22 ~ $ export MIAU=wauwau
$ sudo ~/workspace/bin/chroot_uml.sh -r ~/virtual/uml/n22unst4
n22 ~ # echo $MIAU
n22 ~ # exit
logout
$ echo $MIAU
wauwau
|
|
|
Back to top |
|
|
3PO Veteran
Joined: 26 Nov 2006 Posts: 1110 Location: Schwabenländle
|
Posted: Sun Jun 29, 2014 3:11 pm Post subject: |
|
|
toralf wrote: | chroot übernimmt doch nicht die exportierten Variablen ?!?!? ... |
Also in meinem Script, hat es funktioniert. |
|
Back to top |
|
|
toralf Developer
Joined: 01 Feb 2004 Posts: 3940 Location: Hamburg
|
Posted: Sun Jun 29, 2014 3:21 pm Post subject: |
|
|
3PO wrote: | toralf wrote: | chroot übernimmt doch nicht die exportierten Variablen ?!?!? ... |
Also in meinem Script, hat es funktioniert. | Genau, Du erzeugt aber eher außerhalb der chroot die entsprechenden vollständig geparsten Kommandozeilen, die dann dem chroot Kommandos übergeben werden. |
|
Back to top |
|
|
py-ro Veteran
Joined: 24 Sep 2002 Posts: 1734 Location: Velbert
|
Posted: Sun Jun 29, 2014 4:00 pm Post subject: |
|
|
Bei dir killt das sudo die Variablen.
Code: | gatekeeper ~ # export CAT=Meow
gatekeeper ~ # chroot / /bin/bash
gatekeeper / # echo $CAT
Meow
|
|
|
Back to top |
|
|
toralf Developer
Joined: 01 Feb 2004 Posts: 3940 Location: Hamburg
|
Posted: Sun Jun 29, 2014 4:02 pm Post subject: |
|
|
py-ro wrote: | Bei dir killt das sudo die Variablen. | iih - danke für den Tipp. |
|
Back to top |
|
|
|