Question Supprimez-vous les packages indésirables (* NIX) ou les désactivez-vous?


Je suis en train de construire un cordonnier et une marionnette. Une chose que je fais est de désactiver les services non désirés avec marionnette, mais je me suis alors demandé: devrais-je les supprimer avec cordonnier, plutôt que de les désactiver après leur installation?

Par exemple, ma classe de base dans puppet informe le client de désactiver smartd, cpuspeed, microcode_ctl et readahead_early s'il s'agit d'une machine virtuelle.

Pourquoi ne pas enlever alors? Si j'ai besoin de certains de ces paquets ultérieurement, je pourrais simplement les installer. Bien sûr, si la machine est convertie en un matériel physique, je devrais me rappeler pour installer ces paquets à nouveau.

je pense que la meilleure solution à ma question est de créer une classe de marionnettes qui désactive le service A si elle est virtuelle et l’active si ce n’est pas le cas. Mais, peut-être que quelqu'un d'autre a une autre idée?


6
2018-03-03 13:40


origine


Donc vous êtes d'accord que readahead_early est superflu? - Nils


Réponses:


Je pense que la désactivation est une solution bien meilleure en règle générale. Vous commencez à tirer des trucs et ils peuvent être des dépendances d'autres paquets, ou d'autres choses qui pourraient s'y attendre, etc. Tout ce qu'ils vont faire après les avoir désactivés, c'est prendre un peu d'espace et ajouter un peu de temps aux mises à jour. . Je pense que l’idée est que si vous le souhaitez, vous souhaitez que votre système reste proche du système que les responsables de la distribution testeront.

De plus, vous dites que «je devrais me rappeler d’installer…». Je pense que vous voudrez peut-être changer votre état d'esprit, peut-être qu'un futur administrateur système les gérera-t-il, passant des heures à essayer de résoudre un problème étrange pour le découvrir uniquement parce qu'un paquet qui existe normalement n'y est pas.

Votre travail est assez précis, donc si le documenté le supprimait serait acceptable, je suppose. Et si vous effectuez des centaines de déploiements de ces machines virtuelles, c'est peut-être à ce niveau que ce niveau de modification est logique. À la fin, j’aime mieux votre idée de marionnette.


2
2018-03-03 13:51



Je pense que la réponse de Warner est valable, cela dépend en quelque sorte. Si vous savez vraiment ce que vous faites et avez une grande équipe, etc., il peut être judicieux de personnaliser les choses. Et bien sûr, enlevez la merde comme le solitaire :-) Je pense que je suis contre le retrait de toutes sortes de choses système. En outre, dans Windows, supprimer des éléments peut être une mauvaise idée, mais il peut aussi y avoir des liens qui ne semblent pas avoir un sens à première vue (bien que je ne trouve pas d'exemple à l'appui). En général, je fais confiance à l'intelligence des concepteurs du système et recommande de ne toucher à rien sauf si vous en êtes vraiment sûr. - Kyle Brandt♦


Je suis totalement en désaccord avec Kyle.

Si ce n'est pas nécessaire, il faut l'enlever. Il est recommandé de ne pas installer de logiciel inutile.

La personne qui entreprend la tâche, telle que vous-même, devrait avoir confiance en la portée des décisions qu’elle prend. La suppression des utilitaires et bibliothèques système standard est généralement mal vue, mais cela dépendra en partie de votre environnement et de votre rôle de serveur.

S'il existe des dépendances de paquet, elles seront identifiées dans les systèmes modernes.

Si plus tard, le code que vous compilez nécessite une bibliothèque que vous avez supprimée, vous l'installez ensuite - comme il est alors requis.

Je ne laisserai pas GTK installé sur un serveur simplement parce qu'un futur administrateur système pourrait être un idiot.


6
2018-03-03 14:23



Je ferais une exception pour GTK car il est standard de ne pas installer tout le système de fenêtrage X sur des serveurs ... - Kyle Brandt♦
Exemple générique. Certaines personnes peuvent souhaiter transférer en X des applications qui dépendent des bibliothèques GTK. ;) - Warner
Je suis d'accord - je supprime toujours ce dont je n'ai pas besoin: avec RHEL, CentOS et Ubuntu (les trois distributions Linux que j'utilise le plus), yum ou apt-get gèrent mes problèmes de dépendances si j'ai besoin de quelque chose plus tard. Parfois, cependant, ce dont je n'ai pas "besoin" est une pré-requête pour quelque chose que je fais, alors je ne fais que désactiver le service, je ne le supprime pas. - warren
Warner, je n'ai jamais rien dit à propos de l'installation de logiciels inutiles, et comment devrait-on régler ce problème (les désactiver ou les supprimer si je les trouve), mais je vois ce que vous voulez :) des informations que j'ai réussi à recueillir d'ici et d'autres sources, je pense que je craque pour la réponse de Kyles. Je n'essaie pas de gagner de la place (bien que ce soit bien mais sans importance), mais plutôt de découvrir comment optimiser un système installé nettoyé (sans interface graphique), sans supprimer les packages de l'installation par défaut. Oui, je n'ai pas besoin du paquet avahi, mais je le désactive et le supprime. - tore-
De plus, grâce à marionnettes, votre décision d’enlever des objets est bien documentée et facilement réversible. - David Schmitt