J'ai installé un (x) Ubuntu 14.04 sur le PC d'un ami. Les mises à jour automatiques sont définies sur "télécharger et installer automatiquement les mises à jour".
Le problème est qu'après quelques mois d'utilisation, il éteint sans le savoir son PC avant la fin de la mise à niveau des packages. Cela conduit à des dépendances / packages cassés, ce qui entraîne la mise à jour et la nécessité de s'exécutersudo dpkg --configure -a
Est-il possible de faire attendre Ubuntu que les mises à jour soient terminées avant l'arrêt ou le redémarrage du PC comme le fait Windows pour s'assurer qu'il n'y aura jamais de paquets cassés et que son PC restera mis à jour automatiquement?
System Settings -> Power
Réponses:
Molly-Guard est un programme exactement dans ce but; il vous oblige faire une petite quantité de configuration, et ont
/usr/sbin
avant/sbin
dans votre$PATH
.Sinon, selon cela, les détails exacts dépendent fortement de la mise en œuvre de l'interface graphique / DE. Puisque nous savons que votre ami utilise Xubuntu, cela le rétrécit, mais sans recompiler Xfce avec ce support intégré (ce qui créerait d'autres problèmes), cela semble très difficile.
Selon mes recherches abondantes, vous pouvez théoriquement simplement remplacer
/sbin/shutdown
par un script qui vérifie si un travail approprié est en place et s'exécutesudo shutdown -c
ousudo init 2
pour annuler un arrêt en cours etwait
pour qu'il se termine, mais je ne suis pas sûr de sa robustesse.En fonction de cela , vous pourriez simplement rendre difficile l' arrêt de l'utilisateur , au lieu de raccorder un script.
Enfin, comme indiqué ici , vous pouvez installer
unattended-upgrades
sur n'importe quel système que vous utilisez pour les mises à jour automatiques maintenant, et assurez-vous qu'il se ferme avant l'arrêt comme détaillé dans cette réponse .Il existe de nombreuses options, qui sont toutes des niveaux variables de fiabilité, mais je pense que la meilleure, qui résout ce que je pense être, dans une certaine mesure, un problème X / Y sous-jacent en jeu ici, est la suivante:
Utilisez
crontab
pour faire fonctionner son ordinateurdpkg --configure -a
à chaque démarrage.@LovesTha: Pour votre objectif, je recommande
unattended-upgrades
, ou peut-être Molly-Guard.la source
introduction
Le script ci-dessous utilise une interrogation déclenchée par interruption pour des messages spécifiques de dbus, et chaque fois qu'il voit une demande d'arrêt / redémarrage, il testera si un gestionnaire de packages tel que
dpkg
ouapt
est en cours d'exécution. S'ils sont en cours d'exécution, la demande d'arrêt sera annulée.Installer
Puisque vous avez mentionné que votre ami ne veut pas toucher la ligne de commande, vous devrez soit ssh dans sa machine, soit venir l'installer manuellement.
Configuration manuelle
mkdir $HOME/bin
preventShutdown.sh
chmod +x $HOME/bin/preventShutdown.sh
pour le faire.desktop
fichier dans$HOME/.config/autostart
Configuration alternative
Ajoutez le script en tant qu'application de démarrage.
Source de script
la source
Pour citer Einstein:
il n'y a donc pas de garantie à 100% contre la bêtise humaine, mais vous pouvez rendre plus difficile pour les non-Einsteins de casser les choses en:
Activation des mises à jour automatiques à l'arrêt .
Expliquez que les ordinateurs ne sont pas des marteaux, ni des clous, mais des équipements fragiles et intelligents qui ont besoin de deux types de nourriture: l' électricité et les mises à jour.
Alternativement,
Alternativement:
• utilisez Remmina pour que tout fonctionne correctement
la source