Gentoo Archives: gentoo-user-de

From: Robert Welz <welz@×××××××××.de>
To: gentoo-user-de@l.g.o
Subject: Re: [gentoo-user-de] bash Frage
Date: Fri, 24 Mar 2006 11:18:34
Message-Id: 4423D52D.7070906@fixe-post.de
In Reply to: Re: [gentoo-user-de] bash Frage by Sebastian Damm
1 Sebastian Damm wrote:
2 > Hallo,
3 >
4 > Am 23. März 2006 schrieb Robert Welz:
5 >
6 >>Dann würde der shutdown Befehl in meinem NFS-Portage Server (als
7 >>XEN-Domaine impelementiert:
8 >>05 23 * * 0,2,4,6 usr/bin/emerge --sync > /dev/null 2>&1 || true
9 >>--nospinner &&
10 >>usr/bin/emerge -vup --deep world || true && /sbin/shutdown -h now
11 >>immer ausgeführt, auch wenn beim sync oder update etwas schief geht?
12 >
13 >
14 > Ja.
15 >
16 > Der Befehl nach || wird nur ausgeführt, wenn der vorherige Befehl mit
17 > einem Exitcode ungleich 0 endet. Befehle nach && werden nur nach Erfolg
18 > ausgeführt.
19 >
20 > Wenn man das also mal gruppiert:
21 >
22 > emerge --sync > /dev/null 2>&1 || true
23 > &&
24 > emerge -vup --deep world || true
25 > &&
26 > /sbin/shutdown -h now
27 >
28 > Das --nospinner hab ich jetzt mal weggelassen, das gehört garantiert
29 > auch eher in den zweiten emerge-Befehl, weil es dafür diese Option gibt,
30 > damit man nicht diesen sich drehenden Strich gezeigt bekommt, während
31 > er seine Paketliste baut.
32 >
33 > Deine Befehle werden immer alle ausgeführt, denn wenn einer der emerge
34 > Befehle nicht mit 0 endet, gibts immer noch ein true dahinter, welches
35 > dann einspringt und einen guten Exitcode liefert.
36 >
37 > Allerdings kannst Du das auch einfach so erreichen:
38 >
39 > emerge --sync > /dev/null 2>&1 ; emerge -vup --deep world ; /sbin/shutdown -h now
40 >
41 > HTH
42 > Sebastian
43 >
44 > P.S: Mir fällt grad ein, && müsste doch Vorrang haben vor ||, oder?
45 > Dann macht mein oben geschriebenes nicht richtig Sinn. Dann wird das
46 > Update nur ausgeführt, wenn emerge sync fehlgeschlagen ist und der
47 > shutdown nur, wenn das Update fehlgeschlagen ist. Denk ich zumindet.
48 >
49 > emerge --sync || (true && emerge -u world) || (true && shutdown -h now)
50 >
51 > Das wird mir jetzt zu komplex für die Uhrzeit. ;)
52 >
53 > P.P.S: Was soll eigentlich das p im zweiten emerge Aufruf? Da wird doch
54 > nie ein Update durchgeführt. Oder soll das einfach nur zeigen, welche
55 > Pakete aktualisiert werden können?
56
57 Ja. Das NFS exportiert sein Portage Tree read only und alle
58 angeschlossenen Domainen prüfen und e-mailen, welche Updates zur
59 Verfügung stehen. Die Updates werden dann irgendwann später "von Hand"
60 gemacht, indem ich vom der NFS-Domaine die exports per Script auf
61 read-writeable setze und in den Domainen, die diesen Service nutzen ein
62 emerge --update --deep world auslöse.
63
64 Ich möchte sowas am Anfang kontrollieren. Wenn ich mehr Erfahrung mit
65 Gentoo habe, dann könnte man das vollautomatisch ablaufen lassen, am
66 Anfang finde ich es so besser.
67
68 Danke für die Einsicht in die Bash,
69
70 Grüsse,
71 Robert Welz
72
73
74
75
76 --
77 gentoo-user-de@g.o mailing list

Replies

Subject Author
[gentoo-user-de] Re: bash Frage Christof Schulze <christof.schulze@×××.net>