Em sentido estrito, um arquivo binário é aquele que não é codificado por caracteres como texto legível por humanos. Mais coloquialmente, um "binário" refere-se a um arquivo que é compilado, código executável, embora o próprio arquivo possa não ser executável (referindo-se não apenas às permissões, mas também à capacidade de ser executado sozinho; alguns arquivos de código binário, como bibliotecas, são compilados, mas independentemente das permissões, eles não podem ser executados sozinhos). Um binário que é executado como um executável independente é um "executável", embora nem todos os arquivos executáveis sejam binários (e isso é sobre permissões: arquivos de texto executáveis que invocam um intérprete por meio de um shebang, como também #!/bin/sh
são executáveis).
O que é um pacote binário?
Um pacote binário em um contexto linux é um pacote de aplicativos que contém executáveis (pré-criados), em oposição ao código fonte.
Observe que isso não significa que um arquivo de pacote seja um executável. Um arquivo de pacote é um archive (mais ou menos como a .zip
) que contém outros arquivos, e um arquivo de pacote "binário" é aquele que contém especificamente executáveis (embora, novamente, executáveis não sejam necessariamente binários verdadeiros e, de fato, pacotes binários podem ser usados para bibliotecas compiladas que são código binário, mas não executáveis). No entanto, o pacote deve ser descompactado para que você possa acessar esses arquivos.
Normalmente, isso é resolvido por um sistema de gerenciamento de pacotes (por exemplo, apt / dpkg), que baixa o pacote, descompacta e instala os binários dentro de você.
Qual é a diferença entre pacote binário e pacote deb?
Não há - .deb
pacotes são pacotes binários, embora existam .deb
s que contêm código-fonte, eles geralmente são -src
anexados ao seu nome.
Eu corro alguns pacotes diretos que estão no formato "xyz.linux.run" O que são esses pacotes?
Esses geralmente são pacotes binários de extração automática; eles trabalham incorporando uma carga binária em um script de shell. "Extração automática" significa que você não precisa chamar outro aplicativo (como um gerenciador de pacotes) para descompactar e usá-los. No entanto, como eles não funcionam com um gerenciador de pacotes, a resolução de suas dependências pode ser mais um crapshoot e, portanto, alguns desses pacotes usam executáveis vinculados estaticamente (todas as bibliotecas necessárias são incorporadas a eles), que desperdiçam um pouco de memória quando são usados. .