Maj Mga 9 à 10 - Paquets absents des dépôts
Duke4ever Membre non connecté
-
- Voir le profil du membre Duke4ever
- Inscrit le : 20/08/2011
- Groupes :
J'ai pris connaissance de la sortie de la 10e version de Mageia en Juin, et c'est donc tout guilleret que je commence à préparer un peu les choses pour mettre à jour mon PC.
Comme je veux éviter autant que possible les bugs je suis scrupuleusement les recommandations fournies dans les notes de version, jusqu'à cette ligne : "Supprimez les paquets désormais absents des dépôts configurés, affichés par urpmq --not-available. Ils pourront être réinstallés après la mise à niveau si nécessaire."
Je lance la ligne de commande, et j'ai pas moins de 251 lignes de paquets absents des dépôts qui apparaissent. Chouette, voilà une bonne occasion de faire un peu de ménage et de libérer de l'espace. Problème : utilisateur occasionnel de Linux je devine que ces paquets sont des paquets installés sur le PC mais ne se trouvant plus dans les dépôts officiels de Mageia. Très bien. Je devine aussi que, s'ils peuvent être tout simplement obsolètes, ils peuvent également correspondre à des programmes que j'ai installés à partir de sources tierces. Il se trouve que je dois en avoir quelques uns qui trainent, comme Calibre, TuxGuitar je crois, une recréation de Homm2, ou peut-être même mes jeux Steam, puisque si Steam en lui-même est présent dans les dépôts, l'installation des jeux se fait directement dans le logiciel. Je suppose donc qu'il installe ses petits paquets de façon autonome.
Mon ami Mistral me propose la commande "rpm -q --whatrequires <nom-du-paquet>" pour vérifier si les paquets listés sont utilisés par d'autres programmes. Seulement voilà, je vais pas taper 251 fois cette ligne de commande pour chaque paquet suspect.
Je pourrais continuer à demander à l'IA de m'aider, mais j'aimerais tout de même avoir votre avis d'abord : comment puis-je automatiser la vérification des dépendances de ces fichiers, et supprimer tout aussi automatiquement ceux n'étant utilisés par aucun programme ? De plus, est-il raisonnable de laisser des logiciels installés en dehors des dépôts lors d'une mise à jour majeure du système ?
En vous remerciant !
Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
Un exemple :
Code BASH :
urpme dnf --test Pour satisfaire les dépendances, les 9 paquetages suivants vont être désinstallés (5.4Mo): dnf-4.14.0-1.mga9.noarch dnfdragora-2.1.6-1.mga9.noarch (car dnf >= 2.2.0 est non satisfait) dnfdragora-common-2.1.6-1.mga9.noarch (car dnfdragora == 2.1.6-1.mga9 est non satisfait, car dnfdragora-gui == 2.1.6-1.mga9 est non satisfait) dnfdragora-gtk-2.1.6-1.mga9.noarch (car dnfdragora-common == 2.1.6-1.mga9 est non satisfait) mock-5.1.1-1.1.mga9.noarch (en raison du manque de dnf, en raison du manque de mock-configs) mock-core-configs-39.1-2.2.mga9.noarch (car mock >= 2.5 est non satisfait) mock-mageia-configs-9-1.1.mga9.noarch (car mock-core-configs >= 39.1-2.2 est non satisfait) yum-4.14.0-1.mga9.noarch (car dnf == 4.14.0-1.mga9 est non satisfait) yum-utils-4.3.1-1.mga9.noarch (car dnf >= 4.11.0 est non satisfait) Supprimer 9 paquetages ? (o/N) n urpme isodumper-qt --test test de suppression de isodumper-qt-1.61-1.mga9.noarch La suppression est possible
Dans le cas où il y plusieurs paquets à désinstaller, la question est posée.
Sinon, la suppression est possible.
Tu peux passer ta liste en revue, et n'exécuter (ou ajouter à une liste) uniquement ceux dont la suppression ne pose pas de problème.
L'IA te fera certainement le programme bash qui boucle là-dessus mieux que moi.
Yves
Duke4ever Membre non connecté
-
- Voir le profil du membre Duke4ever
- Inscrit le : 20/08/2011
- Groupes :
Voici une solution clé en main pour automatiser la vérification et la suppression des paquets inutiles parmi les 251 identifiés par urpmq --not-available. L’objectif est de ne supprimer que les paquets qui ne sont plus requis par aucun autre logiciel installé, tout en évitant de toucher aux paquets tiers ou critiques.
📜 Script complet pour automatiser le processus
Ce script va :
1. Lister tous les paquets non disponibles.
2. Vérifier pour chacun s’il est requis par d’autres paquets (via rpm -q --whatrequires).
3. Supprimer automatiquement uniquement ceux qui ne sont plus nécessaires (sans dépendance inverse).
4. Générer un rapport des paquets supprimés et de ceux conservés (pour vérification).
📄 Script : nettoyer_paquets_non_disponibles.sh
📌 Comment utiliser ce script ?
1. Copie le script dans un fichier, par exemple :
(Colle le contenu du script, puis sauvegarde avec Ctrl+O et quitte avec Ctrl+X.)
2. Rends-le exécutable :
3. Lance-le en tant que root (nécessaire pour urpme) :
4. Consulte les rapports générés :
- rapport_nettoyage_*.txt : Résumé complet de l’opération.
- paquets_a_conserver_*.txt : Liste des paquets conservés (car requis par d’autres).
- paquets_supprimes_*.txt : Liste des paquets supprimés (sans dépendance inverse).
⚠️ Précautions importantes
1. Vérifie le rapport avant de redémarrer :
- Si un paquet critique a été supprimé par erreur (ex: un pilote ou une bibliothèque système), tu peux le réinstaller manuellement depuis son RPM ou son dépôt d’origine.
2. Paquets tiers :
- Les paquets installés manuellement (ex: google-chrome, teamviewer) ne seront pas supprimés s’ils sont encore requis par un autre logiciel. Sinon, ils apparaîtront dans paquets_supprimes_*.txt et tu pourras les réinstaller si nécessaire.
3. Test en mode simulation :
Si tu veux d’abord simuler la suppression sans appliquer les changements, remplace la ligne :
par :
Puis relance le script. Aucun paquet ne sera supprimé, mais tu auras un aperçu de ce qui le serait.
🔍 Que faire après le nettoyage ?
1. Vérifie les paquets conservés (paquets_a_conserver_*.txt) :
- Si certains te semblent inutiles (ex: des dépendances de logiciels que tu n’utilises plus), tu peux les supprimer manuellement après vérification.
2. Mets à jour ton système :
3. Redémarre si nécessaire.
💡 Exemple de sortie attendue
🚀 Prochaines étapes
1. Lance le script en mode simulation pour vérifier ce qui serait supprimé.
2. Si tout te semble correct, relance-le en mode réel pour nettoyer ton système.
3. Partage-moi le rapport si tu as des doutes sur certains paquets conservés ou supprimés !
Et voilà. Ça a l'air pas mal dit comme ça, même si je ne suis pas certain d'être capable de suivre toutes les étapes correctement, ça semble en tout cas très complet. Est-ce que quelqu'un serait en mesure de valider la solution de Mistral ? Auquel cas ça pourrait servir aussi à d'autres.
Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
Je n'aurais pas suggéré le --auto-orphans dans "urpme --auto-orphans $pkg", je ne sais pas ce que cette option apporte.
Yves
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie