GNU/Linux >> Linux Esercitazione >  >> Linux

Come spegnere quando non c'è systemd/init (ad esempio usando init=/bin/bash)?

Smonta i filesystem che avevi montato. Il filesystem root è un caso speciale; per questo puoi usare mount / -o remount,ro . Su Linux, umount / funziona anche perché è effettivamente convertito nel comando precedente.

Detto questo, non devi preoccuparti troppo di smontare, a meno che

  1. Hai montato un vecchio filesystem come FAT - utilizzato dalla partizione di sistema EFI - o ext2, che non implementa journaling o equivalenti. Con un filesystem moderno, sync dovrebbe essere sufficiente e il filesystem si riparerà molto rapidamente al prossimo avvio.
  2. Potresti aver lasciato un processo in esecuzione che scrive sul filesystem e avevi intenzione di chiuderlo in modo pulito. In tal caso è utile tentare di smontare i filesystem, perché l'umount fallirebbe e mostrerebbe un errore occupato per ricordarti del writer rimanente.

Quanto sopra è la parte importante. Successivamente, puoi anche spegnere comodamente l'hardware usando poweroff -f . Oppure riavvia con reboot -f .

C'è un systemd -equivalente specifico di poweroff -f :systemctl poweroff -f -f . Comunque poweroff -f fa la stessa cosa e systemd supporta questo comando anche se è stato compilato senza compatibilità SysV.

Tecnicamente, ricordo che il mio disco rigido USB è stato documentato come richiedente la "rimozione sicura" di Windows o equivalente. Ma questo requisito non è sicuro in caso di black-out, e comunque Linux non lo fa durante un normale spegnimento. È meglio interpretato nel senso che non dovresti fare jogging sul disco rigido mentre gira, anche provando a scollegarlo. Uno spegnimento completo dovrebbe interrompere la rotazione dell'unità. Probabilmente puoi sentire, sentire o vedere se non si ferma :-).


Eseguirò semplicemente i seguenti due comandi:

echo s > /proc/sysrq-trigger    <= For sync
echo o > /proc/sysrq-trigger    <= For shutdown the system

Supponendo che la chiave magica sia abilitata nel kernel


Ok, mi è appena venuto in mente che avevo l'opzione exec init . Da lì, probabilmente sarei in grado in seguito di poweroff . Mi chiedo se ci siano alternative migliori, però.


Linux
  1. Come fare eco a un botto!?

  2. Come impostare i parametri quando Pipe Bash Script su Bash?

  3. Come montare automaticamente un filesystem usando Systemd

  4. Come scrivere un numero intero in un file binario usando Bash?

  5. Qual è la differenza tra #!/usr/bin/env bash e #!/usr/bin/bash?

Come visualizzare le finestre di dialogo della GUI nello script bash usando Zenity

Come eseguire il backup del filesystem Linux utilizzando il comando dump

Come configurare l'esecuzione automatica di uno script Python utilizzando Systemd

Come elencare le cartelle usando i comandi bash?

Come sapere se sto usando systemd su Linux?

Quando devo usare #!/bin/bash e quando #!/bin/sh?