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:
- Son mucho más fáciles de instalar
- Están diseñados específicamente para funcionar con su distribución
- A veces son parcheados por el mantenedor del paquete para corregir errores específicos de la distribución
- El administrador de paquetes los desinstalará
- El administrador de paquetes administrará todas las dependencias por usted
- El administrador de paquetes se encargará de las actualizaciones.
- No necesita instalar herramientas de desarrollador en su sistema (compiladores, marcas, etc.)
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:
- Deberá instalar todas las herramientas de desarrollador en su sistema
- Usted será responsable de verificar una actualización y volver a compilar
- Deberá asegurarse de que todas las dependencias estén instaladas, incluidos los
dev
paquetes; podría haber muchas de ellas.
- Es posible que deba depurar problemas si no funciona como se esperaba en su distribución
Si está dispuesto a hacer un esfuerzo adicional, compilar desde la fuente puede brindarle los beneficios de:
- Acceso a la última versión disponible.
- La opción de optimizar el proceso de compilación para rendimiento / estabilidad
- ¡Disfrute!
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.