• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Linux Neustart / Shutdown

manzek

Hacker
In gut 20 Jahren Linuxnutzung sind mir doch so einige Befehle untergekommen, wie man das System herunter fährt oder neu startet.

Beispiele Neustart

Code:
init 6
shutdown -r now
reboot

Beispiele Shutdown

Code:
init 0
shutdown -h now


Gibt es Unterschiede im Verhalten oder lassen sich all diese Varianten uneingeschränkt verwenden?

Ich meine mal vor einiger Zeit eine Behauptung gelesen zu haben, dass beispielsweise init 6/0 nicht so sicher sei, weil das verzögerte Schreiben auf der Disk nicht mehr stattfinden würde.

Aufgrund der Kürze würde ich beispielsweise gern die init-Befehle benutzen.
Wechseln diese Befehle aus technischen Gründen von Zeit zu Zeit oder eher einfach nur aus Zeitgeist?
 

Sauerland

Ultimate Guru
Code:
ls -la /sbin/init /sbin/shutdown
lrwxrwxrwx 1 root root 26  6. Feb 12:29 /sbin/init -> ../usr/lib/systemd/systemd
lrwxrwxrwx 1 root root 18  6. Feb 12:29 /sbin/shutdown -> /usr/bin/systemctl

systemd ist dafür zuständig
 

tomm.fa

Administrator
Teammitglied
Und daher auch:
systemctl --help schrieb:
Code:
System Commands:
  is-system-running               Check whether system is fully running
  default                         Enter system default mode
  rescue                          Enter system rescue mode
  emergency                       Enter system emergency mode
  halt                            Shut down and halt the system
  poweroff                        Shut down and power-off the system
  reboot [ARG]                    Shut down and reboot the system
  kexec                           Shut down and reboot the system with kexec
  exit [EXIT_CODE]                Request user instance or container exit
  switch-root ROOT [INIT]         Change to a different root file system
  suspend                         Suspend the system
  hibernate                       Hibernate the system
  hybrid-sleep                    Hibernate and suspend the system
 

Christina

Moderator
Teammitglied
Sauerland schrieb:
Code:
ls -la /sbin/init /sbin/shutdown
lrwxrwxrwx 1 root root 26  6. Feb 12:29 /sbin/init -> ../usr/lib/systemd/systemd
lrwxrwxrwx 1 root root 18  6. Feb 12:29 /sbin/shutdown -> /usr/bin/systemctl
Darf ich dazu auch etwas fragen?

man shutdown zeigt für die Option -h : Equivalent to --poweroff, unless --halt is specified.
man systemctl dagegen für -h : Print a short help text and exit.

Wie passt das zusammen, wenn /sbin/shutdown ein Link nach /usr/bin/systemctl ist?
Und wie wird dann eine Zeitangabe (Uhrzeit oder Zeitdauer) bei systemctl angegeben?
Code:
/sbin/shutdown -h 21:00 --no-wall
/sbin/shutdown -h +45 --no-wall
Ich suche nämlich noch nach einer Möglichkeit, zu einem Zeitpunkt suspend to RAM statt poweroff zu machen.
 

abgdf

Guru
Christina schrieb:
Ich suche nämlich noch nach einer Möglichkeit, zu einem Zeitpunkt suspend to RAM statt poweroff zu machen.
Wenn shutdown kein eigenes Kommando dafür hat, kann man auch "at" verwenden.
Code:
echo "aplay /usr/share/sounds/alsa/test.wav" | at now +1 min
 

marce

Guru
Christina schrieb:
Darf ich dazu auch etwas fragen?

man shutdown zeigt für die Option -h : Equivalent to --poweroff, unless --halt is specified.
man systemctl dagegen für -h : Print a short help text and exit.

Wie passt das zusammen, wenn /sbin/shutdown ein Link nach /usr/bin/systemctl ist?
Zuerst würde ich mal prüfen, ob bei Dir die Links auch so gesetzt sind (nicht jede Distribution verwendet systemd, manchmal gibt's noch init-Wrapper-Scripte um Systemd-Befehle drumerhum, manche linken einfach und evtl. gibt's auch Systemd-Varianten, die die alten Optionen je nach Aufuf auch kennen.

Zudem müssen man-Page und Programm nicht zwingend etwas miteinander zu tun haben.

man $programm liefert die man-Page zu $programm - nicht zu dem, was ggf. im System unter $programm verfügbar ist - da ist sicherlich noch einiges an Aufräumarbeit durch die Distributionen zu tun...
 
Willst Du zu einem bestimmten Zeitpunkt das System in suspend versetzen oder nach einer bestimmten Zeit? Erster Fall: cronjob (oder at) der den Befehl "systemctl suspend" zu einer vorgegebenen Zeit ausführt. Im zweiten Fall "sleep ZEIT && systemctl suspend". Ansonsten kannst Du dich auch mal bei systemd/timers einlesen. Praktische Erfahrungen hab ich mit dem Ganzen aber noch nicht gemacht.
 

Christina

Moderator
Teammitglied
abgdf schrieb:
Wenn shutdown kein eigenes Kommando dafür hat, kann man auch "at" verwenden.
shutdown hat (trotz Link nach systemctl) eine eingebaute Option für Zeitpunkt oder Zeitdauer, aber "systemctl suspend" nicht.
 
Geier0815 schrieb:
Willst Du zu einem bestimmten Zeitpunkt das System in suspend versetzen oder nach einer bestimmten Zeit?
at kann beides, cronjob habe ich noch nicht ausprobiert.
Vielen Dank euch beiden für die Tipps!
Code:
echo "systemctl suspend" | at now +45min
echo "systemctl suspend" | at 21:00
Und wenn man es sich wieder anders überlegt: ( wie bei shutdown -c )
Code:
atq
24        Thu Feb 20 21:00:00 2020 a root
Code:
at -c 24
systemctl suspend
Code:
atrm 24
Vorher muss aber atd gestartet sein:
Code:
systemctl status atd.service
—?
systemctl enable atd.service
systemctl start atd.service
 

spoensche

Moderator
Teammitglied
Christina schrieb:
Sauerland schrieb:
Code:
ls -la /sbin/init /sbin/shutdown
lrwxrwxrwx 1 root root 26  6. Feb 12:29 /sbin/init -> ../usr/lib/systemd/systemd
lrwxrwxrwx 1 root root 18  6. Feb 12:29 /sbin/shutdown -> /usr/bin/systemctl
Darf ich dazu auch etwas fragen?

man shutdown zeigt für die Option -h : Equivalent to --poweroff, unless --halt is specified.
man systemctl dagegen für -h : Print a short help text and exit.

Wie passt das zusammen, wenn /sbin/shutdown ein Link nach /usr/bin/systemctl ist?
Und wie wird dann eine Zeitangabe (Uhrzeit oder Zeitdauer) bei systemctl angegeben?
Code:
/sbin/shutdown -h 21:00 --no-wall
/sbin/shutdown -h +45 --no-wall
Ich suche nämlich noch nach einer Möglichkeit, zu einem Zeitpunkt suspend to RAM statt poweroff zu machen.

Code:
systemctl poweroff

Suspend to RAM und Suspend to Disk und wann es durchgeführt werden soll kannst du in der Datei /etc/systemd/sleep.conf konfigurieren.
 

Christina

Moderator
Teammitglied
Danke euch beiden für die weiterführenden Tipps.
Das hier ist aber nicht mein Thread und mir geht es darum, das System immer nur einmalig zu einem bestimmten Zeitpunkt oder nach einer bestimmen Dauer zum Shutdown / Suspend zu bringen.
 
manzek schrieb:
In gut 20 Jahren Linuxnutzung sind mir doch so einige Befehle untergekommen, wie man das System herunter fährt (…)
Gibt es Unterschiede im Verhalten oder lassen sich all diese Varianten uneingeschränkt verwenden?
Es gibt einige Unterschiede. Manche Befehle sind elegant, erlauben aber nicht alle Möglichkeiten.
lg Christina
 
Oben