Annuncio
I moderni sistemi operativi forniscono metodi semplici per configurare nuove applicazioni. Questi includono pacchetti di installazione automatizzati e comandi che installano molti bit di software contemporaneamente. Ma cosa succede effettivamente quando esegui quel programma di installazione o emetti quel comando?
Diamo un'occhiata a come il software viene installato su tre principali piattaforme desktop: Windows, macOS e Linux.
Metodi di installazione del software
Ci sono diversi modi per far funzionare nuove applicazioni sul tuo computer. In ordine di complessità crescente, questi includono:
- Compilazione del software — Costruire l'applicazione dal suo codice sorgente. Solo per gli utenti più tecnici.
- Archivi software — Decomprimere archivi come file ZIP ed eseguire il programma da dove lo hai estratto. Questo potrebbe richiedere qualche ritocco extra.
- Pacchetti di installazione — Trovare un file di installazione e fare (doppio) clic per avviare l'installazione.
- Gestori di software/negozi — Selezionando l'app da una bella interfaccia e facendo clic su un grande pulsante "Installa". È magico!
In questo articolo esamineremo i pacchetti di installazione, poiché la maggior parte dei gestori/negozi di software si occupa comunque di questi tipi di pacchetti dietro le quinte. Per le principali piattaforme desktop di oggi, Windows, macOS e Linux, esamineremo cosa costituisce uno di questi pacchetti e cosa succede quando li installi.
Microsoft Windows
I pacchetti di installazione che potresti incontrare per Windows sono disponibili in una delle due versioni principali. I file eseguibili (EXE) possono configurare il tuo programma facendo il lavoro pesante di posizionare i file nella posizione giusta ed eseguire gli aggiornamenti del registro di Windows. I pacchetti di Windows Installer (MSI) si aggiungono a ciò fornendo servizi standardizzati come le disinstallazioni.
È possibile ispezionare il contenuto di EXE o MSI tramite aprire l'archivio con 7-Zip 7Zip: un programma gratuito per decomprimere formati di archivio non comuni Per saperne di più . Se lo usi per guardare il programma di installazione EXE di 7-Zip, troverai una serie di file diversi all'interno:
Sebbene questi file non abbiano una cartella contenente all'interno del programma di installazione, lo sviluppatore avrà puntato ciascuno su una directory di destinazione. La maggior parte di essi finisce nella "posizione di installazione predefinita", lo stesso suggerimento che in genere 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 su quali versioni di Windows verrà installato, impostare scorciatoie da creare nel menu Start e/o sul desktop, o raccogliere informazioni sull'utente come nome, indirizzo, eccetera. Il progetto di esempio InstallShield nell'immagine seguente mostra la schermata per impostare se le chiavi del Registro di sistema di Windows devono essere create o aggiornate.
Con InstallShield, i file dell'app e altre personalizzazioni vengono racchiusi in a setup.exe file. L'apertura con 7-Zip mostrerà che all'interno c'è un pacchetto MSI che, una volta eseguito, assomiglia all'installazione a cui siamo tutti abituati. Rivediamo cosa succede durante questo processo.
Processo di installazione di Windows
Un installatore eseguirà i seguenti passaggi per configurare la tua app per l'uso (il cui ordine preciso può variare a seconda delle personalizzazioni dello sviluppatore):
- Un programma di installazione può contenere altri archivi, come il suddetto MSI o formati come CAB. Come primo passo, il programma di installazione li estrarrà in una posizione temporanea.
- Successivamente, controllerà che tutte le dipendenze impostate siano disponibili. Se manca qualcosa, lo scaricherà se possibile o uscirà dal programma di installazione con un errore in caso contrario.
- Se sono necessarie dipendenze, verranno installate prima utilizzando qualsiasi programma di installazione con cui vengono fornite (mai stata interrotta un'installazione per .NET Framework? Microsoft .NET Framework: perché ne hai bisogno e come installarlo su WindowsDevi installarlo o aggiornarlo. Ma sai cos'è .NET Framework? Ti mostriamo perché ne hai bisogno e come puoi ottenere l'ultima versione. Per saperne di più ).
- Successivamente, il programma di installazione inizierà a copiare i file dell'app e a posizionarli nella posizione corretta.
- Se lo sviluppatore ha configurato dei collegamenti, il programma di installazione li creerà e li indirizzerà al percorso di installazione effettivo (ricorda, puoi cambiarlo Come creare collegamenti sul desktop di Windows in modo sempliceI collegamenti intelligenti sul desktop possono farti risparmiare il vagliare senza pensieri tra menu e cartelle. Ti mostriamo modi semplici e veloci per crearli. Per saperne di più quando viene eseguito il programma di installazione).
- Modifiche al registro di Windows 3 strumenti per monitorare ed esaminare il registro di WindowsIl registro di Windows è una delle parti meno conosciute del sistema operativo Windows. Ti mostriamo strumenti che possono semplificare il registro e aiutarti a identificare i problemi. Per saperne di più , se presente, verrà eseguito.
- Infine, il programma di installazione potrebbe 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.
Apple macOS
Gli installatori di Windows hanno molto da fare sotto il cofano. Ma se hai utilizzato un Mac, sai che l'installazione di un'applicazione è spesso facile come scaricare una copia dell'app, aprire l'immagine del disco (DMG) e seguendo alcune semplici istruzioni Come installare e rimuovere il software Mac: 5 semplici metodiSei passato a un Mac e hai imparato le basi? Ti stai chiedendo come installare il software dalla riga di comando? Hai vecchie app Windows che devi semplicemente eseguire sul tuo computer Apple? Per saperne di più . A volte il download ti fornisce anche un "Trascina qui!" icona.
Immergiamoci nel pacchetto APP e nella sua controparte, il programma di installazione PKG.
Struttura del pacchetto macOS
Il file APP in 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, vedrai che viene visualizzato come qualsiasi altra cartella di file in Explorer. In secondo luogo, i file APP richiedono che sia incluso assolutamente tutto ciò che il programma richiede. Non c'è da preoccuparsi per le dipendenze mancanti con questi tipi di programmi di installazione.
Questi bundle devono contenere tre cose in una cartella chiamata “Contents”: 1) un file “Info.plist” che contiene i metadati dell'applicazione come 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 per il funzionamento dell'applicazione (ad esempio l'icona di un'applicazione). Esistono altre cartelle opzionali come "Frameworks" (pacchetti di funzionalità che non sono specifici dell'app), “Plug-In” (funzionalità per l'app che non è necessaria per eseguirla) e “SharedSupport” (dati estranei come modelli).
Al contrario, il formato PKG è una combinazione di un simile a Windows installatore con una struttura simile a Unix 3 sistemi operativi simili a UNIX che non sono LinuxRecentemente, 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. Per saperne di più . L'applicazione 7-Zip aprirà anche un file PKG, che è compresso in xar formato. Dentro c'è uno o più Carico utile files, che è anche un archivio. Per estrarne il contenuto utilizzare la seguente catena di comandi (cpio è un formato di archivio e un programma per manipolarli) in un terminale Mac o Linux:
cat Carico utile | gunzip -dc | cpio -i
Una volta fatto, vedrai un albero di directory simile a Unix.
Nell'esempio seguente, ho usato il convertitore di documenti, Pandoc. Include un binario in /usr/local/bin e un po' di documentazione in /usr/local/share/man. Come si mettono effettivamente a posto queste cose? Daremo un'occhiata a come ciascuno di questi si installa effettivamente sul tuo Mac.
Ho usato la versione Windows di 7-Zip per illustrare questo, piuttosto che la versione Linux solo da riga di comando.
Processo di installazione dell'APP macOS
Quando rilasci quel file APP nella cartella Applicazioni, non cambia molto. Ricorda, tutto il necessario per eseguire il programma è autonomo. L'unica differenza rispetto a un drag-and-drop standard è che il file "Info.plist" viene registrato con il sistema.
Questo configurerà cose come quale eseguibile viene chiamato all'avvio dell'app, quale icona viene visualizzata, i tipi di file supportati e altro. Ma per il resto la tua app (come il pacchetto APP per Atom Editor mostrato di seguito) è ora pronta per l'uso.
Processo di installazione di macOS PKG
L'apertura di un file PKG, d'altra parte, avvia un programma di installazione "in stile wizard". Per i programmi semplici questo è in genere a installatore di componenti, che in genere segue i seguenti passaggi:
- Corri il preinstallare sceneggiatura.
- Disimballare il contenuto "Payload" nella macchina.
- Corri il postinstallazione sceneggiatura.
Gli sviluppatori possono quindi combinare più componenti in un unico archivio prodotti installare. Ciò aggiunge opzioni come la visualizzazione di un contratto EULA che l'utente deve accettare, la raccolta di informazioni dall'utente e la selezione dei componenti da installare. Nel frattempo, l'Apple Installer si occupa di tutti i dettagli dell'installazione dei componenti necessari uno per uno in background.
Parlando di programmi di installazione basati su Unix, passeremo ai due principali formati di pacchetti Linux nella prossima sezione.
Ubuntu e Fedora Linux
ah, DEB contro RPM Come installare il software su Linux: spiegazione dei formati dei pacchettiSei passato a Linux e desideri installare del software. Ma i gestori di pacchetti differiscono a seconda della tua distribuzione. Quindi quali app puoi scaricare e installare? Sta tutto negli acronimi. Per saperne di più . Una delle grandi guerre di fuoco, superata solo da artisti del calibro di vi contro emacs o KDE contro GNOME. Eppure questi formati sono più simili che diversi. 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 del terminale Linux più utilizzatiChe tu sia appena agli inizi o semplicemente curioso del terminale Linux, ecco i comandi più comuni che ti accompagneranno per tutto il tuo tempo su Linux. Per saperne di più estrarrà il contenuto di un pacchetto Debian:
ar -x nome-del-tuo-pacchetto.deb
Ne usciranno tre file:
- controllo.tar.gz — Questo a sua volta contiene un file primario, Controllo, che contiene metadati sul 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 file di configurazione predefiniti.
- 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 predefinite, è 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 formato del pacchetto Debian sta usando il file. Per le distribuzioni moderne 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 di file simile al pacchetto DEB. Ma non fornisce i metadati, almeno non in il binario pacchetto. Dovrai scaricare l'RPM sorgente (.SRC.RPM) corrispondente alla tua versione binaria, quindi utilizzare lo stesso comando sopra su quel file. Incluso in questo sarà un file SPEC che contiene molti degli stessi elementi del Controllo file in un pacchetto Debian.
Ora che abbiamo una comprensione della struttura dei pacchetti Linux, passiamo a esplora cosa succede quando li installi effettivamente Come installare il software su Linux: spiegazione dei formati dei pacchettiSei passato a Linux e desideri installare del software. Ma i gestori di pacchetti differiscono a seconda della tua distribuzione. Quindi quali app puoi scaricare e installare? Sta tutto negli acronimi. Per saperne di più .
Installazione del pacchetto Linux
Quando installi pacchetti di entrambi i formati, indipendentemente dal front-end, si verifica una serie di passaggi simile:
- Il sistema del pacchetto esamina il contenuto del pacchetto per determinare se mancano dipendenze. A seconda dello strumento, ti avviserà o imposterà il download.
- Se i pacchetti contengono script o comandi di preinstallazione, vengono eseguiti successivamente.
- Quindi il sistema dei pacchetti estrae effettivamente i file del pacchetto.
- Con i file in posizione, vengono eseguiti gli script di post-installazione.
- Infine, il pacchetto viene 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 esegue su di essi fanno un ottimo lavoro nel 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 aiutarti con la risoluzione dei problemi.
Quanti dei metodi di installazione del software di cui sopra hai eseguito? Preferisci DEB o RPM? O i bundle APP di Mac rappresentano l'apice della facilità d'uso? Hai mai avuto un'installazione da incubo? Fateci sapere nei commenti qui sotto!
Aaron è stato un appassionato di tecnologia come analista aziendale e project manager per quindici anni, ed è stato un fedele utente di Ubuntu per quasi lo stesso tempo (dal Breezy Badger). I suoi interessi includono l'open source, le applicazioni per piccole imprese, l'integrazione di Linux e Android e l'informatica in modalità testo.