Paquetes binarios vs. fuente: ¿cuál usar?
Independientemente del administrador de paquetes que use, hay dos formas de instalar programas en Linux. Utilice un paquete predefinido o compile el programa usted mismo. En estos días, el primero generalmente gana de forma predeterminada, pero hay momentos en los que es posible que desee considerar la compilación del código fuente.
¿Qué son los paquetes binarios?
La instalación de programas en Linux generalmente es muy diferente de la forma tradicional de instalar software en Windows. En lugar de descargar un instalador del sitio web de un proveedor, los archivos provienen de un repositorio de programas que generalmente se adapta a su distribución de Linux. Se accede a este repositorio utilizando un administrador de paquetes de Linux o una tienda de aplicaciones de Linux.
Los archivos que componen los programas en estos repositorios están disponibles en formato de archivo. Esto agrupa todo en un archivo para facilitar el acceso y la distribución. Por ejemplo, Debian usa el formato DEB para archivar y distribuir programas. Estos paquetes se llaman paquetes binarios .
Se requiere un programa especial para extraer estos archivos e instalarlos en su computadora, generalmente el administrador de paquetes o la tienda de aplicaciones. Estas herramientas también realizan otras funciones útiles, como realizar un seguimiento de los archivos instalados y administrar las actualizaciones de software.
¿De dónde vienen los paquetes?
Todo el software consta de líneas de texto conocidas como código fuente, escritas en lenguajes de programación específicos, como C o C ++. Generalmente no puede simplemente agrupar este código fuente en un archivo y llamarlo paquete. Estas líneas deben traducirse a un idioma que la computadora pueda entender y ejecutar.
Este proceso se llama compilación, el resultado final crea binarios que su computadora puede ejecutar. La diferencia entre paquetes y software es que los archivos binarios del software se almacenan juntos dentro de un paquete, junto con otras cosas como archivos de configuración .
¿Qué está instalando "From Source"?
Instalar un programa "desde el origen" significa instalar un programa sin usar un administrador de paquetes. Compile el código fuente y copie los archivos binarios a su computadora.
La mayoría de las veces, puede descargar el código fuente de un proyecto desde servicios de alojamiento como GitHub, GitLab o Bitbucket. Los programas más grandes pueden incluso alojar código fuente en un sitio web personal. El código generalmente está comprimido en un formato de archivo (también conocido como paquete fuente ).
Un conjunto especial de herramientas ayuda a automatizar el proceso de construcción. En los escritorios de Linux, esto a menudo viene en forma de un programa de línea de comandos llamado make . El código fuente escrito en diferentes idiomas requiere compiladores y comandos específicos para editarlos en archivos binarios. El programa make automatiza este proceso.
Para esta automatización en el trabajo, los programas proporcionan make con un makefile que le dice qué hacer y compilar. En estos días, generalmente es generado automáticamente por un software especial como CMake. Aquí es donde entras. Desde aquí, puede especificar exactamente qué características desea construir en su software.
Construyendo el ejemplo "De la fuente"
Por ejemplo, el siguiente comando genera un archivo de configuración para Calligra Office Suite usando CMake. El archivo creado le dice al programa make que compile solo el componente Calligra Writer.
cmake -DPRODUCTSET=WORDS -DCMAKE_INSTALL_PREFIX=$HOME/kde/inst5 $HOME/kde/src/calligra
Una vez hecho esto, todo lo que una persona tiene que hacer es ejecutar la herramienta de creación para compilar y copiar los resultados en su computadora. Esto se hace de la siguiente manera:
make make install
Aunque este es el esquema general para compilar programas, hay muchas otras formas de instalar paquetes fuente. Gentoo Linux, por ejemplo, tiene una forma integrada de administrarlo, haciendo que el proceso sea mucho más rápido y fácil. Pero crear paquetes binarios requiere unos pocos pasos más que los comandos anteriores.
Ventajas de usar paquetes binarios
Si está utilizando Linux, alguien probablemente haya precompilado el software que ha instalado. Esto se ha vuelto mucho más común que usar paquetes fuente. ¿Pero por qué?
Las versiones binarias son más fáciles de administrar.
Los paquetes binarios contienen mucho más que solo archivos de instalación compilados. También almacenan información que permite al administrador de paquetes realizar un seguimiento fácil de todos los programas. Por ejemplo, los archivos DEB (el formato de paquete para Debian y los derivados de Debian) también contienen información importante, como qué otro software debe ejecutar el programa y su versión actual.
Esto hace que los paquetes sean mucho más fáciles de instalar, ya que no necesita preocuparse acerca de qué otros archivos se necesitan para ejecutar un programa correctamente. El administrador de paquetes puede leer esta información del propio paquete y descargar automáticamente todas las dependencias necesarias.
Durante la instalación de programas desde las fuentes, a menos que compile el código en un paquete binario separado, usted será responsable de administrar este software. Deberá tener en cuenta qué otros programas necesita para que funcione e instalarlos usted mismo.
Las versiones binarias han mejorado la estabilidad.
Las personas que administran los repositorios para el administrador de paquetes tienden a probar los binarios en busca de problemas y hacen todo lo posible para solucionar lo que aparece. Esto puede conducir a una mejor estabilidad del programa, algo que una persona que instaló desde la fuente puede perder.
Además, los paquetes generalmente deben cumplir con un estricto conjunto de reglas para garantizar que funcionen en su sistema. Tanto Debian como Ubuntu tienen un manual de políticas, por ejemplo, así como muchas otras distribuciones de Linux.
Algunos programas también dependen de diferentes versiones de la misma dependencia de software para ejecutarse. Los repositorios de paquetes hacen todo lo posible para resolver estos conflictos, por lo que no tiene que preocuparse por eso.
Ventajas de construir paquetes fuente
Instalar programas desde la fuente no es algo
que todos tengan que hacer, ya que generalmente es más fácil mantener su PC si se queda con paquetes binarios. Aun así, todavía hay algunas ventajas de usar esta forma un poco más complicada de instalar programas.
El código fuente ofrece el último software.
Una desventaja de hacer que los programas sean más confiables es que lleva tiempo mejorar y resolver. Como resultado, esto puede resultar en el uso de versiones anteriores del software. Para las personas que quieren más y lo último, incluso podrían preferir cierta inestabilidad a cambio de ello.
Si bien existen sistemas operativos Linux que satisfacen esta necesidad sin compilar programas, tienen algunos inconvenientes. Por ejemplo, el software que no lanza frecuentemente versiones de paquetes establecidos es más difícil de actualizar en un repositorio que la instalación desde la fuente.
Esto se debe a que los paquetes binarios generalmente están hechos por versiones oficiales de programas. Por lo tanto, los cambios entre estas versiones generalmente no se tienen en cuenta. Al compilar su propio software desde la fuente, puede beneficiarse inmediatamente de estos cambios.
También es posible que su sistema operativo Linux no tenga el software que desea crear previamente para usted. En ese caso, instalarlo desde la fuente es la única opción.
tu puedes elegir
Otra ventaja de usar paquetes fuente es que obtienes más control sobre los programas instalados. Al instalar desde un repositorio binario, está limitado a las formas en que los paquetes se pueden personalizar.
Por ejemplo, mire FFmpeg, el convertidor de audio y video basado en la línea de comandos. Por defecto, viene con una gran cantidad de características, algunas de las cuales ni siquiera puedes tocar. Por ejemplo, el soporte de audio JACK está disponible en FFmpeg, aunque este software generalmente se usa solo en entornos de producción.
Compilar FFmpeg le permite eliminar de él lo que no desea, dejándolo más ligero y más adaptado a sus necesidades. Y lo mismo ocurre con otros programas de peso pesado.
Cuando los recursos son escasos, eliminar características puede ser una excelente manera de aligerar la carga. No es sorprendente que Chrome OS, que se encuentra en muchas computadoras de gama baja, se base en Gentoo Linux. Al estar basado en la fuente, Gentoo construye gran parte de su software, lo que hace que estos sistemas sean más ligeros.
¿Por qué no instalar con ambos?
Aunque probablemente no quiera crear paquetes a diario, es algo útil a tener en cuenta. Dicho esto, con los nuevos formatos de paquetes universales disponibles en sitios como Snap Store y Flathub , es menos probable que tenga que compilar desde la fuente para obtener el software más reciente.
Lea el artículo completo: Paquetes binarios y de origen: ¿cuál usar?