¿Cuál es la diferencia entre los paquetes deb y las bolas de alquitrán? ¿Cuáles son las ventajas / desventajas de cada uno?

9

No sé sobre bolas de alquitrán. La mayoría de los paquetes están disponibles en forma de tarball, pero los paquetes de Ubuntu son paquetes de Debian.

¿Cuál es la diferencia entre los paquetes deb y las bolas de alquitrán?

¿Cuáles son las ventajas / desventajas de cada uno?

siraj
fuente

Respuestas:

7

Las bolas de alquitrán suelen ser el código fuente que debe compilar. Debs son programas precompilados, ya construidos y configurados para Ubuntu / Debian.

Sugeriría encarecidamente usar debs cuando esté disponible, ya que son más fáciles y se integran con el administrador de paquetes, para que pueda desinstalarlos fácilmente.

Debs también instalará las dependencias necesarias. La instalación desde la fuente puede conducir a lo que cariñosamente se llama "infierno de dependencia". La mayoría de los programas de código abierto dependen de varios otros programas / bibliotecas para funcionar. Al instalar desde el origen, no los instalará, y en su lugar (con suerte) se quejará de que no se cumple una dependencia. Luego intenta instalar esa dependencia y luego se bombardea, lo que requiere otra dependencia, etc., etc.

La instalación desde la fuente también puede colocar sus archivos en lugares inesperados, ya que las diferentes distribuciones muestran las cosas ligeramente diferentes.

Cuando necesito instalar un programa, pruebo mis opciones en este orden:

  1. Mire en el Centro de software. Obviamente, esto es lo más fácil, aunque el Centro de software no incluye todo y no está actualizado con las últimas versiones.

  2. Intente encontrar un repositorio que lo proporcione. Agregar un repositorio hará que el programa aparezca en el Centro de software, reciba actualizaciones oportunas, etc.

  3. Busque un paquete .deb.

  4. Instalar desde la fuente (bola de alquitrán).

reverendj1
fuente
6

Las bolas de alquitrán son solo otra forma de compresión como zip. Aunque los formatos y las técnicas de compresión difieren, es básicamente un contenedor para un grupo de archivos y carpetas.

Por lo general, el código fuente y los archivos que necesita estarán disponibles en Internet por la persona / grupo que escribió el software en forma de bola de alquitrán. Para que pueda descargarlo, descomprimirlo, compilar el software e instalarlo.

Sin embargo, lo que hacen los paquetes deb es facilitarle este proceso de instalación manteniendo un estándar. Los mantenedores de paquetes de Debian tomarán el software disponible en Internet, lo incluirán en sus paquetes .deb correspondientes y lo colocarán en el repositorio de Debian.

ingrese la descripción de la imagen aquí

Puede leer sobre esto en el blog del mantenedor de Debian Package aquí: http://www.j4v4m4n.in/2012/05/01/debian-utsavam-at-mes-kuttippuram-kerala-2/

En cuanto a las ventajas y desventajas, los paquetes .deb son administrados por administradores de paquetes como apt y aptitude. Por lo tanto, cada vez que instale un software con él, determinarán automáticamente si tiene las dependencias necesarias para ejecutar ese software en su sistema y las instalará por usted.

Pero si está utilizando una bola de alquitrán, instálela, tendrá que averiguar de qué depende ese software y cada vez que tenga que verificar manualmente si las dependencias del software que está instalando ya estaban instaladas previamente.

Pero apt hace todo esto por ti.

Además, la instalación desde la fuente (instalación desde bolas de alquitrán) tendrá diferentes métodos para diferentes programas. Existe la filosofía de GNU de la instalación configure-make-make y existen otros métodos dependiendo de cómo se escriba el software.

Sin embargo, convertirlos en deb elimina por completo todas estas diferencias y facilita la instalación y el uso del software por parte del usuario.

Un punto mas. ¿Cuándo necesita instalar desde la fuente? Eso es de una bola de alquitrán? Básicamente hay dos situaciones.

  1. Si el equipo de empaquetado de Debian aún no ha empaquetado un software.
  2. Si quieres contribuir al proyecto. Eso significa que puede realizar cambios en el código fuente, compilarlo y probar los cambios.

Si desea saber más sobre el empaquetado de Debian, puede leerlo desde aquí: http://www.debian.org/doc/manuals/maint-guide/

Espero que esto ayude.

harisibrahimkv
fuente
1

Los paquetes Debian (y por lo tanto Ubuntu) son una colección de binarios e instrucciones relacionadas para su instalación. Esto significa que el paquete en sí mismo sabe cómo y dónde instalarlo, y también conoce la lista de paquetes de los que depende.

Los tarballs de origen (archivos con extensión .tar.gzo .tar.bz2- o incluso .tgz o .tbz2 ) son simplemente conjuntos de archivos y directorios que se han empaquetado junto con la tarutilidad y también están comprimidos con gzipo bzip2. Para construir el código fuente tienes que:

  1. descomprimir los archivos con tar xvfz file.tar.gzo tar xvfj file.tar.bz2(en un directorio vacío)
  2. configure el paquete con ./configure(el paquete prueba el sistema para ver si todo está bien antes de comenzar la compilación)
  3. comenzar la compilación con make
  4. si lo desea, ejecute make installpara instalar la aplicación en su ubicación "predeterminada" (generalmente en / usr / {s} bin o / usr / local / {s} bin pero depende de la aplicación y de la distribución)

Las principales ventajas de los paquetes Debian / Ubuntu con respecto a los tarballs de origen son que los paquetes son "autocontenidos" y se rastrean sus binarios. Esto significa que el proceso de desempaquetado es transparente para el usuario que solo ve (aproximadamente) un paquete por aplicación. El usuario ni siquiera necesita recordar qué archivos ha instalado una aplicación determinada y dónde, por lo que la instalación / eliminación de aplicaciones se convierte (principalmente) en un proceso de una sola instrucción.

Las principales ventajas de los tarballs de origen con respecto a los paquetes binarios son que, en el primer caso, el código fuente se compila directamente en la máquina de destino y luego se puede optimizar en consecuencia. Además, incluso el mejor sistema de paquetes puede romperse en casos particulares (por ejemplo, paquetes de software demasiado nuevos o demasiado viejos) y, por lo general, los servidores purgan los paquetes oficiales cuando son demasiado viejos. En estos casos, uno tiene que buscar manualmente en Internet la aplicación deseada y las bibliotecas específicas en versiones específicas para satisfacer todas sus dependencias.

Avio
fuente
1
Un pequeño punto. Los pasos de "configurar, hacer, hacer instalar" son para aquellos softwares que usan la filosofía de construcción GNU automake. Hay softwares que se pueden construir desde la fuente (a partir de bolas de alquitrán) de varias maneras. Por lo tanto, puede que no sea correcto decir "Para construir la fuente, configure, make, make install". La mejor manera de expresarlo podría ser: "Para instalar desde la fuente, lea el archivo README o INSTALL dentro de la fuente y siga los pasos mencionados allí. Consulte esto: sosaysharis.wordpress.com/2011/11/28/…
harisibrahimkv
Sí, acabo de hablar sobre este tipo de método porque es adoptado por la gran mayoría de los tarballs de origen.
Avio
No hay debate allí. :)
harisibrahimkv
1

Puedo ver algunas respuestas bastante buenas ya publicadas. Pero hay algunas cosas que deben abordarse.

Al contrario de lo que se conoce como "infierno de dependencias" cuando se trata de compilar desde la fuente, en realidad puede configurar Ubuntu de tal manera que instale automáticamente esas dependencias cuando está compilando desde un tarball / cualquier fuente.

Lea cómo hacer esto aquí:

http://www.howtogeek.com/106526/how-to-resolve-dependencies-while-compiling-software-on-ubuntu/

Además, si mantiene ese problema de dependencia a un lado, lo bueno de tarballs es que puede configurar muchas cosas relacionadas con la instalación, como dónde instalar, etc., muy fácilmente en caso de instalar desde la fuente.

Además, la palabra "Paquetes Debian" podría confundirlo en este contexto. Recuerde que los paquetes de Debian vienen en dos tipos, como dice aquí:

http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html

Por supuesto, si solo está hablando de archivos deb, entonces generalmente son aquellos programas compilados como las respuestas anteriores ya mencionadas.

Bharadwaj Srigiriraju
fuente