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

Así es como funcionan los instaladores de software en Windows, macOS y Linux / Tecnología explicada

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

Veamos 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 varias formas diferentes de ejecutar nuevas aplicaciones en su computadora. En orden de complejidad creciente, estos incluyen:

  • Compilación de software - Construyendo la aplicación desde su código fuente. Sólo para los usuarios más técnicos..
  • Archivos de Software - Descomprima archivos como los archivos ZIP y ejecute el programa desde donde lo extrajo. Esto puede requerir algunos ajustes adicionales.
  • Paquetes de instalación - Encontrar un archivo de instalación y (doble) hacer clic para iniciar la instalación.
  • Gerentes / Tiendas de Software - Seleccionando la aplicación desde una interfaz agradable y haciendo clic en una gran “Instalar” botón. Es magia!

En este artículo, examinaremos los paquetes de instalación, ya que la mayoría de los administradores / tiendas de software tratan con estos tipos de paquetes detrás de la escena de todos modos. Para las principales plataformas de escritorio de hoy en día, Windows, macOS y Linux, veremos qué conforma uno de estos paquetes y qué ocurre cuando los instala..

Microsoft Windows

Los paquetes de instalador que puede encontrar 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 agregan a esto al proporcionar servicios estandarizados, como desinstalaciones.

Puede inspeccionar el contenido de EXEs o MSI abriendo el archivo con 7-Zip 7Zip: un programa gratuito para descomprimir formatos de archivo comunes 7Zip: un programa gratuito para descomprimir formatos de archivo comunes Leer más. Si lo usa para ver el propio instalador de EXE de 7-Zip, encontrará varios archivos diferentes dentro de:

Si bien estos archivos no tienen una carpeta contenedora dentro del instalador, el desarrollador habrá apuntado cada uno a un directorio de destino. La mayoría de ellos terminan en el “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].”

Cuando se utiliza una herramienta sofisticada como InstallShield para crear paquetes de instaladores, los desarrolladores de aplicaciones pueden personalizar la instalación. Por ejemplo, pueden designar en qué versiones de Windows se instalará, configurar accesos directos para crear en el Menú de Inicio y / o en el Escritorio, o recopilar información del usuario como el nombre, la dirección, etc. El proyecto InstallShield de muestra en La imagen de abajo muestra la pantalla para configurar si las claves del Registro de Windows deben crearse o actualizarse..

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

Proceso de instalación de Windows

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

  1. Un instalador puede contener otros archivos, como el MSI mencionado anteriormente o formatos como CAB. Como primer paso, el instalador los extraerá en una ubicación temporal..
  2. A continuación, comprobará que las dependencias que se han configurado están disponibles. Si falta algo, lo descargará si es posible, o saldrá del instalador con un error si no lo hace..
  3. Si se requieren dependencias, se instalarán primero utilizando el instalador que vienen con (¿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 Debe instalarlo o actualizarlo, pero ¿sabe qué es .NET Framework? Le mostramos por qué lo necesita y cómo puede obtener la última versión. Leer 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ó algún acceso directo, el instalador creará y señalará la ruta de instalación real (recuerde, puede cambiar esto Cómo crear accesos directos de escritorio de Windows de la manera fácil Cómo crear accesos directos de escritorio de Windows de la manera fácil Los accesos directos de escritorio inteligentes pueden ahorrar Tamizar sin sentido a través de menús y carpetas. Le mostramos formas rápidas y fáciles de crearlos. Lea más cuando se ejecute 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 más mal entendidas del sistema operativo Windows. Le mostramos herramientas que pueden simplificar el registro y ayudarlo a identificar problemas. Leer más, en su caso, será ejecutado.
  7. Por último, el instalador puede pedirle 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 en la lista. Echemos un vistazo a la instalación de software en macOS.

Apple macOS

Los instaladores de Windows tienen mucho que hacer bajo el capó. Pero si ha usado una Mac, sabe que instalar una aplicación suele ser tan fácil como descargar una copia de la aplicación, abrir la imagen del disco (DMG) y seguir algunas indicaciones fáciles Cómo instalar y eliminar el software de Mac: 5 métodos sencillos Cómo instalar y eliminar el software de Mac: 5 métodos fáciles ¿Cambiar a una Mac y familiarizarse con lo básico? ¿Se pregunta cómo instalar el software desde la línea de comandos? ¿Tienes aplicaciones antiguas de Windows que simplemente debes ejecutar en tu computadora Apple? Lee mas . A veces la descarga incluso le proporciona una “Arrastre aquí!” icono.

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

Estructura del paquete macOS

El archivo de la aplicación 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 una “.APP” sufijo. Si descarga uno de estos en Windows, verá que se muestra igual que cualquier otra carpeta de archivos en Explorer. En segundo lugar, los archivos de aplicaciones exigen que se incluya absolutamente todo lo que el programa requiere. No hay que preocuparse por la falta de dependencias con estos tipos de instaladores..

Estos paquetes deben contener tres cosas en una carpeta llamada “Contenido”: 1) un “Info.plist” archivo que contiene metadatos de la aplicación, como nombre, idioma, número de versión, etc .; 2) a “Mac OS” Directorio que contiene el ejecutable principal; y 3) a “Recursos” directorio que contiene los activos que la aplicación necesita para funcionar (por ejemplo, un icono de la aplicación). Hay otras carpetas opcionales como “Marcos” (paquetes de funcionalidades que no son específicos de la aplicación), “Plug-Ins” (funcionalidad para la aplicación que no se requiere para ejecutarla) y “Apoyo compartido” (Datos extraños como plantillas).

En contraste, el formato PKG es una combinación de un instalador similar a Windows con una estructura similar a 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 confundirse " UNIX "con" Linux ". Linux fue influenciado por UNIX, pero los sistemas UNIX no tienen 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 está comprimido en xar formato. Dentro hay uno o más Carga útil Archivos, que también es un archivo. Para extraer su contenido utiliza la siguiente cadena de comandos (cpio es un formato de archivo así como un programa para manipularlos en una Terminal Mac o Linux:

Carga útil del gato | gunzip -dc | cpio -i

Una vez hecho esto, verás un árbol de directorios familiar similar a Unix.

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

He utilizado la versión de Windows de 7-Zip para ilustrar esto, en lugar de la versión de Linux solo para 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 mucho. Recuerde, todo lo necesario para ejecutar el programa es autónomo. La única diferencia de un arrastrar y soltar estándar es que la “Info.plist” archivo se registra con el sistema.

Esto configurará cosas tales como a qué ejecutable se llama cuando inicia la aplicación, qué icono se muestra, qué tipos de archivos admite y más. Pero de lo contrario, su aplicación (como el paquete de APP para el Editor Atom que se muestra a continuación) ya está lista para usar.

Proceso de instalación de macOS PKG

Al abrir un archivo PKG, por otro lado, se inicia un “estilo de asistente” instalador Para programas simples esto es típicamente un instalador de componentes, que normalmente pasa por los siguientes pasos:

  1. Ejecutar el preinstalar guión.
  2. Desempacar el “Carga útil” contenidos a la máquina.
  3. Ejecutar el postinstalación guión.

Los desarrolladores pueden combinar múltiples componentes en una sola archivo de productos instalar. Esto agrega opciones tales como mostrar un EULA para que el usuario acepte, recopilar información del usuario y seleccionar los componentes para instalar. Mientras tanto, el instalador de Apple 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 formatos principales de paquetes 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 los paquetes Cómo instalar software en Linux: Explicación de los formatos de los paquetes Ha cambiado a Linux y desea instalar algún software. Pero los administradores de paquetes difieren dependiendo de su distribución. Entonces, ¿qué aplicaciones puedes descargar e instalar? Todo está en las siglas. Lee mas . Una de las grandes guerras de llamas, superada solo por gente como vi versus emacs o KDE versus GNOME. Sin embargo, estos formatos son más similares que diferentes. Vamos a ver.

Estructura del archivo del paquete de Linux

Para ver el interior de un archivo DEB, puede probar un administrador de archivos GUI. De lo contrario, utilice el Arkansas mando. El siguiente comando ingresado en el terminal 40+ Comandos de Terminal de Linux más usados ​​40+ Comandos de Terminal de Linux más utilizados Ya sea que esté comenzando o simplemente tenga curiosidad por el terminal de Linux, aquí están los comandos más comunes que lo llevarán a través de todo el tiempo en linux Leer más extraerá el contenido de un paquete Debian:

ar -x nombre-de-tu-paquete.deb

Tres archivos saldrán de esto:

  • control.tar.gz - Esto a su vez contiene un archivo primario, Controlar, que contiene metadatos sobre el paquete, como su nombre oficial, versión y dependencias. También puede contener otros archivos, como los scripts que se ejecutarán durante el proceso de instalación o los archivos de configuración predeterminados.
  • data.tar.gz - Los archivos que conforman la aplicación en sí están en este archivo TAR.GZ. Aquí encontrará todo, incluidos los binarios, la documentación y las configuraciones predeterminadas. En el paquete de ejemplo kde-service-menu-encfs_0.5.2_all.deb, contiene archivos y directorios como se muestra en la siguiente imagen.
  • debian-binario - Este es un archivo que define qué versión del formato del paquete Debian está utilizando el archivo. Para las distribuciones modernas esto solo contendrá “2.0” en una sola línea.

En Fedora, puede utilizar el rpm2cpio y cpio comandos para extraer un paquete RPM y navegar por sus archivos:

rpm2cpio nombre-de-tu-paquete.rpm | cpio -idvm

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

Ahora que entendemos la estructura de los paquetes de Linux, exploremos lo que sucede cuando realmente los instalas Cómo instalar el software en Linux: Explicación de los formatos de los paquetes Cómo instalar el software en Linux: Explicación de los formatos de los paquetes Ha cambiado a Linux, y Quiero instalar algún software. Pero los administradores de paquetes difieren dependiendo de su distribución. Entonces, ¿qué aplicaciones puedes descargar e instalar? Todo está en las siglas. Lee mas .

Instalación de paquetes de Linux

Cuando instala paquetes de cualquiera de los formatos, independientemente de la interfaz, ocurre un conjunto similar de pasos:

  1. El sistema de paquetes examina el contenido del paquete para determinar si faltan dependencias. Dependiendo de la herramienta, le avisará o configurará la descarga..
  2. Si los paquetes contienen scripts o comandos de preinstalación, se ejecutan a continuación.
  3. Entonces el sistema de paquetes realmente extrae los archivos del paquete.
  4. Con los archivos en su lugar, se ejecutan los scripts posteriores a la instalación..
  5. Finalmente, el paquete se registra en 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 algo bueno

Debido a que los desarrolladores de sistemas operativos y el software que se ejecuta en ellos hacen un gran trabajo para facilitar la instalación del software, no es necesario prestar atención a los detalles. Pero tener un conocimiento de lo que está sucediendo detrás de la escena le dará tranquilidad sobre lo que se está instalando en su sistema, así como también le ayudará a resolver problemas..

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

Explorar más sobre: ​​Instalar software, Linux, macOS Sierra, Windows.