Connaître les paquets utilisés : Différence entre versions
De Asso Val Libre
(→Conclusion) |
|||
Ligne 49 : | Ligne 49 : | ||
* une simplification pour les prochaines mises à jour éventuelles (moins de logiciels, d'interactions à considérer) | * une simplification pour les prochaines mises à jour éventuelles (moins de logiciels, d'interactions à considérer) | ||
− | == Remarques == | + | === Remarques === |
: Le moment de l'exécution de la commande n'est pas anodin. | : Le moment de l'exécution de la commande n'est pas anodin. | ||
: Tous les services ou logiciels utiles sur une machine ne sont pas actifs en permanence. | : Tous les services ou logiciels utiles sur une machine ne sont pas actifs en permanence. | ||
: Il faut donc réaliser plusieurs requêtes, à des moments différents (cron ?? ;-) | : Il faut donc réaliser plusieurs requêtes, à des moments différents (cron ?? ;-) | ||
+ | |||
+ | == Méthode B == | ||
+ | |||
+ | Plus exhaustive... avec globalement le même principe... | ||
+ | |||
+ | lsof | grep /usr | awk '{print $10}' | sort | uniq | xargs dpkg -S | awk -F : '{print $1}' | ||
+ | |||
+ | |||
== Conclusion == | == Conclusion == |
Version du 18 avril 2019 à 17:38
Objectif
Sur une machine opérationnelle, qui fonctionne normalement, identifier les logiciels/«paquets» nécessaires justement à son bon fonctionnement et donc a contrario, identifier ceux qui ne sont pas nécessaires et qui pourraient donc être nettoyés.
Avec un système «linux-like», une ligne de commande peut suffire...
Méthode A
ps aux | awk '{print $11}' | grep ^/usr | sort | uniq | xargs dpkg -S | awk -F: '{print $1}' | sort | xargs dpkg -l
Écriture «décomposée» :
ps aux | awk '{print $11}' | grep ^/usr | sort | uniq | xargs dpkg -S | awk -F: '{print $1}' | sort
e.g. (résultat)
accountsservice acpid apache2-bin at at-spi2-core cpufreqd cron . . . wmaker xserver-xorg-core
Il faut ensuite identifier la fonction et l'utilité de chaque paquet ainsi listé et décider de garder ou supprimer le paquet/logiciel concerné. Par exemple, sur un serveur sans utilité graphique, on peut retirer les paquets xserver-* ou encore wmaker, lightdm, ...
Chaque paquet retiré est
- un allégement de la charge système (pas de petites économies)
- une diminution des risques en terme de sécurité
- une simplification pour les prochaines mises à jour éventuelles (moins de logiciels, d'interactions à considérer)
Remarques
- Le moment de l'exécution de la commande n'est pas anodin.
- Tous les services ou logiciels utiles sur une machine ne sont pas actifs en permanence.
- Il faut donc réaliser plusieurs requêtes, à des moments différents (cron ?? ;-)
Méthode B
Plus exhaustive... avec globalement le même principe...
lsof | grep /usr | awk '{print $10}' | sort | uniq | xargs dpkg -S | awk -F : '{print $1}'
Conclusion
ATTENTION ! À ne pas scier la branche sur laquelle, ou retirer le tapis sur lequel, repose votre machine ou votre serveur !!