1 votes

liste des paquets standard

Je suis en train d'apprendre le système Puppet et j'ai maintenant besoin d'effectuer la tâche suivante. Nous avons quelques serveurs avec le même système d'exploitation (Altlinux p6, t6) - des agents Puppet et un maître Puppet.

Sur les agents, certains paquets sont installés, par exemple 200 paquets sur le premier, 300 sur le second ..... Mais nous n'avons besoin que de 180 paquets installés. Nous connaissons les noms des paquets nécessaires mais pas ceux des autres (paquets inutiles).

Ma question est la suivante : Comment puis-je vérifier ou installer (s'ils ne sont pas encore installés) les paquets nécessaires et supprimer les autres paquets (nous ne connaissons pas les noms des autres paquets installés) ?

Aide, s'il vous plaît

WBR Valentin

1voto

fartheraway Points 4886

J'ai étudié la question et j'en suis arrivé à la conclusion que, bien qu'il soit possible de le faire en définissant des modules Puppet avec un Package{ ensure => absent } pour les paquets que vous voulez tirer, il n'y a pas de moyen simple de

Pour autant que je sache, il n'existe pas de méthode native pour supprimer les paquets en masse. J'ai pensé à écrire un script utilisant une boucle foreach pour extraire les paquets indésirables après avoir lu une liste délimitée par des lignes dans un fichier de configuration.

En fin de compte, j'ai cependant trouvé la solution la plus propre pour construire de nouveaux serveurs et utiliser Puppet pour toute la gestion dès le départ. Vos résultats peuvent varier.

1voto

Daniel C. Sobral Points 5453

Cela devrait fonctionner :

resources { 'package':
    purge => true,
}

Au début, je faisais ça :

resources { 'package':
    purge => true,
    noop  => true,
}

Et ensuite, vérifiez les journaux pour voir ce qu'il aurait fait. Ce n'est que lorsque je suis convaincu que tout fonctionne bien que j'enlèverai le bouton noop .

Quoi qu'il en soit, ce qu'il fait est de dire à Puppet de supprimer toutes les ressources de type package (comme indiqué par le nom -- resource { 'user': purge => true } supprimerait les utilisateurs, par exemple) qui sont no qui est géré par Puppet. C'est-à-dire que si vous avez une ligne package { 'x': } alors ce paquet ne sera pas supprimé s'il est installé. Tout paquet sans une telle déclaration sera supprimé.

0voto

kashani Points 3862

Puppet ne peut faire que ce que vous lui dites de faire, pas plus qu'une personne ne pourrait le faire pour vous sans générer une liste par un moyen quelconque. Vous devez indiquer à Puppet quels paquets n'ont pas leur place sur la machine.

La solution la plus simple, comme l'a suggéré Tim, est de réimager et de construire correctement les machines à l'aide de Puppet.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X