Unterschied Runlevel 1 und S
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Unterschied Runlevel 1 und S
Hallo,
was ist der Unterschied zwischen Runlevel 1 und S bei Debian. Laut meiner Lektüre sollte es keinen geben. Aber wenn ich (als Root) ins Runlevel S wechsle läuft mein Benutzerkonto und die Netzwerkverbindungen etc. noch. Im Runlevel 1 nicht.
Ich habe das auch von S erwartet.
was ist der Unterschied zwischen Runlevel 1 und S bei Debian. Laut meiner Lektüre sollte es keinen geben. Aber wenn ich (als Root) ins Runlevel S wechsle läuft mein Benutzerkonto und die Netzwerkverbindungen etc. noch. Im Runlevel 1 nicht.
Ich habe das auch von S erwartet.
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Re: Unterschied Runlevel 1 und S
Ja, da gibt es Unterschiede
Beim Wechsel in Runlevel S werden überhaupt keine Dienste beendet, aber viele gestartet. Es fehlen offensichtlich nur der Displaymanager (gdm/kdm/…) und Netzwerkdienste wie ssh (auch die beiden werden aber nicht beendet, wenn sie schon laufen).
Runlevel 1 dagegen beendet die meisten Dienste.
Dazu empfiehlt sich die Lektüre von /usr/share/doc/sysv-rc/README.runlevels.gz. Dort steht, dass es nicht so gedacht ist, dass man direkt in den Runlevel S wechselt, dazu ist Runlevel 1 da:
Code: Alles auswählen
$ ls /etc/rc1.d/
K01bluetooth K01mpd K02pulseaudio K05rsyslog S01motd
K01cups K01saned K03avahi-daemon README S05bootlogs
K01gdm3 K02alsa-utils K03network-manager S01killprocs S06single
$ ls /etc/rcS.d/
README S05hdparm S10mountall-bootclean.sh S16console-setup
S01hostname.sh S05hwclock.sh S11procps S17alsa-utils
S01mountkernfs.sh S06checkroot.sh S11urandom S17bootmisc.sh
S02udev S07checkfs.sh S12networking S17lm-sensors
S03keyboard-setup S08checkroot-bootclean.sh S13mountnfs.sh S17x11-common
S04mountdevsubfs.sh S08kmod S14mountnfs-bootclean.sh
S04qemu-kvm S09mountall.sh S15kbd
Runlevel 1 dagegen beendet die meisten Dienste.
Dazu empfiehlt sich die Lektüre von /usr/share/doc/sysv-rc/README.runlevels.gz. Dort steht, dass es nicht so gedacht ist, dass man direkt in den Runlevel S wechselt, dazu ist Runlevel 1 da:
[…]
N System bootup (NONE).
S Single user mode (not to be switched to directly)
0 halt
1 single user mode
2 .. 5 multi user mode
6 reboot
[…]
4. Single user mode.
Switching to single user mode is done by switching to runlevel 1.
That will cause all services to be stopped (assuming they all have
a K script in /etc/rc1.d). The runlevel 1 scripts will then switch
to runlevel "S" which has no scripts - all it does is spawn
a shell directly on /dev/console for maintenance.
[…]
Zuletzt geändert von smutbert am 22.11.2013 14:17:10, insgesamt 1-mal geändert.
-
- Beiträge: 2049
- Registriert: 18.03.2012 21:13:42
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: Unterschied Runlevel 1 und S
Ich habe auch gerade mal nachgeschaut, bei mir steht das auch in einem Buch. Laut Wikipedia ist das wohl eine Debian Besonderheit, das es Unterschiede gibt. Wenn du in /etc/rcX.d dir die Sachen anschaust, wird Wikipedia auch bestätigt.
Hilf mit unser Wiki zu verbessern!
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: Unterschied Runlevel 1 und S
Gut, ich habe das nun auch nochmal gefunden:
Wenn ich nun im Runlevel 1 ein zweites (Root) Terminal brauche, kann ich dazu /etc/inittab erweitern?
Wie wirds richtig gemacht.
Wobei S und 1 direkt in 2 weiter geht.http://www.debian.org/doc/manuals/debian-reference/ch03.en.html hat geschrieben: S /etc/rcS.d/ single-user mode on boot (alias: "s")
1 /etc/rc1.d/ single-user mode switched from multi-user mode
Wenn ich nun im Runlevel 1 ein zweites (Root) Terminal brauche, kann ich dazu /etc/inittab erweitern?
Wie wirds richtig gemacht.
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: Unterschied Runlevel 1 und S
Ich pusche das mal einmal. Da ich hierzu keine Antwort finde:
Ist das möglich, denn ich finde hierfür keine Möglichkeit?inne hat geschrieben:Wenn ich nun im Runlevel 1 ein zweites (Root) Terminal brauche, kann ich dazu /etc/inittab erweitern?
Wie wirds richtig gemacht.
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Re: Unterschied Runlevel 1 und S
... es ist möglich, allerdings i.A. wahrscheinlich unnötig, denn Du kanst auch ohne /etc/initab zu ändern jederzeit mit "openvt -s /bin/sh" auf der nächsten freien virtuellen Konsole eine Shell starten und dorthin wechseln (wobei es vielleicht noch etwas genereller anwendbar und flexibler wäre, Du schaust Dir 'mal "screen" an)
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: Unterschied Runlevel 1 und S
Und wie genau? Die inittab bei Debian schaut so aus:gxyz hat geschrieben:... es ist möglich
Code: Alles auswählen
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
...
Inne
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Re: Unterschied Runlevel 1 und S
Weil es dabei leicht passiert, irgend etwas durcheinanderzubringen und solche Hacks bei jedem Upgrade besondere Vorsicht erfordern, würde ich davon stark abraten, wenn's nicht unbedingt sein muss.inne hat geschrieben:Und wie genau?
Das gesagt, hier eine (recht krude) Lösungsskizze::
In /sbin/singleuser.sh folgendes Script:
Code: Alles auswählen
#!/bin/sh
# 3 virtuelle Konsolen im Single-User-Mode
/usr/bin/openvt -c 2 -- /bin/bash -l &
/usr/bin/openvt -c 3 -- /bin/bash -l &
/bin/bash -l
killall -HUP /bin/bash
Code: Alles auswählen
# ~~:S:wait:/sbin/sulogin
~~:S:wait:/sbin/singleuser.sh
so dass Du (ohne Passwortabfrage) auf den ersten 3 virtuellen Konsolen Shells laufen hast.
Wenn Du die Shell in VC1 beendest, werden als Aufräumarbeit sämtliche laufenden bash-Prozesse beendet (im wirklichen Leben sollte man natürlich feinsinniger vorgehen, aber um keine Probleme zu verursachen ist es wichtig, dass alle Prozesse, die an den virtuellen Konsolen kleben auch wieder beendet werden) und das System landet wieder im Default-Runlevel.