[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Dudas generales acerca de progracion en linux.



El Martes, 12 de abril de 2016 23:41:51 Ala de Dragón escribió:
> >(...)
> 
> Hola :D
> Os contesto un poco a todos, mil gracias por vuestros aportes. Quien
> me conoce sabe que investigare cada uno de ellos.
> 
> La idea es por ejemplo, no tener que recompilar mi juego favorito cada
> vez que actualizo debian, el cliente standar resulta que no se puede
> compilar mas alla de debian 7 (pero el desarrollador del juego
> proporciona un binario que corre sobre cualquier chisme que tenga
> linux, openGL y aceleracion 3D)
> 
> Igual me ocurre con otros tantos programas que tenia compilados.
> 
> Son programas sencillos corriendo en un entorno domestico, no creo que
> mi computadora domestica sea muy segura hoy en dia, si la tarea es
> firmar digitalmente codigo fuente.
> Pero considero que para leer esta lista, almacenar mis fotos, y
> echarme unas partidas es mas que suficiente.
> El volumen de la aplicacion no me importa si ocupa 2 megas o 20 gigas
> disco duro me sobra.
> 
> La cuestion que me surge tras leeros es que si se puede hacer un
> chroot para compilar en deb7 para deb8, ¿se puede hacer un chroot
> sobre mi vieja particion de deb7 y correr alli mis viejas aplicaciones
> desde deb8/9.....?
> 

Yo tenía entornos de desarrollo en chroot, para no 'ensuciar' mi distribución 
principal con librerias y demás herramientas. Es perfectamente posible 
utilizarlos como tu pretendes.

Hoy en día, no obstante, personalmente considero mas cómodo lxc. Es muy fácil 
de utilizar, y tiene plantillas predefinidas para instalar con un solo comando 
la distribución Debian que quieras, así como otras muchas.

Si lo que pretendes es ejecutar programas sueltos, te recomiendo chroot. Si lo 
que quieres es emular lo mas fielmente posible un sistema completo, con sus 
demonios al inicio y demás cosas, lxc es lo tuyo.

En cualquier caso, son necesarios ciertos pasos adicionales, como permitir 
conexiones X remotas por TCP para poder utilizar el sistema gráfico.

Lo único de lo que no estoy seguro es de que puedas ejecutar juegos. No se si 
la aceleración openGL funciona sobre TCP, sin memória compartida.

Como último recursos, podrias intentar virtualizar; no se como anda el tema de 
la aceleración gráfica sobre entornos virtualizados. Échale un ojo a 
VirtualBox, Xen, o QEMU.

Una pregunta tonta. ¿ Has intentado copiar el programa que quieres utilizar en 
/usr/local/bin y ejecutarlo ? ¿ Porqué no funciona ? ¿ Que fallos da ?

Si el programa que quieres ejecutar está en paquete .deb, puedes extraerlo 'a 
mano' bajo /usr/local y mediante enlaces hacer que funcione, instalando los 
paquetes que necesite, pasando por alto todo lo que el paquete diga que 
necesita.

Un ejemplo: en mi servidor casero, tengo instalado cierto paquete privativo 
que depende de libc6-i386. Sin embargo, en mi sistema, no hay instalado ningún 
paquete de esta arquitectura.

El paquete en cuestión, para soportar ciertos modelos de servidor, require 
ciertas utilidades que solo están disponibles para i386. Comprobe las 
dependencias del binario en cuestión con ldd, y resulta que lo que yo uso no 
requiere de esas dependencias. Sencillamente copié el binario en 
/usr/local/bin, y desinstalé el paquete y sus dependencias.

Resultado: el binario funciona, y no tengo paquetes i386 instalados.

Contras: el binario no se actualiza a nuevas versiones de forma automática; es 
decir, pierdo la ventaja de los paquetes. De todas formas, hace mas de 2 años 
que no se actualiza en su página original ...

>
> En caso contrario lo mas parecido seria utilizar los programas y
> libreiras que utiliza la version 7. Voy a husmear dlopen a ver que es.
> 

dlopen es la función de biblioteca que carga librerías dinámicas. Para usarla 
hay que modificar el código fuente de los programas, que creo que no es lo que 
estás buscando. Hay que modificar MUCHO los programas.

Ya nos contarás.


Reply to: