Sushi, huh? descargar paquetes sin conexion a Internet

Temas sobre proyectos de código abierto, su promoción, ayuda y todo lo necesario para mantenerlo trabajando.
Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1908
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Sushi, huh? descargar paquetes sin conexion a Internet

Mensaje por hipersayan_x »

Aca les traigo otra posible solucion al clasico problema:

"Tengo Linux, pero no tengo conexion a Internet, como le instalo programas?"

En este caso se trata de un programa que se encarga automaticamente de la descarga de los paquetes que queremos, trabaja exactamente igual que cualquier otro administrador de paquetes, y al menos en teoria, no hace falta aprender nada nuevo para usarlo.
Sushi, huh? se puede usar tanto bajo linux como Windows, y en cualquier OS que traiga una maquina Python.
Sushi, huh? esta programado en Python y JavaScript, lisenciado bajo GPL 3, y se maneja completamente de forma visual, nada de lineas de comandos.
Hay algunas cositas que todabia estan medio verdes, ni hablar del kilobo de la documentacion en ingles pero bueno, algo es algo.
Actualmente estoy probando sqllite3, para hacer mas rapido la busqueda de las dependencias.
De momento solo soporta Mandriva 2009.0 y no soporta updates y repositorios PLF o de terceros.
La version actual (0.1.0) es Alpha.

Aca el link:

http://sushi-huh.sourceforge.net/

Preguntas, comentarios, sugerencias?

Avatar de Usuario
hmg79
Forista Legendario
Forista Legendario
Mensajes: 2211
Registrado: Lun Mar 31, 2008 8:00 am

Mensaje por hmg79 »

Que verifica las dependencias de las aplicaciones?

Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1908
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: Sushi, huh? descargar paquetes sin conexion a Internet

Mensaje por hipersayan_x »

Si, vos marcas el paquete que queres descargar y automaticamente Sushi, huh? busca todos los paquetes que te hacen falta para poder instalar los que vos queres, ovbiamente tambien los descarga :wink:
Suponete que quieras instalar Blender, junto con Blender descargara Python, pyopengl, pyopenal, etc., en resumen todo lo que haga falta para instalar Blender, en tu computadora.

Avatar de Usuario
tuxman
Forista Distinguido
Forista Distinguido
Mensajes: 1026
Registrado: Lun Feb 26, 2007 8:00 am
Ubicación: Guadalajara, Jalisco. Mexico
Contactar:

Re: Sushi, huh? descargar paquetes sin conexion a Internet

Mensaje por tuxman »

Se ve interesante, aunque mas interesante aun seria el saber como sabe donde detenerse en la búsqueda de dependencias, es decir, como comentas el ejemplo del Blender, digamos, necesita ciertos paquetes, y esos paquetes, puede que necesiten de ciertos paquetes, y así sucesivamente hasta llegar a un nivel hipotético de dependencias que te quiera bajar los paquetes mas básicos del sistema... Aunque, me imagino que tiene alguna opción para determinar los "niveles" de dependencias que uno quiere que resuelva...

Otra cosa que me intriga es de donde obtiene las dependencias? Si le dices que Blender... De donde jala los datos del paquete para saber que ocupa?
Edita los nombres de tus post con "[SOLUCIONADO]" cuando encuentres una solución a tu problema.

Lenovo G470
Intel Core i3 2.1 GHz (2310M)
Chakra Linux.

Avatar de Usuario
mafiax
Forista Nuevo
Forista Nuevo
Mensajes: 34
Registrado: Sab May 08, 2004 7:00 am
Ubicación: /mexico/Guanajuato/Leon

Re: Sushi, huh? descargar paquetes sin conexion a Internet

Mensaje por mafiax »

su gracia consiste en que puedes descargar los paquetes y dependencias desde otro ordenador con acceso a Internet, y ya descargados los puede instalar en tu pc. con todo y sus dependencias.

interesante.

saludos

Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1908
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: Sushi, huh? descargar paquetes sin conexion a Internet

Mensaje por hipersayan_x »

tuxman escribió: Se ve interesante, aunque mas interesante aun seria el saber como sabe donde detenerse en la búsqueda de dependencias, es decir, como comentas el ejemplo del Blender, digamos, necesita ciertos paquetes, y esos paquetes, puede que necesiten de ciertos paquetes, y así sucesivamente hasta llegar a un nivel hipotético de dependencias que te quiera bajar los paquetes mas básicos del sistema...
1) Sabe donde detenerse, a ver si me explico, el algoritmo seria algo asi como:

# Comienzo

Ingreso el paquete que quiero descargar en una lista.

Mientras haya nuevos ingresos en la lista:
----busco dentro del campo requires, las "dependencias" del/los paquetes en la lista.
----Busco que paquete provee las dichosas requires dentro del campo provides de cada packete.

----Si hay paquetes que cumplen con esa condicion:
--------Agrego a la lista los nuevos paquetes.
--------Elimino de los repositiorios los packetes agregados

Descargar todos los packetes en la lista

# Fin

Ojo este algoritmo no esta pulido pero es facil de entender.
Claro esto solo funciona con los paquetes RPM, pero ya estube haciendo algunos experimentos con los paquetes DEB.
tuxman escribió: Aunque, me imagino que tiene alguna opción para determinar los "niveles" de dependencias que uno quiere que resuelva...
2)Nop, no la tiene, porque es Alpha, y si, debes en cuando baja basura, pero bueno, bajar packetes adicianales debes en cuando no hace daño.
tuxman escribió: Otra cosa que me intriga es de donde obtiene las dependencias? Si le dices que Blender... De donde jala los datos del paquete para saber que ocupa?
3) Veamos, primero descargo las listas de mirrors de easyurpmi, tanto los repositorios principales como los de PLF's.
Una vez seleccionado el mirror, descargo el archivo media.cfg, dentro de "mirror"/media, o algo asi, no recuerdo con exactitud la ruta.
Mediante el archivo media.cfg, obtengo las synthesis.hdlist.cz, o sea la lista de los packetes dentro de cada seccion, o sea Main, Contrib, Non-free, y sus respectivos Updates (Actualizaciones).
los synthesis.hdlist.cz contiene informacion de todos los packetes en las secciones y su respectiva informacion aunque a un nivel basico, como por ejemplo summary, provides, requires, filesize, etc..
Y ya con toda esa informacion Sushi, huh? hace magia ^_^.
mafiax escribió: su gracia consiste en que puedes descargar los paquetes y dependencias desde otro ordenador con acceso a Internet, y ya descargados los puede instalar en tu pc. con todo y sus dependencias.

interesante.

saludos
4) Exacto

Avatar de Usuario
dracel
Forista Mayor
Forista Mayor
Mensajes: 634
Registrado: Sab Jun 07, 2008 7:00 am
Ubicación: España/Galicia/Pontevedra/Baiona/Sabaris

Mensaje por dracel »

El programa promete bastante pero creo que si el programa comprobase primero que paquetes hay instalados en el sistema sin internet ya sabria que dependencias tendria que descargar

Es solo una idea. Ni se lo dificil que seria implementarlo ni mantenerlo para futuras versiones pero creo que conseguiria trabajar de una forma mas eficiente
[url=http://www.sindominio.net/ayuda/preguntas-inteligentes]como hacer preguntas inteligentes[/url]
Sean tan amables de poner la etiqueta de (SOLUCIONADO) cuando consigan solucionar su problema

Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1908
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Mensaje por hipersayan_x »

dracel escribió: El programa promete bastante pero creo que si el programa comprobase primero que paquetes hay instalados en el sistema sin internet ya sabria que dependencias tendria que descargar
Si, esa idea la tube desde el principio, pero requiere que descargues el programa lo corras para configurar los repositorios, vuelvas a tu casa, volver a correr el programa para checar los paquetes ya descargados y volver al ciber para descargar los paquetes que vos queres.
O sea habria una incurcion adicional y sin mucho sentido. De todas formas, a mi me a pasado de que Mandriva no ha querido instalar un packete, porque a pesar de ya tener instalada la dependencia que le faltaba aun asi necesitaba el packete de esa dependencia.
dracel escribió: Es solo una idea. Ni se lo dificil que seria implementarlo ni mantenerlo para futuras versiones pero creo que conseguiria trabajar de una forma mas eficiente.
Inplementarlo es muy fasil, mantenerlo en versiones futuras mientras Mandriva no cambie la estructura de su distribucion tambien es facil, pero la idea es que Sushi, huh? tambien funcione, para otras distros, y yo solo uso Mandriva, o sea que esas funcionalidades la van a tener que agregar otros usuarios, yo a lo mucho puedo agregar las bases para expandir las funcionalidades, ademas Sushi, huh? no es lo suficientemente dinamico como para agregar nuevas funcionalidades tipo plug-in y ahora estoy trabajando en eso.
Pero ademas, me parece que seria complicarle la vida al usuario agregarle todabia mas pasos para poder usar el programa, y la idea es que Sushi, huh? haga las cosas de forma automatica como para que cualquier newbie lo pueda entender y usar, mas aun sin siquiera haber leido la documentacion.

Ademas yo soy un descargador compulsivo, y lo primero que quiero hacer cuando llego al cyber es descargar los programas/videos/musica que mas me han llamado la atencion, no quiero volver a mi casa para configurar nada ni para probar si lo que baje funciona.
Quiero que todo sea rapido y sin esfuerzo, y esa es la filosofia de Sushi, huh? 8)

Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1908
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: Sushi, huh? descargar paquetes sin conexion a Internet

Mensaje por hipersayan_x »

Liberada la version 0.2.0 de Sushi, huh?.
Mucho ojo, todabia sigue siendo Alpha.
Lo mejor de esta version es que se ha mejoraro la velocidad para la busqueda
de dependencias, no tarda mas de 5 segundos, para paquetes con muchas
dependencias.
Incluido el soporte para:

- Mostrar una descripcion completa de los paquetes.
- Filtrar solo paquetes con GUI(Interfaz Grafica de Usuario).
- Soporte para repositorios PLF.
- Busqueda de paquetes(no es muy eficiente pero funciona).
- Soporte de pluguins para mas distribuciones(todabia no lo he probado).

Lo malo.

- Mandriva sigue siendo la unica distro soportada.
- Todabia sigue bajando paquetes basura.
- Los repositorios de actualizaciones los toma como repositorios comunes.
- yo probe Sushi, huh? en el Firefox 3, IExplorer 7 y Opera 9.63 en mi casa y
funcionaban de 10, pero en el cyber, el Firefox y el IExplorer se comportaban
de forma erratica. Aparentemente no reconocian correctamente el JavaScript.
- No es compatible con versiones anteriores. No usa el mismo archivo de
configuracion ni la misma distribucion de repositorios.

Vision a futuro

Definitivamente la portabilidad es el punto mas importante a la hora de
desarrollar Sushi, huh?, en un principio decidi usar Python debido a que
existia en la mayoria de las distros de Linux y en el caso de Windows se puede
instalar, y que a su vez no necesitaba instalar nada pero el cambio de version
2.5 a 2.6 me dio la primera alerta, que pasara cuando salga el Python 3K?.
A su vez necesita de la herramienta lzma para descomprimir ciertos archivos, y
no todas las distros la traen.
Habia decidido usar el navegador web para interactuar con el usuario, debido a
que la interfaz grafica no era estandar.

- Python para Windows viene con TKinter.
- Python para Linux viene con GTK.

Pero el problema con los navegadores web terminaron de destrozar la posible
portabilidad del programa.
Asi que ahora voy a comenzar a hacer las pruebas para combertir el programa de
Python a C/C++ y usando GTK+ como GUI. Y rogando que la mayoria de las distros
sean LSB.
Veamos, para mi el soporte de Linux en realidad no me sirve, pues en toda la
provincia no existe ni un solo cyber con Linux, todos usan Windows.
Pero conozco casos de cybers en otros paises(principalmente latinoamericanos),
e incluso otras provincias, que si usan Linux. Por lo tanto, y mientras sea
posible, tambien deberia de dar soporte a estos usuarios.

Avatar de Usuario
akodo
Moderador
Moderador
Mensajes: 1457
Registrado: Mié Nov 28, 2007 8:00 am
Ubicación: En la X del explorer (pulse para llamar)

Re: Sushi, huh? descargar paquetes sin conexion a Internet

Mensaje por akodo »

- Python para Windows viene con TKinter.
- Python para Linux viene con GTK.
Lo que podrías intentar hacer es trabajar en el programa con una interfaz común, y que, depende del sistema operativo que se use, usar una biblioteca u otra.

Creas una clase A que es la que va a utilizar el resto de tu programa para interactuar con la interfaz, poniendo abstractos todos los métodos que vayas a utilizar (add, show...), pero con otro nombre.
A continuación, creas una clase ATKinter, que herede tanto de TKinter como de A, implementando todos los métodos abstractos en base a lo que te proporcione TKinter.
Luego creas la clase AGTK, del mismo modo.
Lo que harías inicialmente sería poner una variable v : A a la que la asignas bien ATKinter o AGTK según el sistema operativo, y a partir de ahí utilizar esa variable.

Realmente A debería ser una interfaz (interface, no gui), pero no sé si python lo soporta.

El gran problema de esto es que creo que deberías hacer eso mismo para todos los widgets (botones, menú...).
Teniendo en cuenta esto, casi resulta mejor que, en vez de heredar de GTK_Button (para hacer el botón), tengas una variable GTK_Button, que usas para implementar los métodos abstractos de la clase A que heredas.
Lo que viene siendo un patrón adaptador y uno estrategia (si no me confundo).

Casi mejor buscar otra solución ¿no?

Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1908
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: Sushi, huh? descargar paquetes sin conexion a Internet

Mensaje por hipersayan_x »

akodo, si esa era una de las posibles soluciones, diseñar una interfaz con Tkinter para Windows, y otra cun GTK+ para Linux, pero lo descarte desde un principio debido a que entonces tendria que diseñar y mantener dos interfaces por separado, aun si las uniese en una sola clase para manejar algo seria un rollazo.
Imaginate que quiera agregar una nueva ventana u opcion de configuracion, tendria que hacerlo con cada interfaz por separado.
Para 2 o 3 personas encargadas del proyecto no habria ningun problema, pero soy solo yo el que lo esta desarrollando (codigo, documentacion y web) :(. Y encima de todo estudiando para los examenes.
Esta release tardo 3 meses, y eso porque pise el acelerador el ultimo mes.

mmm...

Aunque, no se, pues ahora que lo pienso, el tiempo que tardaria en diseñar la doble interfaz en Python seria igual al tiempo que tardaria en convertir todo el codigo a C/C++ :roll:
Ademas lo de la compilacion para varias plataformas es otro rollazo que quiero evitar.

Si, ahora que lo pienso seria una muy buena idea. :D

Muchas tanquius akodo.

Avatar de Usuario
akodo
Moderador
Moderador
Mensajes: 1457
Registrado: Mié Nov 28, 2007 8:00 am
Ubicación: En la X del explorer (pulse para llamar)

Re: Sushi, huh? descargar paquetes sin conexion a Internet

Mensaje por akodo »

La idea de todo esto es que si más a delante te aburres mucho y dices "gtk no me gusta, mejor qt", lo que tienes que hacer es lo mismo que has hecho con gtk, con la ventaja de que el programa principal no va ha cambiar; lo mismo pasa con otras librerías, con lo que la aplicación es más flexible.
De todas formas dudo mucho que tengas que "parchear" toda la librería; supongo que utilizarás unos 6 componentes (botones, cajas...) y de estos implementarás 1/4 de las funciones que traen o incluso menos.

Un saludo y suerte.

Avatar de Usuario
frpa
Forista Nuevo
Forista Nuevo
Mensajes: 1
Registrado: Sab Feb 07, 2009 8:00 am

Re: Sushi, huh? descargar paquetes sin conexion a Internet

Mensaje por frpa »

Tengo la siguiente situacion.

En casa tengo mandriva 2009 con muchos programas que uso. Me gustaria saber como instalar estos programas en la computadora del trabajo.
La razon de ello es que la conexion a internet en el trabajo no es muy buena y me taradaria mucho hacerlo, ademas, como se que en ubuntu se puede hacer quiero saber como hacerlo en mandriva.

Saludos.

Avatar de Usuario
Ayax
Forista Ancestral
Forista Ancestral
Mensajes: 3446
Registrado: Jue Ene 01, 1970 2:00 am
Ubicación: León, Guanajuato; México.
Contactar:

Mensaje por Ayax »

Hola, hipersayan_x:

Interesante proyecto.

Te invito a que lo des a conocer en la sección actualidad, explicando como va. Estoy seguro que tendría mayor difusión:

http://actualidad.espaciolinux.com/publ ... -articulo/

Un saludo.
No hay nada que agradecer. Hago, lo tengo que hacer.
Reglamento del foro | Temas más preguntados | Twitter: @pacorevilla

Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1908
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: Sushi, huh? descargar paquetes sin conexion a Internet

Mensaje por hipersayan_x »

Muchas gracias Ayax :D, recien acabo de publicar la noticia. Me demore un poco porque estoy ocupado con otras cosas y creo que por 1 o 2 semanas mas no voy a poder prestarles atencion a los foros.
De todas formas si tienen alguna pregunta yo mas adelante les respondere.

Responder
  • Temas similares
    Respuestas
    Vistas
    Último mensaje