Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
start-stop-daemon mit chroot ?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
3PO
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
Location: Schwabenländle

PostPosted: Fri Jan 23, 2009 4:23 pm    Post subject: start-stop-daemon mit chroot ? Reply with quote

Hallo Zusammen,

ich habe folgendes Problem:

Ich habe 2 chroot-Umgebungen,
Code:
/var/test/chroot0
/var/test/chroot1
in diesen wiederum sind 2 Daemonen zu starten.
Ich habe mir ein Script gebastelt, dass die beiden Daemoen via start.local aufruft.

Code:
#!/bin/sh

chroot /var/test/chroot0 /var/test/foo
chroot /var/test/chroot1 /var/test/foo


Mir währe es aber lieber, dieses mit dem start-stop-daemon zu machen.

Ich habe nun gelesen, dass es beim start-stop-daemon einen Parameter --chroot gibt, - leider aber ist die man Page nicht wirklich hilfreich.

So, nun aber die Fragen:

Ist es möglich mit dem start-stop-daemon 2 Dämonen in 2 verschiedenen chroot-Umgebungen aufzurufen, und falls ja, wie müssten denn die Einträge aussehen?
Back to top
View user's profile Send private message
Max Steel
Advocate
Advocate


Joined: 12 Feb 2007
Posts: 2269
Location: My own world! I and Gentoo!

PostPosted: Sat Jan 24, 2009 11:59 am    Post subject: Reply with quote

Ich würde folgendes vermuten:
start-stop-daemon --start --make-pidfile --chroot /var/test/chroot0 --exec /var/test/foodaemon

Da:
man start-stop-daemon
Code:
-r, --chroot path
        chroot to this directory before starting the daemon. All other paths, such
        as the path to the daemon, chdir and pidfile, should be relative to the
        chroot.


wenn du named und dhcpd mit dem USE-Flag chroot mergst, kannst du dir den Befehl aus den entsprechenden /etc/init.d/ nochmal genauer anschauen ;)

Edith:
Oder wars eine Variable in der entsprechenden /etc/conf.d/ :?: :oops:

Edith2:
Zum Stoppen natürlich dementsprechend statt --start eben --stop.
_________________
mfg
Steel
___________________

Heim-PC: AMD Ryzen 5950X, 64GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-1145G7, 16GB RAM, Intel Iris Xe Graphic (leider WSL2)
Back to top
View user's profile Send private message
3PO
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
Location: Schwabenländle

PostPosted: Sat Jan 24, 2009 2:46 pm    Post subject: Reply with quote

Danke erstmal für den Tipp.

Das Starten geht so, aber stoppen lassen sie die Daemonen so leider nicht. :(


Code:

NAME="foo"
DAEMON="foo.x86"
PATH="/var/test"


start() {
   
   test -x $DAEMON || exit 0

      ebegin "Starting $NAME"
   
    start-stop-daemon --start --chroot $PATH/chroot0 --exec $PATH/$DAEMON
    start-stop-daemon --start --chroot $PATH/chroot1 --exec $PATH/$DAEMON
   
   eend $? "Failed to start $NAME"
}

stop() {
   
   ebegin "Stopping $NAME"
   
   start-stop-daemon --stop --retry $DAEMON

   eend $? "Failed to stop $NAME"
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6780

PostPosted: Sat Jan 24, 2009 4:32 pm    Post subject: Reply with quote

Schuß ins Blaue: "$PATH/$DAEMON" statt nur $DAEMON.
Außerdem soltest Du vermutlich auch beim Stoppen den -r-Parameter angeben, da ja so Dinge wie pidfile im chroot liegen.
Außerdem: Legt Dein Daemon tatsächlich selbst das pidfile an? Ansonsten solltest Du das auch noch durch Parameter (beim Starten und Stoppen) erledigen.
Back to top
View user's profile Send private message
3PO
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
Location: Schwabenländle

PostPosted: Sat Jan 24, 2009 5:58 pm    Post subject: Reply with quote

So, ich habe es jetzt mal wie folgt abgeändert:

Code:

NAME="foo"
DAEMON="foo.x86"
PATH="/var/test"


start() {
   
   test -x $DAEMON || exit 0

      ebegin "Starting $NAME"
   
       start-stop-daemon --start --chroot $PATH/chroot0 --exec $PATH/$DAEMON --make-pidfile --pidfile /var/run/$NAME.pid
       start-stop-daemon --start --chroot $PATH/chroot1 --exec $PATH/$DAEMON --make-pidfile --pidfile /var/run/$NAME.pid
   
   eend $? "Failed to start $NAME"
}

stop() {
   
   ebegin "Stopping $NAME"
   
                start-stop-daemon --stop --chroot $PATH/chroot0 $PATH/$DAEMON --pidfile /var/run/$NAME.pid
                start-stop-daemon --stop --chroot $PATH/chroot1 $PATH/$DAEMON --pidfile /var/run/$NAME.pid


   eend $? "Failed to stop $NAME"



Leider ist es nur so, dass das Starten geht, das Stoppen jedoch nicht.

/etc/init.d/foo start --> foo startet mit z.: Pid 555 und 557

/etc/init.d/foo stop --> foo stopppt nicht, sondern startet 2 weitere Male. --> Pid 555. 557, 886, 889


Sonderbar, oder??


Last edited by 3PO on Sat Jan 24, 2009 7:28 pm; edited 2 times in total
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6780

PostPosted: Sat Jan 24, 2009 7:18 pm    Post subject: Reply with quote

3PO wrote:
start-stop-daemon --stop --chroot $PATH/chroot0 $PATH/$DAEMON --pidfile /var/run/$NAME.pid

Möglicherweise wird chroot bei --stop ignoriert. Wie ist es mit
Code:
start-stop-daemon --stop --pidfile $PATH/chroot0/var/run/$NAME.pid
Back to top
View user's profile Send private message
3PO
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
Location: Schwabenländle

PostPosted: Sat Jan 24, 2009 7:37 pm    Post subject: Reply with quote

Code:
start-stop-daemon --stop --pidfile $PATH/chroot0/var/run/$NAME.pid


Das funktioniert leider auch nicht. :(

Damit passiert das selbe, wie oben schon genannt.

Mir ist übrigens aufgefallen, dass keine pid-files angelegt werden, obwohl beie Daemonen gestartet weden.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6780

PostPosted: Sun Jan 25, 2009 4:52 pm    Post subject: Reply with quote

3PO wrote:
Mir ist übrigens aufgefallen, dass keine pid-files angelegt werden

Dann ist das der Grund für die Probleme. Wenn das der daemon nicht selbs tut, muss das start-stop-daemon mit tun (Option -m).
Back to top
View user's profile Send private message
3PO
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
Location: Schwabenländle

PostPosted: Sun Jan 25, 2009 4:58 pm    Post subject: Reply with quote

mv wrote:
Dann ist das der Grund für die Probleme. Wenn das der daemon nicht selbs tut, muss das start-stop-daemon mit tun (Option -m).


Habe ich doch gemacht.

-m = --make-pidfile (laut man Page)

Code:
.....
start-stop-daemon --start --chroot $PATH/chroot0 --exec $PATH/$DAEMON --make-pidfile --pidfile /var/run/$NAME.pid
.....


Oder stimmt die Syntax so nicht?
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6780

PostPosted: Sun Jan 25, 2009 8:29 pm    Post subject: Reply with quote

Das hatte ich überlesen :oops:

Wenn kein pid-File erzeugt wird (also innerhalb der chroot), ist das wohl ein Bug von start-stop-daemon. Benutzt Du openrc?
Back to top
View user's profile Send private message
3PO
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
Location: Schwabenländle

PostPosted: Mon Jan 26, 2009 5:08 pm    Post subject: Reply with quote

mv wrote:

[...] Benutzt Du openrc?


Nein.

Sollte ich da benutzen, bzw. würde das mein Problem lösen?
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6780

PostPosted: Mon Jan 26, 2009 5:55 pm    Post subject: Reply with quote

3PO wrote:
Sollte ich da benutzen, bzw. würde das mein Problem lösen?

Zumindest hat openrc eine neue Implementation von start-stop-daemon. Ob diese den Bug nicht hat, weiß ich nicht, aber falls man einen Bug fixen muss, ist es besser, man tut das bei der neuesten Version.
Back to top
View user's profile Send private message
3PO
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
Location: Schwabenländle

PostPosted: Tue Jan 27, 2009 6:43 pm    Post subject: Reply with quote

Ich habe mich mal hier über OpenRC informiert, leider muss ja so einige umkonfiguriert werden, bis alles wieder wie gewohnt läuft, oder?
Back to top
View user's profile Send private message
Max Steel
Advocate
Advocate


Joined: 12 Feb 2007
Posts: 2269
Location: My own world! I and Gentoo!

PostPosted: Tue Jan 27, 2009 8:20 pm    Post subject: Reply with quote

Das neue openrc kann die Einstellungen recht effektiv übernehmen, zumindest wegen den Runlevels, was du unbedingt machen solltest wären /etc/conf.d/ und /etc/rc.conf zu überprüfen (etc-update und alles manuell nachschauen was geändert wurde).
_________________
mfg
Steel
___________________

Heim-PC: AMD Ryzen 5950X, 64GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-1145G7, 16GB RAM, Intel Iris Xe Graphic (leider WSL2)
Back to top
View user's profile Send private message
3PO
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
Location: Schwabenländle

PostPosted: Tue Jan 27, 2009 8:40 pm    Post subject: Reply with quote

Das ist aber ganz schön aufwändig.
Das muss ich mir noch schwer überlegen, ob ich das machen will, denn ich habe einige Zeit gebraucht, bis ich die Configs so hatte, wie ich sie haben wollte.
Das währe mehr als ärgelich, wenn das alles nochmal machen müsste....
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum