Así es como funcionan los instaladores de software en Windows, macOS y Linux

Los sistemas operativos modernos le proporcionan métodos fáciles para configurar nuevas aplicaciones. Pero, ¿qué sucede realmente cuando ejecuta ese instalador o emite ese comando?

Los sistemas operativos modernos le proporcionan métodos fáciles para configurar nuevas aplicaciones.  Pero, ¿qué sucede realmente cuando ejecuta ese instalador o emite ese comando?
Anuncio

Los sistemas operativos modernos le proporcionan métodos fáciles para configurar nuevas aplicaciones. Estos incluyen paquetes instaladores automatizados, así como comandos que instalan muchos bits de software a la vez. Pero, ¿qué sucede realmente cuando ejecuta ese instalador o emite ese comando?

Echemos un vistazo a cómo se instala el software en las tres principales plataformas de escritorio: Windows, MacOS y Linux.

Métodos de instalación de software

Hay algunas maneras diferentes en que puede obtener nuevas aplicaciones ejecutándose en su computadora. En orden de complejidad creciente, estos incluyen:

  • Compilación de software : creación de la aplicación a partir de su código fuente. Para los usuarios más técnicos solamente.
  • Archivos de software - Desempaquetar archivos como archivos ZIP y ejecutar el programa desde donde lo extrajo. Esto puede requerir algunos ajustes adicionales.
  • Paquetes de instalación : búsqueda de un archivo de instalación y (doble) clic para iniciar la instalación.
  • Administradores / tiendas de software : seleccione la aplicación desde una interfaz agradable y haga clic en un gran botón de "Instalar". ¡Es magia!

En este artículo examinaremos los paquetes de instalador, ya que la mayoría de los administradores / tiendas de software finalmente tratan de todos modos estos tipos de paquetes. Para las plataformas de escritorio principales de la actualidad, Windows, MacOS y Linux, veremos qué compone uno de estos paquetes y qué ocurre cuando los instala.

Microsoft Windows

Los paquetes de Installer que probablemente encuentres para Windows vienen en uno de dos sabores principales. Los archivos ejecutables (EXE) pueden configurar su programa haciendo el trabajo pesado de colocar los archivos en la ubicación correcta y realizar las actualizaciones del Registro de Windows. Los paquetes de Windows Installer (MSI) se suman a esto al proporcionar servicios estandarizados como desinstalaciones.

Puede inspeccionar los contenidos de EXEs o MSI abriendo el archivo con 7-Zip 7Zip: Un programa gratuito para descomprimir formatos de archivo poco comunes 7Zip: un programa gratuito para descomprimir formatos de archivo poco comunes Lea más. Si lo usa para ver el propio instalador EXE de 7-Zip, encontrará una cantidad de archivos diferentes dentro de:

paquete de software de anatomía contenido 7zip

Si bien estos archivos no contienen ninguna carpeta dentro del instalador, el desarrollador habrá señalado cada uno en un directorio de destino. La mayoría de ellos terminan en la "ubicación de instalación predeterminada", la misma sugerencia que normalmente se ve para una carpeta como "C: \ Archivos de programa \ [nombre del programa]" o "C: \ Archivos de programa (x86) \ [su nueva aplicación ]. "

Al usar una herramienta sofisticada como InstallShield para crear paquetes de instalación, los desarrolladores de aplicaciones pueden personalizar la instalación. Por ejemplo, pueden designar en qué versiones de Windows se instalará, configurar accesos directos que se crearán en el menú Inicio y / o en el escritorio, o recopilar información del usuario, como nombre, dirección, etc. El proyecto InstallShield de ejemplo en la imagen a continuación muestra la pantalla para establecer si las claves del Registro de Windows deben ser creadas o actualizadas.

paquete de software de anatomía installshield registry

Con InstallShield, los archivos de la aplicación y otras personalizaciones se envuelven en un archivo setup.exe . Al abrirlo con 7-Zip, se mostrará que adentro hay un paquete de MSI que, cuando se ejecuta, se parece a la instalación a la que todos estamos acostumbrados. Repasemos lo que sucede durante este proceso.

paquete de software de anatomía installshield install

Proceso de instalación de Windows

Un instalador realizará los siguientes pasos para configurar su aplicación para su uso (el orden exacto de las mismas puede variar según las personalizaciones del desarrollador):

  1. Un instalador puede contener otros archivos, como el MSI antes mencionado o formatos como CAB. Como primer paso, el instalador los extraerá a una ubicación temporal.
  2. A continuación, verificará que todas las dependencias que se hayan establecido estén disponibles. Si falta algo, lo descargará si es posible o saldrá del instalador con un error si no es así.
  3. Si se requieren dependencias, primero se instalarán usando el instalador que tengan (¿alguna vez se interrumpió la instalación de .NET Framework? Microsoft .NET Framework: por qué lo necesita y cómo instalarlo en Windows Microsoft .NET Framework: por qué Lo necesita y cómo instalarlo en Windows. Necesita instalarlo o actualizarlo. Pero, ¿sabe qué es .NET Framework? Le mostramos por qué lo necesita y cómo puede obtener la última versión. Lea más).
  4. A continuación, el instalador comenzará a copiar los archivos de la aplicación y colocarlos en su ubicación correcta.
  5. Si el desarrollador configuró accesos directos, el instalador creará y los dirigirá a la ruta de instalación real (recuerde, puede cambiar esto) Cómo crear accesos directos de escritorio de Windows de la manera más fácil Cómo crear accesos directos de escritorio de Windows de la manera más fácil Los accesos directos de escritorio inteligentes pueden salvarlo Sin pensar a través de menús y carpetas. Le mostramos formas rápidas y fáciles de crearlos. Lea más cuando se ejecuta el instalador).
  6. Cambios en el Registro de Windows 3 Herramientas para monitorear y examinar El Registro de Windows 3 Herramientas para monitorear y examinar El registro de Windows El registro de Windows es una de las partes del sistema operativo de Windows que menos se comprende. Le mostramos herramientas que pueden simplificar el registro y ayudarlo a identificar problemas. Leer más, si hay alguno, se ejecutará.
  7. Por último, el instalador puede solicitar al usuario que ingrese información como el nombre o la dirección del sitio web.

Este proceso puede parecer complejo en comparación con el siguiente sistema operativo de la lista. Echemos un vistazo a la instalación de software en macOS.

MacOS de Apple

Los instaladores de Windows tienen mucho que hacer bajo el capó. Pero si usó una Mac, sabe que instalar una aplicación a menudo es tan fácil como descargar una copia de la aplicación, abrir la imagen del disco (DMG) y seguir algunas indicaciones sencillas. Cómo instalar y quitar el software Mac: 5 métodos fáciles Cómo instalar y quitar el software de Mac: 5 métodos fáciles ¿Cambiamos a una Mac y nos familiarizamos con lo básico? ¿Se pregunta cómo instalar el software desde la línea de comandos? ¿Tienes viejas aplicaciones de Windows que simplemente debes ejecutar en tu computadora Apple? Lee mas . A veces, la descarga incluso le proporciona un ícono "Arrastre aquí".

Vamos a sumergirnos en el paquete de aplicaciones, así como en su contraparte, el instalador de PKG.

Estructura del paquete macOS

El archivo APP en la superficie es de hecho más simple que Windows por dos razones principales. En primer lugar, es una carpeta estándar. La única diferencia es que termina con un sufijo ".APP". Si descarga uno de estos en Windows, verá que se muestra igual que cualquier otra carpeta de archivos en el Explorador. En segundo lugar, los archivos de APP exigen que se incluya absolutamente todo lo que el programa requiere. No hay que preocuparse por la falta de dependencias con este tipo de instaladores.

Estos paquetes deben contener tres elementos en una carpeta llamada "Contenido": 1) un archivo "Info.plist" que contiene metadatos de la aplicación como nombre, idioma, número de versión, etc .; 2) un directorio "MacOS" que contiene el ejecutable principal; y 3) un directorio de "Recursos" que contiene los activos que la aplicación necesita para funcionar (por ejemplo, un icono de la aplicación). Hay otras carpetas opcionales como "Frameworks" (paquetes de funcionalidad que no son específicos de la aplicación), "Plug-Ins" (funcionalidad para la aplicación que no es necesaria para ejecutarlo) y "SharedSupport" (datos extraños como plantillas).

carpetas de aplicaciones mac

Por el contrario, el formato PKG es una combinación de un instalador similar a Windows con una estructura tipo Unix 3 Sistemas operativos similares a UNIX que no son Linux 3 Sistemas operativos similares a UNIX que no son Linux Recientemente, la gente comenzó a confundir " UNIX "con" Linux ". Linux fue influenciado por UNIX, pero los sistemas UNIX no tienen ninguna relación con Linux. Aquí hay algunos sistemas importantes basados ​​en UNIX que vale la pena conocer. Lee mas . La aplicación 7-Zip también abrirá un archivo PKG, que se comprime en formato xar . Dentro de uno o más archivos de carga útil, que también es un archivo. Para extraer sus contenidos use la siguiente cadena de comandos ( cpio es un formato de archivo así como un programa para manipularlos) en una Terminal Mac o Linux:

cat Payload | gunzip -dc | cpio -i 

Una vez hecho esto, verá un árbol de directorios tipo Unix familiar.

En el siguiente ejemplo, he usado el convertidor de documentos, Pandoc. Incluye un binario en / usr / local / bin y cierta documentación en / usr / local / share / man . ¿Cómo se logran estas cosas en realidad? Veremos cómo cada uno de estos se instala realmente en su Mac.

estructura mac pkg

He utilizado la versión de Windows de 7-Zip para ilustrar esto, en lugar de la versión de Linux de la línea de comandos.

Proceso de instalación de la aplicación macOS

Cuando sueltas ese archivo de APP en tu carpeta de aplicaciones, realmente no cambia demasiado. Recuerde, todo lo que necesita para ejecutar el programa es autónomo. La única diferencia de un arrastre y soltar estándar es que el archivo "Info.plist" se registra con el sistema.

copia de la aplicación mac

Esto configurará cosas como qué ejecutable se llama al iniciar la aplicación, qué icono se muestra, los tipos de archivos que admite y más. De lo contrario, su aplicación (como el paquete de la APLICACIÓN para el Editor de Atom que se muestra a continuación) ahora está lista para usar.

aplicación mac instalada

Proceso de instalación de macOS PKG

Al abrir un archivo PKG, por otro lado, se inicia un instalador "de estilo asistente". Para programas simples, este suele ser un instalador de componentes, que normalmente pasa por los siguientes pasos:

  1. Ejecute el script de preinstalación .
  2. Desempaquete los contenidos de "Carga útil" en la máquina.
  3. Ejecute el script postinstall .

mac pkg install

Los desarrolladores pueden combinar varios componentes en una única instalación de archivo de producto . Esto agrega opciones como mostrar un EULA para que el usuario lo acepte, recopilar información del usuario y seleccionar los componentes para instalar. Mientras tanto, Apple Installer se ocupa de todos los detalles de la instalación de los componentes necesarios, uno por uno, en segundo plano.

Hablando de instaladores basados ​​en Unix, pasaremos a los dos principales formatos de paquete de Linux en la siguiente sección.

Ubuntu y Fedora Linux

Ah, DEB frente a RPM Cómo instalar software en Linux: Explicación de los formatos de paquete Cómo instalar software en Linux: Explicación de los formatos de paquete Ha cambiado a Linux y desea instalar algún software. Pero los administradores de paquetes difieren según su distribución. Entonces, ¿qué aplicaciones puedes descargar e instalar? Todo está en los acrónimos. Lee mas . Una de las grandes guerras de llama, superada solo por los gustos de vi versus emacs o KDE versus GNOME. Sin embargo, estos formatos son más similares de lo que son diferentes. Vamos a ver.

Estructura del archivo de paquete Linux

Para echar un vistazo al interior de un archivo DEB, puede probar un administrador de archivos GUI. De lo contrario, use el comando ar . El siguiente comando ingresado en la terminal 40+ Comandos de terminal Linux más usados ​​40+ Comandos de terminal Linux más utilizados Ya sea que recién esté empezando o simplemente con curiosidad sobre el terminal Linux, estos son los comandos más comunes que lo llevarán a través de todo su tiempo en Linux. Leer más extraerá el contenido de un paquete Debian:

 ar -x name-of-your-package.deb 

Tres archivos saldrán de esto:

  • control.tar.gz : a su vez, contiene un archivo principal, Control, que contiene metadatos sobre el paquete, como su nombre oficial, versión y dependencias. También puede contener otros archivos, como scripts, que se ejecutarán durante el proceso de instalación o archivos de configuración predeterminados.
  • data.tar.gz : los archivos que componen la aplicación se encuentran en este archivo TAR.GZ. Todo, incluidos los binarios, la documentación y las configuraciones predeterminadas, están aquí. En el paquete de ejemplo kde-service-menu-encfs_0.5.2_all.deb, contiene archivos y directorios como se muestra en la imagen siguiente.
  • debian-binary : este es un archivo que define qué versión del formato del paquete Debian utiliza el archivo. Para las distribuciones modernas, esto solo contendrá "2.0" en una sola línea.

control principal deb

En Fedora, puede usar los comandos rpm2cpio y cpio para extraer un paquete RPM y explorar sus archivos:

 rpm2cpio name-of-your-package.rpm | cpio -idvm 

Para el paquete kde-cli-tools-5.9.4-2.fc26.x86_64.rpm, verá un árbol de archivos similar al paquete DEB. Pero no proporciona los metadatos, al menos no en el paquete binario . Tendrá que descargar el RPM fuente (.SRC.RPM) correspondiente a su versión binaria, luego use el mismo comando de arriba en ese archivo. Incluido en eso habrá un archivo SPEC que contiene muchos de los mismos elementos que el archivo Control en un paquete Debian.

Ahora que conocemos la estructura de los paquetes de Linux, exploremos qué ocurre cuando los instala. Cómo instalar software en Linux: Explicación de los formatos de paquete Cómo instalar software en Linux: Explicación de los formatos de paquete Ha cambiado a Linux y quiero instalar un poco de software Pero los administradores de paquetes difieren según su distribución. Entonces, ¿qué aplicaciones puedes descargar e instalar? Todo está en los acrónimos. Lee mas .

Instalación de paquete Linux

Cuando instala paquetes de cualquier formato, independientemente del front-end, ocurre un conjunto similar de pasos:

  1. El sistema de paquete examina los contenidos del paquete para determinar si faltan dependencias. Dependiendo de la herramienta, le avisará o se configurará para descargarlos.
  2. Si los paquetes contienen scripts o comandos de preinstalación, se ejecutarán a continuación.
  3. Entonces, el sistema de paquete realmente extrae los archivos del paquete.
  4. Con los archivos en su lugar, se ejecutan scripts posteriores a la instalación.
  5. Finalmente, el paquete se registra con la base de datos interna utilizando sus metadatos, por lo que se puede desinstalar más adelante.

Saber cómo se instala el software es una buena cosa

Debido a que los desarrolladores de los sistemas operativos y el software que se ejecuta en ellos hacen un gran trabajo facilitando la instalación del software, no es necesario que preste atención a los detalles. Pero tener algo de conocimiento sobre lo que está sucediendo detrás de escena le dará tranquilidad acerca de lo que se está instalando en su sistema, además de ayudar con la resolución de problemas.

¿Cuántos de los métodos de instalación de software anteriores ha hecho? ¿Prefieres DEB o RPM? ¿O los paquetes de aplicaciones de Mac representan el pináculo de la facilidad de uso? ¿Alguna vez ha tenido lugar una instalación de pesadilla? Háganos saber en los comentarios a continuación!

In this article