Warum ist mein Debian Jessie immer in Runlevel 5?

7

Ich habe die Leitungen /etc/inittabwie folgt konfiguriert :

# The default runlevel.
id:2:initdefault:

Aber nach dem Anmelden ist die Ausgabe von runlevelwie folgt:

N 5

Warum bin ich in Runlevel 5 von 2?


Hinweis: Als zusätzliche Information wird hier uname -afür mein System ausgegeben

Linux d3bi4n 3.16.0-4-amd64 #1 SMP Debian 3.16.7-2 (2014-11-06) x86_64 GNU/Linux

und die Ausgabe von dpkg -S /sbin/initist

systemd-sysv: /sbin/init
Matthias
quelle
Sie verwenden SysVinit, richtig? Was ist die Ausgabe von dpkg -S /sbin/init?
Gilles 'SO - hör auf böse zu sein'
Es istsystemd-sysv: /sbin/init
Matthias

Antworten:

10
$ dpkg -S /sbin/init
systemd-sysv: /sbin/init

Ihr Init-System ist Systemd, nicht SysVinit. /etc/inittabist eine Konfigurationsdatei von SysVinit und wird von Systemd nicht verwendet. Ich nehme an, Sie haben diese Datei, weil dies ein Jessie-System ist, das von einem früheren Jessie oder von Wheezy mit SysVinit aktualisiert wurde.

Systemd hat nicht genau ein Konzept für Runlevel, obwohl es diese aus Gründen der Kompatibilität mit SysVinit approximiert. Systemd hat stattdessen "Zieleinheiten". Sie können die Startzeit-Zieleinheit auswählen, indem Sie die symbolische Verknüpfung festlegen /etc/systemd/system/default.target. Weitere Informationen finden Sie in den Systemd-FAQ .

Wenn Sie Systemd nicht verwenden möchten, installieren Sie das sysvinit-corePaket, das ein traditionelles SysVinit bereitstellt (früher im sysvinitPaket, das in Jessie jetzt eine Front für Systemd ist). Ab Jessie verwendet Debian standardmäßig Systemd, unterstützt jedoch weiterhin SysVinit.

Gilles 'SO - hör auf böse zu sein'
quelle
Du hast es herausgefunden. Ich habe ein Upgrade von wheezy durchgeführt und war mir nicht bewusst, dass Jessie systemd verwendet. Ich habe (vorerst) wieder auf sysvinit umgestellt und es funktioniert gut. Vielen Dank!
Matthias
1

Wahrscheinlich haben Sie Runlevel 5 in der Kernel-Befehlszeile oder in den Argumenten festgelegt (sehen Sie sich Ihre Grub-Konfiguration an):

Sie können den Standard-Runlevel mit dem Kernel-Parameter überschreiben. Wenn das Startmenü angezeigt wird, wählen Sie die Bearbeitungsoption. Suchen Sie dann die Kernel-Zeile und fügen Sie Leerzeichen und die gewünschte Runlevel-Nummer hinzu. Beispiel: "kernel /boot/vmlinuz-2.6.30 root = / dev / sda2 ro 3" würde auf Runlevel 3 booten. 

Jorge Nerín
quelle
1

Quelle: https://unix.stackexchange.com/a/164028/120177 , http://www.freedesktop.org/software/systemd/man/systemctl.html

Öffnen Sie ein Terminal und führen Sie (als Root) Folgendes aus:

systemctl set-default multi-user.target

oder mit --force

systemctl set-default -f multi-user.target

vorhandene widersprüchliche Symlinks überschreiben1.

Überprüfen Sie noch einmal mit:

systemctl get-default

Eine andere Möglichkeit besteht darin, der Kernel-Boot-Zeile den folgenden Parameter hinzuzufügen:

systemd.unit=multi-user.target
deppfx
quelle
Dies ist die gleiche Antwort wie bei unix.stackexchange.com/a/164028/120177 . Aber Sie haben den Link zu freedesktop.org/software/systemd/man/systemctl.html
Evgeny Vereshchagin
Erledigt. Quellen hinzugefügt.
Deppfx
0

Ich schaue, wie man unter Debian 8 läuft, ähnlich wie mit inittabSystem:

1:2345:respawn:/sbin/getty 38400 tty1

2:23:respawn:/sbin/getty 38400 tty2

3:23:respawn:/sbin/getty 38400 tty3

BPQ:2345:respawn:/home/bpq32/runbpq >/dev/tty4

wo ich Ausgabe laufen Programm umleiten runbpqhabe/dev/tty4

aber wie geht das unter Debian 8 mit systemd ??

Freundliche Grüße

Geotravel
quelle
-1

Von: https://wiki.debian.org/RunLevel

Die Standardinstallation von Debian macht keinen Unterschied zwischen den Runlevels 2-5.

Sepahrad Salour
quelle
@matthias Dein Verständnis ist richtig. Standardmäßig konfiguriert Debian genau dieselben Dienste für die Ausführung auf den Runlevel 2, 3, 4 und 5. Trotzdem wird die Runlevel-Nummer verfolgt. Die inittabZeile sollte Runlevel 2 als Standard festlegen.
Gilles 'SO - hör auf böse zu sein'