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

Ecco come funzionano gli installatori di software su Windows, macOS e Linux / Spiegazione della tecnologia

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 - Costruire l'applicazione dal suo codice sorgente. Solo per gli utenti più tecnici.
  • Archivi software - Disimballare archivi come file ZIP ed eseguire il programma da ovunque lo si estrae. 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 - Selezionando l'app da una bella interfaccia e facendo clic su un grande “Installare” pulsante. È 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 succede 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:

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 di loro finisce nel “posizione di installazione predefinita” - lo stesso suggerimento che di solito vedi 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.

Con InstallShield, i file dell'applicazione e altre personalizzazioni vengono racchiusi in a setup.exe file. 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.

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 i menu e le cartelle senza pensieri, ti mostriamo i modi semplici e veloci per crearli. Leggi 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 ti fornisce persino un “Trascina qui!” icona.

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

Struttura del pacchetto macOS

Il file APP sulla superficie è in realtà più semplice di Windows per due motivi principali. Innanzitutto, è una cartella standard. L'unica differenza è che termina con a “.APP” suffisso. 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 chiamata “Contenuto”: 1) a “Info.plist” file che contiene metadati dell'applicazione come nome, lingua, numero di versione, ecc .; 2) a “Mac OS” directory che contiene l'eseguibile principale; e 3) a “risorse” directory che contiene le risorse necessarie all'applicazione (ad esempio un'icona dell'applicazione). Ci sono altre cartelle opzionali come “Frameworks” (pacchetti di funzionalità che non sono specifici per l'app), “Plug-Ins” (funzionalità per l'app che non è richiesta per eseguirla) e “SharedSupport” (dati estranei come modelli).

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 è compresso in xar formato. All'interno è uno o più Carico utile file, che è anche un archivio. Per estrarne il contenuto usa la seguente catena di comandi (cpio è un formato di archivio e un programma per manipolarli) in un terminale Mac o Linux:

carico utile gatto | 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 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.

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 della selezione standard è che il “Info.plist” il file viene registrato con il sistema.

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.

Processo di installazione di macOS PKG

L'apertura di un file PKG, d'altra parte, avvia a “wizard-stile” installatore. Per i programmi semplici questo è tipicamente a componente di installazione, che in genere passa attraverso i seguenti passaggi:

  1. Corri il preinstallare copione.
  2. Disimballare il “Carico utile” contenuto alla macchina.
  3. Corri il postinstall copione.

Gli sviluppatori possono quindi combinare più componenti in un singolo archivio del prodotto installare. 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 fiamme, battuta solo da persone del calibro di VI contro 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 ar comando. 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 nome-del-tuo-pacchetto.deb

Tre file usciranno da questo:

  • control.tar.gz - Questo a sua volta contiene un file primario, Controllo, che contiene metadati relativi al pacchetto, ad esempio nome, versione e dipendenze ufficiali. 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 sono 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 qui sotto.
  • debian-binary - Questo è un file che definisce quale versione del formato del pacchetto Debian utilizza il file. Per le moderne distribuzioni questo conterrà solo “2.0” su una singola riga.

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

rpm2cpio nome-del-tuo-pacchetto.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 binario pacchetto. Dovrai scaricare l'RPM di origine (.SRC.RPM) corrispondente alla versione binaria, quindi utilizzare lo stesso comando in alto su quel file. Incluso in quello sarà un file SPEC che contiene molti degli stessi oggetti del Controllo file in un pacchetto Debian.

Ora che abbiamo una comprensione della struttura dei pacchetti Linux, esaminiamo 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 con la 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!

Scopri di più su: Installa software, Linux, macOS Sierra, Windows.