#! /usr/bin/env python
import commands
### Encontrar fuentes
def RpmSource(archivo_rpm):
c=0
rpms=[]
source=commands.getstatusoutput("/usr/bin/urpmq --source " + str(archivo_rpm[:-1]) + " > /tmp/urpmrei_fuentes")
opciones=open('/tmp/urpmrei_fuentes','r')
for lines in opciones:
c=c+1
rpms.append(lines[:-1])
print str(c) + ". " + str(lines)
op=input("Escribe el numero de la fuente que desees intalar: ")
return (rpms[op-1])
###
### Instalar
def RpmInstall(rpm_install):
reinstall=commands.getstatusoutput('rpm --force --nodeps -v -i '+ rpm_install)
return (reinstall)
###
### Getme
def GetRpm(rpm_get):
print commands.getstatusoutput('wget ' + rpm_get + ' -P /var/cache/urpmi/rpms/')
rpm_name=commands.getstatusoutput("rpm -q --queryformat '%{name}%{version}.%{release}.%{arch}.rpm' " + rpm_get)
reinstall=commands.getstatusoutput('rpm --force --nodeps -v -i /var/cache/urpmi/rpms/'+ rpm_name[1])
return(reinstall)
###
commands.getstatusoutput('rm -f /tmp/urpmrei_list')
commands.getstatusoutput('rm -f /tmp/urpmrei_source')
print "Generando lista de rpms instalados"
commands.getoutput('rpm -qa > /tmp/urpmrei_list')
counter=0
list=open('/tmp/urpmrei_list','r')
for line in list:
counter=counter+1
print str(counter)+ ". " + line
list.close()
rpm = raw_input("Escribe en numero del rpm que deseas reinstalar: ")
counter=0
list=open('/tmp/urpmrei_list','r')
for line in list:
counter=counter+1
if (counter==int(rpm)):
print line[:-1]
installme=RpmSource(line)
print installme
if installme[:1] == "/":
RpmInstall(installme)
if installme[:4] == "file":
RpmInstall(installme[6:])
if (installme[:3] == "ftp" or installme[:4] == "http"):
GetRpm(installme)
list.close()
2006/12/06
urpmrei.py BETA 1: Reinstalador de archivos rpms para Mandriva
Suscribirse a:
Enviar comentarios (Atom)
2 comentarios:
Drakedalfa, discúlpame pero ¿para que nos podría valer este programa?.
Lo primero que voy ha hacer es copiarlo y luego ¿que extensión le pongo?. ¿lo tengo que mover algún lado?. Podrías darnos algo mas de información.....
Bernardino: Pues el objetivo es que se puedan reinstalar los rpms, en blogdrake lei que pedian eso y pues como un ejercicio de programacion me di a la tarea de hacerlo para mas info revisa mi blog en blogdrake aqui solo lo pegue como backup.
La extension del archivo debe ser .py
Publicar un comentario