Outils personnels
Vous êtes ici : Accueil Linux Gentoo Utilisation d'une Gentoo - Problèmes/Solutions - FAQ 19-sys-fs/udev encore et toujours - MàJ du 18/09/2010
Navigation
Se connecter


Mot de passe oublié ?
 

19-sys-fs/udev encore et toujours - MàJ du 18/09/2010

Par Freecrazy - Dernière modification 25/09/2010 20:35

La dernière mise à jour de ma Gentoo, datait de plus de 2 mois (26 juin 2010). Et bien sûr lorsque je l'ai lancée cela a généré des erreurs avec, encore et toujours sys-fs/udev, mais aussi des problèmes liés au Makefile qui disparait des sources. Beaucoup de problèmes donc, mais qui, in fine, restent assez génériques !

Samedi 18/09/2010, je me dis qu'il serait peut-être plus que temps de mettre à jour ma Gentoo. Donc un :

# emerge --sync

et un

# emerge --update --deep world

plus tard, j'obtiens un beau message d'erreur :

Calculating dependencies ...
... done!

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

sys-fs/udev:0

  ('ebuild', '/', 'sys-fs/udev-151-r4', 'merge') pulled in by
    >=sys-fs/udev-125 required by ('ebuild', '/', 'sys-apps/hal-0.5.14-r2', 'merge')
    >=sys-fs/udev-151-r4 required by ('ebuild', '/', 'sys-fs/lvm2-2.02.73-r1', 'merge')
    virtual/dev-manager required by world
    (and 1 more)

  ('installed', '/', 'sys-fs/udev-149', 'nomerge') pulled in by
    >=sys-fs/udev-138 required by ('ebuild', '/', 'gnome-base/gvfs-1.6.3', 'merge')
    >=sys-fs/udev-145[extras] required by ('ebuild', '/', 'gnome-base/gvfs-1.6.3', 'merge')
    virtual/dev-manager required by world

It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously. If such a conflict exists in the
dependencies of two different packages, then those packages can not be
installed simultaneously. You may want to try a larger value of the
--backtrack option, such as --backtrack=30, in order to see if that will
solve this conflict automatically.

For more information, see MASKED PACKAGES section in the emerge man page
or refer to the Gentoo Handbook.

emerge: there are no ebuilds built with USE flags to satisfy "www-servers/apache[threads]".
!!! One of the following packages is required to complete your request:
- www-servers/apache-2.2.16 (Change USE: +threads)
(dependency required by "dev-lang/php-5.2.14" [ebuild])
(dependency required by "world" [argument])

Hé oui, tout ce grand discours pour me dire que udev va encore me poser des problèmes (la seconde partie indique simplement qu'il manque l'USE threads pour Apache, ce que j'ai corrigé en mettant l'USE demandé dans /etc/make.conf.

J'ai essayé de suivre ce qui était préconisé, mais un :

# emerge -u --deep --backtrack=30 world

ne change rien.

Quant à bloquer les packages en question, je n'ai pas vraiment réussi, il y avait toujours un problème qui surgissait.

1-Mettre à jour (upgrader) udev en le passant à la version 'udev-151-r4'

Donc, comme 'udev' apparaissait tout le temps, j'ai commencé par le mettre à jour seul :

# emerge -u --deep sys-fs/udev

Cela installe bien la dernière version 'sys-fs/udev-151-r4', alors que l'option -deep met à jour 25 autres paquetages.

Je mets à jour, les fichiers de configuration (dont /etc/init.d/udev et /etc/init.d/udev-mount) avec :

# etc-update

Puis je regarde le log de ma mise à jour :

# vi /var/log/portage/elog/summary.log

Et j'ai un souci (étoile rouge) pour udev-151-r4 : "Could not find a Makefile in the kernel source directory"

J'ai déjà eu ce genre de problème, j'ai l'impression que dès que j'ai lancé genkernel sur une nouvelle source, le makefile disparaît.

2 - Mettre à jour le kernel en le passant à la version linux-2.6.32-gentoo-r7

Comme mon kernel est à la version 2.6.31-r10, j'en profite pour l'upgrader à la version 2.6.32-r7.

J'ai procédé le plus simplement possible, avec genkernel (l'installer si ce n'est déjà fait, avec emerge genkernel) :

# genkernel --menuconfig --bootloader=grub all

--menuconfig : est l'option qui permet de configurer votre kernel, vous pouvez l'ignorer si vous ne savez pas à quoi cela sert.

--bootloader : permet de modifier grub automatiquement

Un temps certain plus tard, on peut revenir à la mise à jour.

3 - Mise à jour se sys-fs/udev - suite

Je refais un :

# emerge -u --deep sys-fs/udev

Cette fois, l'erreur liée au kernel disparait, même si j'ai toujours l'erreur suivante :

ERROR: setup
     CONFIG_IDE:     should not be set. But it is.
WARN: setup
Please check to make sure these options are set correctly.
Failure to do so may cause unexpected problems.

Comme je ne sais pas comment "checker", j'oublie pour le moment, je ne pense pas que ce soit dramatique.

Le log m'indique qu'une règle a été créée pour mettre l'interface réseau en mode persistant, si cela pose problème on peut cependant le supprimer :

# rm /etc/udev/rules.d/70-persistent-net.rules

J'essaie de nouveau une mise à jour complète, mai son me demande cette fois d'ajouter l'USE extras (pour udev-149 !?), ce que je fais, mais cela ne fonctionne pas mieux. Donc je procède par ordre.

4 - Mettre à jour (upgrader) gnome-base/gvfs (passage à la 1.6.3)

Comme cet ebuild posait problème, je l'ai mis à jour seul :

# emerge -u --deep gvfs

Ce qui enclenche 37 mises à jour supplémentaires dont hal-0.5.14-r2 !

Je mets à jour les 11 fichiers de configuration dont /etc/init.d/device-mapper et /etc/init.d/hald.

Tous les ebuild posant problème ont été mis à jour séparément, il reste à faire un :

# revdep-rebuild

pour mettre à jour les liens dynamiques et supprimer les librairies devenues inutiles. Et normalement une mise à jour complète devrait maintenant fonctionner !

5-Mise à jour complète

Mais comme jamais rien n'est simple, je dois ajouter aux USE gnutls pour net-print/cups (je l'ajoute dans le /etc/make.conf), et VLC est un package bloqué (je le supprime par un emerge -C vlc), et

# emerge --update --deep world

se lance enfin avec 132 ebuilds ! Je peux aller me coucher.

Le lendemain, je me retrouve avec une 15 fichiers de configuration à modifier ainsi que 148 fichiers sous /usr/share/X11/xkb

Mais avant d'attaquer ce travail, je lance :

# emerge --depclean
# revdep-build

Ensuite je m'attaque aux fichiers de configuration, avec :

# etc-update

Parmi les 15 premiers, certains éveillent ma vigilance : /etc/genkernel.conf, /etc/dbus-1/system.d/wpa_supplicant.conf, /etc/profile.d/bash-completion.sh, /etc/vim/gvimrc, et /etc/vim/vimrc mais rien ne m'alerte dans les changements.

Par contre, pour :

  • /etc/conky/conky_no_x11.conf j'ai noté la suppression de "out_to_console no"
  • /etc/pam.d/sudo j'ai noté la suppression de "password include system_auth"
  • /etc/php/cgi-php5/php.ini j'ai noté un changement de off à on pour "allow_url_fopen"
  • /etc/php/cli-php5/php.ini j'ai noté un changement de on à off pour "expose_php"

et surtout, pour

  • /etc/sudoers je constate des changements importants, et bien sûr il me faudra le reconfigurer pour me mettre en utilisateur autorisé :

<user> ALL=(ALL) NOPASSWD: ALL

Nota 1 : pour éditer le fichier sudoers il est conseillé d'utiliser la commande 'visudo'

Nota 2 : Il me semble que lorsque l'user comporte un '-' comme marie-chantal et bien cela ne fonctionne pas. Du coup je me suis mise en utilisateur autorisé, en autorisant le groupe wheel (j'y suis seule)

# visudo
....
%wheel ALL=(ALL) NOPASSWD: ALL
....

Pendant la mise à jour des fichiers de configuration, ma gentoo s'est figée plusieurs fois (plus de clavier, et pour la souris seul le curseur bougeait). Je pense que c'était du aux configurations non stabilisées, car lorsque j'ai eu terminé, tout fonctionnait parfaitement.

6 - Réinstaller VLC et "Could not find a Makefile"

Comme je l'ai desinstallé, il me faut le remettre:

# emerge vlc

Son installation s'accompagne de 22 ebuild !

Malheureusement, arrivé à media-libs/svgalibs/svgalig-1.9.25-r1, cela plante car .... ne trouve pas de Makefile et de .config dans les sources du kernel sous /usr/src/linux !

Je ne vais pas réinstaller un nouveau kernel à chaque fois que je rencontre ce problème (Cf . le point "2 - Mettre à jour le kernel en le passant à la version linux-2.6.32-gentoo-r7"). Cette fois je réinstalle les sources par un

# emerge '=sys-kernel/gentoo-sources-2.6.32-r7'

Nota : Songez à sauvegarder votre .config surtout si vous l'avez personnalisé.

L'installation de VLC peut se terminer, et tout refonctionne à merveille ... jusqu'à la prochaine mise à jour ?!

Actions sur le document