Wo ist mein /etc/init.d/skeleton unter OpenSuse 12.3?

Wo ist mein /etc/init.d/skeleton unter OpenSuse 12.3?

Bei einer Neuinstallation von OpenSuse 12.3 möchte ich ein Programm „daemonisieren“. Und bei allen im Internet gefundenen Beispielen sehe ich, dass ich zuerst ein Programm /etc/init.d/myscriptbasierend auf /etc/init.d/skeleton... erstellen muss.

Aber ich habe keine /etc/init.d/skeleton... Gibt es einen anderen Ort für diese Datei? Oder muss ich vielleicht etwas installieren?

Das System ist auf dem neuesten Stand, das habe ich vorher geprüft.

Ich weiß, dass ich versuchen kann, ein anderes vorhandenes Skript zu kopieren /etc/init.dund zu ändern oder ein neues zu erstellen, aber ich würde wissen, ob ich etwas falsch mache oder ob es dafür unter OpenSuse eine andere spezielle Möglichkeit gibt.

Antwort1

Ich bin nicht sicher, wo die Datei verschwunden ist, aber ich würde erwarten, dass diese Änderung mit dem Ersetzen des Traditionellen seit OpenSUSE 12 /etc/init.d/skeletonzusammenhängt . Es ist vollständig kompatibel mit bekannten Initskripten, aber ich würde lieber das Modell zum Starten von Diensten verwenden.SysV init daemonsystemdsystemdsystemd

Meiner Meinung nach können traditionelle Initscripts knifflig sein und manchmal erfordern sie tiefere Kenntnisse in Shell-Scripting. Andererseits ist ein systemd„Initscript“ oder uniteine Konfigurationsdatei für einen Dienst ( ) leichter zu verwalten, da es eine einfache Syntax ähnlich der von Dateien hat. Sie können versuchen, eine Unit-Datei zu schreiben und sie zu aktivieren, indem Sie die Datei in das Verzeichnis ziehen. Dieses Verzeichnis hat eine höhere Priorität als das Standardverzeichnis . Es folgt ein Beispiel für eine Daemon-Unit:man systemd.unit.INI/etc/systemd/system/usr/lib/systemd/systemsshd

[Unit]
Description=OpenSSH Daemon
After=syslog.target network.target

[Service]
EnvironmentFile=/etc/sysconfig/ssh
ExecStartPre=/usr/sbin/sshd-gen-keys-start
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=always

[Install]
WantedBy=multi-user.target

Oder Sie bleiben bei den „alten“ Initskripten, die Sie gewohnt sind. Sie verlieren dann aber einige nette Features wie systemd:

  • schnellere Bootzeit, echter paralleler Start von Diensten
  • Automatische Abhängigkeitsbehandlung
  • Überwachung von Diensten und automatischer Neustart abgestürzter Dienste
  • und vieles mehr

Bedenken Sie abschließend: Wenn eine Unit ( sshd.service) mit dem gleichen Basisnamen wie ein Initskript ( /etc/init.d/sshd) vorhanden ist, wird das Initskript ignoriert und die systemdUnit bevorzugt und verwendet.

verwandte Informationen