¿Qué hace el script de instalación en apt-get install?

14

Parece apt-get installque descargará un paquete de Debian e intentará ejecutar el script de instalación para:

  • Crear directorio apropiado
  • Crear cuenta adecuada
  • Copiar archivos binarios
  • Copiar archivos de datos
  • Copiar archivos Conf
  • Copiar guión init.d
  • Comienza el servicio
  • etc.

Estoy realmente interesado en él y quiero averiguar qué sucede paso a paso. ¿Hay alguna forma de verlo? ¿Te gustan los comandos de shell de impresión en modo "ejecución en seco"?

ShenLei
fuente

Respuestas:

25

En resumen : apt-get installhace todo lo necesario para que su sistema pueda ejecutar con éxito la nueva aplicación de software instalada.

Versión más larga:

Preliminares:

Desde la página del manual :

Todos los paquetes requeridos por los paquetes especificados para la instalación también se recuperarán e instalarán.

Esos paquetes se almacenan en un repositorio en la red (internet). Entonces, apt-getdescarga todos los paquetes necesarios en un directorio temporal ( /var/cache/apt/archives/). Se descargarán de un servidor web o ftp. Se especifican en el llamado sources.list; una lista de repositorios para el administrador de paquetes apt. A partir de entonces, se instalan uno por uno de forma procesal.

Los primeros en instalarse son los que no tienen más dependencias; por lo tanto, no es necesario instalar ningún otro paquete para que funcionen correctamente. A través de eso, otros paquetes (que tenían dependencias anteriormente) ya no tienen dependencias. El sistema sigue haciendo ese proceso una y otra vez hasta que se instalan los paquetes especificados.

Cada paquete se somete a un procedimiento de instalación.

Procedimiento de instalación del paquete:

En las distribuciones de Linux basadas en Debian, como Ubuntu o Mint, esos paquetes están en un formato estandarizado específico llamado: deb -> El formato de paquete binario de Debian .

Dicho paquete contiene los archivos que se instalarán en el sistema. También contienen un archivo de control . Ese archivo contiene scripts que el sistema de empaquetado debe ejecutar en una situación específica; los llamados scripts de mantenedor . Esas secuencias de comandos se dividen en:

  • preinst: antes de la instalación de los archivos en la jerarquía de archivos del sistema
  • postinst: después de la instalación
  • prerm: antes de la desinstalación
  • postrm: después de la desinstalación

Esos scripts son el lugar donde se crean usuarios específicos o algunos servicios que deben reiniciarse u otros preliminares necesarios para que el paquete funcione.

Además de esos scripts, el sistema de paquetes tiene activadores destinados a eventos específicos. Por ejemplo, la regeneración de initrds al instalar una nueva versión del kernel o ldconfig o man-db. Son activados por uno o más paquetes y se ejecutan al final de todo el proceso de instalación.

Hay una imagen interesante, que muestra el procedimiento de instalación de un nuevo paquete:

instalación

También hay más archivos de control, los más importantes son los siguientes:

Si está interesado, puede desempaquetar un paquete deb (después de descargarlo) manualmente y ver lo que hay dentro:

# to only download the package (no installation)
apt-get download package
# to unpack the deb file
ar x package.deb

Ahora verá un archivo llamado que data.tar.gzcontiene los archivos y un archivo llamado que control.tar.gzcontiene los cuatro scripts de mantenedor y los archivos de control mencionados anteriormente.

caos
fuente
Hoy en día creo que será mejor usarlo en dpkg-deb -x package.deblugar de hacerlo ar x package.deb, ya que dpkges el administrador oficial del paquete deb (sobre el cual se usa apt-get).
Fanatique