Je pourrais rencontrer des symptômes étranges résultant de noyaux concurrents dans CentOS 7. Alors, comment puis-je supprimer en toute sécurité les anciens noyaux? Et comment savoir quel noyau est le plus récent?
Vous trouverez ci-dessous la sortie du terminal que j'obtiens au moment de la recherche sur le serveur en question. Notez que j'ai essayé le nettoyage de package mais il laisse les mêmes 2 noyaux:
Les instructions de ce didacticiel indiquent que la sortie des deux commandes suivantes doit correspondre, mais vous pouvez voir qu'elles ne correspondent pas, même après un redémarrage:
[root@localhost ~]# rpm -qa kernel |sort -V |tail -n 1
kernel-3.10.0-229.el7.x86_64
[root@localhost ~]# uname -r
3.10.0-229.14.1.el7.x86_64
Les commandes restantes confirment qu'il existe deux noyaux et illustrent les tentatives de suppression de l'ancien.
[root@localhost ~]# cd /usr/src/kernels
[root@localhost kernels]# ls -al
total 16
drwxr-xr-x. 4 root root 4096 Oct 2 12:55 .
drwxr-xr-x. 4 root root 4096 Oct 2 13:15 ..
drwxr-xr-x. 22 root root 4096 Oct 2 12:55 3.10.0-229.14.1.el7.x86_64
drwxr-xr-x. 22 root root 4096 Oct 2 12:35 3.10.0-229.el7.x86_64
[root@localhost kernels]# rpm -q kernel
kernel-3.10.0-229.el7.x86_64
kernel-3.10.0-229.14.1.el7.x86_64
[root@localhost kernels]# package-cleanup --oldkernels=1
Loaded plugins: fastestmirror
Usage:
package-cleanup: helps find problems in the rpmdb of system and correct them
usage: package-cleanup --problems or --leaves or --orphans or --oldkernels
Command line error: --oldkernels option does not take a value
[root@localhost kernels]# package-cleanup --oldkernels
Loaded plugins: fastestmirror
No old kernels to remove
[root@localhost kernels]# rpm -q kernel
kernel-3.10.0-229.el7.x86_64
kernel-3.10.0-229.14.1.el7.x86_64
[root@localhost kernels]#
J'ai également ouvert /etc/yum.conf
et défini installonly_limit=1
, mais cela a entraîné une erreur d'une yum update
commande suivante disant que 1 est en dehors de la plage de valeurs acceptables pour installonly_limit
.
Je suppose que 3.10.0-229.14.1.el7.x86_64
c'est le plus récent, mais comment puis-je le savoir? De plus, les options de démarrage semblent offrir plusieurs noyaux parmi lesquels choisir. Et les possibilités de confusion s'aggravent lorsque le système démarre automatiquement à partir du premier noyau de la liste des options.
Quelqu'un peut-il expliquer comment cela fonctionne, et en particulier, comment supprimer en toute sécurité les anciens noyaux afin que la version du noyau puisse être éliminée en tant que cause possible de symptômes étranges? Je veux m'assurer que le noyau le plus récent est le seul qui puisse jamais fonctionner, quelle que soit la façon dont le système est redémarré.
la source
installonly_limit=1
. Je reçois des symptômes amusants qui pourraient résulter de deux versions du noyau, donc je voudrais avoir une seule version, si possible, ou au moins avoir une explication définitive des raisons pour lesquelles il n'est pas possible d'avoir moins de 2 versions, si dans ce n'est pas possible.Réponses:
package-cleanup --oldkernels --count=1
supprimer tous les noyaux sauf le dernier.la source
package-cleanup --oldkernels --count=2
package-cleanup --oldkernels --count=1
. Après le redémarrage, j'obtiens toujours deux noyaux:CentOS Linux (4.4.6-1.el7.elrepo.x86_64) 7 (Core)
etCentOS Linux (3.10.0-514.2.2.el7.x86_64) 7 (Core)
, savez-vous comment en garder un seul?yum install yum-utils
La commande
package-cleanup
supprime l'ancien noyau. Utilisez--count=1
pour conserver uniquement les dernières informations. Le programme ne supprimera jamais le noyau actuellement utilisé ("Ne pas supprimer le noyau 3.10.0-327.el7 car il s'agit du noyau en cours d'exécution"), vous pouvez donc vous retrouver avec deux noyaux dans / boot ... jusqu'à ce que vous redémarriez et re -exécutez la commande.La commande est donc
La page de manuel décrit trois options:
la source
Utiliser
yum upgrade
au lieu deyum update
Ensuite, il ne gardera que trois noyaux. Si vous utilisez
update
alors il remplira votre/boot
la source
selon ceci :
exécuter
rpm -q kernel
pour afficher le noyau installépuis exécutez
yum remove kernel <shown kernel from output above>
pour supprimer le noyauredémarrez votre ordinateur
edit: cela fonctionne vraiment pour le problème de @ Ron, mais assurez-vous que le noyau elrepo fonctionne correctement
la source
uname -r
puis supprimez le noyau inutilisé mais affiché à partir de cette commande,