¿Instalar software desde paquetes o compilarlo desde la fuente?

¿Instalar software desde paquetes o compilarlo desde la fuente?

Esto es unPregunta canónicasobre cuándo utilizar software empaquetado y cuándo compilarlo e instalarlo usted mismo.

¿Cuándo debo instalar software de los paquetes proporcionados por mi distribución de sistema operativo, en lugar de compilarlo e instalarlo yo mismo desde la fuente? ¿Cuándo es mejor construir desde la fuente?

Respuesta1

Debe utilizar los paquetes de su distribución a menos que tenga una buena razón para no hacerlo. Usar los paquetes de la distribución te brinda importantes beneficios:

  • Es menos trabajo instalar y desinstalar los paquetes y mantenerlos actualizados.
  • El sistema de empaquetado instalará automáticamente las dependencias del software y también las mantendrá actualizadas.
  • La distribución le proporciona automáticamente las actualizaciones de seguridad, por lo que no tiene que rastrearlas ni preocuparse por perdérselas.
  • El sistema de empaquetado configurará las cosas de la forma preferida de su distribución. Por ejemplo, en sistemas basados ​​en apt, Apache viene instalado con enlaces simbólicos en /etc/apache2/*-enabled y herramientas (a2enconf, a2enmod, ...) para usarlos para habilitar o deshabilitar funciones de Apache. Si bien inicialmente puede requerir más trabajo para aprender, a la larga su vida será más fácil y su configuración estará mejor integrada si usa las herramientas nativas de la distribución y las formas de hacer las cosas.

Si necesita utilizar una versión más reciente de algún software que la que proporciona su distribución, o habilitar una característica que debe compilarse, es posible que pueda encontrar versiones más actualizadas o con más funciones del paquete en los repositorios de la comunidad. repositorios de remison un ejemplo bien conocido, que ofrece, entre otras cosas, versiones mucho más actualizadas de PHP que las que se incluyen con RHEL/CentOS. El uso de un repositorio comunitario le brinda muchas de las ventajas de los repositorios del sistema operativo, pero corre el riesgo de que el autor libere malware que luego instala, con plenos privilegios, en su sistema. Usted tendrá que evaluar el riesgo y la recompensa usted mismo, caso por caso.

Si ninguna de esas alternativas le funciona, deberá compilar desde la fuente. Al compilar software a partir del código fuente, la ruta recomendada escrea tus propios paquetes binarios. Crear sus propios paquetes le permite:

  • Trabaje con el sistema de administración de paquetes de su distribución para distribución, instalación, administración de dependencias, informes, actualizaciones, degradaciones y eliminación.
  • Restrinja sus herramientas de compilación y bibliotecas de desarrollo a un único host de compilación (en lugar de instalarlas en todos los servidores de prueba y producción).
  • Siga la ruta de lanzamiento común de implementar primero sus paquetes en un entorno de prueba antes de implementar ese mismo paquete en su entorno de producción.

Ya que eso haceusted el mantenedor del paquete, deberá suscribirse a las listas de correo de seguridad relevantes para no perderse ningún error crítico ni actualizaciones de seguridad.

Si termina instalando software creado localmente sin empaquetarlo,estiba de GNUpuede ayudar a mantenerlo bien organizado y facilitar su desinstalación limpia.

Respuesta2

Me gusta la respuesta de Andrew.

Quiero señalar algo específico para agregar al comentario de Andrew sobre "una mejor integración". Si instala una aplicación desde el código fuente (una dependencia de un proyecto futuro) y luego intenta instalar un paquete desde un binario (por ejemplo, un paquete deb o rpm), es posible que ese paquete no reconozca que hay una dependencia instalada. Si hubiera instalado la aplicación de dependencia inicial desde un paquete RPM o DEB, el paquete futuro sabría que estaba instalado. Usar el mismo método de paquete (por ejemplo, yum, pip, rpm, etc.) es una mejor práctica. La instalación desde la fuente es otro método más. Así que la facilidad de la que habla Andrew es una consideración seria.

Quiero agregar que "crear sus propios paquetes binarios" tiene la ventaja de registrar el proceso de instalación. La instalación desde archivos fuente no tiene el beneficio de iniciar sesión.

información relacionada