Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Instalador De Paquetes En Sistemas Debian
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Instalador De Paquetes En Sistemas Debian 
 
¿Quién no ha apoyado sus programas con aplicaciones externas? Que si ps2pdf, que si wkhtmltopdf, que si firefox, etc. etc.
¿Cómo asegurarnos que el sistema tiene instalados los paquetes que necesita nuestro programa?

(Sí ya sé que modificando el .deb y añadiéndolos a las dependencias se puede hacer más limpio, etc. etc., pero a la velocidad que yo envío versiones nuevas a mis clientes, me pasaría el día modificando .debs...)

Hace tiempo hice una rutina que me hacía esa comprobación e instalación en una aplicación, pero cada programa nuevo me tenía que poner a reescribirla etc.
Al final me he cansado de eso y he hecho un formulario genérico para instalar los programas que nuestra aplicación necesite.

Aquí tenéis el código en un ejemplo:
Instalador de paquetes para debian y derivados

El meollo está, es simple en el código del botón Instalar del fMain del ejemplo. Se trata poner en el Tag del formulario instalador una tabla de dos dimensiones con los paquetes que queremos y sus descripciones. Algo así como esto:
DIM f AS NEW instalador
  f.tag = NEW variant[]
  f.tag.add(["sqlite3", "Sqlite3.- Gestor de bases SQLite (Obligatorio)"])
  f.tag.add(["sqliteman", "Sqliteman.- Herramienta para gestionar bases SQLite (optativo) "])
  f.tag.add(["wkhtmltopdf", "wkhtmltopdf.- Herramienta de conversión de ficheros html a .pdf"])
  f.tag.add(["catdoc", "catdoc.- Herramienta de conversión de ficheros .xls"])
  f.showmodal
 


Espero que os sea útil.

Suerte
 




===================
No podemos regresar
 
última edición por shordi el Lunes, 28 Febrero 2011, 19:46; editado 4 veces 
Editado por shordi, Domingo, 27 Febrero 2011, 11:51: Edito para colgarlo con .zip, que chrome aburre con tar.gz
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Instalador De Paquetes En Sistemas Debian 
 
Esto verifica si nuestro sistema tiene instalado los paquetes y si no tiene los que necesita los instala para nustro proyecto gambas??
tendria que agregar un Button para la instalacion en tal caso. Muy interesante
 



 
GNUXDAR - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Instalador De Paquetes En Sistemas Debian 
 
Los verifica y los instala. Tiene un botón guay que dice Instalar y un textArea donde te cuenta cómo le ha ido. Crea un casilla de verificación y una etiqueta de información para cada paquete...
Falta exteriorizar la cadena de instalación, que ahora utiliza dpkg para sistemas debian, de forma que pueda ser utilizado por yum o cualquier otro instalador de otro sistema.
Se podría poner en un fichero de configuración de Settings, de manera que detectase qué distribución se usa y asociase el instalador para cada sistema... Pero yo sólo utilizo Debian y derivados y me da pereza añadir eso. Os lo dejo a quien le interese el asunto.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Instalador De Paquetes En Sistemas Debian 
 
Muchas gracias por compartir esta aplicación, era justo lo que necesitaba, soy super nuevo en gambas y en la programación, he aterrizado de rebote en este mundo y estoy encantado.

Bueno al grano, estoy utilizando la aplicación para aprender, así que digamos que la he destrozado pero espero ir mejorándola xDD estoy aprendiendo muchas cosas muy rápido pero hay muchas más que se me escapan, todos los manuales que encuentro son para personas que ya tienen conocimientos básicos de programación y en mi caso parto de cero...

en fin, que si alguien le quiere pegar un vistazo puede hacerlo aquí https://code.launchpad.net/~edutictac/+junk/esasyinstall

y si lo quiere instalar lo puede hacer desde aquí https://launchpad.net/~edutictac/+archive/utilitats

Por último agradecer encarecidamente a shordi haber compartido la aplicación.

Saludos
 



 
sasogu - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Instalador De Paquetes En Sistemas Debian 
 
De nada, que para eso estamos por aquí, supongo.
De todas formas creo necesario decir que la integración de ese módulo de instalación de paquetes, me trajo más problemas que alegrías. Al final comprendí que era un poco el reinventar la rueda, una rueda que ya estaba hecha y muy bien hecha.
Por tanto, decidí que la mejor manera de asegurarte que un paquete que se necesita para tu programa esté instalado, es agregarlo al .deb como dependencia. Investigando un poquito hice un script que hace ese trabajo.

Lo puedes ver aquí http://foro.gambas-es.org/viewtopic.php?f=5&t=1598

Desde que lo uso no he vuelto a tener ningún problema. Lo que hago es crear un archivo de texto con las dependencias que quiero y siguiendo la sintaxis que describo en el otro hilo, cada vez que genero el paquete, ejecuto el script y todo listo para su distribución.

Por otra parte es cierto que con éste sistema de instalar paquetes, puedes hacer un programa modular a elección del usuario, si quiere tal funcionalidad, instala tal paquete, si no la quiere, no lo instala y listo, cosa que con el script no es posible.
En fin, para gustos los colores.

Suerte
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Instalador De Paquetes En Sistemas Debian 
 
Por cierto sasogu, ¿podrías añadir un enlace a un fichero comprimido con los fuentes?, que bajarlos de uno en uno es un peñazo total.
Gracias.


Edito: Ya lo he encontrado. No te molestes.
 




===================
No podemos regresar
 
última edición por shordi el Viernes, 03 Junio 2011, 09:01; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Instalador De Paquetes En Sistemas Debian 
 
Jejeje, le acabo de echar un ojo.
Mola.
No se me había ocurrido que mi modesto instalador podía dar para tanto...
La potencia del software libre es genial.
Como dijo no sé quién: Camino sobre hombros de gigantes...

Suerte
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Instalador De Paquetes En Sistemas Debian 
 
shordi escribió: [Ver mensaje]
Jejeje, le acabo de echar un ojo.
Mola.
No se me había ocurrido que mi modesto instalador podía dar para tanto...
La potencia del software libre es genial.
Como dijo no sé quién: Camino sobre hombros de gigantes...

Suerte


Me alegra que te guste, me siento alagado   de programar no tengo ni idea pero como soy maestro si sé lo que necesitan las personas que empiezan con linux en los centros...

ya tengo un montón de ideas, ahora necesito saber cómo hacerlas xDD

Seguimos en contacto
 



 
última edición por sasogu el Viernes, 03 Junio 2011, 22:42; editado 1 vez 
sasogu - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Instalador De Paquetes En Sistemas Debian 
 
Hola de nuevo, la aplicación sigue creciendo y ahora quiero implementar una funcion que copie la lista de todas las aplicaciones instaladas en un sistema para instalarlas en otro
 similar

las ordenes en consola son

    dpkg –get-selections > AppsInstaladas.txt

Si queremos reinstalarlos todos de nuevo en Ubuntu el comando sería:

    sudo apt-get install dselect
    sudo dpkg –set-selections < AppsInstaladas.txt
    sudo apt-get -u dselect-upgrade

La parte de conseguir el listado ya la tengo, ahora necesito poder restaurar con los tres últimos comandos, lo estoy intentando así

pr = SHELL "echo " & Clave.Text & " |sudo -S apt-get -y install " & instala FOR READ


funciona perfectamente, pero cuando hago

pr = SHELL "echo " & Clave.Text & " |sudo -S dpkg --set-selections < " & directorio FOR READ


me dice error de contraseña :(( y no lo entiendo porque el código es prácticamente igual sólo cambia apt-get por dpkg... en fin, estoy atascado    alguna idea?

Gracias
 



 
última edición por sasogu el Sabado, 25 Junio 2011, 12:45; editado 1 vez 
sasogu - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Instalador De Paquetes En Sistemas Debian 
 
Sudo te da capacidades de super user durante un tiempo (no recuerdo si diez minutos o así). Si ejecutas otro sudo dentro de ese tiempo no te vuelve a pedir la contraseña. Tal vez al "inyectarle" la contraseña innecesaria no le venga bien....
Habría que ver el código completo. Supongo.
Por cierto, ambiciosa cuestión planteas, aunque totalmente lógica. No se me había ocurrido...
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Utilizacion De Una Aplicacion En Gambas Co... chaskux General 0 Jueves, 12 Noviembre 2009, 22:02 Ver último mensaje
chaskux
No hay nuevos mensajes Instalador De Programa chen_08 General 4 Viernes, 05 Marzo 2010, 14:51 Ver último mensaje
chen_08
No hay nuevos mensajes Generar Instalador anahaga General 9 Domingo, 14 Noviembre 2010, 17:11 Ver último mensaje
tururu
No hay nuevos mensajes Dependencias De Los Paquetes Debian Shell Mundo Linux 8 Domingo, 05 Julio 2020, 08:47 Ver último mensaje
Guizans
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron