[Ayuda] Re: [Ayuda] Re: [Ayuda] Re: [Ayuda] Re: [Ayuda] Re: Nuevo en Linux - ¿que es mejorLinux o Wi ndo

Sandino Araico Sánchez sandino en sandino.net
Dom Ene 15 19:39:44 CST 2006


Octavio Ruiz (Ta^3) wrote:

>Ivan Caballero Cano, who happens to be smarter than you, thinks:
>  
>
>>Pues es que desgracidamente ese "mugroso programa" con problemas de dependencias se puede llegar a convertir realmente en una pesadilla.
>>Los linuxeros no me dejaran mentir, en ocaciones instalar esas dependencias representa un problema complicado.
>>Existen miles de lista de correos y foros donde mucha gente expresa que tiene problemas para instalar dependencias.
>>Tampoco quieras llamarme tonto por que no se instalar dependencias, en muchas ocaciones no basta con instalarlas y listo. y tu lo sabes
>>tampoco no te la jales.
>>    
>>
>
>Quejate particularmente de tu sabor de Linux, no del núcleo o
>particularmente de Linux. Me pregunto a mi mismo, ¿desde hace
>cuanto tiempo no tengo problemas con resolución de dependencias?
>Muchísimo tiempo. ¿Hace cuanto que no uso una distribución basada en RPM?
>Posiblemente esa sea la respuesta a la primera pregunta.
>  
>
Una distribución basada en rpm es la consecuencia de una distribución 
basada en src.rpm.

Linux es muy distinto a los sistemas operativos comerciales en cuanto a 
que no hay un control a nivel binario de las librerías que deben estar 
instaladas y los símbolos que exportan esas librerías; en ese aspecto 
Linux es exageradamente heterogéneo y de ahí surge el problema de que 
cuando quieres instalar algún paquete externo a tu distribución tengas 
problemas de dependencias no resueltas.... Pero eso es por querer 
trabajar con Linux de la misma manera que con cualquier sistema 
operativo comercial con control de binarios. Linux es distinto.

En Linux no puedes tener control de paquetes a nivel binario porque 
Linux es muy heterogéneo, pero una historia muy distinta sucede con el 
control de paquetes a nivel de código fuente que es lo que permite la 
existencia de distribuciones tan mutantes como Gentoo pero no se limita 
a distribuciones basadas en ebuilds; el mismo principio ha sido aplicado 
a distribuciones basadas en rpm durante muchos años pero sólamente 
algunos pocos iniciados practican esas artes.

La receta es la siguiente:
1. Si tu paquete externo está disponible sólamente en binario y no hay 
otra cosa pues ya te chingaste, te queda esperar que tanto tu paquete 
como tu distribución sean "LSB compliant" y sepan convivir en paz....
    1.1 Si te salen solicitudes de dependencias los Linux modernos ya 
tienen herramientas para resolverlas e instalar todos los paquetes que 
necesitas (apt-get (Debian), portage (Gentoo), Up2date (Red Hat), Yum 
(Yellowdog, Fedora, CentOS), urpmi (Mandrake), yast2 (SuSE)). Todas 
ellas (en su respectiva distribución) tienen la capacidad de resolver 
dependencias e instalar los paquetes necesarios de manera autimática. La 
pesadilla de las dependencias no resueltas queda sólamente como una 
anécdota de la historia.
2. Si tu paquete externo está disponible en src.rpm lo puedes recompilar 
con rpmbuild --rebuild (Red Hat, Fedora, CentOS) o rpm --rebuild (otras 
distros basadas en rpm) y de esa manera vas a obtener paquetes rpm 
compilados para tu arquitectura y para tu distribución (con todas las 
mutaciones que tengas), ligados contra tus librerías de tal manera que 
todos los síbmolos que necesita el ligador binario dinámico (ld.so) para 
hacer su trabajo estarán resueltos a su satisfacción y no tendrás 
problemas para correr las aplicaciones que vienen en tu paquete.
    2.1 Si te salen solicitudes de dependencias etenes herramientas para 
resolverlas e instalar los paquetes necesarios.
    2.2 Si por alguna razón el paquete no quisiera compilar (algunas 
veces sucede) puedes instalar tu paquete con rpm -Uvh paquete.src.rpm, 
buscar el spec y editarlo para resolver los problemas de compilación. 
Luego recompilas tu paquete con rpmbuild -ba paquete.spec (Red Hat and 
sons) o rpm -ba paquete.spec (los otros). En realidad no es tan difícil 
editar un spec, solo déjate llevar por los nombres de las secciones 
unpack, compile, install,... .... lo que hay dentro de las secciones es 
como un shell script con la expansión de algunas macros.
3. Si tu paquete externo viene en formato tar.gz existe la probabilidad 
de que dentro contenga un spec de rpm de tal manera que podrías 
compilarlo con rpmbuild -ta paquete.tar.gz (Red Hat and sons) o rpm -ta 
paquete.tar.gz (los demás) y obtendrías tus paquetes rpm para instalar 
en tu sistema.

4. Si tu paquete externo en código fuente solo lo encuentras en formato 
tar.gz hay posibilidades de que buscando en rpm.pbone.net lo encuentres 
en rpm para tu distro/arquitectura y si no pues en src.rpm para que lo 
compiles para tu combinación de distro/arquitectura+mutaciones.


Espero haber aclarado el problema de la compatibilidad a nivel binario 
en Linux y la resolución de dependencias. Si piensan que es demasiado 
complicado piensen que es el costo de la portabilidad. Linux es un 
sistema operativo portable.

Un saludo.

Sandino Araico Sánchez
-- 
Puede que no esté de acuerdo con lo que dices.
Entonces daré mi opinión hasta el cansancio,
ya que tengo el mismo derecho que tú......


 
_______________________________________________
Ayuda mailing list
Ayuda en linux.org.mx
Para salir de la lista: http://mail.linux.org.mx/cgi-bin/mailman/listinfo/ayuda/



Más información sobre la lista de distribución Ayuda