¿Cómo se instalan realmente los paquetes a través de apt-get install?

29

Al usar el apt-get installmétodo para instalar un paquete en ubuntu, ¿hay alguna diferencia fundamental entre obtener el código fuente de ese paquete y construirlo desde cero? ¿La apt-get installfuncionalidad simplemente descarga la fuente y la construye en su máquina en un directorio específico o hay más cosas detrás de escena?

Finalmente (tal vez esto no tiene respuesta) ¿un método es mejor que el otro? Lo que estoy analizando aquí es si la compilación usted mismo del código fuente tiene alguna ventaja o es mejor dejar que apt-gethaga lo suyo.

matemático1975
fuente

Respuestas:

25

Las ventajas de un sistema de gestión de paquetes como apt, yum, pacman, emerge, etc. incluyen:

  • Es fácil consultar qué versión de un paquete está instalada o disponible.
  • Es fácil eliminar un paquete por completo, asegurándose de que todos sus archivos hayan desaparecido.
  • Es fácil verificar la integridad de los archivos de paquetes, para que pueda ver si se ha dañado o alterado.
  • Es fácil actualizar un paquete instalando la nueva versión y eliminando todos los archivos de versiones anteriores. Esto se asegurará de no dejar ningún archivo persistente del paquete anterior para confundir o romper cosas.
  • Es fácil ver qué paquetes requieren o proporcionan cosas que otros paquetes proporcionan o requieren, por lo que puede estar seguro de tener los elementos necesarios para que el paquete funcione correctamente.
  • Es fácil instalar o eliminar grupos de paquetes.
  • En muchos casos, es posible volver a una versión anterior de un paquete, por ejemplo, cuando una nueva versión tiene un error.

Aunque es para Fedora, vea también:

https://fedoraproject.org/wiki/Package_management_system

Instalar desde la fuente puede tener ventajas

  • Puede personalizar los binarios (habilitar / deshabilitar opciones)
  • Un paquete más actualizado está disponible en los repositorios
  • A veces es necesario para corregir errores

Pero las desventajas son que tendrá que actualizar manualmente el paquete cuando haya una nueva versión disponible y, a menudo, perderá el soporte.

OMI si desea compilar todos o la mayoría de sus paquetes, le recomendaría a Gentoo.

Pantera
fuente
1
Para aclarar esta excelente respuesta, si compila usted mismo, Update Manager no se dará cuenta y, por lo tanto, no actualizará su aplicación cuando se publiquen las actualizaciones. Además, apt (el administrador de paquetes elegido por Ubuntu) no compila; descarga los binarios compilados listos para usar. Finalmente, apt mantiene automáticamente su sistema de menús cuando instala o elimina programas. Cuando compila manualmente, tendría que hacerlo usted mismo.
Paddy Landau
1
Otra ventaja generalmente pequeña de compilar paquetes usted mismo es que se compilarán con más conocimiento de su hardware exacto y pueden ejecutarse más rápido. Si sigue esta ruta, considere usar checkinstall. asic-linux.com.mx/~izto/checkinstall Realiza un seguimiento de lo que se instaló y ayuda a eliminarlo más tarde si es necesario.
Joe
Estoy corregido sobre la parte más rápida de carrera.
Joe
18

Apt-get es la utilidad de manejo de paquetes APT (CLI), back-end para Synaptic y Aptitude .

El método apt-get al disparar desde su sistema verifica las fuentes o repositorios oficiales enumerados en el archivo

etc/apt/sources.list

Por ej. en ejecución (que uso) , ejecuta algo comosudo apt-get update && sudo apt-get upgrade

ingrese la descripción de la imagen aquí

donde Ign (Ignorar) delante del Enlace indica que no se ha realizado ningún cambio desde la última visita a esos repositorios, y el Get indica la recuperación del archivo de Fuentes indicando los cambios del paquete recientemente disponible en ese Repositorio.

No, la utilidad apt-get no descarga el archivo fuente , sino que descarga el paquete .deb empaquetado y lanzado por los Ubuntu Packagers oficiales que ha sido probado para determinar su estabilidad e integración con su sistema.

Los paquetes descargados de apt-get se pueden encontrar en

/var/cache/apt

donde se puede ver toda la Updatescomo paquetes .deb , e incluso se puede comparar a cotejar su versión visitando esta paquetes precisas actualizaciones .

En lo que respecta a la compilación de paquetes fuente, no es recomendable y ni siquiera se recomienda para Ubuntu 12.04, ya que es una versión LTS, puede ver las razones aquí

¿Es mejor compilar desde la fuente o instalar desde un paquete .deb?

¿La compilación de programas desde la fuente aceleraría mi sistema operativo?

Ventajas / desventajas de instalar desde el código fuente

Para más referencias: apt-get , sources.list .

atenz
fuente
en realidad los 3 programas, apt-get, aptitude y synaptic son back-end paradpkg
Javier López
1
La aptitud es front-end para dpkg . Mientras que dpkg se puede usar como front-end para dpkg-deb y dpkg-query
atenz
2

Si construye desde la fuente, tiene más opciones en lo que está incluido. Instalar desde apt-getsolo instala un paquete preconstruido.

En cuanto a cuál es mejor, depende de para qué lo necesite. Nunca he necesitado compilar desde la fuente, pero no hago nada muy extenso en mi computadora portátil ubuntu.

Corey Whitaker
fuente
Entonces, apt-get no construye nada, ¿solo descarga un binario esencialmente?
matemático1975
3
Exactamente. Está descargando un binario preconstruido para su arquitectura (amd64, i386, armel, etc.).
tgm4883
2

Creo que puede usar apt-get para instalar fuentes de paquetes.

  1. Necesita activar repositorios de código fuente

    Abra el archivo /etc/apt/sources.list, verá líneas comentadas (comienza con #) que tienen "fuente" en ellas.

    Descomentarlos

  2. Instale las dependencias del programa que desee:

    sudo apt-get build-dep "program"

  3. Descargue y compile su programa:

    sudo apt-get -b source "program"

Después de eso, obtienes un paquete .deb en tu directorio de inicio.

LnxSlck
fuente