après avoir couru
sudo pacman -Syyu
ou
sudo pacman -S [something to install]
dois-je redémarrer juste pour être en sécurité?
la source
après avoir couru
sudo pacman -Syyu
ou
sudo pacman -S [something to install]
dois-je redémarrer juste pour être en sécurité?
S'il existe des mises à jour du noyau, de la glibc ou de systemd, vous souhaiterez peut-être redémarrer afin que les versions mises à jour soient utilisées. Si vous avez, par exemple, des mises à jour de votre environnement de bureau, une simple déconnexion / connexion suffit.
La meilleure façon est de trouver quels programmes / services utilisent les anciennes bibliothèques et de les redémarrer. Et vous pouvez y parvenir en listant tous les fichiers utilisés en utilisant 'lsof' et en trouvant ceux qui ont le type 'DEL'. DEL signifie que le nom de fichier a été supprimé du système de fichiers mais il est toujours bloqué en mémoire car quelqu'un l'utilise.
Voici la ligne de commande complète:
sudo lsof +c 0 | grep 'DEL.*lib' | awk '1 { print $1 ": " $NF }' | sort -u
La seule raison obligatoire de redémarrer est un nouveau noyau (et vous pouvez redémarrer en douceur en utilisant kexec). Voir https://wiki.archlinux.org/index.php/Kexec pour plus de détails, en bref:
charger le nouveau noyau, initramfs et spécifier la cmdline de démarrage
invoke
kexec
(à utilisersystemctl
pour un arrêt correct,kexec -e
s'exécuterait directement)Notez que si vous créez un
[email protected]
comme expliqué dans le wiki, si vous redémarrez, il redémarrerasystemd
automatiquement en utilisant à lakexec
place de faire un redémarrage du BIOSVersion légèrement améliorée qui donne des noms de service systemd:
ou une ligne:
Notez qu'il y a quelques problèmes:
systemctl daemon-reload
doit être exécuté avant de redémarrer autre chosesystemd
lui-même) doit être redémarré, cela peut être fait en utilisantsystemctl daemon-reexec
systemctl restart dbus.service
interrompt certains autres services, ils doivent être redémarrés après le redémarrage du dbus:systemd
lui-même:systemctl daemon-reexec
systemd-logind
systemd-machined
dbus
systemctl restart sshd
ne le redémarrera pas tant que vous serez connecté, je vois 2 options:systemctl restart sshd
aide deat/cron/systemd
minuteriesSSH
aide d'un autre shell distant (sécurisé) tel quemosh
screen/tmux
peut également bloquer des services comme leSSH
redémarrage, la manière la plus simple est de fermer ces sessions avant de redémarrer les servicesla source
Un moyen simple consiste à comparer la version du noyau en cours d'exécution au dernier noyau sur le disque. J'ai trouvé un script qui peut le faire facilement.
Comme j'ai plusieurs noyaux installés, j'ai modifié le script pour ne vérifier que celui correspondant au noyau en cours d'exécution. Par exemple, j'ai actuellement les versions 4.9.79 et 4.14.16 installées et j'ai donc besoin de vérifier /boot/vmlinuz-4.14-x86_64. Malheureusement, cela ne fonctionnera pas lorsque je commencerai à utiliser la version 5.1, donc une mise à jour sera nécessaire (remplacer 4 par 3) ou je dois trouver un moyen plus robuste.
Voici mon script:
la source