Autor Thema: Deamon / Dienst sauber unter Mint einbinden  (Gelesen 22908 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Heinz Schmidt

  • Benutzer
  • Beiträge: 1.268
  • Atari, Linux, OS/2, MacOS, ... no need for Windows
Deamon / Dienst sauber unter Mint einbinden
« am: Mi 04.01.2012, 23:50:56 »
Hallo zusammen,

mit welchen Einträgen / Dateien binde ich einen Dienst sauber unter Mint (EsayMint) in das System ein?

Wenn ich das richtig verstehe, trge ich den entsprechenden Dienst in die /etc/sysconfig/add.services (oder net.services, std.services) ein. Ist das schon alles? Oder brauche ich dann unter /etc/init.d noch z.B. einen link auf das entsprechende binary?

Hintergrund:
Ich habe mit einigen Teilen aus Mint 98 unter EasyMint das Drucken mit NVDI über's Netzwerk eingerichtet. Dazu muss ich u.a. lpd starten. Natürlich könnte ich das einfach aus der mint.cnf machen ... schön ist das aber nicht.

Gruß Heinz

P.S. Sobald ich das sauber im EasyMint am laufen habe, schreibe ich endlich eine Doku dazu :-)
FireBee #8 -- Milan 060/50, Ethernet, CF/SD-CardReader, DVD-RW, ATI Grafik -- Falcon CT63/CTPCI/ATI, CF-Card als HDD, Altec iDrive -- 1040 STE TwiSTEr -- ...

Offline Latz

  • Benutzer
  • Beiträge: 574
  • Falcon forever!
Re: Deamon / Dienst sauber unter Mint einbinden
« Antwort #1 am: Do 05.01.2012, 10:33:09 »
Moin,
Du hast's erfasst, genau so funzt es :)
- Binary in /etc/init.d kopieren oder darin einen Link setzen
- Dienst in /etc/sysconfig/*.services eintragen
Latz
Falcon/CT60 80 MHz, CTPCI+Radeon 9250 + RTL8139 Netzwerkkarte + USB- Karte, Carte Eiffel+LCD, 80 GB HD, DVD-RW
Falcon/CT63 95 MHz, CTPCI+Radeon 9250 + RTL8139 Netzwerkkarte, Carte Eiffel+LCD, 16 GB CF, CD-RW

Offline Heinz Schmidt

  • Benutzer
  • Beiträge: 1.268
  • Atari, Linux, OS/2, MacOS, ... no need for Windows
Re: Deamon / Dienst sauber unter Mint einbinden
« Antwort #2 am: Fr 06.01.2012, 16:18:22 »
Hallo,

- Binary in /etc/init.d kopieren oder darin einen Link setzen
- Dienst in /etc/sysconfig/*.services eintragen
Das habe ich jetzt genau so gemacht aber leider startet lpd nicht automatisch. Ich denke unter MiNT 98 funktioniert es wie oben beschrieben.

Ich vermute aber, das unter EasyMint eine neuere Version von init verwendet wird, so das ich im entsprechenden rc*.d Verzeichnis noch einen Link setzen muss.

Mit welchem Runlevel startet MiNT eigentlich, wenn ich es "normal" zum login prompt boote? Leider gibt es ja kein runlevel Kommando ...

Was ich bei der rc*.d Struktur auch noch nicht verstanden habe ist, wann ein Link S##<servicename> und wann K##<servicename> genannt wird. Bei den Vergebenen Zahlen nehme ich an, das sie die Startreihenfolge angeben und ich z.B. nach dem syslog deamon meinen lpd starten könnte.

Gruß Heinz
FireBee #8 -- Milan 060/50, Ethernet, CF/SD-CardReader, DVD-RW, ATI Grafik -- Falcon CT63/CTPCI/ATI, CF-Card als HDD, Altec iDrive -- 1040 STE TwiSTEr -- ...

Offline Heinz Schmidt

  • Benutzer
  • Beiträge: 1.268
  • Atari, Linux, OS/2, MacOS, ... no need for Windows
Re: Deamon / Dienst sauber unter Mint einbinden
« Antwort #3 am: Fr 06.01.2012, 16:46:59 »
Stopp!
Ich vermute aber, das unter EasyMint eine neuere Version von init verwendet wird, so das ich im entsprechenden rc*.d Verzeichnis noch einen Link setzen muss.
 
Das ist Quatsch!

Ich habe nur den Eintrag in der /etc/sysconfig/std.services falsch gemacht.
Unter MiNT98 sieht das so aus:
lpd /usr/lib/lpd
Und unter EasyMint gehört einfach nur folgendes in die *.services Datei:
lpd
Das bedeutet natürlich auch, das /usr/lib im Pfad aufgenommen werden muss, oder alternativ ein entsprechnder Link in einem Verzeichnis, das im Pfad ist (z.B. /bin), gesetzt werden muss.
Ich habe mich dafür entschieden /usr/lib in den Pfad aufzunehmen. Jetzt startet lpd auch schön beim Hochfahren. Jetzt kommt noch der Start von lpspool in die mint.cnf und fertig ist der Lack :-)

Gruß Heinz
FireBee #8 -- Milan 060/50, Ethernet, CF/SD-CardReader, DVD-RW, ATI Grafik -- Falcon CT63/CTPCI/ATI, CF-Card als HDD, Altec iDrive -- 1040 STE TwiSTEr -- ...

Offline m0n0

  • Benutzer
  • Beiträge: 984
Re: Deamon / Dienst sauber unter Mint einbinden
« Antwort #4 am: Sa 07.01.2012, 01:52:16 »
Achso, jetzt verstehe ich auch warum man nicht direkt xaaes in der mint.cnf startet (mache ich eigentlich immer so), sondern init - oder kann man init auch irgendwie anders starten - ausser ueber die mint.cnf?

Offline Heinz Schmidt

  • Benutzer
  • Beiträge: 1.268
  • Atari, Linux, OS/2, MacOS, ... no need for Windows
Re: Deamon / Dienst sauber unter Mint einbinden
« Antwort #5 am: Sa 07.01.2012, 15:38:13 »
Hallo m0n0,

ob xaaes so ein gutes Beispiel ist für einen (Hintergrund)-Dienst? ich lasse Mint am liebsten zum Textlogin hochlaufen und starte dann xaaes (oder n.aes) per commando. Damit habe ich zumindest ein laufendes MiNT mit shell, falls XAAES mal wieder zickig ist.

... oder kann man init auch irgendwie anders starten - ausser ueber die mint.cnf?
Eigentlich kannst Du init "beliebig" starten, also auch aus der shell. Kannst ja mal in der bash init eingeben ... :-)

Nur ist das nicht wirklich sinnvoll. Beim Systemstart initialisiert es die für den runlevel konfigurierten Dienste. Unter MiNT (zumindest EasyMiNT) sind aber alle runlevel gleich konfiguriert, so das Du mit init außer beim Start praktisch wenig anfangen kannst. Theoretisch könntest Du aber verschiedene runlevel konfigurieren und mit init <runlevel> die jeweilige Konfiguration starten.

Die üblichen runlevel sind bei wikipedia ganz gut beschrieben.

Gruß Heinz
« Letzte Änderung: Sa 07.01.2012, 15:45:36 von Heinz Schmidt »
FireBee #8 -- Milan 060/50, Ethernet, CF/SD-CardReader, DVD-RW, ATI Grafik -- Falcon CT63/CTPCI/ATI, CF-Card als HDD, Altec iDrive -- 1040 STE TwiSTEr -- ...

Offline Heinz Schmidt

  • Benutzer
  • Beiträge: 1.268
  • Atari, Linux, OS/2, MacOS, ... no need for Windows
Re: Deamon / Dienst sauber unter Mint einbinden
« Antwort #6 am: Sa 07.01.2012, 15:58:07 »
Hallo zusammen,

Jetzt kommt noch der Start von lpspool in die mint.cnf und fertig ist der Lack :-)
Das habe ich mir ja wieder sehr schön einfach vorgestellt. Ich dachte mit einer netten Zeile ist das erledigt - z.B.
exec "/usr/etc/lpspool >> /var/log/lpspool.log 2>&1"
Das geht leider nicht! Offenbar kann man beim exec statement nur einen einfachen Pfad zu einem Kommando ohne Parameter eingeben.

Folglich brauchte ich für den Start von lpspool ein kleines shell script. Ein simpler Einzeiler war mir dann doch zu doof, weil mit einem brauchbaren script für start, stop und status die typischen Funktionen für einen Dienst recht leicht umzusetzen waren.

Also habe ich nach Jahren mal wieder ein wenig Shell-Scripting geübt und folgendes Script erstellt.

#!/bin/bash
#
# Simple lpspool control script for start/stop/status
#
# revision 0.03 - Heinz Schmidt - initial version
#

PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin; export PATH

BINARY=/usr/etc/lpspool
LOGFILE=/var/log/lpspool.log
PIDFILE=/var/run/lpspool.pid

case $1 in
  start
    if [ -f $BINARY ]; then
      echo "Starting lpspool ..."
      date >> $LOGFILE
      $BINARY >> $LOGFILE 2>&1 &
      echo "lpspool pid: " $! >> $LOGFILE
      echo $! > $PIDFILE
    else
      echo "Error: program" $BINARY "not found!"
    fi
    ;;
  stop)
    if [ -f $PIDFILE ]; then
      read pid < $PIDFILE
      echo "Stopping lpspool (pid:" $pid")"
      kill $pid
      rm $PIDFILE
    else
      echo "lpspool is not running"
    fi
    ;;
  status)
    if [ -f $PIDFILE ]; then
      read pid < $PIDFILE
      echo "Status: lpspool is running (pid: " $pid")"
    else
      echo "lpspool is not running"
    fi
    ;;
*)
    echo "Usage: lpspool start|stop|status"  ;;
esac

Damit läßt sich nun lpspool recht gut steuern und statt aus der mint.cnf kann ich es auch z.B. aus der std.services starten und über die bash steuern.

Gar nicht so doof, was? Wenn ich nun noch meine lpd/lpr Konfig ordentlich hinbekomme, kann ich endlich richtig Drucken über's Netz ...

Das Script-schreiben hat so viel Spaß gemacht ... da könnte ich mich glatt dafür begeistern ein Installations-Script für den ganzen lp*-Kram zu basteln.

Gruß Heinz
« Letzte Änderung: Sa 07.01.2012, 16:12:21 von Heinz Schmidt »
FireBee #8 -- Milan 060/50, Ethernet, CF/SD-CardReader, DVD-RW, ATI Grafik -- Falcon CT63/CTPCI/ATI, CF-Card als HDD, Altec iDrive -- 1040 STE TwiSTEr -- ...

Offline m0n0

  • Benutzer
  • Beiträge: 984
Re: Deamon / Dienst sauber unter Mint einbinden
« Antwort #7 am: Sa 07.01.2012, 16:21:20 »
Zitat
ob xaaes so ein gutes Beispiel ist für einen (Hintergrund)-Dienst? ich lasse Mint am liebsten zum Textlogin hochlaufen und starte dann xaaes (oder n.aes) per commando. Damit habe ich zumindest ein laufendes MiNT mit shell, falls XAAES mal wieder zickig ist.

Nein, xaaes ist kein Hintergrunddienst - wird aber bei easymint von init gestartet - oder net? Deshalb ist es doch so problematisch mint / xaaes zu aktualisieren wenn man easymint nutzt - weil init nicht ersetzt wird und immer noch das alte xaaes starten will....
« Letzte Änderung: Sa 07.01.2012, 16:29:43 von m0n0 »

Offline Heinz Schmidt

  • Benutzer
  • Beiträge: 1.268
  • Atari, Linux, OS/2, MacOS, ... no need for Windows
Re: Deamon / Dienst sauber unter Mint einbinden
« Antwort #8 am: So 08.01.2012, 11:22:08 »
Hallo m0n0,

Nein, xaaes ist kein Hintergrunddienst - wird aber bei easymint von init gestartet - oder net? Deshalb ist es doch so problematisch mint / xaaes zu aktualisieren wenn man easymint nutzt - weil init nicht ersetzt wird und immer noch das alte xaaes starten will....

Ja, ich glaube da hast Du recht. Wenn man es bei der Installation entsprechend angibt, startet EasyMint Xaaes und verwendet den expliziten Pfad. Ersetzt man dann Mint z.B. durch 1-17-cur stimmt und vergisst den Xaaes Pfad zu ändern, dann hat man den Salat. Das ist einer der Grüde, warumich lieber nur bis zum console login boot und dann das AES manuell starte ;-)

Gruß Heinz
FireBee #8 -- Milan 060/50, Ethernet, CF/SD-CardReader, DVD-RW, ATI Grafik -- Falcon CT63/CTPCI/ATI, CF-Card als HDD, Altec iDrive -- 1040 STE TwiSTEr -- ...