[supprimé]
Bonjour,
Tous mes outils de téléchargement et mises à jour sont plantés
yum, smart, up2date, et ajouter/supprimer des applications !!!
J'ai mis à jour libselinux, puis smart avec yum
Je voulais poursuivre qq mises à jour, mais je n'en ai pas eu la possibilité, plantage total de tous les outils.
Voilà ce que ça me renvoie:
[root@localhost christian]# yum update up2date
Traceback (most recent call last):
File "/usr/bin/yum", line 6, in ?
import yummain
File "/usr/share/yum-cli/yummain.py", line 23, in ?
import yum
File "__init__.py", line 21, in ?
ImportError: No module named rpm
[root@localhost christian]#
Comment faire pour s'en sortir ?
kiki
Bonsoir
as tu arrêté ta machine comme un bourrin :hammer: j'ai déjà eu ce problème à cause d'un redémarrage intempestif...
J'avais redémarré et ça avait marché.
Mais ce que tu peux faire, avec les rpm, je ne connais pas la fonction mais sous debian, tu as la possibilité de reconfigurer les paquets, tu pourrais regarder dans le man rpm pour voir si tu as pas une options qui pourrait arranger ça
radofe
Bonjour,
Non, je n'ai pas arrêté ma ma machine de manière intempestive.
J'ajoute que l'icône up2date ne s'affiche plus et au démarrage, le carré bleu Fédora reste affiché lorsque je lance thunderbird par exemple, je dois cliquer dessus pour le faire disparaître.
D'autre part, hier au moment où j'opérais les mises à jour, j'ai remarqué que up2date signalait une nouvelle version de lui-même et en alerte conseillait sa mise à jour avant de procéder à tout autre.
Ce que je tentais de faire (avec yum), mais en vain....
radofe
Suite
Voilà ce que contient /usr/bin/yum :
#!/usr/bin/python
import sys
sys.path.insert(0, '/usr/share/yum-cli')
try:
import yummain
yummain.main(sys.argv[1:])
except KeyboardInterrupt, e:
print >> sys.stderr, "nnExiting on user cancel."
sys.exit(1)
et ce que contient /usr/share/yum-cli/yummain.py
#!/usr/bin/python -t
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Copyright 2004 Duke University
import os
import sys
import locale
import time # test purposes only
import yum
import yum.Errors as Errors
import cli
from i18n import _
def main(args):
"""This does all the real work"""
locale.setlocale(locale.LC_ALL, '')
# our core object for the cli
base = cli.YumBaseCli()
if len(args) < 1:
base.usage()
def unlock():
try:
base.closeRpmDB()
base.doUnlock('/var/run/yum.pid')
except Errors.LockError, e:
sys.exit(200)
# do our cli parsing and config file setup
# also sanity check the things being passed on the cli
try:
base.getOptionsConfig(args)
except Errors.YumBaseError, e:
result = 1
resultmsgs = [str(e)]
for msg in resultmsgs:
print >> sys.stderr, msg
sys.exit(1)
try:
base.doLock('/var/run/yum.pid')
except Errors.LockError, e:
base.errorlog(0,'%s' % e.msg)
sys.exit(200)
# build up an idea of what we're supposed to do
try:
result, resultmsgs = base.doCommands()
except Errors, e:
result = 1
resultmsgs = [str(e)]
except KeyboardInterrupt, e:
base.errorlog(0, 'nnExiting on user cancel')
unlock()
sys.exit(1)
except IOError, e:
if e.errno == 32:
base.errorlog(0, 'nnExiting on Broken Pipe')
unlock()
sys.exit(1)
if result not in [0, 1, 2, 100]:
base.errorlog(0, 'Unknown Error(s): Exit Code: %d:' % result)
for msg in resultmsgs:
base.errorlog(0, msg)
unlock()
sys.exit(3)
if result == 100:
unlock()
sys.exit(100)
elif result == 0:
for msg in resultmsgs:
base.log(2, '%s' % msg)
unlock()
sys.exit(0)
elif result == 1:
for msg in resultmsgs:
base.errorlog(0, 'Error: %s' % msg)
unlock()
sys.exit(1)
# Depsolve stage
base.log(2, 'Resolving Dependencies')
base.log(3, time.time())
try:
(result, resultmsgs) = base.buildTransaction()
except Errors.YumBaseError, e:
result = 1
resultmsgs = [str(e)]
except KeyboardInterrupt, e:
base.errorlog(0, 'nnExiting on user cancel')
unlock()
sys.exit(1)
except IOError, e:
if e.errno == 32:
base.errorlog(0, 'nnExiting on Broken Pipe')
unlock()
sys.exit(1)
if result not in [0, 1, 2]:
base.errorlog(0, 'Unknown Error(s): Exit Code: %d:' % result)
for msg in resultmsgs:
base.errorlog(0, msg)
unlock()
sys.exit(3)
if result == 0:
unlock()
sys.exit(0)
elif result == 1:
for msg in resultmsgs:
base.errorlog(0, 'Error: %s' % msg)
unlock()
sys.exit(1)
base.log(2, 'nDependencies Resolved')
base.log(3, time.time())
#run post-depresolve script here
#run pre-trans script here
# run the transaction
try:
base.doTransaction()
except Errors.YumBaseError, e:
base.errorlog(0, '%s' % e)
unlock()
sys.exit(1)
except KeyboardInterrupt, e:
base.errorlog(0, 'nnExiting on user cancel')
unlock()
sys.exit(1)
except IOError, e:
if e.errno == 32:
base.errorlog(0, 'nnExiting on Broken Pipe')
unlock()
sys.exit(1)
# run post-trans script here
# things ran correctly
# run a report function base.whatwedid() 🙂
base.log(2, 'Complete!')
unlock()
sys.exit(0)
if __name__ == "__main__":
try:
main(sys.argv[1:])
except KeyboardInterrupt, e:
print >> sys.stderr, "nnExiting on user cancel."
sys.exit(1)
Si qqu'un peut y découvrir qq chose, perso je suis trop débutant pour m'en sortir.
AjMaster
J'ai eu un probleme similaire pas plus tard qu'hier. En fait lors de la mise à jour, des librairies python ont sauté.
Dans ton cas il te manque la librairie rpm (rpm-python-4.3.2-21.i386.rpm)
que tu peut trouver ici
http://download.fedora.redhat.com/pub/fedora/linux/core/3/i386/os/Fedora/RPMS/rpm-python-4.3.2-21.i386.rpm
une fois télécharger tu fais un "rpm -ivh rpm-python-4.3.2-21.i386.rpm" et tous devrait rentrer dans l'ordre si d'autre librairie n'ont pas disparu.
radofe
Salut AjMaster, j'ai fait ce que tu m'as dit, voilà ce que ça donne :
[root@localhost christian]# cd /home/christian
[root@localhost christian]# rpm -ivh rpm-python-4.3.2-21.i386.rpm
erreur: Dépendances requises:
rpm = 4.3.2-21 est nécessaire pour rpm-python-4.3.2-21.i386
[root@localhost christian]#
C'est quoi exactement ce qui est requis, je ne sais pas encore décoder les infos. Merci pour ton aide.
valhalla
Salut!!
Tu dois avoir la meme version pour rpm et pour les librairies python! C'est a dire que si tu essayes d'installer rpm-python-4.3.2-21, il te faut une version de rpm = 4.3.2-21.
Pour connaitre ta version de rpm, fait: rpm -q rpm
Ensuite telecharge la bonne version de rpm-python (par exemple sur rpm.pbone.net)
A+
radofe
suite
[christian@localhost ~]$ rpm -q rpm
rpm-4.3.3-8_40.rhfc3.at
[christian@localhost ~]$ rpm -q rpm-python
le paquetage rpm-python n'est pas installé
[christian@localhost ~]$
Que faut-il taper exactement pour connaître la version de la librairie ? Si j'ai bien compris, c'est cela qu'il faut rechercher ?
radofe
suite
[christian@localhost ~]$ rpm -q python
python-2.3.4-11
[christian@localhost ~]
kiki
bonjour
comme te l'a dit Valhalla, il te faut installer les paquets rpm-python et rpm.
Tu vas donc sur freshrpm.net ou un autre, et tu télécharges la version:
rpm = 4.3.2-21.
et
rpm-python = rpm-python-4.3.2-21.i386.rpm
C'est normal, tu ne peux pas installer une libairie python-rpm d'un numéro donné si tu n'as pas la libraire rpm déjà installé auparavant.
radofe a écrit:
[christian@localhost ~]$ rpm -q python
python-2.3.4-11
[christian@localhost ~]
Là, tu connais la version de python, et non pas la version de rpm ni de rpm-python installé
radofe
Tu vas donc sur freshrpm.net ou un autre, et tu télécharges la version:
rpm = 4.3.2-21.
Il a un nom bizarre celui-la, je ne sais pas le trouver.
L'autre (rpm-python-4.3.2-21.i386.rpm), c'est ok je l'ai.
kiki
tu dois chercher le paquet rpm qui a la version 4.3.2-21, c'es t tout simplement ça 🙂
par exemple celui-ci
http://rpm.pbone.net/index.php3/stat/4/idpl/1535065/com/rpm-4.3.2-21.i386.rpm.html
radofe
[root@localhost logiciels]# rpm -ivh rpm-4.3.2-21.i386.rpm
Préparation... ########################################### [100%]
le paquetage rpm-4.3.3-8_40.rhfc3.at (plus récent que rpm-4.3.2-21) est déjà installé
conflit avec .....etc toute une liste de trucs.
Alors, il faut le rpm :
rpm-python-4.3.3-8_40.i386.rpm
C'est bien cela ???
kiki
radofe a écrit:
[root@localhost logiciels]# rpm -ivh rpm-4.3.2-21.i386.rpm
Préparation... ########################################### [100%]
le paquetage rpm-4.3.3-8_40.rhfc3.at (plus récent que rpm-4.3.2-21) est déjà installé
conflit avec .....etc toute une liste de trucs.
Alors, il faut le rpm :
rpm-python-4.3.3-8_40.i386.rpm
C'est bien cela ???
tout d'abord, il te dit que le paquet rpm que tu as est plus récent que celui que tu veux installer, donc il ne sert à rien. Or comme il est installé tu dois pouvoir installer rpm-python...
et après j'espère que ça marchera pour toi
AjMaster
valhalla
Zetes fous les gens de vouloir mettre a jour rpm comme ca!! C'est un coup a se retrouver en mode rescue pour reinstaller rpm... Faut pas toucher à la version de rpm mais à rpm-python!!
donc tu trouves rpm-python qui correspond à ta version actuelle de rpm, mais en aucun cas tu touches à rpm!!
Le lien t'es donné au dessus par AJMaster. Sinon tu peux prendre celui que tu as sur tes cd d'install et tu seras sur que c'est ceux qui correspondent a ton rpm...
A+
radofe
Re-suite
Voilà ce que ça renvoie :
[root@localhost logiciels]# rpm -ivh rpm-python-4.3.3-8_40.rhfc3.at.i386.rpm
attention: rpm-python-4.3.3-8_40.rhfc3.at.i386.rpm: signature V3 DSA: NOKEY, key ID 66534c2b
erreur: Dépendances requises:
python(abi) = 2.3 est nécessaire pour rpm-python-4.3.3-8_40.rhfc3.at.i386
[root@localhost logiciels]#
Questions :
Je cherche python(abi) ou abi en version 2.3 ???
Et la mise en garde Attention...etc, que faut-il en faire ?
radofe
Re-
ça m'embête mais je ne sais pas trouver la dépendance python(abi)=2.3
Comment faîtes-vous pour rechercher ces trucs ?
Si je tape :
python(abi) ou bien abi
dans la fenêtre de recherche du site machin (j'ai oublié le nom), ça ne me donne pas de réponse.
radofe
Si, si ok
j'ai trouvé cela :
pythonabi-2.3.4-1.rhfc3.at.i386.rpm
pythonabi-3.3.4-1.rhfc3.at.i386.rpm
Lequel prendre ?? Le plus récent peut-être (le 3.3.4-1) ?
valhalla
Suffit de lire les messages qu'on te donne 😉
"python(abi) = 2.3 est nécessaire pour rpm-python-4.3.3-8_40.rhfc3.at.i386"
et non pas
python(abi) >= 2.3
Il veut une version 2.3!
Encore une fois si tu ne veux pas de pb de compatibilité, prend les packages qui se trouvent sur tes cd/dvd.
A+