# [portage] bloquer l'installation d'un paquet (RESOLU)

## floc_12

Bonjour,

A chaque mise à jour, portage m'installe nautilus. Le problème est que je suis sous xfce et thunar, et après chaque mise à jour, nautilus démarre et je perd la personnalisation de mon bureau (fond ecran, conky, etc ...)

J'ai beau killer nautilus, mais il redémarre automatiquement.

La seule solution que j'ai trouvé est de faire  emerge --unmerge nautilus après chaque mise à jour.

Est ce normal, et comment puis je bloquer l'installation nautilus tout simplement (j'ai essayé de le mettre dans portage.mask, mais il ne me le prend pas) ?

MerciLast edited by floc_12 on Tue Oct 25, 2011 9:46 pm; edited 1 time in total

----------

## floc_12

Pour compléter et répondre à fb99 du 1ier post, l'ajout de nautilus dans le portage.mask me fait ceci :

Mon portage.mask :

 *Quote:*   

> gnome-base/nautilus

 

Et la réponse de portage :

 *Quote:*   

> Calculating dependencies... done!
> 
> !!! All ebuilds that could satisfy ">=gnome-base/nautilus-2.24" have been masked.
> 
> !!! One of the following masked packages is required to complete your request:
> ...

 

J'ai essayé de mettre -gnome et -nautilus dans le USE du make.conf, mais portage veut toujours m'installer nautilus 

Merci

----------

## boozo

'alute

A tout hasard : en désactivant ces 2 usesflags dans le make.conf aurais-tu peut-être oublié de recompiler ce qui doit l'être ?

Sinon rajouter -gdu serait sans doute utile également histoire que gimp sans "gnome" ne réclame plus gvfs et que ce dernier sans "gdu" ne demande plus gnome-disk-utility désormais sans "nautilus"

Pour investiguer dans ce genre de cas : equery aide souvent pas mal   :Wink: 

----------

## floc_12

1. Après avoir désactivé les 2 useflags en question, j'ai essayé de recompiler avec un emerge -NDuav world, mais il me proposait toujours d'installer nautilus (et de mettre a jour un certain nombre de paquets), donc j'ai répondu non.

2. Je viens d'essayer de mettre -gdu dans le make.conf, suivi de emerge -NDuav world. Il me demande d'ajouter gdu à gvfs :

```
emerge: there are no ebuilds built with USE flags to satisfy ">=gnome-base/gvfs-1.6.6[gdu]".

!!! One of the following packages is required to complete your request:

- gnome-base/gvfs-1.6.7-r1::gentoo (Change USE: +gdu)

(dependency required by "gnome-base/gnome-2.32.1-r1" [installed])

(dependency required by "@selected" [set])

(dependency required by "@world" [argument])
```

J'ai alors essayé de mettre gdu à gvfs dans portage.use , et la, il ne me propose donc juste d'installer nautilus :

 *Quote:*   

> [ebuild  N     ] gnome-base/nautilus-2.32.2.1-r1  USE="gnome -doc (-introspection) -test -xmp" 0 kB

 

Merci

----------

## Magic Banana

Avec GNOME installé, tu as nécessairement Nautilus en dépendance. Désinstalle GNOME.

----------

## floc_12

Merci Magic banana, c'est sur que c'es la solution radicale. Je vais essayer dans la semaine. J'en profiterai pour faire du ménage sur mon pc. Je ne crois pas utiliser des applications gnome de toute manière, donc il ne devrait pas y avoir de soucis.

bonne soiree

----------

## Magic Banana

En désinstallant GNOME, tu ne retires pas nécessairement les applications que GNOME a en dépendance (et non l'inverse). Par exemple, en supposant que tu souhaites garder le lecteur vidéo Totem, tu devrais avoir media-video/totem dans ton world. Ainsi, même après la suppression de gnome-base/gnome et un emerge --depclean, Totem sera toujours sur ton système. Plus généralement, voilà ta tâche de ménage : parcours /var/lib/portage/world et supprimes-y tous les logiciels que tu n'utilises pas directement comme utilisateur final (par exemple, toutes les bibliothèques à moins que tu développes dessus). Un emerge --depclean plus tard (en vérifiant d'abord avec l'option --pretend que rien de terrible ne va arriver) et tu auras un système tout propre.

----------

## floc_12

Salut,

je me suis un peu documenté hier soir sur le portage, les useflags, etc....

J'ai donc commencé à mettre au propre en supprimant les packages qui ne me servaient plus à rien (je comptais garder la suppression de gnome pour aujourd'hui).

Et ce soir, en remettant un emerge --sync, je me retrouve avec l'erreur suivante :

 *Quote:*   

> Performing Global Updates:
> 
> (Could take a couple of minutes if you have a lot of binary packages.)
> 
>   .='update pass'  *='binary update'  #='/var/db update'  @='/var/db move'
> ...

 

Arf, le ménage va etre plus compliqué que prévu ....

----------

## floc_12

Bon, pour ce problème, c'est résolu grace à ce post https://forums.gentoo.org/viewtopic-t-899080-highlight-error+malformed+entry.html (je cherche 2 heures en vais, et quand je poste, je trouve .....)

Je vais a présent essayer la méthode de magic banana. Juste une question concernant le depclean. La dernière fois que je l'ai fait, j'ai perdus mes sources du noyau, du coup, j'avais été obligé de recompiler.

Ya t'il une astuce pour eviter ceci ?

Merci

----------

## Poussin

oui, en lisant le message d'avertissement quand tu lances le depclean  :Smile: 

----------

## floc_12

J'ai fais le point sur le retour de la commande depclean, mais il veut me virer un tas de paquet. J'ai mis en gras ceux que je pense important sur mon système, mais je ne les connais pas tous.

Comment faire pour ne pas les scratcher ? Et pourquoi nautilus veut il toujours s'installer ?

Désolé, je suis un peu lourd. Je comprends le principe mais suis  bien perdu, et je ne trouve pas vraiment de doc complète de cette commande sur google.

Merci

Le retour de la commande :

 *Quote:*   

> 
> 
>  * Depclean may break link level dependencies. Thus, it is
> 
>  * recommended to use a tool such as `revdep-rebuild` (from
> ...

 

Mon fichier world après ménage :

 *Quote:*   

> app-admin/conky
> 
> app-admin/conkyforecast
> 
> app-admin/logrotate
> ...

 

----------

## Poussin

 *floc_12 wrote:*   

> 
> 
>  *Quote:*   
> 
>  * Always study the list of packages to be cleaned for any obvious
> ...

 

C'est comme le Port-Salut

----------

## floc_12

Bon, j'ai fais un "noreplace" de tous les paquets que je souhaitais garder (en esperant qur je n'en ait pas oublié d'importants, etant donné que je ne les connais pas tous).

Par contre, il veut a tout pris me virer gcc 4.4.5, même après un noreplace :

 *Quote:*   

>  sys-devel/gcc
> 
>     selected: 4.4.5 
> 
>    protected: none 
> ...

 

Merci

----------

## guilc

Bah tu as gcc 4.5.3, donc gcc 4.4.5 n'est pas utile, il veut donc le supprimer ! Tout a fait normal.

----------

## Magic Banana

Pour tes paquets en gras :

* x11-themes/xfce4-icon-theme n'est pas (plus) dans Portage d'après http://gentoo-portage.com (aurait-il été intégré à un autre paquet ?);

* app-editors/gedit et app-editors/nano sont, comme la catégorisation l'indique, des éditeurs de texte. Soit tu les utilises (auquel cas ils devraient être dans ton world), soit tu préfères un autre éditeur de texte (et c'est normal de les virer);

Edit: en fait, il n'y a aucun éditeur de texte dans ton world ce qui n'est pas bien normal sur une distribution où la majeure partie de la configuration se fait par édition de fichiers texte !

* net-analyzer/traceroute sert à tracer le chemin pris par un paquet IP. Même chose que précédemment, si tu utilises directement cet utilitaire, il devrait être dans ton world, sinon, il ne te sert à rien (au passage : vu la liste de "net-analyzer" que tu as dans ton world, il est surprenant que tu ne connaisses pas traceroute... ou alors tu n'utilises aucun net-analyzer et ces paquets ne devraient pas figurer dans ton world);

* net-wireless/wpa_supplicant n'est manifestement pas une dépendance de wifi-radar (que tu utilises). Je suppose qu'il a sa propre gestion de ce protocole;

* sys-kernel/gentoo-sources est bien dans ton world (puisque tu compiles ces sources, il s'agit bien d'un paquet que tu utilises directement). Emerge cherche à supprimer une ancienne versions des sources qui n'est même plus dans Portage. La dernière version arch du noyau est la 2.6.39-r3; la dernière ~arch est la 3.0.7. Note que emerge ne va supprimer que les sources. Pas les images (aussi antiques soient elles).

En regardant rapidement ton world, on y trouve des choses surprenantes (qui ne devraient probablement pas y être) :

* app-xemacs/emerge est une interface XEmacs à GNU patch et c'est le seul paquet lié à cet éditeur de texte;

* dev-libs/icu et dev-python/medusa sont des bibliothèques de fonctions. Développes-tu avec ?

* gnome-base/gconf, gnome-base/gnome-panel, kde-base/kdebase-data et kde-base/systemsettings sont des composants basiques de GNOME et KDE alors que tu n'utilises pas ces bureaux.

----------

## floc_12

Bonjour,

En fait les paquets en gras sont ceux que j'utilise et que je souhaite garder, donc pas de problème la dessus. J'ai effectué un premier depclean hier soir 

sans problème (juste gcc à reconfiguré). 

Je referais un deuxième passage ce soir avec les infos que tu m'as donné, car il y a pleins de paquets que je ne connais an fait, donc va falloir que je 

regarde en détail tout ca (déja, dans ceux que tu m'as donné, il y en a 8 a virer  :Smile:  )

Merci pour ces infos et exemples, je pense que ca devient clair dans ma ptite tete.

----------

## netfab

 *Magic Banana wrote:*   

> 
> 
> Edit: en fait, il n'y a aucun éditeur de texte dans ton world ce qui n'est pas bien normal sur une distribution où la majeure partie de la configuration se fait par édition de fichiers texte !
> 
> 

 

Si, il a forcément un éditeur installé, puisque virtual/editor fait partie du set system. C'est pour cette raison que nano est désinstallé par le --depclean : ce paquet virtuel ne nécessite qu'un seul éditeur installé, si tu en veux d'autres, il faut les inscrire toi-même dans le world.

----------

## floc_12

Bon, de retour avec un deuxième ménage le temps que mon revdep-rebuilt se termine :

 *Quote:*   

> app-admin/conky
> 
> app-admin/conkyforecast
> 
> app-cdr/k3b
> ...

 

  1. Je comprends ce que sont tous ces paquets en gras, mais je ne sais pas trop si je dois les laisser, car la plupart sont utilisés à travers d'autres applis, il me semblent. Quelle est la seule solution ? Les supprimer et tester ?

  2. Mon problème d'origine, Nautilus, est toujours présent et s'installe toujours. J'ai enlevé le USE "gnome" dans mon make.conf. Dois je recompiler tout le système (actuellement, je fais un emerge -NDuav world) ?

Merci

----------

## Magic Banana

C'est toujours la même question : te sers-tu, en toute conscience, des polices que tu as mises en gras, des thèmes (de démarrage, de connexion et d'icônes), de l'utilitaire scrot, de ceux fournis par alsa-utils, etc. Je suppose effectivement que tu ne te sers pas directement de esound ou des paquets x11-base et x11-drivers (tu as bien renseigné les variables VIDEO_CARDS et INPUT_DEVICES dans /etc/make.conf ?). Ils sont des dépendances d'autres applications dont tu te sers directement. Tu peux donc les supprimer de ton world.

Par contre tu as mis en gras tout Xfce. En enlevant ces lignes tu perdrais donc Xfce ! Je suppose que tu veux au moins garder xfce-base/xfce4-meta et quelques applications au dessus de ce bureau (comme le navigateur de fichiers xfce-base/thunar qui n'est pas listé et, à moins que tu sois vraiment minimaliste, les applets et quelques plugins que tu as mis en gras).

----------

## floc_12

Merci Magic Banana pour cette explication.

En fait j'ai encore un peu de mal avec 'l'utilisation" (savoir si on utilise un paquet "directement ou non). Si je comprends bien, on référence le paquet dans le fichiers si on utilise une de ces commande en console ou dans un lanceur par exemple. Mais je vais faire des tests, je pigerais mieux.

Actuellement, je suis en train de virer esound. Concernant x11-base, je ferais ca un par un tranquillement. En effet, quand j'ai vu la liste de depclean, il me semble que j'utilise quelques commandes quand même.

Sinon, j'ai bien compris le principe de nettoyage et de dépendance, ça c'est bien rentré. J'ai réussi à résoudre mon problème de départ (nautilus qui s'installer en permanence  :Very Happy:  ) en jonglant avec equery, depclean et revdep-rebuilt. (En fait,  je me rend compte que je n'étais pas au point sur portage).

Merci encore & Bonne soirée

----------

## Magic Banana

 *floc_12 wrote:*   

> En fait j'ai encore un peu de mal avec 'l'utilisation" (savoir si on utilise un paquet "directement ou non).

 

Il faut dire que je manque de clarté. Prenons l'exemple des paquets x11-base qui sont installés sur ton système. Ils sont nécessaires puisque plusieurs applications que tu utilises (GEdit, GIMP, KDEnlive, Kino, VLC, etc.) en ont besoin. La question est : si tu venais à ne plus vouloir toutes ces applications, voudrais-tu encore des paquets x11-base ? Autrement dit, les utilises-tu directement ? Pour l'immense majorité des utilisateurs, la réponse est non. Ils n'ont donc pas à figurer dans /var/lib/portage/world et, dans l'éventualité de la suppression de tout ce qui tourne dessus les paquets x11-base, un 'emerge --depclean' virerait ces dépendances devenus inutiles. Dans le même genre, les bibliothèques n'ont pas figurer dans le world à moins de développer dessus (une utilisation directe de ces bibliothèques).

Certains ont développé des scripts qui virent du world tous les paquets qui figurent en dépendance d'un autre paquet lui aussi dans world. Une telle procédure automatique n'est pas souhaitable. Prenons l'exemple de xfce-extra/thunar-archive-plugin. Ce plugin dépend, bien sûr, de xfce-base/thunar. Pourtant, ce n'est pas parce que tu vas décider de ne plus utiliser le menu contextuel pour gérer les archives (ce que permet xfce-extra/thunar-archive-plugin) que cela signifie que tu ne veux plus du tout utiliser le navigateur de fichiers Thunar (tu l'utilises "directement" et pas seulement au travers du plugin). Or, si xfce-base/thunar n'est pas dans ton world, un 'emerge --depclean' le supprimerait suite à la disparition de xfce-extra/thunar-archive-plugin.

Est-ce plus clair ?

----------

## floc_12

Salut,

oui, je comprends ce que tu essaye de me dire, c'est logique d'un côté. Je viens d'effectuer des tests sur tous les paquets x11-base. 

En revanche, si je supprime x11-base/xorg-x11 du fichier world, depclean veut me virer ce paquet ainsi que plusieurs autres qui peuvent et sont utiles (xrandr, xev, xgamma, etc ..). Donc, en voyant cette longue liste de paquets, autant laisser x11-base/xorg-x11 dans le world plutôt que de s’embêter à faire un noreplace de tous ces paquets, au risque d'en oublier, non ?

----------

## Magic Banana

Oui, c'est la raison d'être des meta-paquets (comme x11-base/xorg-x11). Si tu te sers directement de la majorité de ses dépendances il est plus simple de n'avoir que cette ligne dans ton world que d'en lister des dizaines. Ceci étant, si tu veux un système le plus simple possible, tu peux faire ce travail (avec des considérations genre "j'utilise directement xrandr -> dans world", "je n'utilise jamais xev -> pas dans world").

----------

