GNU/Linux >> Tutoriels Linux >  >> Linux

Comment éteindre quand il n'y a pas de systemd/init (par exemple en utilisant init=/bin/bash) ?

Démontez les systèmes de fichiers que vous avez montés. Le système de fichiers racine est un cas particulier; pour cela, vous pouvez utiliser mount / -o remount,ro . Sous Linux, umount / fonctionne également, car il est effectivement converti en l'ancienne commande.

Cela dit, vous n'avez pas à vous soucier trop du démontage, à moins que

  1. Vous avez monté un ancien système de fichiers comme FAT - tel qu'utilisé par la partition système EFI - ou ext2, qui n'implémente pas la journalisation ou équivalent. Avec un système de fichiers moderne, sync est censé être suffisant, et le système de fichiers se réparera très rapidement au prochain démarrage.
  2. Vous avez peut-être laissé un processus en cours d'exécution qui écrit dans le système de fichiers et vous aviez l'intention de l'arrêter proprement. Dans ce cas, il est utile d'essayer de démonter les systèmes de fichiers, car umount échouerait et afficherait une erreur occupée pour vous rappeler le rédacteur restant.

Ce qui précède est la partie importante. Après cela, vous pouvez également éteindre facilement le matériel en utilisant poweroff -f . Ou redémarrez avec reboot -f .

Il y a un systemd -équivalent spécifique de poweroff -f :systemctl poweroff -f -f . Cependant poweroff -f fait la même chose, et systemd prend en charge cette commande même si elle a été construite sans compatibilité SysV.

Techniquement, je me souviens que mon disque dur USB était documenté comme nécessitant une "suppression sûre" de Windows ou l'équivalent. Mais cette exigence n'est pas sûre en cas de panne de courant, et Linux ne le fait pas pendant un arrêt normal de toute façon. Il est préférable de l'interpréter comme signifiant que vous ne devez pas faire de jogging sur le disque dur pendant qu'il tourne, y compris en essayant de le débrancher. Une mise hors tension complète devrait arrêter la rotation du disque. Vous pouvez probablement entendre, sentir ou voir si cela ne s'arrête pas :-).


Je vais simplement exécuter ci-dessous deux commandes :

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

En supposant que la clé magique est activée dans le noyau


Ok, donc il m'est venu à l'esprit que j'avais la possibilité de exec init . À partir de là, je pourrais probablement plus tard poweroff . Je me demande cependant s'il existe de meilleures alternatives.


Linux
  1. Comment faire écho à un coup ! ?

  2. Comment créer des instantanés de système de fichiers à l'aide de la commande Snapper sous Linux

  3. Comment monter automatiquement un système de fichiers à l'aide de Systemd

  4. Comment analyser les en-têtes HTTP à l'aide de Bash ?

  5. Comment ajouter un travail crontab à crontab à l'aide d'un script bash ?

Comment étendre LVM lorsqu'il n'y a pas d'espace libre dans le groupe de volumes

Comment afficher les boîtes de dialogue de l'interface graphique dans le script bash à l'aide de Zenity

Comment sauvegarder le système de fichiers Linux à l'aide de la commande dump

Comment configurer l'exécution automatique d'un script Python à l'aide de Systemd

Comment lister les dossiers à l'aide des commandes bash ?

chroot échoue - impossible d'exécuter la commande `/bin/bash' :aucun fichier ou répertoire de ce type