GNU/Linux >> Znalost Linux >  >> Linux

Jak vypnout, když není systemd/init (např. pomocí init=/bin/bash)?

Odpojte souborové systémy, které jste připojili. Kořenový souborový systém je zvláštní případ; k tomu můžete použít mount / -o remount,ro . V systému Linux umount / také náhodou funguje, protože je efektivně převeden na dřívější příkaz.

To znamená, že se nemusíte příliš starat o odpojení, pokud

  1. Připojili jste starý souborový systém, jako je FAT - jak jej používá systémový oddíl EFI - nebo ext2, který neimplementuje žurnálování nebo ekvivalent. S moderním souborovým systémem sync má stačit a souborový systém se při příštím spuštění velmi rychle opraví.
  2. Možná jste nechali běžící proces, který zapisuje do souborového systému, a měli jste v úmyslu jej čistě vypnout. V takovém případě je užitečné pokusit se odpojit souborové systémy, protože umount by selhal a zobrazila by se chyba zaneprázdnění, aby vám připomněla zbývající zapisovač.

Výše uvedené je důležitá část. Poté můžete také pohodlně vypnout hardware pomocí poweroff -f . Nebo restartujte s reboot -f .

Existuje systemd -specifický ekvivalent poweroff -f :systemctl poweroff -f -f . Nicméně poweroff -f dělá to samé a systemd podporuje tento příkaz, i když byl vytvořen bez kompatibility SysV.

Technicky si pamatuji, že můj pevný disk USB byl zdokumentován jako vyžadující „bezpečné odebrání“ systému Windows nebo ekvivalent. Tento požadavek však není bezpečný při výpadku napájení a Linux to během normálního vypnutí stejně nedělá. Lépe se to vykládá tak, že byste neměli s pevným diskem hýbat, když se točí – včetně pokusu o jeho odpojení. Úplné vypnutí by mělo zastavit otáčení disku. Pravděpodobně můžete slyšet, cítit nebo vidět, jestli to nepřestává :-).


Jednoduše provedu níže dva příkazy:

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

Za předpokladu, že je magický klíč povolen v jádře


Ok, tak mě právě napadlo, že mám možnost exec init . Odtud bych pravděpodobně později dokázal poweroff . Zajímalo by mě, jestli existují lepší alternativy.


Linux
  1. How To Echo A Bang!?

  2. Jak nastavit parametry, když Pipe Bash Script to Bash?

  3. Jak automaticky připojit souborový systém pomocí Systemd

  1. Jak zapsat celé číslo do binárního souboru pomocí Bash?

  2. Jaký je rozdíl mezi #!/usr/bin/env bash a #!/usr/bin/bash?

  3. Jak zkopírovat adresáře do adresáře pomocí instalace v bash?

  1. Jak vytvořit snímky systému souborů pomocí příkazu Snapper v systému Linux

  2. Jak analyzovat hlavičky HTTP pomocí Bash?

  3. Jak přidat úlohu crontab do crontab pomocí bash skriptu?