In senso stretto, un file binario è un file che non è codificato come testo leggibile dall'uomo. Più colloquialmente, un "binario" si riferisce a un file che viene compilato, codice eseguibile, anche se il file stesso potrebbe non essere eseguibile (facendo riferimento non tanto alle autorizzazioni quanto alla capacità di essere eseguito da solo; alcuni file di codice binario come le librerie sono compilato, ma indipendentemente dalle autorizzazioni, non possono essere eseguiti da soli). Un binario che viene eseguito come eseguibile autonomo è un "eseguibile", sebbene non tutti i file eseguibili siano binari (e si tratta di autorizzazioni: file di testo eseguibili che invocano un interprete tramite shebang come anche #!/bin/sh
eseguibili).
Che cos'è un pacchetto binario?
Un pacchetto binario in un contesto linux è un pacchetto applicativo che contiene eseguibili (pre-costruiti), al contrario del codice sorgente.
Si noti che ciò non significa che un file del pacchetto sia esso stesso un eseguibile. Un file di pacchetto è un archivio (una specie di simile a .zip
) che contiene altri file e un file di pacchetto "binario" è uno che contiene specificamente eseguibili (anche se, di nuovo, gli eseguibili non sono necessariamente veri binari, e in effetti i pacchetti binari possono essere usati per librerie compilate che sono codice binario, ma non eseguibili). Tuttavia, il pacchetto deve essere decompresso per poter accedere a questi file.
Di solito questo è gestito da un sistema di gestione dei pacchetti (ad es. Apt / dpkg) che scarica il pacchetto e decomprime e installa i file binari al suo interno.
Qual è la differenza tra pacchetto binario e pacchetto deb?
Non ci sono: i .deb
pacchetti sono pacchetti binari, anche se ci sono .deb
s che contengono invece sorgente, questi di solito hanno -src
aggiunto il loro nome.
Eseguo un pacchetto diretto in formato "xyz.linux.run" Cosa sono questi pacchetti?
Questi sono generalmente pacchetti binari autoestraenti; funzionano incorporando un payload binario in uno script di shell. "Autoestraente" significa che non è necessario richiamare un'altra applicazione (come un gestore di pacchetti) per decomprimere e utilizzarli. Tuttavia, poiché non funzionano con un gestore di pacchetti, risolvere le loro dipendenze può essere più che un crapshoot e quindi alcuni di questi pacchetti usano eseguibili collegati staticamente (hanno tutte le librerie necessarie incorporate in essi) che sprecano un po 'di memoria quando vengono utilizzati .