¡Solo quiero instalar un paquete!

¡Solo quiero instalar un paquete!

Pasé algunas horas intentando instalar un paquete y no lo logré; Parece que eso sucede a veces en un entorno Linux.

Antecedentes: el paquete que quiero instalar está disponible como 1) a .debpara x86 en lugar de x64, 2) a .Run, 3) fuente y 4) un instalador de OSX. El instalador de OSX simplemente funciona. En una instalación nueva de Debian 7, probé .deb, .Runy compilé desde la fuente. Los tres me guiaron a través de una serie de obstáculos. Los problemas más básicos parecen ser que a través de cualquiera de estas rutas Debian 7 me dio una versión demasiado antigua de LibCy una versión demasiado antigua de Ocaml. La mayor parte de mi tiempo lo pasé ejecutando un comando apt-get tras otro tratando de resolver dependencias.

Pregunta: ¿Cuáles son algunas herramientas que facilitan la instalación de paquetes automatizando la mayor parte del proceso posible? Todos los paquetes, incluso los compilados desde el código fuente, dejan en claro qué versiones de qué dependencias requieren, ¿verdad? Entonces, ¿por qué no se pueden resolver todas las dependencias automáticamente?

Me encantaría crear un directorio en mi sistema que contenga una copia de cada dependencia que mi paquete requiera para que pueda ejecutarse en su pequeño entorno sin modificar las versiones de otros paquetes en mi sistema; No estoy seguro de si eso es posible. Estoy seguro de que debe haber ALGUNA forma de simplemente decir "dame el paquete llamado Foo, versión 4.2.3" y que todo lo demás se haga por mí.

Respuesta1

La experiencia es prácticamente idéntica. Tu problema es que Debian (estable) no es una distro de última generación, esestable. Esto significa que tendrá versiones anteriores de paquetes en sus repositorios (por cierto, podría ser una buena idea mencionar el nombre del paquete). Lo estás comparando con una nueva versión de OSX que tiene versiones más nuevas de bibliotecas esenciales como libc.

Instalar .debpaquetes que han sido empaquetados para la versión de Debian que está ejecutando es muy fácil y sencillo. Créame, solía tener que instalar la mayoría de las cosas desde la fuente. aptitude install foo.4.2.3.debcuando corressondiciendo "dame el paquete llamado Foo, versión 4.2.3" y haz todo lo demás por ti. Si no está en los repositorios porque estás usando una versión antigua, no es culpa del administrador de paquetes.

Por lo tanto, recomendaría publicar una nueva pregunta y preguntar cómo puede instalar el paquete específico que está intentando obtener. Tenga en cuenta que si requiere una versión más nueva, libcprobablemente sea más fácil actualizar todo su sistema a los repositorios testingo . experimentalSi bien sólo es posible actualizar libc, no es fácil ni sencillo, consulteaquí.

Además, debes tener en cuenta que esto esnoun problema trivial. Si bien los administradores de paquetes gestionan muy bien las dependencias, pueden entrar en conflicto. Especialmente cuando se trabaja con algo tan básico como libc.

Este comando imprimirá una lista de paquetes que dependen de libc.

apt-cache rdepends libc6

En mi Debian, esa lista contiene 16056 paquetes diferentes. Si actualiza libc porque el paquete foodepende de una versión más nueva, ¿cómo debería lidiar el administrador de paquetes con el hecho de que 16056 paquetes dependen de la versión instalada? ¿Cómo puede saber si también serán compatibles con la versión más nueva?

Respuesta2

Me gustaría simplemente intervenir y decir que creo que sus expectativas son simplemente erróneas.

Las soluciones se dirigen a 2 audiencias completamente diferentes. Apple controla estrictamente qué software está disponible y se trata de una pequeña franja de aplicaciones.

He ayudado a más personas que, debo admitir, estaban usando un sistema OSX en el que querían instalar el proyecto de código abierto "X" y estaban pasando por los mismos tipos de obstáculos en OSX con la versión incorrecta de Xcode, o estaban usando la versión oficial de subversion, y necesitaba instalar una versión desde MacPorts o HomeBrew. Literalmente no hubo diferencia en luchar con las diferentes bibliotecas y dependencias hasta que pudieras instalar este paquete "X".

No he visto ninguna herramienta mágica que simplemente te permita colocar las dependencias en un directorio e instalar la aplicación "X". Simplemente no existe y es probable que nunca exista. Ha habido varios intentos de mejorar la gestión de dependencias y de paquetes y es un problema extremadamente complicado de resolver.

Apt, Yum, etc. hacen un trabajo decente, pero el problema es que están intentando resolver un problema independiente, lo que generalmente es imposible. Sólo puede obtener un 80% de tipos de soluciones, o soluciones que funcionen para "la mayoría" de los casos.

Es tan simple como eso.

información relacionada