<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=System-V</id>
	<title>System-V - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=System-V"/>
	<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=System-V&amp;action=history"/>
	<updated>2026-06-29T13:38:36Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=System-V&amp;diff=10695&amp;oldid=prev</id>
		<title>Thomas: Die Seite wurde neu angelegt: „===Prinzip des rc-Skriptes=== Hier ein vereinfachtes rc-Skript dieses stoppt im akutellen Runlevel die Skripte wenn sie nicht im vorhergehenden Runlevel schon …“</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=System-V&amp;diff=10695&amp;oldid=prev"/>
		<updated>2016-09-05T09:20:10Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „===Prinzip des rc-Skriptes=== Hier ein vereinfachtes rc-Skript dieses stoppt im akutellen Runlevel die Skripte wenn sie nicht im vorhergehenden Runlevel schon …“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===Prinzip des rc-Skriptes===&lt;br /&gt;
Hier ein vereinfachtes rc-Skript dieses stoppt im akutellen Runlevel die Skripte wenn sie nicht im vorhergehenden Runlevel schon gestoppt wurden und es werden nur Skripte gestartet die nicht im vorhergehenden Runlevel schon gestartet worden sind. &lt;br /&gt;
 root@zero:~# cat /etc/init.d/rc &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 PREVLEVEL=$1&lt;br /&gt;
 RUNLEVEL=$2&lt;br /&gt;
 for KILL in /etc/rc$RUNLEVEL.d/K*&lt;br /&gt;
  do&lt;br /&gt;
   BASE=$(basename $KILL | cut -c 4-)&lt;br /&gt;
     if ! test -f /etc/rc$PREVLEVEL.d/K??$BASE&lt;br /&gt;
   then &lt;br /&gt;
    test -f $KILL &amp;amp;&amp;amp; $KILL stop&lt;br /&gt;
   fi&lt;br /&gt;
  done&lt;br /&gt;
 for START in /etc/rc$RUNLEVEL.d/S*&lt;br /&gt;
  do&lt;br /&gt;
   BASE=$(basename $START | cut -c 4-)&lt;br /&gt;
     if ! test -f /etc/rc$PREVLEVEL.d/S??$BASE&lt;br /&gt;
   then &lt;br /&gt;
   test -f $START &amp;amp;&amp;amp; $START start&lt;br /&gt;
   fi&lt;br /&gt;
  done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Init Skripte===&lt;br /&gt;
Die initskripte der Programme sind alle in /etc/init.d Symbolische Links werden von /etc/init.d/ nach /etc/rcX.d/ gesetzt.&lt;br /&gt;
Beispiel Apache2 &lt;br /&gt;
 root@zero:/# ls  -l /etc/rc?.d/???apache2 | cut -f 8- -d &amp;quot; &amp;quot;&lt;br /&gt;
 /etc/rc0.d/K09apache2 -&amp;gt; ../init.d/apache2&lt;br /&gt;
 /etc/rc1.d/K09apache2 -&amp;gt; ../init.d/apache2&lt;br /&gt;
 /etc/rc2.d/S91apache2 -&amp;gt; ../init.d/apache2&lt;br /&gt;
 /etc/rc3.d/S91apache2 -&amp;gt; ../init.d/apache2&lt;br /&gt;
 /etc/rc4.d/S91apache2 -&amp;gt; ../init.d/apache2&lt;br /&gt;
 /etc/rc5.d/S91apache2 -&amp;gt; ../init.d/apache2&lt;br /&gt;
 /etc/rc6.d/K09apache2 -&amp;gt; ../init.d/apache2&lt;br /&gt;
Um kompfortabel zu Verlinken kann man die Programm  &lt;br /&gt;
*chkconfig &lt;br /&gt;
*insserve&lt;br /&gt;
&lt;br /&gt;
===Eigenes Startskript===&lt;br /&gt;
Dieses Skript öffnet beim starten einen Port und man kann über das Netzwerk mit netcat etwas in die Datei listener schreiben. &lt;br /&gt;
Diese Skript wird wie alle Start-Stop-Skripte  &amp;quot;/etc/init.d/legean start|stop&amp;quot; aufgerufen.&lt;br /&gt;
&lt;br /&gt;
 root@zero:/etc/init.d# cat /etc/init.d/legean &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides:          legean&lt;br /&gt;
 # Required-Start:    $local_fs $remote_fs $network&lt;br /&gt;
 # Required-Stop:     $local_fs $remote_fs $network&lt;br /&gt;
 # Default-Start:     2 3 4 5&lt;br /&gt;
 # Default-Stop:      0 1 6&lt;br /&gt;
 # Short-Description: Start/stop unser legean skript&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
  PORT=4711&lt;br /&gt;
 case $1 in&lt;br /&gt;
   start)&lt;br /&gt;
    echo start listener&lt;br /&gt;
    netcat -lp $PORT &amp;gt;&amp;gt; /tmp/listener &amp;amp; &lt;br /&gt;
   ;;&lt;br /&gt;
   stop)&lt;br /&gt;
    fuser -kn tcp $PORT&lt;br /&gt;
    echo stop listener&lt;br /&gt;
   ;; &lt;br /&gt;
   esac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===update-rc.d===&lt;br /&gt;
Nach dem Laden des Linux-Kernels wird als erstes Programm überhaupt das Programm init gestartet. Dieses Programm startet alle weiteren Programme; welche das sind, wird über die Skripte im Verzeichnis  /etc/init.d/ aus dem Paket upstart  bestimmt. Je nach gewünschtem Runlevel des Systems zeigen Links aus den Verzeichnissen /etc/rcN.d/ (N ist die Nummer des aktuellen Runlevels, normalerweise 2) auf die Skripte im Verzeichnis /etc/init.d/, so ist beispielsweise /etc/rc2.d/S20exim4 ein Link auf das Startskript für Exim (/etc/init.d/exim4). Den aktuellen Runlevel des Systems zeigt der Befehl runlevel an. Das Anlegen und Löschen dieser Links wird bei der Installation der jeweiligen Dienste automatisch vorgenommen. Ein installierter Dienst wird auf einem Debian System immer auch gestartet. Natürlich können Links von Hand hinzugefügt oder entfernt werden, aber auch für diese Arbeiten am System stellt Ubuntu Werkzeuge zur Verfügung. Eines davon ist update-rc.d&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich ist natürlich immer der Name des Pakets anzugeben, dessen Init-Skripte angepasst werden sollen. Bei Verwendung der Option  remove werden alle Links auf das entsprechende Skript entfernt. Hierbei prüft  update-rc.d, ob das Skript bereits entfernt wurde. Ist dies nicht der Fall, so bricht update-rc.d ab. Mit der Option -f kann erzwungen werden, dass die Links auch bei Vorhandensein eines Skriptes gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
Mit den Optionen start, stop bzw. defaults werden die notwendigen Links angelegt, gelöscht bzw. wiederhergestellt. Werden zusätzlich einer oder mehrere Runlevel angegeben, so können die Links entsprechend den Wünschen des Systemadministrators angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Leider werden bei einer Aktualisierung eines Paketes alle Links auf die Skripte wieder hergestellt. Dies bedeutet auch, dass mittels update-rc.d deaktivierte Dienste nach einem Update der Software wieder aktiviert werden.&lt;br /&gt;
&lt;br /&gt;
*Anlegen der Links&lt;br /&gt;
 root@cardassia:/etc/init.d# update-rc.d  legean defaults&lt;br /&gt;
 Adding system startup for /etc/init.d/legean ...&lt;br /&gt;
   /etc/rc0.d/K20legean -&amp;gt; ../init.d/legean&lt;br /&gt;
   /etc/rc1.d/K20legean -&amp;gt; ../init.d/legean&lt;br /&gt;
   /etc/rc6.d/K20legean -&amp;gt; ../init.d/legean&lt;br /&gt;
   /etc/rc2.d/S20legean -&amp;gt; ../init.d/legean&lt;br /&gt;
   /etc/rc3.d/S20legean -&amp;gt; ../init.d/legean&lt;br /&gt;
   /etc/rc4.d/S20legean -&amp;gt; ../init.d/legean&lt;br /&gt;
   /etc/rc5.d/S20legean -&amp;gt; ../init.d/legean&lt;br /&gt;
*Löschen der Links&lt;br /&gt;
 root@cardassia:/etc/init.d# update-rc.d  -f legean remove&lt;br /&gt;
 Removing any system startup links for /etc/init.d/legean ...&lt;br /&gt;
   /etc/rc0.d/K20legean&lt;br /&gt;
   /etc/rc1.d/K20legean&lt;br /&gt;
   /etc/rc2.d/S20legean&lt;br /&gt;
   /etc/rc3.d/S20legean&lt;br /&gt;
   /etc/rc4.d/S20legean&lt;br /&gt;
   /etc/rc5.d/S20legean&lt;br /&gt;
   /etc/rc6.d/K20legean&lt;br /&gt;
Lege den Link S89legean im runlevel 2 an &lt;br /&gt;
 root@cardassia:/etc/init.d# update-rc.d  -n legean start 89 2 .&lt;br /&gt;
 Adding system startup for /etc/init.d/legean ...&lt;br /&gt;
   /etc/rc2.d/S89legean -&amp;gt; ../init.d/legean&lt;br /&gt;
Selbsterklärend ;-)&lt;br /&gt;
 root@cardassia:/etc/init.d# update-rc.d  -n legean start 99  2 3 4 5 . stop  01 S 1 6  .&lt;br /&gt;
 Adding system startup for /etc/init.d/legean ...&lt;br /&gt;
   /etc/rc1.d/K01legean -&amp;gt; ../init.d/legean&lt;br /&gt;
   /etc/rc6.d/K01legean -&amp;gt; ../init.d/legean&lt;br /&gt;
   /etc/rcS.d/K01legean -&amp;gt; ../init.d/legean&lt;br /&gt;
   /etc/rc2.d/S99legean -&amp;gt; ../init.d/legean&lt;br /&gt;
   /etc/rc3.d/S99legean -&amp;gt; ../init.d/legean&lt;br /&gt;
   /etc/rc4.d/S99legean -&amp;gt; ../init.d/legean&lt;br /&gt;
   /etc/rc5.d/S99legean -&amp;gt; ../init.d/legean&lt;/div&gt;</summary>
		<author><name>Thomas</name></author>
	</entry>
</feed>