How can I create a binary installer for different Linux distros? I want this for an open source software. Maybe generate .sh file?

Required Software: Generic installer builder for Linux. Installer can be based on bash/sh. GUI is optional.

Price: Open Source, Free, or free for open source.

Real world samples: Installer for VirtualBox guest add-ons, PyCharm installer.

2 Answers 2


There are two things which seem to fit the bill, Snap and Flatpak. The aim of both is to package up all dependencies to work across distributions and versions. Of the two Flatpak is more 'universal', whilst Snap is used quite heavily by Ubuntu.

  • 1
    Don't forget AppImage! I'd probably never use Snap, and I don't like Flatpack that much. To use an AppImage on any distro, the user doesn't need to install any "handling package" like one must with Snap and Flatpak. Simply drop the AppImage in dome directory, make it executable and run it. Done.
    – Izzy
    Commented Apr 18, 2019 at 19:25


Makeself: https://github.com/megastep/makeself

makeself.sh is a small shell script that generates a self-extractable compressed tar archive from a directory. The resulting file appears as a shell script (many of those have a .run suffix), and can be launched as is. The archive will then uncompress itself to a temporary directory and an optional arbitrary command will be executed (for example an installation script). This is pretty similar to archives generated with WinZip Self-Extractor in the Windows world. Makeself archives also include checksums for integrity self-validation (CRC and/or MD5/SHA256 checksums).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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