Todo el software son programas , que también se denominan paquetes fuente . Por lo tanto, todos los paquetes fuente deben crearse primero para ejecutarse en su sistema.
Los paquetes binarios son uno que ya está construido desde la fuente por alguien con características y parámetros generales proporcionados en el software para que una gran cantidad de usuarios puedan instalarlo y usarlo.
Los paquetes binarios son fáciles de instalar .
Pero es posible que no tenga todas las opciones del paquete ascendente.
Entonces, para instalar desde el código fuente, debe crear el código fuente usted mismo. Eso significa que debe ocuparse de las dependencias usted mismo. También debe conocer todas las características del paquete para poder compilarlo en consecuencia.
Ventajas de instalar desde la fuente:
- Puede instalar la última versión y siempre puede mantenerse actualizado, ya sea un parche de seguridad o una nueva característica.
- Le permite recortar las funciones durante la instalación para satisfacer sus necesidades.
- Del mismo modo, puede agregar algunas características que pueden no proporcionarse en el binario.
- Instálelo en la ubicación que desee.
- En el caso de algún software, puede proporcionar su información específica de hardware para una instalación adecuada.
En resumen, la instalación desde la fuente le brinda una gran opción de personalización al mismo tiempo que requiere mucho esfuerzo, mientras que la instalación desde binario es más fácil, pero es posible que no pueda personalizarla como lo desee.
Actualización : Agregar el argumento relacionado con la seguridad en los comentarios a continuación. Sí, es cierto que durante la instalación desde binario no tiene la integridad del código fuente. Pero entonces depende de dónde haya obtenido el binario. Hay muchas fuentes confiables desde donde puede obtener el binario de cualquier proyecto nuevo, lo único negativo es el momento . Puede llevar algún tiempo que el binario de las actualizaciones o incluso un nuevo proyecto aparezca en nuestros repositorios de confianza.
Y, sobre todo, sobre la seguridad del software, me gustaría destacar esta página hilarante en los laboratorios proporcionados por Joe en los comentarios a continuación.
Un archivo fuente contiene el código original tal como lo escribió el desarrollador en el lenguaje que elija (C, C ++, Python, etc.) y es genérico. No es específico de ninguna distribución y, en muchos casos, de ningún sistema operativo.
Un paquete (RPM o DEB, por ejemplo) es el ejecutable binario (o script interpretado, etc.) preparado previamente para su distribución particular. La tarea de preparar la fuente para la compilación (agregar los parches necesarios, etc.), la compilación real, la creación de archivos de configuración específicos de la distribución, la creación de scripts previos y posteriores a la instalación, etc.
En otras palabras, todo el trabajo de burro se ha realizado para usted en un paquete, mientras que tendrá que hacerlo usted mismo si elige instalar desde la fuente.
Es mucho más fácil usar un paquete en casi todos los casos como:
Sin embargo, a veces la versión empaquetada es una versión antigua o, lo que es peor, no hay una versión empaquetada; en cuyo caso su única opción es compilarse. Si lo hace, debe considerar lo siguiente:
dev
paquetes; podría haber muchas de ellas.Si está dispuesto a hacer un esfuerzo adicional, compilar desde la fuente puede brindarle los beneficios de:
Tenga en cuenta que, si bien los paquetes precompilados de algunas distribuciones proporcionan ejecutables binarios que están listos para instalar y ejecutar (RPM y DEB son ejemplos), otras distribuciones proporcionan paquetes que simplemente automatizan el proceso de compilación.
Gentoo
ebuilds
es un ejemplo de esto: el paquete es básicamente instrucciones para el administrador de paquetes que describen cómo compilar e instalar el ejecutable. Esto tiene muchas de las ventajas de los administradores de paquetes tradicionales (actualizaciones automáticas, desinstalación, etc.) al tiempo que permite al usuario optimizar el proceso de compilación a su gusto.Arch Linux tiene un sistema de empaquetado donde los paquetes principales son binarios, mientras que muchos paquetes adicionales se compilan en el sistema utilizando
PKGBUILD
archivos.fuente
Además de las otras respuestas, me gustaría agregar algo:
Si decide compilar un programa usted mismo, debe pensar que compilar no es algo que hace solo una vez. Probablemente necesitará suscribirse a la lista de correo de desarrollo de las aplicaciones que decidió compilar y mantenerse actualizado con las nuevas versiones y, especialmente, las actualizaciones de seguridad.
Cada vez que se actualice la aplicación, tendrá que volver a compilar la nueva versión, así que tenga en cuenta que tendrá que dedicar algo de su tiempo cada semana.
Si no puede permitirse eso, es mejor dejar que el encargado del paquete haga ese trabajo por usted.
fuente
La construcción desde la fuente permite especificar la arquitectura de su máquina exactamente. Las nuevas CPU tienen instrucciones adicionales que los compiladores sí entienden, exprimiendo un poco de rendimiento. Los paquetes de preconstrucción generalmente cuentan con la CPU más arcaica que todavía se usa comúnmente.
Esto es sobre todo importante para aplicaciones críticas de proyecto que usan mucho la CPU, como herramientas de tubería bioinformática, por ejemplo, o herramientas de modelado geofísico. Dicho software se ejecuta en un entorno muy controlado, no cuenta con control de acceso por sí solo, por lo que rara vez tiene errores de seguridad tan urgentes que deben corregirse en días u horas. Casi nunca necesita ejecutarse en una máquina diferente con una arquitectura inicialmente desconocida.
Sí, lo sé, las computadoras son muy, muy rápidas ahora y cualquier esfuerzo o acción que realice es muy, muy costoso, pero al tercer día de estar y esperar a que su programa se complete (esta es la situación de la que estoy hablando) tales verdades comienza a parecer cuestionable.
De manera diferente, las aplicaciones como los navegadores y similares deberían utilizarse mejor desde el repositorio del mantenedor (y no desde algunos paquetes precompilados descargados), ya que es muy importante mantenerlos actualizados.
fuente
Una forma de obtener lo mejor de ambos mundos (software actualizado, instalación / desinstalación simple, incorporar la mayoría de los ajustes y adaptaciones de distribución, puede optimizar los requisitos locales), mientras que los costos (debe mantenerse actualizado, tenga cuidado con los errores y parches de última hora, siga el desarrollo, usted está solo con respecto a las correcciones de errores y las incompatibilidades entre versiones) no se puede mitigar (mucho), es construir sus propios paquetes, comenzando con los paquetes fuente de su distribución. Sí, es más trabajo que solo construir e instalar.
fuente