Forum debian-fr.org

Rechercher:

* Connexion   * M’enregistrer

* FAQ    * Rechercher





Poster un nouveau sujet Répondre au sujet  [ 152 messages ]  Aller à la page 1, 2, 3, 4, 5 ... 7  Suivante
Auteur Message
MessagePosté: 05 Oct 2011 22:52 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Mai 2009 16:49
Messages: 4034
Chose promise chose due, voici mon script de gestion de dépendances pour aptitude. ;)

L'état Manuel / Automatique des paquets installés est la clef de la gestion automatique de dépendances d'apt(itude) car c'est ce qui permet de savoir quels paquets ne sont plus utiles et peuvent donc être désinstallés sans problème lorsque plus aucun paquet ne dépend d'eux.
Quand on installe/désinstalle souvent des paquets, il arrive régulièrement que cet état ne soit plus tout à fait correct (trop de paquets marqués en Manuel), voire que des paquets deviennent orphelins.
Il est donc important que l'état Manuel / Automatique des paquets soit le plus précis possible. Ce script se charge de ce problème, et tant qu'à faire automatise dans la foulée la détection des paquets orphelins.


IMPORTANT : LISEZ ATTENTIVEMENT CE QUI SUIT

Bien que j'utilise ce script sans aucun souci depuis longtemps et que j'aie une totale confiance en lui, il n'est pas totalement exclu que vous rencontriez des problèmes. Cela dit étant donné que le paramétrage est très limité, ça réduit d'autant les risques.

Ce script est conçu de telle manière (utilisation de l'option --schedule-only) que même en cas de bug dans mon code, aucun paquet ne puisse être supprimé automatiquement, si vous ne faites pas n'importe quoi par la suite.

Si après invocation de ce script, aptitude venait à vous proposer de supprimer des paquets par le jeu des dépendances considérées (à tort) inutiles (ce qui ne devrait jamais arriver, je n'ai pas vu ça une seule fois en plus de deux ans), pas de panique. La commande suivante s'assurera que vous conserviez tous vos paquets en l'état (par contre il est possible que des paquets restent marqués en Manuel alors qu'ils devraient être en Automatique, mais rien de bien grave au final) :
Code:
aptitude keep '!~v'

Notez que cette commande sert à annuler toutes les actions en attente, ce qui fait qu'elle est aussi utile si la première partie du script détecte de telles actions en attente (voir plus loin).
Maintenant que les avertissements d'usage sont faits, on peut passer au reste...


Obtenir le script

Téléchargement : https://github.com/syam44/fix-aptitude- ... encies.deb
Dépôt Git : https://github.com/syam44/fix-aptitude-dependencies

Installation / mise à jour :
Code:
# aptitude install debianutils libappconfig-perl libreadonly-perl libreadonly-xs-perl deborphan ncurses-bin
# wget https://github.com/syam44/fix-aptitude-dependencies/raw/master/fix-aptitude-dependencies.deb
# dpkg -i fix-aptitude-dependencies.deb
# rm fix-aptitude-dependencies.deb


À qui s'adresse ce script ?

  • Vous utilisez aptitude comme gestionnaire de paquets principal.
    Ça marche également si vous utilisez apt-get mais attendez-vous à ce que la première partie du script vous trouve régulièrement des actions en attente si vous continuez ensuite à utiliser apt-get en parallèle d'aptitude (de ce script, donc). Ce n'est pas grave, faut juste être prévenu. :)
  • Vous n'aimez pas conserver des paquets inutiles lorsque vous désinstallez un paquet.


Pré-requis

  • aptitude version 0.6.3 (squeeze) et plus.
  • Il est conseillé mais non nécessaire d'avoir deborphan installé.


Fonctionnalités

  • Corrige automatiquement l'état Manuel / Automatique des paquets installés.
    Ce script parcourt les dépendances (PreDepends, Depends et Recommends) de tous les paquets installés, et marque en Automatique tout ce qu'il peut...
    Vous pouvez également (et devrez probablement) définir une liste de paquets à maintenir en Manuel quoi qu'il arrive.
  • Détection des dépendances circulaires.
    Le problème qui survient quand on marque un maximum de paquets en Automatique, c'est les chaînes de dépendances circulaires entre paquets. Plus précisément, les groupes de paquets inter-dépendants qui ne sont une dépendance (directe ou indirecte) d'aucun paquet marqué en Manuel.
    Face à ce cas de figure, ce script ne sait pas quel(s) paquet(s) il convient de marquer en Manuel, et se rabat sur la solution de facilité : marquer tous les paquets concernés en Manuels. Mais il vous prévient tout de même, en identifiant les différentes chaînes de dépendances circulaires problématiques. Il vous suffit alors de choisir le bon paquet et de l'ajouter à la configuration du script pour éviter les problèmes la prochaine fois.
  • Détection des paquets orphelins.
    Une fois tout ce travail effectué, deborphan est appelé automatiquement (s'il est présent) afin de vous avertir des éventuels paquets orphelins. Le comportement exact de deborphan est facilement personnalisable.
  • Routine de nettoyage personnalisée.
    Vous pouvez facilement rajouter des commandes personnalisées qui s'exécuteront à la fin du script. Personnellement j'utilise ça pour nettoyer le cache d'aptitude et deux-trois autres choses qui me sont utiles.


Paramétrage

Le paramétrage du script se passe dans le fichier /etc/apt/fix-aptitude-dependencies.conf :
  • Variable manual-packages : contient le nom de tous les paquets qui doivent être forcés en mode Manuel. Typiquement il s'agit de paquets contenant des dépendances circulaires, ou bien de paquets que vous tenez absolument à conserver même si tous les paquets qui en sont dépendants venaient à être supprimés.
    Les paquets sont séparés les uns des autres par des espaces, tabulations et/ou retours chariots.
  • Fonction user-cleanup : vous permet de rajouter des commandes à effectuer à la fin du script si tout s'est bien déroulé. Mettez juste true dans cette fonction si vous ne voulez pas lancer de commandes personnalisées.
  • Fonction custom-deborphan : permet de personnaliser le comportement de deborphan. Je vous laisse aller fouiller dans le man si vous voulez l'adapter à vos besoins...
Note : voir également mon message ci-après pour un exemple de configuration.


Exemple d'utilisation et explication détaillée du fonctionnement

Note : voir également mon message ci-après pour plus d'explications concernant les actions en attente.


À la première utilisation de ce script, il est plus que probable qu'il va trouver quelques soucis de dépendances, voire même des actions en attente ou des paquets cassés.
Code:
# aptitude --schedule-only remove amarok
# fix-aptitude-dependencies
Recherche des actions prévues et des dépendances cassées...

État   Depuis      Vers        Paquet
------------------------------------------------------------------------------
id     2.4.3-1+b2  2.4.3-1+b2  amarok
id     2.4.3-1     2.4.3-1     amarok-common
id     2.4.3-1+b2  2.4.3-1+b2  amarok-utils
id     4:4.6.5-3   4:4.6.5-3   kdemultimedia-kio-plugins
id     0.4.0~git2  0.4.0~git2  liblastfm0
id     1.4.3-7     1.4.3-7     libloudmouth1-0
id     0.7.1-5     0.7.1-5     libqjson0
id     0.1.0+git2  0.1.0+git2  libqtscript4-core
id     0.1.0+git2  0.1.0+git2  libqtscript4-gui
id     0.1.0+git2  0.1.0+git2  libqtscript4-network
id     0.1.0+git2  0.1.0+git2  libqtscript4-sql
id     0.1.0+git2  0.1.0+git2  libqtscript4-uitools
id     0.1.0+git2  0.1.0+git2  libqtscript4-xml
id     1.0.1-3     1.0.1-3     libtag-extras1

ATTENTION : fix-aptitude-dependencies ne peut pas continuer. Veuillez appliquer ou annuler les actions prévues, et résoudre les dépendances cassées avant de relancer fix-aptitude-dependencies.

Pour des raisons de sécurité, le script refusera de faire quoi que ce soit s'il détecte qu'il y a des actions en attente sur certains paquets, ou que des paquets sont cassés. Il vous donne même la liste des paquets concernés...


On corrige donc cela (ici je dis à aptitude de garder amarok, mais il faut user de jugement : parfois vous voudrez conserver vos paquets en l'état, et d'autres fois appliquer ce qu'aptitude propose) et on relance le script...
Pour rappel, la commande indiquée au début de ce tuto dans la section IMPORTANT permet d'annuler toutes les actions en attente : aptitude keep '!~v'
Code:
# aptitude keep '!~v'
# fix-aptitude-dependencies
Recherche des actions prévues et des dépendances cassées...
Marquage des paquets en « Automatique » en fonction des dépendances des paquets...
Recherche des dépendances circulaires...

ATTENTION : des paquets marqués en « Automatique » contiennent des dépendances circulaires.

État   Version     Paquet
------------------------------------------------------------------------------
i      0.138-9     acpi-support-base
i      1:2.0.12-1  acpid
i      1.0.23+dfs  alsa-base
i      1.0.24.2-3  alsa-utils
i      2.4.3-1+b2  amarok
i      2.4.3-1     amarok-common
i      1.3.13-5+b  audacity
i      1.3.13-5    audacity-data
i      1.3.1+git4  konversation
i      1.3.1+git4  konversation-data
i      4:4.6.5-2   kopete
i      4:4.6.5-2   libkopete4

Les différentes chaînes de dépendances circulaires sont :
    * acpi-support-base acpid
    * alsa-base alsa-utils
    * amarok amarok-common
    * audacity audacity-data
    * konversation konversation-data
    * kopete libkopete4
La procédure correcte est de rajouter à la liste « paquets manuels » de fix-aptitude-dependencies.conf au moins un paquet de chaque chaîne de dépendances circulaires afin de casser les cycles de dépendances, puis de relancer fix-aptitude-dependencies pour appliquer la nouvelle configuration. En attendant, ces paquets ont tous été marqués en « Manuel », ce qui n'est probablement pas le résultat souhaité mais permet d'éviter leur suppression accidentelle.

deborphan : 1 bibliothèques orphelines (0 ignorées). Si vous êtes certain(e) que ces paquets ne vous sont pas utiles, vous pouvez les supprimer manuellement.
    Pour que ces paquets n'apparaissent plus comme orphelins, utilisez « deborphan -A » (cf. man deborphan).

État   Version     Paquet
------------------------------------------------------------------------------
i      280.13.rea  libgl1-nvidia-glx-ia32

Nettoyage du cache d'aptitude...
Désactivation des services KDE indésirables...
Suppression des dictionnaires MySpell indésirables...

Ouhla ça grogne... Voyons ça de plus près...

Citation:
Marquage des paquets en « Automatique » en fonction des dépendances des paquets...
Recherche des dépendances circulaires...

ATTENTION : des paquets marqués en « Automatique » contiennent des dépendances circulaires.

Le script a détecté ces dépendances circulaires dont je parlais plus haut.
Il commence par donner la liste de tous les paquets concernés, avec leur état et leur version actuelle, puis affiche les différentes chaînes de dépendances :

Citation:
Les différentes chaînes de dépendances circulaires sont :
* acpi-support-base acpid
* alsa-base alsa-utils
* amarok amarok-common
* audacity audacity-data
* konversation konversation-data
* kopete libkopete4

Chaque ligne correspond à un groupe de paquets inter-dépendants, il va donc falloir choisir lesquels on veut marquer en Manuel (sachant qu'un seul, le principal, est en général suffisant pour solutionner une chaîne complète).

Dans mon cas, les paquets Manuels seront acpi-support-base, alsa-utils, amarok, audacity, konversation et kopete. Je rajoute donc ces paquets dans la variable manual-packages du fichier de configuration /etc/apt/fix-aptitude-dependencies.conf.


Citation:
deborphan : 1 bibliothèques orphelines (0 ignorées). Si vous êtes certain(e) que ces paquets ne vous sont pas utiles, vous pouvez les supprimer manuellement.
Pour que ces paquets n'apparaissent plus comme orphelins, utilisez « deborphan -A » (cf. man deborphan).

Là c'est deborphan qui me prévient qu'une bibliothèque semble orpheline. Bien évidemment ce n'est pas le cas ici (cette lib me sert pour avoir la 3D sous Wine), je la rajoute donc à la liste des paquets ignorés par deborphan :
Code:
# deborphan -A libgl1-nvidia-glx-ia32

Si cette bibliothèque avait réellement été orpheline, j'aurais pu la supprimer manuellement à coup d'« aptitude purge ». Encore une fois il faut user de jugement, deborphan renvoie généralement assez peu de faux positifs mais ça arrive tout de même (la preuve dans l'exemple ci-dessus).

Je relance ensuite le script pour vérifier que la configuration est bonne :
Code:
# fix-aptitude-dependencies
Recherche des actions prévues et des dépendances cassées...
Marquage des paquets en « Automatique » en fonction des dépendances des paquets...
Recherche des dépendances circulaires...
deborphan : aucune bibliothèque orpheline (1 ignorées).

Nettoyage du cache d'aptitude...
Désactivation des services KDE indésirables...
Suppression des dictionnaires MySpell indésirables...

C'est tout bon ! :grin:


Bonus : trouver tous les paquets marqués en Manuel

Une fois stabilisé l'état Automatique / Manuel de vos paquets, utilisez la commande suivante pour afficher la liste de tous les paquets qui sont encore marqués en Manuel :
Code:
# aptitude search '~i!~M'

Ça pourra vous aider à identifier les paquets dont vous ne voulez plus, pratique pour faire du ménage en complément des informations fournies par deborphan... ;)


Bonus : trouver et supprimer tous les paquets désinstallés non purgés

Lors d'un apt-get remove ou aptitude remove les fichiers de configuration des paquets supprimés restent sur le disque (contrairement aux commandes équivalentes utilisant l'option purge).
Pour trouver tous ces paquets "à moitié" désinstallés :
Code:
# aptitude search ~c

Si vous voulez purger définitivement tous les paquets concernés :
Code:
# aptitude purge ~c

_________________
testing/unstable (amd64) sous KDE4
github/syam44 - De la bonne manière de poser les questions - Wiki debian-fr
Just because you're paranoid doesn't mean they aren't after you. -- J.Heller


Dernière édition par syam le 14 Juil 2012 13:38, édité 37 fois.

Haut
 Profil  
 
MessagePosté: 05 Oct 2011 22:58 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Mai 2009 16:49
Messages: 4034
Et pour les curieux, ma configuration actuelle :
Code:
manual-packages = <<EOF
    aptitude
    plasma-desktop
    alsa-utils
    acpi-support-base
    amarok
    audacity
    konversation
    kopete
    python3.1
EOF


user-cleanup = <<EOF
    echo
    echo "Nettoyage du cache d'aptitude..."
    aptitude clean 2>/dev/null

    /opt/share/apt/apt-postinvoke-clean
EOF


custom-deborphan = <<EOF
    deborphan --ignore-suggests --guess-interpreters --no-show-section 2>/dev/null
EOF

_________________
testing/unstable (amd64) sous KDE4
github/syam44 - De la bonne manière de poser les questions - Wiki debian-fr
Just because you're paranoid doesn't mean they aren't after you. -- J.Heller


Dernière édition par syam le 14 Juil 2012 13:35, édité 4 fois.

Haut
 Profil  
 
MessagePosté: 06 Oct 2011 01:57 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Mai 2009 16:49
Messages: 4034
Pour les quelques personnes ayant déjà (!!) téléchargé le script : j'ai fait quelques modifs cosmétiques (notamment dans les commentaires, pour clarifier / corriger certains points).
Rien de fonctionnel n'est impacté, comme je l'ai déjà dit j'utilise et fais évoluer ce script depuis un moment, et la seule chose que j'aie faite avant de le mettre sur le forum c'est rendre le code un peu moins moche et de rajouter des commentaires.

_________________
testing/unstable (amd64) sous KDE4
github/syam44 - De la bonne manière de poser les questions - Wiki debian-fr
Just because you're paranoid doesn't mean they aren't after you. -- J.Heller


Haut
 Profil  
 
MessagePosté: 06 Oct 2011 08:34 
Hors ligne
Contributeur
Avatar de l’utilisateur

Inscription: 09 Jan 2009 12:55
Messages: 4443
Localisation: assis sur un caisson de basse à clavioter
syam a écrit:
Pour les quelques personnes ayant déjà (!!) téléchargé le script : j'ai fait quelques modifs cosmétiques (notamment dans les commentaires, pour clarifier / corriger certains points).
Rien de fonctionnel n'est impacté, comme je l'ai déjà dit j'utilise et fais évoluer ce script depuis un moment, et la seule chose que j'aie faite avant de le mettre sur le forum c'est rendre le code un peu moins moche et de rajouter des commentaires.



Merci bien je vais tacher de le tester un de ces quatre je te ferais un retour de la chose :033

_________________
Can you pass the ACID test ?
--------------------------------------------------
Mieux vaut le vin d'ici que l'eau de là.


Haut
 Profil  
 
MessagePosté: 25 Oct 2011 02:43 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Mai 2009 16:49
Messages: 4034
À titre d'information...

syam a écrit:
Ce script ne gère pas les dépendances circulaires entre paquets virtuels. Depuis le temps que je l'utilise, je n'ai jamais rencontré le cas de figure. On verra bien si ça arrive un jour...

Bon bah je viens de rencontrer le cas de figure !
  • wicd-daemon recommande le paquet virtuel wicd-client
  • wicd-kde dépend de wicd-daemon et fournit le paquet virtuel wicd-client

Résultat, aptitude considère ça comme une dépendance circulaire (à juste titre) et mon script affiche une belle "ERREUR : il y a un bug dans l'identification des dépendances circulaires." :D
Heureusement ça ne porte pas à conséquence, tous les paquets concernés ont été correctement marqués en Manuel comme prévu donc aucun risque de perdre quoi que ce soit, je n'ai même pas eu à corriger l'état des paquets à la main (il m'a suffi de rajouter wicd-kde dans ma liste de paquets au début du script et de relancer ce dernier, comme pour des dépendances circulaires "normales").

Maintenant que j'ai trouvé un cas, je vais pouvoir implémenter la gestion des paquets virtuels... Bien entendu je vous ferai savoir quand ça sera fonctionnel. ;)


En tous cas ça prouve bien que la paranoïa paye au final :
Code:
    # NORMALEMENT ça ne devrait pas être utile, mais je préfère gaspiller un peu de CPU à vérifier l'état des paquets une dernière fois
    # plutôt que de risquer des suppressions accidentelles

:D

_________________
testing/unstable (amd64) sous KDE4
github/syam44 - De la bonne manière de poser les questions - Wiki debian-fr
Just because you're paranoid doesn't mean they aren't after you. -- J.Heller


Haut
 Profil  
 
MessagePosté: 31 Oct 2011 22:30 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Mai 2009 16:49
Messages: 4034
Corrigé. Les dépendances qui impliquent des paquets virtuels sont maintenant correctement traitées. Malheureusement ça m'a obligé à dépendre de /bin/bash au lieu de /bin/sh, mais bon...
Plus une ou deux corrections bénignes ayant trait à l'affichage.

_________________
testing/unstable (amd64) sous KDE4
github/syam44 - De la bonne manière de poser les questions - Wiki debian-fr
Just because you're paranoid doesn't mean they aren't after you. -- J.Heller


Haut
 Profil  
 
MessagePosté: 08 Nov 2011 17:41 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Mai 2009 16:49
Messages: 4034
J'ai basculé le script sur Github, ça sera beaucoup plus pratique que de le mettre à jour ici.

J'ai également séparé le script lui-même de sa configuration (/etc/apt/fix-aptitude-dependencies.conf) et créé un petit script d'installation (configure install/remove/purge).

_________________
testing/unstable (amd64) sous KDE4
github/syam44 - De la bonne manière de poser les questions - Wiki debian-fr
Just because you're paranoid doesn't mean they aren't after you. -- J.Heller


Haut
 Profil  
 
MessagePosté: 20 Fév 2012 19:33 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Mai 2009 16:49
Messages: 4034
Mise à jour pour aptitude 0.6.5 qui vient d'arriver dans testing.
Télécharger la nouvelle version puis ./configure install, il n'effacera pas votre fichier de config actuel.

_________________
testing/unstable (amd64) sous KDE4
github/syam44 - De la bonne manière de poser les questions - Wiki debian-fr
Just because you're paranoid doesn't mean they aren't after you. -- J.Heller


Haut
 Profil  
 
MessagePosté: 20 Fév 2012 21:01 
Hors ligne
Contributeur
Avatar de l’utilisateur

Inscription: 09 Jan 2009 12:55
Messages: 4443
Localisation: assis sur un caisson de basse à clavioter
syam a écrit:
Mise à jour pour aptitude 0.6.5 qui vient d'arriver dans testing.
Télécharger la nouvelle version puis ./configure install, il n'effacera pas votre fichier de config actuel.


Merci bien je le test ce week-end, je ferai un retour en cas de souci rencontrer ;)

_________________
Can you pass the ACID test ?
--------------------------------------------------
Mieux vaut le vin d'ici que l'eau de là.


Haut
 Profil  
 
MessagePosté: 20 Fév 2012 22:03 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Mai 2009 16:49
Messages: 4034
LE cas certainement le plus évident serait (si tu as ça) de supprimer un paquet inutile qui fait partie des dépendances d'un méta-paquet voire d'une série de méta-paquets.
On sait tous à quel point c'est pénible de supprimer un paquet de ce genre :
- soit il vire la moitié du système à cause des dépendances automatiques
- soit on fait le bourrin, on marque tout en manuel et on perd toutes les infos de dépendances automatiques
- soit on passe un temps incalculable à marquer soi-même en manuel les paquets qui vont bien

Avec ce script, plus besoin de s'emmerder : on peut tout marquer en manuel comme un bourrin (aptitude unmarkauto ~i), on supprime le paquet concerné (et seul le strict minimum partira avec, sans toucher aux autres programmes qu'on veut conserver), et enfin on utilise le script pour remettre en place les infos de dépendances automatiques / identifier les orphelins.

Sinon pour la maintenance au jour le jour c'est bien aussi, ça permet de remettre les choses en place par exemple quand on joue un peu trop à changer la version de certains paquets (testing <-> unstable pour voir où l'herbe est plus verte). :mrgreen:

Pour la différence avant/après :
Code:
aptitude search '~i!~M' -F '%p' | sort > paquets-manuels-avant.txt
fix-aptitude-dependencies
aptitude search '~i!~M' -F '%p' | sort > paquets-manuels-apres.txt
diff -u paquets-manuels-avant.txt paquets-manuels-apres.txt

;)

_________________
testing/unstable (amd64) sous KDE4
github/syam44 - De la bonne manière de poser les questions - Wiki debian-fr
Just because you're paranoid doesn't mean they aren't after you. -- J.Heller


Haut
 Profil  
 
MessagePosté: 07 Mar 2012 13:48 
Hors ligne
Contributeur
Avatar de l’utilisateur

Inscription: 09 Jan 2007 22:49
Messages: 3596
je voudrai juste dire qu'il y a un paquet :debfoster qui permet de tester des logiciel asser facilment donc assez proche de celui-ci :j'explique en bref ;)

on considere que le systeme est ok:
on lance en root debfoster et on accepte tout a Y

ensuite on veux tester des logiciel. ,donc aptitude install compiz et compagnie:

ensuite on refait :
debfoster

Code:
# debfoster

google-earth-stable is keeping the following 6 packages installed:
  alien ed librpmbuild1 lsb-core pax rpm
Keep google-earth-stable? [Ynpsiuqx?], [H]elp: S

jpilot is keeping the following 2 packages installed:
  jpilot-plugins libpisock9
Keep jpilot? [Ynpsiuqx?], [H]elp: S
Keep compiz-fusion-plugins-extra? [Ynpsiuqx?], [H]elp: S
Keep compiz-fusion-plugins-main? [Ynpsiuqx?], [H]elp: S
Keep rcconf? [Ynpsiuqx?], [H]elp: S


S= ne fait rien et le laisse donc installer. il vous reposera la question si vous relancer debfoster
Y= ne vous posera plus la question et le paquet est conserver
N=le paquet est désinstaller.

voila :)
simple mai pratique , genre je teste compiz pour frimer devant les amis, dès qu'il son parti hop hop debfoster ni vu ni connu :lol:

_________________
pq5 se plus proc 3.4 ghz 8 go de ram
ssd 1 dd 90 go ext4
nvidia 460
debian 64 bits wheezy beta 1
Enjoy ;)


Haut
 Profil  
 
MessagePosté: 07 Mar 2012 13:59 
Hors ligne
Contributeur
Avatar de l’utilisateur

Inscription: 18 Juil 2007 17:57
Messages: 7734
Localisation: Grenoble
En complément à debfoster, la commande yes est bien pratique :
Code:
yes Y | debfoster

_________________
Je suis Pitta, cartésien, irritable, irritant et névrosé (de plus je fais de l'entrisme pour zsh), si l'un de mes messages vous insupporte essayez d'y voir de l'ironie ou de ne pas en tenir compte. Bonne journée et gardez le sourire. :)


Haut
 Profil  
 
MessagePosté: 28 Avr 2012 14:29 
Hors ligne
Administrateur du forum
Avatar de l’utilisateur

Inscription: 15 Oct 2004 01:13
Messages: 21267
Localisation: Père.Igor (24)
Ben y sont chouettes tes liens, Syam :
https://github.com/syam44/fix-aptitude- ... all/master

Bon, j''vais chercher et je trouverai bien ;)

EDIT :
Bon, c'est rentré dans la boîte, y'a pu K.


Fichiers joints:
404syam.jpg
404syam.jpg [ 33.94 Kio | Vu 1759 fois ]

_________________
.
"L'action est plus efficace que la polémique, mais plus rare." Ricardo (1936-20..)
http://rictux.fr
Haut
 Profil  
 
MessagePosté: 28 Avr 2012 14:35 
Hors ligne
Dieu du clavier.
Avatar de l’utilisateur

Inscription: 13 Mar 2009 08:30
Messages: 11978
Localisation: Madagascar - Isalo
Salut,
Ça serait cool de mettre ça sur le wiki aussi... ;)

_________________
GO Compréhensif...
SID 3.8-etc...-aptosid-amd64 && Xfce 4.10
"Pastbin" / "service d'hébergement d'images" Visitez et Participez au wiki du forum!


Haut
 Profil  
 
MessagePosté: 28 Avr 2012 14:51 
Hors ligne
Administrateur du forum
Avatar de l’utilisateur

Inscription: 15 Oct 2004 01:13
Messages: 21267
Localisation: Père.Igor (24)
Placé le fichier dans un dossier ad-hoc, cd ce dossier, ==> root, ./configure install:
./configure : Aucun fichier ou dossier de ce type

???

Est-ce que je dois d'abord "dézipper" ?

EDIT :
Je viens de lire qq part que bash ne reconnaissait pas "configure" ???

_________________
.
"L'action est plus efficace que la polémique, mais plus rare." Ricardo (1936-20..)
http://rictux.fr


Haut
 Profil  
 
MessagePosté: 28 Avr 2012 17:00 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Mai 2009 16:49
Messages: 4034
Oups oui faut décompresser avant (d'où l'intérêt de prendre le .tar.gz qui garde les permissions +x une fois décompressé).
Code:
# wget -O - https://github.com/syam44/fix-aptitude-dependencies/tarball/master | tar xvz
# cd syam44-fix-aptitude-dependencies*
# ./configure install

J'ai mis à jour le message d'origine. ;)

ricardo a écrit:
Ben y sont chouettes tes liens, Syam :
https://github.com/syam44/fix-aptitude- ... all/master

Quant tu cliques sur le lien d'origine (celui de mon premier message) ça marche, pas quand tu fais du copier/coller (à cause du ...). Faut se plaindre auprès de phpBB qui raccourcit l'affichage du lien... ;)

_________________
testing/unstable (amd64) sous KDE4
github/syam44 - De la bonne manière de poser les questions - Wiki debian-fr
Just because you're paranoid doesn't mean they aren't after you. -- J.Heller


Haut
 Profil  
 
MessagePosté: 28 Avr 2012 19:47 
Hors ligne
Administrateur du forum
Avatar de l’utilisateur

Inscription: 15 Oct 2004 01:13
Messages: 21267
Localisation: Père.Igor (24)
syam a écrit:
Oups oui faut décompresser avant (d'où l'intérêt de prendre le .tar.gz qui garde les permissions +x une fois décompressé).
Code:
# wget -O - https://github.com/syam44/fix-aptitude-dependencies/tarball/master | tar xvz
# cd syam44-fix-aptitude-dependencies*
# ./configure install

J'ai mis à jour le message d'origine. ;)

ricardo a écrit:
Ben y sont chouettes tes liens, Syam :
https://github.com/syam44/fix-aptitude- ... all/master

Quant tu cliques sur le lien d'origine (celui de mon premier message) ça marche, pas quand tu fais du copier/coller (à cause du ...). Faut se plaindre auprès de phpBB qui raccourcit l'affichage du lien... ;)


Y'a qq chose que je ne pige pas :

1ère ligne, parfait
2ème lignes, je suppose que ça crée un dossier et que ça y va ???
Ensuite, OK
Problème, à aucun moment je ne vois de dossier créé ??? :017
Sinon, j'ai exécuté les 3 lignes sans réfléchir plus loin et je n'ai pas eu d'erreur.
MAIS où se trouve ce dossier j'ai fouillé partout dans ~/ = invisible ???

À ce soir :006

EDIT :
Trouvé ... dans /root :oops:

_________________
.
"L'action est plus efficace que la polémique, mais plus rare." Ricardo (1936-20..)
http://rictux.fr


Haut
 Profil  
 
MessagePosté: 02 Mai 2012 20:46 
Hors ligne
Nouvel utilisateur

Inscription: 06 Jan 2005 01:29
Messages: 67
Localisation: Bretagne
Bonjour,

Intrigué par ce script, j'ai voulu le tester même si mes connaissances dans ce domaine sont limitées... mais bon, j'ai essayé...
voilà ce que me retourne le script, et je reste un peu dubitatif :shock:

Code:
root@debian:~/syam44-fix-aptitude-dependencies-aa361bb# fix-aptitude-dependencies
Recherche des actions prévues et des dépendances cassées...

État   Depuis      Vers        Paquet
------------------------------------------------------------------------------
pi     <none>          3.2.2-14        apmd                                     
pi     <none>          0.43+bzr790-1   aptdaemon                               
pi     <none>          0.43+bzr790-1   aptdaemon-data                           
pi     <none>          0.18.1.1-6      autopoint                               
pi     <none>          1:1.19.3-7      busybox                                 
pi     <none>          9.20120419      debhelper                               
id     0.11.12         0.11.12         defoma                                   
pi     <none>          1.55-2          diffstat                                 
pi     <none>          0.0.20090925-1  execstack                               
iB     3:11.2.202.233  3:11.2.202.233  flashplayer-mozilla                     
pB     <none>          1:2.8.3         flashplugin-nonfree                     
pB     <none>          0.7.pristine-2  freedesktop-sound-theme                 
pi     <none>          4.6.3-2         gcj-4.6-base                             
pi     <none>          1.5.4-1         gir1.2-clutter-gst-1.0                   
pi     <none>          3.2.1-1+b1      gir1.2-evince-3.0                       
pi     <none>          1:1.7.10-1      git                                     
pi     <none>          1:1.7.10-1      git-man                                 
pi     <none>          3.4.0-2         gnome-color-manager                     
pi     <none>          0.28-4          gnome-session-canberra                   
pi     <none>          3.4.1-1         gnome-session-fallback                   
pi     <none>          3.2.0-2~webupd  gnome-shell-extensions-common           
pB     <none>          0.4.1-1         gnome-sushi                             
pi     <none>          3.2.1-3         gnome-utils-common                       
pi     <none>          1:2.4.10-2      gnucash                                 
pi     <none>          1:2.4.10-2      gnucash-common                           
pi     <none>          2.4.1-3         gnucash-docs                             
pi     <none>          0.97-66         grub                                     
pi     <none>          0.10.36-1       gstreamer0.10-gnomevfs                   
pi     <none>          1.8.8+1-8       guile-1.8                               
pi     <none>          1.8.8+1-8       guile-1.8-libs                           
pi     <none>          3.12.2-1        hplip-cups                               
pi     <none>          1.3.2a-15       html2text                               
pi     <none>          20120102        ia32-libs-gtk                           
pi     <none>          1.26.2-9        libaccess-bridge-java                   
pi     <none>          1.26.2-9        libaccess-bridge-java-jni               
pi     <none>          3.2.2-14        libapm1                                 
pi     <none>          5.0.22-1        libaqbanking-data                       
pi     <none>          5.0.22-1        libaqbanking33                           
pB     <none>          2.8.4.forreal-  libarchive1                             
pi     <none>          6:0.8.1-7       libavutil-extra-51                       
pi     <none>          1:0.2.2-1       libbluray-bdj                           
pi     <none>          1.46.1-8        libboost-filesystem1.46.1               
pi     <none>          1.48.0-3        libboost-filesystem1.48.0               
pi     <none>          1.48.0-3        libboost-program-options1.48.0           
pi     <none>          1.46.1-8        libboost-python1.46.1                   
pi     <none>          1.48.0-3        libboost-python1.48.0                   
pi     <none>          1.48.0-3        libboost-regex1.48.0                     
pi     <none>          1.46.1-8        libboost-system1.46.1                   
pi     <none>          1.48.0-3        libboost-system1.48.0                   
pi     <none>          1.46.1-8        libboost-thread1.46.1                   
pi     <none>          1.48.0-3        libboost-thread1.48.0                   
pi     <none>          2.26.3-10       libcdt4                                 
pi     <none>          0.58-1          libcrypt-ssleay-perl                     
pi     <none>          2:1.1.3-4squee  libcryptsetup1                           
pi     <none>          6.31-1          libdate-manip-perl                       
pi     <none>          4.8.30-11       libdb4.8                                 
pi     <none>          0.8.4-6         libdbi1                                 
pi     <none>          0.8.13-3        libelfg0                                 
pi     <none>          0.17-1          liberror-perl                           
pi     <none>          1.17+git201109  libfinance-quote-perl                   
pi     <none>          2.1.3~rc5-4     libftgl2                                 
pi     <none>          4.6.3-2         libgcj12                                 
iBA    3.4.0-2         3.4.0-2         libgdict-common                         
pi     <none>          2.4.25-1~bpo60  libgmime-2.4-2                           
pB     <none>          2.4.25-1~bpo60  libgmime2.4-cil                         
pi     <none>          0.8.17-1.1      libgoffice-0.8-8                         
pi     <none>          0.8.17-1.1      libgoffice-0.8-8-common                 
pi     <none>          2.26.3-10       libgraph4                               
pi     <none>          1.14.21-2.1     libgsf-1-114                             
pi     <none>          1.14.21-2.1     libgsf-1-common                         
pi     <none>          2.26.3-10       libgvc5                                 
pi     <none>          4.3.1-1         libgwengui-gtk2-0                       
pi     <none>          4.3.1-1         libgwenhywfar-data                       
pi     <none>          4.3.1-1         libgwenhywfar60                         
pi     <none>          2.11-1          libhtml-tableextract-perl               
pi     <none>          2009-12         libkpathsea5                             
pi     <none>          1.38-1          libktoblzcheck1c2a                       
pi     <none>          2.06-1          liblzo2-2                               
pi     <none>          1:2.34.1-2      libmetacity-private0a                   
pi     <none>          0.29.6-3        libneon27                               
pi     <none>          1:0.9.4-2       libofx4                                 
pi     <none>          1.5.2-10        libosp5                                 
pi     <none>          44-1            libpam-systemd                           
pi     <none>          2.26.3-10       libpathplan4                             
pi     <none>          2.0.1+dfsg-12+  libprojectm-qt1                         
pi     <none>          2.0.1+dfsg-12+  libprojectm2                             
pi     <none>          0.2.0-1.1       libquvi0                                 
pi     <none>          1:1.4.3-33      libsvga1                                 
pi     <none>          6:0.8.1-7       libswscale-extra-2                       
pi     <none>          2.2-11          libtextcat-data                         
pi     <none>          2.2-11          libtextcat0                             
pi     <none>          2.0.1+dfsg-12+  libvisual-projectm                       
pi     <none>          0.2.8.4-10      libwmf0.2-7                             
pi     <none>          2.26.3-10       libxdot4                                 
pi     <none>          1.20-1          libyaml-syck-perl                       
pi     <none>          5.11-1          linuxlogo                               
pi     <none>          02.15-2         lshw-gtk                                 
pi     <none>          1:2.34.1-2      metacity                                 
pi     <none>          1:2.34.1-2      metacity-common                         
pi     <none>          2:1.0~rc4.dfsg  mplayer                                 
pi     <none>          2:1.0~rc4.dfsg  mplayer-gui                             
pi     <none>          1.6-2           mplayer-skin-blue                       
pi     <none>          295.40-1        nvidia-glx-ia32                         
pi     <none>          295.40-1        nvidia-kernel-source                     
pi     <none>          295.33-1        nvidia-xconfig                           
pi     <none>          0.0.20090925-1  prelink                                 
pi     <none>          2.0.1+dfsg-12   projectm-data                           
pi     <none>          2.0.1+dfsg-12+  projectm-pulseaudio                     
pi     <none>          0.43+bzr790-1   python-aptdaemon                         
pi     <none>          0.43+bzr790-1   python-aptdaemon-gtk                     
pi     <none>          0.43+bzr790-1   python-aptdaemon.gtk3widgets             
pi     <none>          0.43+bzr790-1   python-aptdaemon.gtkwidgets             
pi     <none>          1.0.2+bzr481-1  python-defer                             
pi     <none>          2.32.0+dfsg-1   python-gnomekeyring                     
pi     <none>          0.3.2-9.1       python-gnupginterface                   
pi     <none>          0.82.4debian3   python-software-properties               
pi     <none>          1:0.28.2-4      python-vte                               
pi     <none>          1.2.8-1         python-xapian                           
pi     <none>          3.2.3~rc1-2     python3                                 
pi     <none>          0.8.4           python3-apt                             
pi     <none>          3.2.3~rc1-2     python3-minimal                         
pi     <none>          3.2.3~rc2-1     python3.2                               
pi     <none>          3.2.3~rc2-1     python3.2-minimal                       
pi     <none>          0.60-2          quilt                                   
pi     <none>          3b1-3.1         slib                                     
pi     <none>          0.82.4debian3   software-properties-common               
pi     <none>          0.82.4debian3   software-properties-gtk                 
pB     <none>          1.10.0-1        tomboy                                   
pi     <none>          2.5.1           wajig                                   
pB     <none>          1:0.4.2-4+b3    xserver-xorg-video-fbdev                 
pi     <none>          1:1.42-9        xsnow                                   
pB     <none>          10.0.4esr-2     xulrunner-10.0                           

ATTENTION : fix-aptitude-dependencies ne peut pas continuer. Veuillez appliquer ou annuler les actions prévues, et résoudre les dépendances cassées avant de relancer fix-aptitude-dependencies.


j'ai donc des problèmes si je comprend bien, mais comment les résoudre afin de pouvoir relancer le script correctement? Quelles actions à appliquer ou à annuler? Ai-je des dépendances cassées (je crois que oui avec l'état B)?

j'ai beaucoup d'état de paquet "pi", ca veux dire quoi? c'est grave docteur?

p le paquet et tous ses fichiers de configuration ont été supprimés, ou le paquet n'a jamais été installé
i le paquet est installé et toutes ses dépendances sont satisfaites
B le paquet a des dépendances cassées
A le paquet a été automatiquement installé

j'ai également un état 'id' et j'ai pas trouvé à quoi correspondait le d.
Y'a t il pas une opposition entre l'état p et i?

je suis peut être à coté de la plaque... si ce script est fait pour les barbus comme vous, dites le moi, et je le désinstalle illico! :grin:
Sinon, avez-vous un lien vers lequel je pourrais étudier un peu tous les aspects d'apt/aptitude? (mais relativement accessible pour un non-informaticien).

Merci!

_________________
Portable Asus A7sn, Debian Sid/Gnome


Haut
 Profil  
 
MessagePosté: 03 Mai 2012 00:25 
Hors ligne
Administrateur du forum
Avatar de l’utilisateur

Inscription: 15 Oct 2004 01:13
Messages: 21267
Localisation: Père.Igor (24)
Je laisse Syam te répondre mais sache que j'avais à peu près le même premier résultat.
C'est assez vite réparé mais il t'expliquera mieux que moi qui vient juste de l'installer (5 jours).
Aujourd'hui, tout propre, plus d'alerte.
Je ne suis pas un barbu pourtant ;)

_________________
.
"L'action est plus efficace que la polémique, mais plus rare." Ricardo (1936-20..)
http://rictux.fr


Haut
 Profil  
 
MessagePosté: 03 Mai 2012 13:27 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Mai 2009 16:49
Messages: 4034
Golmut a écrit:
j'ai beaucoup d'état de paquet "pi", ca veux dire quoi? c'est grave docteur?

p le paquet et tous ses fichiers de configuration ont été supprimés, ou le paquet n'a jamais été installé
i le paquet est installé et toutes ses dépendances sont satisfaites
B le paquet a des dépendances cassées
A le paquet a été automatiquement installé

j'ai également un état 'id' et j'ai pas trouvé à quoi correspondait le d.
Y'a t il pas une opposition entre l'état p et i?

Il faut bien se rappeler qu'aptitude dispose, contrairement à apt-get, d'une liste d'actions en attente (ou actions prévues, c'est la même chose).
Dit autrement, apt-get ne permet que de faire des actions immédiatement, alors qu'aptitude permet également de les planifier.

En soi t'as pas tort dans ton interprétation des états de paquets (p/i/B/A...) mais tu oublies simplement cette fonctionnalité d'aptitude dont je viens de parler.
Sachant qu'aptitude présente l'état des paquets sur 3 "colonnes" (lettres) :
- 1ère lettre = état courant du paquet, correspond également à ce qu'apt-get et dpkg connaissent
- 2ème lettre = action prévue sur le paquet, spécifique à aptitude
- 3ème lettre = état automatique (A) ou manuel

Du coup, tu remarqueras que les paquets marqués pi contiennent <none> dans la deuxième colonne (Depuis) de la liste affichée, ce qui confirme qu'ils ne sont pas installés actuellement mais qu'ils sont simplement marqués pour installation dans les actions en attente.

Pourquoi tu as ça, je sais pas trop, mais j'aurais tendance à soupçonner que tu utilises apt-get d'habitude, sinon tu aurais déjà remarqué des bizarreries dans le comportement d'aptitude. Note bien, je ne pense pas que ça soit le fait d'utiliser apt-get qui provoque ça (il n'y a aucune raison logique), c'est plus probablement dû à l'utilisation d'aptitude à un moment donné et à l'annulation en cours de route des actions que tu avais commencées. (sans garantie de véracité hein, je devine plus qu'autre chose) Le fait que tu es en Sid, avec toutes les mises à jour compliquées que ça implique, ne doit pas améliorer les choses.

Concernant l'état d dans la deuxième lettre de l'état de paquet : paquet en attente de suppression (delete). À cet endroit il est aussi possible d'avoir p (purge) à la place de d.

Note : ce système d'actions prévues est directement lié à l'option --schedule-only d'aptitude utilisée plus tard dans le script (mais au point où il s'arrête dans ton cas, il n'en est pas encore là, pour le moment il ne fait que lire l'état actuel de tes paquets sans rien modifier du tout).


Pour remettre tout ça à plat (je donne la solution pour tout le monde, tant qu'à faire) :
<edit> En fait il y a beaucoup plus simple que les commandes ci-dessous : aptitude keep '!~v'
Cette commande est moins ciblée mais le résultat est identique aux commandes plus complexes (et en plus elle ne dépend pas de la version d'aptitude).
Les deux commandes ci-dessous sont donc à considérer comme "obsolètes". </edit>
  • Si votre version d'aptitude est supérieure ou égale à 0.6.6 (actuellement en testing/unstable) : aptitude keep $(aptitude search '~b!~i|~ainstall|~areinstall|~aupgrade|~adowngrade|~aremove|~apurge' -F '%p')
  • Si votre version d'aptitude est inférieure ou égale à 0.6.5, il y avait un bug dans les motifs de recherche ~a donc il faut utiliser aptitude keep $(aptitude search '~b!~i|!~aupgrade' -F '%p') (ne cherchez pas à comprendre la logique, il n'y en a pas, c'est juste la manière de contourner le bug pour arriver au même résultat)
  • Pour les versions d'aptitude antérieures à squeeze je ne sais pas, je n'ai plus rien pour tester...
Ça supprimera toute la liste d'actions prévues dans aptitude sans toucher aux paquets eux-mêmes. Ça devrait aussi régler le cas des paquets cassés (B), car avec aptitude c'est les actions prévues qui font qu'un paquet serait cassé si vous appliquiez les actions prévues en question ; sans actions prévues il n'y a aucune raison qu'un paquet soit cassé (sauf si vous vous êtes amusé à utiliser une option --force... d'apt-get ou de dpkg, mais dans ce cas là vous avez des choses plus urgentes à faire que d'utiliser mon script).

__________________________


Concernant le comportement du script lui-même, je sens qu'il y a besoin de quelques éclaircissements car ricardo m'a déjà posé ce genre de questions.

Le script est susceptible de vous fournir 3 listes de paquets différentes :
  • juste après « Recherche des actions prévues et des dépendances cassées... » : cela correspond aux actions prévues dont nous avons parlé. En temps normal il n'y a aucune raison de garder des actions prévues dans aptitude. Évidemment ça peut arriver qu'on ait besoin d'utiliser directement cette fonctionnalité (--schedule-only) mais en principe on applique les actions prévues à la fin (sinon ça sert à rien :P). Cette liste correspond donc à un état anormal (mais pas grave en lui-même) d'aptitude.
  • juste après « Recherche des dépendances circulaires... » : c'est tout à fait normal d'avoir des paquets dans cette liste là, ça correspond aux dépendances circulaires que j'ai évoquées dans mon message d'origine. Après une installation de nouveaux paquets ou une mise à jour, des paquets peuvent apparaître dans cette liste auquel cas il suffit de suivre les instructions (rajouter un paquet de chaque chaîne de dépendances dans la variable MANUAL_PACKAGES).
  • juste après « deborphan : X bibliothèques orpheline » : c'est aussi normal que des paquets apparaissent ici suite à des suppressions de paquets ou à des mises à jour. Ce n'est que deborphan qui détecte des paquets orphelins, qu'il faudra gérer manuellement (je me refuse à les traiter automatiquement dans le script, ça serait trop facile de prendre les mauvaises décisions). Typiquement, on voudra soit supprimer ces paquets (aptitude remove) s'ils ne servent plus à rien, ou bien dire à deborphan de les ignorer (deborphan -A) s'ils servent toujours car deborphan peut parfois renvoyer des "faux positifs".

J'espère que c'est plus clair... :)

_____________________________


Golmut a écrit:
Sinon, avez-vous un lien vers lequel je pourrais étudier un peu tous les aspects d'apt/aptitude? (mais relativement accessible pour un non-informaticien).

Y'a toujours la documentation d'aptitude mais c'est pas forcément très accessible vu qu'il s'agit du manuel de référence, pas d'un tuto.
En ligne (version obsolète) : http://algebraicthunk.net/~dburrows/pro ... de/doc/fr/
Sinon, installer le paquet aptitude-doc-fr et aller voir dans /usr/share/doc/aptitude/html/fr/index.html (respectivement, /usr/share/doc/aptitude/html/en/index.html si c'est aptitude-doc-en qui est installé).

Ça fait un moment que je me dis qu'il faudrait que je prenne le temps de faire un tuto complet pour aptitude (et donc aussi pour une grosse partie du système apt, histoire de bien expliquer les concepts) mais tu sais ce que c'est, on a toujours plus urgent à faire... Mais bon y'a bien un moment où je vais me décider, d'autant qu'il y a de la demande apparemment.

_________________
testing/unstable (amd64) sous KDE4
github/syam44 - De la bonne manière de poser les questions - Wiki debian-fr
Just because you're paranoid doesn't mean they aren't after you. -- J.Heller


Dernière édition par syam le 08 Mai 2012 02:10, édité 4 fois.

Haut
 Profil  
 
MessagePosté: 03 Mai 2012 20:21 
Hors ligne
Nouvel utilisateur

Inscription: 06 Jan 2005 01:29
Messages: 67
Localisation: Bretagne
Merci Syam pour toutes ces explications!
j'ai donc mis tout à "plat" avec ta commande:
Code:
root@debian:~# apt-cache policy aptitude
aptitude:
  Installé : 0.6.6-1+b1
  Candidat : 0.6.6-1+b1
 Table de version :
 *** 0.6.6-1+b1 0
        990 http://ftp2.fr.debian.org/debian/ sid/main amd64 Packages
        100 /var/lib/dpkg/status
     0.6.6-1 0
        980 http://ftp2.fr.debian.org/debian/ testing/main amd64 Packages
     0.6.3-3.2+squeeze1 0
        970 http://ftp2.fr.debian.org/debian/ stable/main amd64 Packages
root@debian:~# aptitude keep $(aptitude search '~ainstall|~areinstall|~aupgrade|~adowngrade|~aremove|~apurge' -F '%p')
Aucun paquet ne va être installé, mis à jour ou enlevé.
0 paquets mis à jour, 0 nouvellement installés, 0 à enlever et 5 non mis à jour.
Il est nécessaire de télécharger 0 o d'archives. Après dépaquetage, 0 o seront utilisés.
localepurge: Disk space freed in /usr/share/locale: 0 KiB
localepurge: Disk space freed in /usr/share/man: 0 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
localepurge: Disk space freed in /usr/share/omf: 0 KiB

Total disk space freed by localepurge: 0 KiB

                                             
root@debian:~# fix-aptitude-dependencies
Recherche des actions prévues et des dépendances cassées...

État   Depuis      Vers        Paquet
------------------------------------------------------------------------------
iB     3:11.2.202.233  3:11.2.202.233  flashplayer-mozilla                     
pB     <none>          1:2.8.3         flashplugin-nonfree                     
pB     <none>          0.7.pristine-2  freedesktop-sound-theme                 
pB     <none>          0.4.1-1         gnome-sushi                             
pB     <none>          2.8.4.forreal-  libarchive1                             
pB     <none>          2.4.25-1~bpo60  libgmime2.4-cil                         
pB     <none>          1.10.0-1        tomboy                                   
pB     <none>          1:0.4.2-4+b3    xserver-xorg-video-fbdev                 
pB     <none>          10.0.4esr-2     xulrunner-10.0                           

ATTENTION : fix-aptitude-dependencies ne peut pas continuer. Veuillez appliquer ou annuler les actions prévues, et résoudre les dépendances cassées avant de relancer fix-aptitude-dependencies.


Apparemment tout n'est pas encore tout plat! :think:
Mes problèmes viennent peut être effectivement du fait qu'il m'arrive de temps en temps de pas utiliser exclusivement aptitude, mais parfois apt-get voir même synaptic et jamais eu de problème de dépendance et/ou de paquets cassés... je précise que j'utilise un sources-list au carré avec pinning et épingle tous paquets bugués en tapant la lettre p (avec apt-listbugs). Peut-être que cela n'a rien à voir? Je fais que des suppositions...

merci.

_________________
Portable Asus A7sn, Debian Sid/Gnome


Haut
 Profil  
 
MessagePosté: 03 Mai 2012 21:08 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Mai 2009 16:49
Messages: 4034
Oups j'en avais oublié un bout : les paquets cassés ne répondent pas aux motifs de recherche ~a... car l'état cassé (~b) semble prendre le dessus.
J'ai corrigé dans mon message précédent la ligne de commande à utiliser, ce qui donne pour toi (aptitude >= 0.6.6) :
Code:
aptitude keep $(aptitude search '~b!~i|~ainstall|~areinstall|~aupgrade|~adowngrade|~aremove|~apurge' -F '%p')

_________________
testing/unstable (amd64) sous KDE4
github/syam44 - De la bonne manière de poser les questions - Wiki debian-fr
Just because you're paranoid doesn't mean they aren't after you. -- J.Heller


Haut
 Profil  
 
MessagePosté: 03 Mai 2012 21:33 
Hors ligne
Nouvel utilisateur

Inscription: 06 Jan 2005 01:29
Messages: 67
Localisation: Bretagne
:038 le script se lance correctement maintenant:
Code:
root@debian:~# fix-aptitude-dependenciesRecherche des actions prévues et des dépendances cassées...
Marquage des paquets en « Automatique » en fonction des dépendances des paquets...
Recherche des dépendances circulaires...

ATTENTION : des paquets marqués en « Automatique » contiennent des dépendances circulaires.
                                         
État   Version     Paquet
------------------------------------------------------------------------------
i      0.0.0+r11339-1  0ad                                                     
i      0.0.0+r11339-1  0ad-data                                                 
i      0.0.0+r11339-1  0ad-data-common                                         
i      2.0b4-12        bsh                                                     
i      2.0b4-12        bsh-gcj                                                 
i      1.6-1           childsplay                                               
i      0.9.1-2         childsplay-alphabet-sounds-fr                           
i      12.01-1         gcompris                                                 
i      12.01-1         gcompris-data                                           
i      12.01-1         gcompris-sound-fr                                       
i      0.1.18-3        grilo-plugins-0.1                                       
i      3.12.2-1        hpijs-ppds                                               
i      0.20111110-1    intel-microcode                                         
i      0.8.2-6         libgpod-common                                           
i      0.8.2-6         libgpod4                                                 
i      0.1.18-2        libgrilo-0.1-0                                           
i      1.17-13.2       microcode.ctl                                           
i      3.12.2-1        printer-driver-hpijs                                     
i      2.96-4          rhythmbox                                               
i      2.96-4          rhythmbox-data                                           
i      2.96-4          rhythmbox-plugins                                       
i      1:0.9.21-1.1    tuxpaint                                                 
i      1:0.9.21-1.1    tuxpaint-data                                           
i      2009.06.28-1    tuxpaint-stamps-default                                 
i      568-1           unetbootin                                               
i      568-1           unetbootin-translations                                 
i      1.2.3+repack0-  usb-modeswitch                                           
i      20120120-1      usb-modeswitch-data                                     

Les différentes chaînes de dépendances circulaires sont :
    * 0ad 0ad-data 0ad-data-common
    * bsh bsh-gcj
    * childsplay childsplay-alphabet-sounds-fr
    * gcompris gcompris-data gcompris-sound-fr
    * grilo-plugins-0.1 libgpod-common libgpod4 libgrilo-0.1-0 rhythmbox rhythmbox-data rhythmbox-plugins
    * grilo-plugins-0.1 libgrilo-0.1-0
    * hpijs-ppds printer-driver-hpijs
    * intel-microcode microcode.ctl
    * libgpod-common libgpod4
    * tuxpaint tuxpaint-data tuxpaint-stamps-default
    * unetbootin unetbootin-translations
    * usb-modeswitch usb-modeswitch-data
La procédure correcte est de rajouter à la liste « paquets manuels » de fix-aptitude-dependencies.conf au moins un paquet de chaque chaîne de dépendances circulaires afin de casser les cycles de dépendances, puis de relancer fix-aptitude-dependencies pour appliquer la nouvelle configuration. En attendant, ces paquets ont tous été marqués en « Manuel », ce qui n'est probablement pas le résultat souhaité mais permet d'éviter leur suppression accidentelle.

deborphan : 6 bibliothèques orphelines (0 ignorées). Si vous êtes certain(e) que ces paquets ne vous sont pas utiles, vous pouvez les supprimer manuellement.
    Pour que ces paquets n'apparaissent plus comme orphelins, utilisez « deborphan -A » (cf. man deborphan).

État   Version     Paquet
------------------------------------------------------------------------------
i      0.7.4-2         gstreamer0.10-packagekit                                 
i      0.28-4          libcanberra-gtk0                                         
i      1.2.12-0.1      libdvdcss2                                               
i      2.0.18-stable-  libevent-2.0-5                                           
i      295.40-1        libgl1-nvidia-glx-ia32                                   
i      2.0.3-2         ttf-lyx


Donc si je comprends bien, maintenant, je dois rajouter dans fix-aptitude-dependencies.conf:
Code:
MANUAL_PACKAGES="0ad
bsh
childsplay
gcompris
grilo-plugins-0.1
hpijs-ppds
intel-microcode
libgpod-common
tuxpaint
unetbootin
usb-modeswitch"

Puis relancer le script?

_________________
Portable Asus A7sn, Debian Sid/Gnome


Haut
 Profil  
 
MessagePosté: 03 Mai 2012 22:07 
Hors ligne
Nouvel utilisateur

Inscription: 06 Jan 2005 01:29
Messages: 67
Localisation: Bretagne
Code:
root@debian:~/syam44-fix-aptitude-dependencies-aa361bb# cat fix-aptitude-dependencies.conf
#!/bin/bash
#
# fix-aptitude-dependencies
# https://github.com/syam44/fix-aptitude-dependencies
#
# Distributed under the GNU General Public License version 3
# https://www.gnu.org/copyleft/gpl.html
#
# Authors: syam (aks92@free.fr)
#
# Description: Fichier de configuration
# Explications: https://www.debian-fr.org/aptitude-gestion-des-dependances-et-orphelins-t35575.html
#
# TODO: i18n
#


#-----------------------------------------------------------------------------
# Variables personnalisables
#-----------------------------------------------------------------------------


#
# Liste des paquets à forcer en Manuel, séparés par des espaces, tabulations,
# ou retours chariots.
#
# À minima, indiquer ici des paquets possédant des dépendances circulaires
# (par exemple, tasksel pour le groupe tasksel et tasksel-data) faute de quoi ces
# paquets seront tous marqués en Manuel et le script grognera à chaque exécution.
# Pas d'inquiétude à avoir, ce script vous avertira dans tous les cas pour que
# vous puissiez rajouter les paquets correspondants dans cette liste.
#
# Vous pouvez aussi indiquer ici les paquets que vous souhaitez absolument garder
# en Manuel quoi qu'il arrive (notamment pour éviter que la désinstallation d'un
# métapaquet n'entraîne la désinstallation automatique d'un paquet important).
#
MANUAL_PACKAGES="0ad
bsh
childsplay
gcompris
grilo-plugins-0.1
hpijs-ppds
intel-microcode
libgpod-common
tuxpaint
unetbootin
usb-modeswitch"


#
# Fonction appellée à la fin du script si tout s'est bien passé, permettant d'ajouter
# des nettoyages personnalisés (par exemple « aptitude clean »).
#
user_defined_cleanup()
{
  # Ne rien faire (erreur de syntaxe sans cette ligne)
  true
}


#
# Fonction appellée pour déterminer les paquets orphelins.
# Vous pouvez personnaliser le comportement de « deborphan » comme vous le souhaitez,
# du moment que la liste retournée ne contient que des noms de paquets (un par ligne).
# L'option « --no-show-section » est donc très importante.
#
user_defined_deborphan()
{
  deborphan --ignore-suggests --guess-interpreters --no-show-section
}
root@debian:~/syam44-fix-aptitude-dependencies-aa361bb# fix-aptitude-dependencies
Recherche des actions prévues et des dépendances cassées...
Marquage des paquets en « Automatique » en fonction des dépendances des paquets...
Recherche des dépendances circulaires...

ATTENTION : des paquets marqués en « Automatique » contiennent des dépendances circulaires.
                                         
État   Version     Paquet
------------------------------------------------------------------------------
i      0.0.0+r11339-1  0ad                                                     
i      0.0.0+r11339-1  0ad-data                                                 
i      0.0.0+r11339-1  0ad-data-common                                         
i      2.0b4-12        bsh                                                     
i      2.0b4-12        bsh-gcj                                                 
i      1.6-1           childsplay                                               
i      0.9.1-2         childsplay-alphabet-sounds-fr                           
i      12.01-1         gcompris                                                 
i      12.01-1         gcompris-data                                           
i      12.01-1         gcompris-sound-fr                                       
i      0.1.18-3        grilo-plugins-0.1                                       
i      3.12.2-1        hpijs-ppds                                               
i      0.20111110-1    intel-microcode                                         
i      0.8.2-6         libgpod-common                                           
i      0.8.2-6         libgpod4                                                 
i      0.1.18-2        libgrilo-0.1-0                                           
i      1.17-13.2       microcode.ctl                                           
i      3.12.2-1        printer-driver-hpijs                                     
i      2.96-4          rhythmbox                                               
i      2.96-4          rhythmbox-data                                           
i      2.96-4          rhythmbox-plugins                                       
i      1:0.9.21-1.1    tuxpaint                                                 
i      1:0.9.21-1.1    tuxpaint-data                                           
i      2009.06.28-1    tuxpaint-stamps-default                                 
i      568-1           unetbootin                                               
i      568-1           unetbootin-translations                                 
i      1.2.3+repack0-  usb-modeswitch                                           
i      20120120-1      usb-modeswitch-data                                     

Les différentes chaînes de dépendances circulaires sont :
    * 0ad 0ad-data 0ad-data-common
    * bsh bsh-gcj
    * childsplay childsplay-alphabet-sounds-fr
    * gcompris gcompris-data gcompris-sound-fr
    * grilo-plugins-0.1 libgpod-common libgpod4 libgrilo-0.1-0 rhythmbox rhythmbox-data rhythmbox-plugins
    * grilo-plugins-0.1 libgrilo-0.1-0
    * hpijs-ppds printer-driver-hpijs
    * intel-microcode microcode.ctl
    * libgpod-common libgpod4
    * tuxpaint tuxpaint-data tuxpaint-stamps-default
    * unetbootin unetbootin-translations
    * usb-modeswitch usb-modeswitch-data
La procédure correcte est de rajouter à la liste « paquets manuels » de fix-aptitude-dependencies.conf au moins un paquet de chaque chaîne de dépendances circulaires afin de casser les cycles de dépendances, puis de relancer fix-aptitude-dependencies pour appliquer la nouvelle configuration. En attendant, ces paquets ont tous été marqués en « Manuel », ce qui n'est probablement pas le résultat souhaité mais permet d'éviter leur suppression accidentelle.

deborphan : 2 bibliothèques orphelines (0 ignorées). Si vous êtes certain(e) que ces paquets ne vous sont pas utiles, vous pouvez les supprimer manuellement.
    Pour que ces paquets n'apparaissent plus comme orphelins, utilisez « deborphan -A » (cf. man deborphan).

État   Version     Paquet
------------------------------------------------------------------------------
i      1.2.12-0.1      libdvdcss2                                               
i      295.40-1        libgl1-nvidia-glx-ia32


Ai-je mal édité le fichier conf? :think:

_________________
Portable Asus A7sn, Debian Sid/Gnome


Haut
 Profil  
 
MessagePosté: 03 Mai 2012 22:13 
Hors ligne
Modérateur du forum
Avatar de l’utilisateur

Inscription: 18 Mai 2009 16:49
Messages: 4034
C'est le mauvais fichier de config que tu as édité : il faut modifier celui dans /etc/apt/fix-aptitude-dependencies.conf
Mis à part ça, tes modifs en elles-mêmes semblent correctes.

Le dossier "syam44-fix-aptitude-dependencies-..." créé par le téléchargement (wget | tar) n'est plus utile une fois que tu as installé le script (./configure install), tu peux le supprimer si tu veux.

_________________
testing/unstable (amd64) sous KDE4
github/syam44 - De la bonne manière de poser les questions - Wiki debian-fr
Just because you're paranoid doesn't mean they aren't after you. -- J.Heller


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 152 messages ]  Aller à la page 1, 2, 3, 4, 5 ... 7  Suivante

Index du forum » Forums d'aide » Trucs et Astuces


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
Flux RSS Flux RSS Liste des flux Liste des flux
Powered by phpBB® Forum Software © phpBB Group
Traduction par: phpBB-fr.com
SEO
[ Time : 0.414s | 17 Queries | GZIP : Off ]