[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