Ecco come funzionano gli installatori di software su Windows, macOS e Linux

I moderni sistemi operativi offrono metodi semplici per configurare nuove applicazioni. Ma cosa succede realmente quando si esegue quel programma di installazione o si emette tale comando?

I moderni sistemi operativi offrono metodi semplici per configurare nuove applicazioni.  Ma cosa succede realmente quando si esegue quel programma di installazione o si emette tale comando?
Annuncio pubblicitario

I moderni sistemi operativi offrono metodi semplici per configurare nuove applicazioni. Questi includono pacchetti di installazione automatica e comandi che installano molti bit di software contemporaneamente. Ma cosa succede realmente quando si esegue quel programma di installazione o si emette tale comando?

Diamo un'occhiata a come il software viene installato su tre piattaforme desktop principali: Windows, macOS e Linux.

Metodi di installazione del software

Esistono diversi modi per far funzionare nuove applicazioni sul tuo computer. In ordine di crescente complessità, questi includono:

  • Compilazione del software - Creazione dell'applicazione dal suo codice sorgente. Solo per gli utenti più tecnici.
  • Archivi software - Disimballaggio di archivi come file ZIP e esecuzione del programma da qualsiasi punto di estrazione. Questo potrebbe richiedere qualche ritocco extra.
  • Pacchetti di installazione - Ricerca di un file di installazione e (doppio) clic per avviare l'installazione.
  • Gestori / negozi di software - Selezionare l'app da una bella interfaccia e fare clic su un grande pulsante "Installa". È magico!

In questo articolo esamineremo i pacchetti di installazione, in quanto la maggior parte dei gestori / negozi di software in definitiva si occupano comunque di questi tipi di pacchetti dietro le quinte. Per le piattaforme desktop principali di oggi - Windows, macOS e Linux - vedremo cosa costituisce uno di questi pacchetti e cosa si verifica quando li si installa.

Microsoft Windows

I pacchetti di installazione che probabilmente incontrerai per Windows sono disponibili in due versioni principali. I file eseguibili (EXE) possono impostare il programma eseguendo il sollevamento di file nella posizione corretta e eseguendo gli aggiornamenti del Registro di sistema di Windows. I pacchetti di Windows Installer (MSI) si aggiungono a ciò fornendo servizi standardizzati come la disinstallazione.

Puoi controllare il contenuto di EXE o MSI aprendo l'archivio con 7-Zip 7Zip: Un programma gratuito per decomprimere i formati di archivi non comuni 7Zip: un programma gratuito per decomprimere i formati di archivi non comuni Ulteriori informazioni. Se lo usi per vedere il programma di installazione EXE di 7-Zip, troverai diversi file all'interno di:

pacchetto software di anatomia contenuti 7zip

Sebbene questi file non contengano una cartella contenente all'interno del programma di installazione, lo sviluppatore avrà indicato ognuno in una directory di destinazione. La maggior parte finisce nel "percorso di installazione predefinito", lo stesso suggerimento che si vede tipicamente per una cartella come "C: \ Programmi \ [nome programma]" o "C: \ Programmi (x86) \ [la tua nuova app ].”

Quando si utilizza uno strumento sofisticato come InstallShield per creare pacchetti di installazione, gli sviluppatori di app possono personalizzare l'installazione. Ad esempio, possono designare le versioni di Windows su cui installerà, impostare scorciatoie da creare nel menu Start e / o sul desktop, o raccogliere informazioni utente come nome, indirizzo, ecc. Il progetto InstallShield di esempio in l'immagine sotto mostra la schermata per impostare se le chiavi del Registro di sistema di Windows devono essere create o aggiornate.

Registro di sistema installshield del pacchetto software di anatomia

Con InstallShield, i file dell'applicazione e altre personalizzazioni vengono racchiusi in un file setup.exe . Aprirlo con 7-Zip mostrerà che all'interno c'è un pacchetto MSI che, quando è in esecuzione, sembra proprio l'installazione a cui siamo abituati. Rivediamo cosa succede durante questo processo.

installazione del pacchetto software di anatomia installshield

Processo di installazione di Windows

Un programma di installazione eseguirà le seguenti operazioni per impostare l'app per l'uso (l'ordine esatto del quale può variare in base alle personalizzazioni dello sviluppatore):

  1. Un programma di installazione può contenere altri archivi, come il suddetto MSI o formati come CAB. Come primo passo l'installatore estrae questi in una posizione temporanea.
  2. Successivamente, controllerà che tutte le dipendenze che sono state impostate siano disponibili. Se manca qualcosa, lo scaricherà se possibile, o se esce dall'installer con un errore.
  3. Se sono necessarie delle dipendenze, verranno installate prima usando qualsiasi programma di installazione (mai avuto un'installazione interrotta per .NET Framework) Microsoft .NET Framework: Perché è necessario e Come installarlo su Windows Microsoft .NET Framework: Perché Ne hai bisogno e come installarlo su Windows È necessario installarlo o aggiornarlo, ma sai cos'è il .NET Framework? Ti mostriamo perché ne hai bisogno e come puoi ottenere l'ultima versione.
  4. Successivamente, il programma di installazione inizierà a copiare i file dell'app e li posiziona nella loro posizione corretta.
  5. Se lo sviluppatore ha configurato dei collegamenti, il programma di installazione creerà e li indirizzerà al percorso di installazione effettivo (ricorda, puoi cambiare questo Come creare scorciatoie del desktop di Windows in modo semplice Come creare scorciatoie del desktop di Windows in modo semplice Le scorciatoie del desktop Smart possono salvarti setacciare insensati menu e cartelle, vi mostriamo modi semplici e veloci per crearli: leggete di più quando viene eseguito il programma di installazione).
  6. Modifiche al registro di Windows 3 Strumenti per monitorare ed esaminare il registro di Windows 3 Strumenti per monitorare ed esaminare il registro di Windows Il registro di Windows è una delle parti più incomprensibili del sistema operativo Windows. Ti mostriamo strumenti in grado di semplificare il registro e aiutarti a identificare i problemi. Ulteriori informazioni, se presenti, verranno eseguite.
  7. Infine, l'installatore può richiedere all'utente di inserire informazioni come nome o indirizzo del sito web.

Questo processo può sembrare complesso rispetto al prossimo sistema operativo nell'elenco. Diamo un'occhiata all'installazione del software su macOS.

MacOS di Apple

Gli installatori di Windows hanno molto da fare sotto il cofano. Ma se hai usato un Mac sai che installare un'applicazione è spesso facile come scaricare una copia dell'app, aprire l'immagine del disco (DMG) e seguire alcuni semplici prompt Come installare e rimuovere il software Mac: 5 semplici metodi Come installare e rimuovere il software per Mac: 5 metodi facili Passa a un Mac e ti affidi alle nozioni di base? Ti chiedi come installare il software dalla riga di comando? Hai vecchie app per Windows che devi semplicemente eseguire sul tuo computer Apple? Leggi di più . A volte il download fornisce anche un'icona "Trascina qui!".

Entriamo nel pacchetto APP e nella sua controparte nell'installer di PKG.

Struttura del pacchetto macOS

Il file APP sulla superficie è in effetti più semplice di Windows per due motivi principali. Innanzitutto, è una cartella standard. L'unica differenza è che termina con un suffisso ".APP". Se scarichi uno di questi su Windows, lo vedrai visualizzato come qualsiasi altra cartella di file in Explorer. In secondo luogo, i file APP richiedono che tutto ciò che il programma richiede sia incluso. Non ci si deve preoccupare delle dipendenze mancanti con questi tipi di programmi di installazione.

Questi pacchetti devono contenere tre elementi in una cartella denominata "Contenuti": 1) un file "Info.plist" che contiene metadati dell'applicazione quali nome, lingua, numero di versione, ecc .; 2) una directory "MacOS" che contiene l'eseguibile principale; e 3) una directory "Risorse" che contiene le risorse necessarie all'applicazione (es. un'icona dell'applicazione). Esistono altre cartelle opzionali come "Framework" (pacchetti di funzionalità che non sono specifici per l'app), "Plug-in" (funzionalità per l'app che non è necessaria per eseguirlo) e "SharedSupport" (dati estranei come modelli).

mac app folders

Al contrario, il formato PKG è una combinazione di un programma di installazione simile a Windows con una struttura simile a Unix 3 Sistemi operativi simili a UNIX che non sono Linux 3 Sistemi operativi simili a UNIX che non sono Linux Recentemente, le persone hanno iniziato a confondere " UNIX "con" Linux ". Linux è stato influenzato da UNIX, ma i sistemi UNIX non hanno alcuna relazione con Linux. Ecco alcuni importanti sistemi basati su UNIX che vale la pena conoscere. Leggi di più . L'applicazione 7-Zip aprirà anche un file PKG, che viene compresso in formato xar . All'interno c'è uno o più file Payload, che è anche un archivio. Per estrarne i contenuti usa la seguente catena di comandi ( cpio è un formato di archivio e un programma per manipolarli) in un terminale Mac o Linux:

cat Payload | gunzip -dc | cpio -i 

Una volta fatto, vedrai un albero di directory familiare simile a Unix.

Nell'esempio seguente, ho usato il convertitore di documenti, Pandoc. Include un file binario in / usr / local / bin e alcuni documenti in / usr / local / share / man . Come si realizzano queste cose? Daremo un'occhiata a come ognuno di questi si installa sul tuo Mac.

struttura mac pkg

Ho usato la versione Windows di 7-Zip per illustrare questo, piuttosto che la versione Linux della linea di comando.

Processo di installazione dell'app macOS

Quando si rilascia quel file APP nella cartella Applicazioni, in realtà non cambia molto. Ricorda, tutto il necessario per eseguire il programma è autonomo. L'unica differenza rispetto a un trascinamento standard è che il file "Info.plist" viene registrato con il sistema.

Mac app copia

Questo configurerà cose come ad esempio l'eseguibile viene chiamato quando si avvia l'app, quale icona viene visualizzata, i tipi di file supportati e altro. Ma altrimenti la tua app (come il pacchetto APP per l'Editor di Atom mostrato sotto) è ora pronta per l'uso.

app mac installata

Processo di installazione di macOS PKG

L'apertura di un file PKG, d'altra parte, avvia un programma di installazione "wizard-style". Per programmi semplici questo è in genere un componente di installazione, che in genere passa attraverso i seguenti passaggi:

  1. Esegui lo script di preinstallazione .
  2. Disimballare il contenuto del "carico utile" sulla macchina.
  3. Esegui lo script postinstall .

mac pkg install

Gli sviluppatori possono quindi combinare più componenti in un'installazione di un singolo prodotto . Ciò aggiunge opzioni come la visualizzazione di un EULA da parte dell'utente per l'accettazione, la raccolta di informazioni dall'utente e la selezione dei componenti da installare. Nel frattempo, l'Apple Installer si occupa di tutti i dettagli relativi all'installazione dei componenti necessari uno alla volta in background.

Parlando di programmi di installazione basati su Unix, passeremo ai due principali formati di pacchetto Linux nella prossima sezione.

Ubuntu e Fedora Linux

Ah, DEB contro RPM Come installare il software su Linux: Spiegazione dei formati del pacchetto Come installare il software su Linux: Spiegazione dei formati del pacchetto Si è passati a Linux e si desidera installare del software. Ma i gestori di pacchetti differiscono a seconda della tua distribuzione. Quindi quali app puoi scaricare e installare? È tutto negli acronimi. Leggi di più . Una delle grandi guerre di fiamma, battuta solo da persone come vi versus emacs o KDE contro GNOME. Eppure questi formati sono più simili di quanto non lo siano. Diamo un'occhiata.

Struttura del file del pacchetto Linux

Per dare un'occhiata all'interno di un file DEB, puoi provare un gestore di archivi GUI. Altrimenti, usa il comando ar . Il seguente comando inserito nel terminale 40+ Comandi terminali Linux più usati 40+ Comandi terminali Linux più usati Sia che tu stia appena iniziando o semplicemente curioso del terminale Linux, ecco i comandi più comuni che ti porteranno per tutto il tempo su Linux. Leggi di più estrarrà il contenuto di un pacchetto Debian:

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

Tre file usciranno da questo:

  • control.tar.gz - Questo a sua volta contiene un file primario, Control, che contiene i metadati relativi al pacchetto, come il nome ufficiale, la versione e le dipendenze. Può anche contenere altri file come script da eseguire durante il processo di installazione o i file di configurazione di default.
  • data.tar.gz - I file che compongono l'applicazione stessa si trovano in questo archivio TAR.GZ. Tutto, inclusi i binari, la documentazione e le configurazioni di default sono qui. Nel pacchetto di esempio kde-service-menu-encfs_0.5.2_all.deb, contiene file e directory come mostrato nell'immagine sottostante.
  • debian-binary - Questo è un file che definisce quale versione del pacchetto Debian utilizza nel formato. Per le moderne distribuzioni questo conterrà solo "2.0" su una singola riga.

deb controllo principale

In Fedora, puoi usare i comandi rpm2cpio e cpio per estrarre un pacchetto RPM e sfogliare i loro file:

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

Per il pacchetto kde-cli-tools-5.9.4-2.fc26.x86_64.rpm, vedrai un albero dei file simile al pacchetto DEB. Ma non fornisce i metadati, almeno non nel pacchetto binario . Dovrai scaricare l'RPM di origine (.SRC.RPM) corrispondente alla versione binaria, quindi utilizzare lo stesso comando in alto su quel file. In esso sarà incluso un file SPEC che contiene molti degli stessi elementi del file di controllo in un pacchetto Debian.

Ora che abbiamo una comprensione della struttura dei pacchetti Linux, esploriamo cosa succede quando li installate. Come installare il software su Linux: Spiegazione dei formati dei pacchetti Come installare il software su Linux: Spiegazione dei formati del pacchetto Passate a Linux, e vuoi installare del software. Ma i gestori di pacchetti differiscono a seconda della tua distribuzione. Quindi quali app puoi scaricare e installare? È tutto negli acronimi. Leggi di più .

Installazione del pacchetto Linux

Quando si installano i pacchetti di entrambi i formati, indipendentemente dal front-end, si verifica un insieme simile di passaggi:

  1. Il sistema del pacchetto esamina i contenuti del pacchetto per determinare se mancano delle dipendenze. A seconda dello strumento, ti avviserà o inizierà a scaricarli.
  2. Se i pacchetti contengono script o comandi di pre-installazione eseguiti successivamente.
  3. Quindi il sistema del pacchetto estrae effettivamente i file del pacchetto.
  4. Con i file installati, vengono eseguiti gli script di post-installazione.
  5. Infine, il pacchetto è registrato con il database interno utilizzando i suoi metadati, quindi può essere disinstallato in seguito.

Sapere come viene installato il software è una buona cosa

Poiché gli sviluppatori di sistemi operativi e il software che li esegue fanno un ottimo lavoro per semplificare l'installazione del software, non è necessario prestare attenzione ai dettagli. Ma avere una certa conoscenza di ciò che sta accadendo dietro le quinte ti darà un po 'di tranquillità su ciò che viene installato sul tuo sistema, oltre ad aiutare nella risoluzione dei problemi.

Quanti dei metodi di installazione del software sopra hai fatto? Preferisci DEB o RPM? Oppure i pacchetti APP di Mac rappresentano l'apice della facilità d'uso? Hai mai avuto un incubo? Fateci sapere nei commenti qui sotto!

In this article