Est-ce que l'exécution de "sudo sync" et la suppression de la puissance sont dangereuses pour mon système?

Je cours un système Ubuntu, et il faut parfois un certain time pour arrêter. Apparemment, GNU / Linux tente, en un mot, d'arrêter tous les process en cours d'exécution, de vider le journal du système de files, puis de couper le courant. Mon raisonnement est que, lorsque l'alimentation est supprimée, toutes datatables conservées dans la memory vive sont perdues et, par conséquent, le système n'a pas besoin de tuer manuellement les process car ils mourront de toute façon. Est-ce que la sudo sync , puis la suppression de l'alimentation serait une alternative sûre (et significativement plus rapide) à un arrêt correct ( shutdown -h now ), ou présenterait-elle un danger matériel / security?

    Faire sudo sync garantit que datatables qui ont été écrites par les applications mais qui restnt dans une memory tampon sont vidées sur le disque. C'est tout ce qu'il fait. Il n'éteint pas correctement le système et risque de provoquer des pertes de données et d'autres incidents. Ce n'est pas catastrophique – des pannes de courant sont connues – mais il vaut mieux éviter cela. Voici les choses qu'un arrêt correct fait:

    • Notifier les applications que la session se termine. Les applications peuvent vous requestr de confirmer l'arrêt et d'effectuer une sauvegarde d'urgence dans un file. Ils peuvent également supprimer leurs files temporaires, qui sinon s'accumuleraient.
    • Arrêtez correctement les connections réseau. Si les connections sont interrompues soudainement, il y aura un time pendant lequel l'autre côté ne se rendra pas count que votre ordinateur est parti et continuera à essayer d'envoyer des données ou espérant recevoir des données d'une connection qui ne verra plus aucune vie (même si votre redémarrages de l'ordinateur).
    • Ecrire des inputs de journal confirmant ce qui s'est passé pendant l'arrêt. Ceci est utile si quelque chose se passe mal et que vous avez besoin d'enquêter.
    • Démonter tous les filesystems. Cela marque les filesystems aussi propres. Vous échangez un peu de time lors de l'arrêt pour un time plus grand (mais toujours petit à l'échelle humaine 1,2 ) pendant le démarrage suivant, plus un risque plus faible de bash un bug (parce que les cas d'échecs soudains ne sont pas aussi testés que normal opération).

    ¹ À l'exception peut-être des volumes RAID: si un volume RAID doit être vérifié, cela peut prendre des heures, il se fait en arrière-plan, il ne bloque pas, mais provoque un impact sur les performances.
    ² Sauf pour les filesystems plus anciens, non journalisés tels que ext2 qui nécessitent un fsck long si non démonté proprement.

    Non, en général, ce ne serait pas sûr. La sync écrit datatables en attente (données provenant des opérations d'écriture qui sont actuellement dans les tampons) sur le disque. Mais si vous n'avez pas arrêté les applications, il se peut qu'il y ait encore des données que l'application n'a pas encore écrites.

    Imaginez un programme d'interface graphique qui lit dans un file de configuration au démarrage et écrit le file de configuration lorsque le programme se ferme. Si vous modifiez un paramètre dans l'interface graphique, une sync n'aidera pas car l'application n'a pas encore écrit ces données.

    Un autre exemple est un client torrent. Une sync écrirait les dernières données sur le disque, mais ne se déconnecterait pas du réseau superposé. Ce n'est pas poli de laisser la connection juste de l'autre côté, si possible, vous devriez annoncer à la superposition que vous partez.

    Vous devriez généralement donner aux programmes une chance de fermer correctement. Cela dit, il y a des cas où cela ne fait pas de différence. Cependant, le système de files peut toujours être marqué comme sale s'il n'a pas été démonté correctement.

    Note de côté: la sync peut être invoquée avec les droits de l'user.