GNU/Linux >> Tutoriels Linux >  >> Linux

Linux a-t-il besoin d'un nettoyage occasionnel ?

Si vous étiez assez vieux pour utiliser des ordinateurs au milieu des années 2000 (juste la bonne décennie), et que vous utilisiez Windows et Linux, et, étant un nerd, vous avez également participé à des discussions sur les avantages de ce système d'exploitation par rapport à cela , alors vous avez dû tomber sur la déclaration suivante :vous n'avez pas besoin de faire de maintenance système sous Linux, il est assez intelligent pour tout gérer tout seul.

En effet, du côté de Windows, on parlait souvent du ralentissement des systèmes au fil du temps, du besoin urgent de défragmentation (en NTFS par opposition à Ext3), du nettoyage des fichiers temporaires, etc. Linux était souvent présenté comme ne nécessitant aucune maintenance. Maintenant, la question est, à quel point cette déclaration est-elle vraiment vraie ? J'ai en fait eu la chance de le tester par moi-même, tout au long du hasard temporel.

Que s'est-il passé ?

J'étais en train d'installer et de supprimer des packages dans l'instance Kubuntu 18.04 sur mon Slimbook, et tout à coup, l'opération a échoué. Apt, le gestionnaire de paquets (ligne de commande) m'a dit qu'il ne pouvait pas terminer une opération, car il n'y avait plus d'espace sur le périphérique [sic]. Quoi.

gzip :stdout :aucun espace disponible sur l'appareil
E :échec mkinitramfs find 141 cpio 141 gzip 1
update-initramfs :échec pour /boot/initrd.img-4.15.0-163-generic avec 1.
dpkg :erreur de traitement du package initramfs-tools (--configure) :
le sous-processus de script de post-installation du package initramfs-tools a renvoyé l'erreur d'état de sortie 1
Des erreurs ont été rencontrées lors du traitement :
linux-image-4.15.0-166-generic
initramfs-tools

La chose intéressante ici est :je travaillais normalement, pas de perturbations. Il y avait de l'espace sur mon disque, bien que relativement petit (et plus petit que je ne le pensais, mais il reste encore environ 20 Go sur le SSD de 500 Go), et plus important encore, AUCUN message ou avertissement du système indiquant qu'il y avait un problème.

Mais ensuite, j'ai examiné le contenu de la partition /boot, et voilà :

df -lh /boot
Taille du système de fichiers utilisé Avail Use% Monté sur
/dev/sda2 705M 705M 0M 100% /boot

Quoi. Pour une raison étrange, ma partition non négligeable /boot avait été remplie à ras bord, ce qui signifiait que toute opération du noyau ou initramfs échouerait désormais. Ce n'est pas une bonne chose, surtout quand je pense, hé, et s'il y avait une mise à jour du noyau ?

J'ai alors décidé d'exécuter la commande "autoremove" pour apt, qui nettoie les packages inutilisés. Après plusieurs minutes de purge rigoureuse, la situation était revenue à la normale :

df -lh /boot
Taille du système de fichiers utilisé % d'utilisation disponible monté sur
/dev/sda2 705M 155M 500M 24% /boot

La leçon ici

Il s'avère qu'avec une configuration de chiffrement complet du disque en place, sur laquelle je n'avais aucun contrôle lors de la mise en œuvre par le programme d'installation il y a trois années impaires, car les tailles des différentes partitions et autres étaient définies automatiquement, j'ai fini par manquer de /boot après environ 3,5 ans d'utilisation, avec la cadence typique de la famille Ubuntu pour les mises à jour du noyau.

Maintenant, bien sûr, le remède est évident - purgez occasionnellement les packages inutilisés. Pour être juste, apt vous le dit TOUJOURS lorsque vous exécutez une commande de maintenance. Il vous indique qu'il y a beaucoup de choses qui peuvent être supprimées, ce qui devrait réduire l'utilisation du disque. Sur la ligne de commande.

Mais. Mais. Aucun message de ce type n'est jamais affiché lors de l'exécution de gestionnaires de packages GUI tels que Discover. Cela signifie que les gens ordinaires qui utilisent Linux de manière classique, c'est-à-dire sans magie de ligne de commande, finiront par rencontrer des problèmes pas si sans maintenance sur leurs machines Linux, s'ils continuent à les utiliser assez longtemps.

Dans le cadre de mon nettoyage, j'ai également exécuté ncdu et trouvé toutes sortes de déchets sur le disque, y compris de nombreux restes sous / var, des conteneurs et des machines virtuelles longtemps inutilisés et jamais nettoyés par leurs services respectifs. Encore une fois, quelque chose qui peut être résolu par la prévoyance, qui inclurait :a) une meilleure séparation des répertoires du système principal des fichiers utilisateur (pas de conservation des machines virtuelles sous /var) b) un meilleur nettoyage automatique c) des avertissements et des notifications réels à l'utilisateur final .

J'ai mis en évidence ce problème général de sensibilisation interservices limitée sous Linux il y a longtemps. Il n'y a pas vraiment de vraie cohésion. Si votre système est bloqué dans une boucle de démarrage, rien ne rompra cette boucle à moins que vous n'interveniez manuellement. S'il y a un service qui ralentit le système, un morceau de code bogué, quelque chose qui ne s'intègre pas bien avec le système, rien ne vous le dit. Chaque chose vit dans son propre espace, et pire encore, sans aucun mécanisme d'auto-contrôle ou d'auto-guérison.

Conclusion

Ceci est ma petite histoire anecdotique. Pour la première fois, j'ai rencontré un problème. Auparavant, j'utilisais une seule partition racine pour mes systèmes, sans cryptage de disque, ce qui signifiait que /boot était aussi extensible que le système lui-même, donc l'espace après les mises à jour n'était jamais un problème. Mais ici, je suis tombé sur quelque chose qui pourrait et va mordre les gens qui utilisent leurs systèmes de manière non ringard (via l'interface graphique) et ne font aucun travail de maintenance manuel.

La véritable solution consiste à rendre les systèmes Linux plus résilients et à disposer d'une bien meilleure gestion des erreurs, pour chaque service ou programme en soi, puis sur l'ensemble du système. Cela aiderait également à résoudre des tonnes d'autres problèmes et bogues qui ne sont souvent pas détectés ou non signalés, car les gens n'ont tout simplement aucun outil pour déterminer ce qui n'a pas fonctionné ou comment les différents composants interagissent. Eh bien, voilà. Vous trouverez peut-être cela intéressant. À bientôt.


Linux
  1. L'histoire Linux de ma famille

  2. Qu'est-ce qu'un serveur Linux et pourquoi votre entreprise en a-t-elle besoin ?

  3. Planification de la capacité Linux :5 choses que vous devez faire

  4. Bases de la commande Linux :printf

  5. ZFS sous Linux, ça marche ?

TrueCrypt sur les distributions Linux modernes

L'année de l'insatisfaction Linux

Comment installer Mono ou dotNET45 sous Linux - Tutoriel

MX Linux MX-18 et netbook EeePC de 10 ans - Fantastique

Optimisation de Notepad++ sous Linux

Station de travail Linux construite en 2019