What do each one of them hold and what is difference between them? I encounter various links where they ask to download binary, source, signatures, or package.


These are some essential things to install software in a system.

  • Binary file: this is a file written in binary language (the "computer language"), consisting of 0's and 1's, unreadable to a human. They can be executed and their function is to do a task like reading/writing/moving/copying files. Some examples of binaries are the GNU core utilities, such as ls, cat, mv, cp, cd and pwd. They are usually executed through a terminal. Binaries are compiled from a source code.

  • Source code: the source code is the "recipe" of any software. It's written with a programming language (or several of them). Some sources need to be compiled to work, for example those written in C, C++, Java and FORTRAN. This task is done with a compiler, such as the famous GCC (GNU Compiler Collection). What a compiler does is "reading" the content of the text files containing source code and "translating" it to binary. The output is a binary file.

  • Signature: also known as hash, a signature is usually a 32-character long string. It's used to confirm data integrity. For example, if you download something, you could make sure it's not corrupted comparing your signature with the one provided by the download source. It's basically an algorithm, and if even a bit of the file was modified the signature will show it. A famous example is MD5.

  • Package: the definition of package may be a bit too broad, but considering the GNU/Linux and Ubuntu environment, a package can be:

    • a container for a program's source code, usually stored in .tar file with gz/bz2/xz compression;

    • a compressed file container, such as .zip, .rar and .tar.gz files;

    • in the Debian ecosystem (which includes Ubuntu), we usually refer to "package" as a .deb file. A .deb package contains binary files, documents and manual pages to install a specific program. It also comes with scripts to tell the installer where all the files should be put. There is a program called dpkg which installs .debs.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.