Autor Tema: dependencias en ubuntu: ¿porque tan dificil instalar un programa? ¡SOLUCIONADO!  (Leído 6831 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Hola.

he vuelto a tomar el estudio con el linux, la verdad le tengo ganas al software libre de hace rato, pero me he vuelto a tropezar con la misma piedra: instalar una aplicación en linux.

he leído en alguna parte de la red, que linux es por y para la red, pero me niego a creer esto, puesto que siempre hay que considerar el hecho de que no siempre dispondremos de una conexión a internet por x motivos.

teniendo un ordenador con ubuntu conectado a la red, es lo mas fácil del mundo para instalar cualquier programa. uno simplemente abre synaptic, busca el programa en cuestión, selecciona, aplica y listo, el sistema se encarga de todo lo demás.

el problema surge cuando no podemos hacer uso del synaptic. Llevo como 2 semanas luchando para instalar cierto programa relacionado a hacer diagramas de cualquier tipo, he buscado un mágico .deb que tenga todas las dependencias necesarias y no he tenido éxito  :cry:

me he metido en los foros de ubuntu y en cuanto link ha caído en mis manos y explican varios métodos alternativos, como por ejemplo:

1.- revisar la caché de un ubuntu que tenga el programa instalado.
2.- buscar las dependencias a mano en los repositorios oficiales.
3.- programas especializados que te arman una lista con todas las dependencias que necesita la aplicación.
4.- bajarse la recopilación de los repositorios debian en dvd.

el 1 no lo he probado porque no conseguí los archivos que almacenó el synaptic (según el ubuntu tiene configurado por defecto hasta 30 días de almacenamiento de la caché)

el 2 es verdaderamente terrible, porque ojalá fuera el hecho de bajar las dependencias de la aplicación en cuestión, lo cierto es que esas dependencias dependen de otras dependencias y así sucesivamente no se sabe hasta donde crece el árbol en tamaño por sus ramificaciones "dependencieras"...

el 3 también lo probé y no funciona, es mas, hasta es un poco peligroso, porque en mi caso, me ha generado unos .deb que tienen dependencias rotas.

al aplicar reparar dependencias, el synaptic me dice que debo desinstalar ciertas aplicaciones que quedaron mal instaladas, al desinstalar se lleva también otras dependencias que a su vez son necesarias para otras aplicaciones que funcionan perfectamente. Resumen: al siguiente reinicio del ubuntu me ha salido mas que solo la terminal (es decir el sistema se corrompió)  :(

por último queda el 4, que me consta que funciona, los repositorios contienen todas las aplicaciones habidas y por haber con sus respectivas listas enlazadas, de manera que solo hay que añadir el cdrom al synaptic y no hay complique.

el problemilla es que los repositorios son archivos de grandes tamaños. He visto que los de debian son 31 CD´s!!!! se imaginan?! y solo para instalar un programita que no debe llegar ni a 20 MB!!!


acudo a ustedes para ver si alguien tiene conocimiento o alguna forma de lidiar con la instalación en modo offline.

yo tengo la idea que debe haber alguna forma de poder llevar un programa en un pendriver listo para instalarlo en cualquier sistema ubuntu (misma versión)

por lo que he leído no solo están las dependencias de los archivos, sino las actualizaciones propias del ubuntu, de manera que no conozco a ciencia cierta como funciona el sistema de librerias con que trabaja linux.

« Última modificación: 28 de Marzo de 2010, 21:30:13 por PalitroqueZ, Razón: resuelta la pregunta »
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: dependencias en ubuntu: ¿porque tan dificil instalar un programa?
« Respuesta #1 en: 25 de Marzo de 2010, 22:27:45 »
.


Es cierto eso de que los SO GNU/Linux son por y para la red. Es verdaderamente un dolor de cabeza cuando un programa no está en los repositorios y hay que instalarlo a mano (o faltan dependencias, librerías o que se yo, pero siempre algo falta).
Como yo lo veo, si ese programa requiere dependencias y estas requieren otras dependencias, no queda otra que instalarlas todas. Y si no están en los repositorios, buscarlas "a mano".
O buscar otro programa similar que no requiera tanto trabajo para ser instalado  :grin:
Lamento no ser de gran ayuda, pero comparto tus dolencias dependencísticas.
¡Saludos!


When you see a good move, look for a better one (Emanuel Lasker)

Desconectado darck_khronos

  • PIC18
  • ****
  • Mensajes: 493
Re: dependencias en ubuntu: ¿porque tan dificil instalar un programa?
« Respuesta #2 en: 26 de Marzo de 2010, 01:29:42 »
de Ubuntu ya instalaste la aplicacio Alien, si tienes el gz te lo transforma a .deb y te facilitas de muchas cosas, tambien te recomiendo que instales el Tweak

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: dependencias en ubuntu: ¿porque tan dificil instalar un programa?
« Respuesta #3 en: 26 de Marzo de 2010, 12:14:04 »
.


Es cierto eso de que los SO GNU/Linux son por y para la red. Es verdaderamente un dolor de cabeza cuando un programa no está en los repositorios y hay que instalarlo a mano (o faltan dependencias, librerías o que se yo, pero siempre algo falta).
Como yo lo veo, si ese programa requiere dependencias y estas requieren otras dependencias, no queda otra que instalarlas todas. Y si no están en los repositorios, buscarlas "a mano".
O buscar otro programa similar que no requiera tanto trabajo para ser instalado  :grin:
Lamento no ser de gran ayuda, pero comparto tus dolencias dependencísticas.
¡Saludos!


no te preocupes mtristan, gracias por el comentario   :)


de Ubuntu ya instalaste la aplicacio Alien, si tienes el gz te lo transforma a .deb y te facilitas de muchas cosas, tambien te recomiendo que instales el Tweak

voy a probar ese Tweak. Gracias darc.

mientras resuelvo ese detalle, me he instalado el mismo programa bajo win (para usarlos estos días que me hace falta)



La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: dependencias en ubuntu: ¿porque tan dificil instalar un programa?
« Respuesta #4 en: 28 de Marzo de 2010, 21:29:13 »
...
mientras resuelvo ese detalle...

me causa mucha alegría decirles que ya no mas hablar en presente, ahora puedo darme el gusto de decir "ya resolví el problema"  :-/

el problema de instalar programas offline.

¿se acuerdan del punto 3?, yo había experimentado con unas aplicaciones que arman las listas, sin éxito,  pero hoy he probado otro programa llamado wapt-get es como el equivalente de apt-get pero bajo windows.

http://code.google.com/p/wapt-get/

el wapt-get al igual que su compañero, es un sistema de gestión de instalación de paquetes debian, la función a la que compete es que hace una función muy similar a synaptic a la hora de buscar programas en los repositorios.

el objetivo que yo buscaba era el siguiente:

- conseguir una forma de bajar programas para ubuntu en otros ordenadores, para luego instalarlos en ubuntu´s fuera de línea.

- dichos programas debían ser descargados con todas sus dependencias, de manera que no saltaran errores al realizar la instalación posterior.

- estos repositorios "locales" se podrian ir actualizando e incrementando con el tiempo.

¡bien! justamente programas como el wapt-get hacen justamente eso.



con wapt-get mediante una configuración (distribución, versión, arquitectura), es posible acceder a los repositorios oficiales y realizar búsquedas y descargas de las listas de programas disponibles.

luego dichos paquetes se alojan en una carpeta con el nombre del programa solicitado.

una vez copiado esa carpeta en el ordenador destino, se procede a realizar la instalación mediante

Código: DOS
  1. sudo dpkg -i --force-depends *.deb

esta sentencia es efectiva, pero la tomo como última alternativa ya que fuerza la instalación de paquetes que ya existan, sería una redundancia en muchas ocasiones.

verán, lo que he averiguado hasta ahora, es que cada programa, necesita de una serie de librerías conocidas como dependencias (en windows serían las DLL).

cada programa disponible en los repositorios contiene su conjunto de dependencias, pero no quiere decir que sean dependencias distintas, estas a su vez son las mismas para varios programas.

para evitar perder tiempo sobrescribiendo dependencias, he conseguido otro programilla bastante útil llamado APTonCD

http://aptoncd.sourceforge.net/

con aptoncd, podemos tomar esas carpetas con los paquetes descargados por wapt-get y crear imagenes .iso

con aptoncd no solo se trata de crear .iso, sirve también para hacer tareas de respaldo de paquetes instalados en ubuntu, y hacer una lista en las imágenes .iso que sea reconocidas por synaptic cuando se monte el iso grabado (cd-dvd)

he instalado con éxito 4 programas en 2 ordenadores ubuntu (recién instalados) sin conexión a internet  con un cd creado a partir de wapt-get+aptoncd.

lo mejor de todo es que se puede mantener la carpetica de wapt-get y cargarla en pendriver para buscar y descargar un programa en el futuro y luego actualizar nuestra iso hasta tener nuestro propio repositorio personalizado.

¡que tal!!!

 :mrgreen:



La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Joya, había leído algo acerca de AptOnCD pero no tuve tiempo de probarlo. Recién estoy empezando a probar Kubuntu y lo estoy haciendo sobre una máquina virtual (VMWare) para sacarme todas las dudas y luego hacer una buena instalación definitiva.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
si angel, te recomiendo que le des un vistazo al aptoncd.

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
sigo mirandole las bondades al wapt-get (lastima que su evolución está detenida).

por ejemplo, te genera la lista de archivos relacionado al programa que busques



mirando en el txt generado:




luego, abres el txt generado, copias la lista de links de los archivos y puedes usar cualquier gestor de
descargas para automatizar las bajadas.




La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Evidentemente es un programa muy útil
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
bueno, creo que he llegado al llegadero con este asunto de los paquetes, dependencias, instalaciones del cual he estado dándole la vuelta durante estos días.

a la final, he reducido a 3 formas posibles de instalar programas en ubuntu en modo offline.


1.- creando repositorios locales, mediante la combinación wapt-get + dpkg-scanpackages + synaptic


2.- creando repositorios en cd/dvd, mediante la combinación wapt-get + aptoncd + synaptic


3.- instalando aplicaciones individuales, mediante la combinación  wapt-get + dpkg



la opción 1 es mi predilecta, porque quiere decir que me hago independiente de las lectoras de CD/DVD, en mi experiencia debo decir que un puerto usb dura mucho mas tiempo que una lectora de cd, además que los pendriver son mas accesibles y económicos (desde el punto de vista de andar quemando cd a cada rato.)

el ingrediente principal para todos las opciones es tener los .deb bajados en una carpeta, ya sea en forma individual o juntar todos los archivos.

el asunto radica en como instalar esos paquetes de una forma segura, no tan complicada y lo mas rápido posible.

bien, en 1, debemos copiar nuestra carpeta descargada a una ruta de elección en el ubuntu destino.

los .deb contenidos en el directorio copiado andan a la deriva, y comandos como apt no conocen ni relacionan quien es de quien, se necesita de un índice o lista de contenidos .deb para poder realizar una instalación desde el synaptic (que no es otra cosa que el comando apt en un entorno gráfico).

precisamente existe otro comando que hace la lista, se llama dpkg-scanpackages y mediante esta sentencia en el terminal:

Código: DOS
  1. cd ruta_directorio_.deb dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz



crearemos el archivo Packages.gz que es leído y reconocido por synaptic.





finalmente debemos decirle al synaptic donde buscar. Para ello debemos añadir un repositorio local.

en URI colocar:
"file:/home/pedro/repositorio_local"
distribucion== "./"



al recargar el synaptic, nos aparecerá los nuevos programas listos para instalar de forma gráfica.


la opción 2, es muy similar a la opción 1 pero mas fácil, ya que al tener el directorio con los .deb, debemos llamar al aptoncd e introducirle la ruta, luego él se encarga de todo, los indices, las dependencias redundantes hasta la generación del .iso para quemar el cd/dvd.

está opción es útil cuando se quiere respaldar o tenemos una gran cantidad de software, donde el uso de un cd/dvd tiene mas sentido que un pendriver.

la opción 3 es el último recurso, como lo había mencionado en posts anteriores es un método rudimentario aunque efectivo ya que es la forma mas cruda de instalar programas. de hecho el dpkg-scanpackages debe ser instalado por esta vía ya que no viene instalado en el ubuntu (al menos yo no la conseguí) junto con el aptoncd antes de proseguir con los repositorios locales.

se puede incluso seguir los pasos de la opción 1, pero en este caso, sería repositorios de una sola aplicación. no habría problemas, es igual de válido.

la única desventaja es que quita un poquito mas de tiempo ya que se debe instalar todos los .deb del directorio

Código: DOS
  1. sudo dpkg -i *.deb

claro, si ya existen dependencias en el sistema, obviamente se instalarán de nuevo (no representa problemas).

cosa que el synaptic ya reconoce (obvia las redundancias).

unos snapshots del proceso explicado:








he aquí unos programas instalados siguiendo los procedimientos descritos:

el gambas (entorno de programación basic):




el kompozer (entorno de diseño web):



el sdcc (compilador de c para microcontroladores):




hay otros como el gpaint, el reproductor vlc. todos han sido exitosamente instalado y ejecutan correctamente.



« Última modificación: 29 de Marzo de 2010, 20:34:51 por PalitroqueZ »
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
.


Muy interesantes las conclusiones. Realmente nunca se me había ocurrido hacer copias de respaldo para mis paquetes instalados, y solo conocía el aptoncd para esto. Muy agradecido con las explicaciones  :smiley:
¿El wapt-get y el apt-get son lo mismo pero para distintos SO? Sería una pena tener que acudir a Windows para lograr manejar exitosamente los paquetes de Ubuntu  :undecided:


When you see a good move, look for a better one (Emanuel Lasker)

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
jeje si te entiendo mtristan, son 2 casos opuestos pero con validez.

en mi caso que veo mas oportunidades de conseguir una maquina bajo win con acceso a internet, entonces por eso me aboqué a esa parte.

pero si es posible hacerlo de linux a linux, no los he probado, pero los he leído de varios sitios.

1.- con aptoncd puedes hacer respaldos de programas en ubuntu.

2.- usando el comando apt-get de la siguiente forma:

Código: DOS
  1. sudo apt-get -d paquete

según aquí, descargaría un paquete con sus dependencias (sin instalarlo).

3.- hay otro programilla parecido al wapt-get, se llama Keryx

http://keryxproject.org/?lang=es

está bastante mas elaborado que el wapt-get, tiene una interfaz GUI, posee ficheros ejecutables tanto para win como para linux, pero a mi no me ha funcionado hasta ahora (o por lo menos no he logrado hacerlo funcionar correctamente).


incluso desde el mismo synaptic puedes descargar paquetes.

« Última modificación: 29 de Marzo de 2010, 22:26:00 por PalitroqueZ »
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado IAO

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 702
Hola...


Que más Pedro... lo que escribes esta burda de interesante y fino....

-

Te comento que hago yo....
Instalo todas las actualizaciones y programas que requiero de Debian conectado a internet...
Luego me voy al directorio de linux /var/chache/apt/archives/ y allí tengo todos los programas que instalé,
esto funciona solo para los: debian, ubuntu, kubuntu etc...

Luego me copio todo esos .deb a un dvd... y los tengo para cuando los necesite......


Saludos espero también te sirva ese dato.... sino lo sabias....
"No hay caminos para lograr la PAZ. La PAZ es el camino"... (Mahatma Gandhi).
Mentes Superiores discuten Ideas, Proyectos. Mentes Promedio discuten Acontecimientos y Sucesos. Mentes Pobres discuten sobre Personas.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
hola Ruben. ¿como has estado?

había leído algo por allí pero no lo tenía claro.

gracias.





La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek