Tag: RedHat

Plus je bosse avec RedHat, plus je préfère Ubuntu/Debian...

15 décembre 2009 par Horacio Gonzalez
LiB et Ubuntu

Étant un fervant utilisateur d'Ubuntu depuis des années, je me sens beaucoup plus à l'aise sur des distributions de type Debian que sur celles basées sur RedHat. Cependant il m'arrive relativement souvent (surtout ces derniers temps) de devoir m'occuper de serveurs RedHat-like, et à chaque fois je constate encore une fois que je préfère la façon Debian d'administrer le système.

A titre d'exemple, voyons le dernier problème auquel je me suis confronté ce matin. L'opération était de la pure routine, je voulais installer un nouveau paquet sur un serveur. Mais lorsque je lance mon yum install, je me suis heurté à un beau message d'erreur pas explicite de tout :

Loaded plugins: kernel-module error: no dbpath has been set error: cannot open Packages database in /%{_dbpath} Traceback (most recent call last): File "/usr/bin/yum", line 29, in ? yummain.user_main(sys.argv[1:], exit_code=True) File "/usr/share/yum-cli/yummain.py", line 229, in user_main errcode = main(args) File "/usr/share/yum-cli/yummain.py", line 84, in main base.getOptionsConfig(args) File "/usr/share/yum-cli/cli.py", line 184, in getOptionsConfig enabled_plugins=self.optparser._splitArg(opts.enableplugins)) File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 191, in _getConfig self._conf = config.readMainConfig(startupconf) File "/usr/lib/python2.4/site-packages/yum/config.py", line 754, in readMainConfig yumvars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg) File "/usr/lib/python2.4/site-packages/yum/config.py", line 824, in _getsysver idx = ts.dbMatch('provides', distroverpkg) TypeError: rpmdb open failed

J'ai essayé d'abord la solution classique aux problèmes yum, un bon vieux yum clean all, mais cela n'a rien fait. Les premières recherches sur le net suggéraient que le problème venait de ma base de données des RPM en local, qui serait corrompue, mais la solution proposée ne marchait pas :

rm -rf /var/lib/rpm/__db.00* rpm --rebuilddb yum clean all yum update

Après quelques recherches de plus, j'ai fini par trouver une solution qui marche :

rm /dev/urandom mknod -m 644 /dev/urandom c 1 9

Et oui, ça marche... mais je ne sais pas pourquoi. Ce qui m'ennuie est donc le côté "magique" de la solution, je n'ai trouvé aucune explication du pourquoi du comment. Ca marche, mais personne ne semble savoir pourquoi, ni d'où vient l'erreur. Et j'ai du mal à comprendre qu'est-ce que [/dev/urandom](http://en.wikipedia.org/wiki//dev/random), un pseudo-fichier pour génération de nombres aléatoires, a à voir avec des problèmes de yum.

Définitivement, je préfère mon Ubuntu...