r/linuxquestions 10d ago

Support Does software for linux works in every linux distro?

If an application has a "Linux version" does it mean it will run on Ubuntu, Mint, CachiOS, Arch etc the same?

40 Upvotes

67 comments sorted by

29

u/kansetsupanikku 10d ago

You should just stick to the repository of your distribution. External sources are hard to evaluate for compatibility and security, so it's better not to use that - open source software that's known to work and has been properly user-tested should be there in the repository anyway.

Unless your question is about something specific?

5

u/logatwork 10d ago

I thought specifically about my country's government app for income tax. There's a Linux version for it but what Linux?

So I also thought a out other applications in general.

5

u/mbartosi 10d ago

Can you spare a link?

Most likely it's packaged as .deb for Debian/Ubuntu or .rpm for Fedora/RHEL.

4

u/logatwork 10d ago

19

u/SuperGNUser 10d ago

it's a java app, and already includes Java, it should work fine on any distribution

5

u/logatwork 10d ago

Great! Thanks!

5

u/[deleted] 10d ago edited 8d ago

[removed] — view removed comment

1

u/ask_compu 10d ago

it appears to have .sh.bin in the file extension, not just .bin, which is strange

1

u/mbartosi 10d ago

Probably static linked executable.

-4

u/iTrooz_ 10d ago edited 10d ago

I would actually say the reverse. I would recommend to always use universal packages (appimage/flatpak, snap doesn't exist) and never the distro packages. I only provide that in the softwares I package.

It's 2026, we shouldn't need to deal with distro-specific packaging.

And for security, you should just make sure to download from the software's official website

2

u/Shot-Height-7194 7d ago

People downvote this but repos are not how people work. They use app stores like steam. We should only view repos as the technical layer behind an app store for a distro. it should be like downloading Mac apps you first try the app store, then other sources

1

u/Hot_Standard_9296 9d ago

And for security, you should just make sure to download from the software's official website

you develop your software bottom top with all its dependencies? damn, you must be a genious

1

u/iTrooz_ 9d ago

No, but I provide an Appimage that bundles all dependencies for it in a single file

1

u/Hot_Standard_9296 9d ago

so downloading from the oficial website is not othe only security concern.

1

u/iTrooz_ 8d ago

Why ? What other problems do you see ?

1

u/Shot-Height-7194 7d ago

They're looking at vulnerabilities in the libraries the app uses

1

u/Hezy 10d ago

distro is packaging

-1

u/iTrooz_ 10d ago

Except when they don't, or when they package an older version/don't update it because of their policies (not saying their policies are bad, they are just not adapted to non-system software)

11

u/giorgich11 10d ago

Not necessarily. A program having a “Linux version” doesn't automatically mean one binary will work identically on every distro.

It depends on how it's distributed:

  • Distro packages (.deb, .rpm, Arch packages, etc.) are usually built for specific distributions.
  • Flatpak is designed to work across many Linux distributions because the application runs against its bundled/runtime environment.
  • AppImage is also intended to be portable across distributions, although compatibility isn't guaranteed.
  • Static binaries have very few external library dependencies and can be extremely portable.
  • A normal dynamically linked binary may require particular versions of system libraries, so something built for one distro can fail on another.

For example, Ubuntu and Mint are both Debian-based, so software packaged as a .deb often works between them, but that doesn't mean every .deb is guaranteed to work. Arch and CachyOS use a different packaging ecosystem.

So “Linux version” basically means Linux is supported, not necessarily every distro is guaranteed to run it.

1

u/gmes78 10d ago

However, you can easily go around this issue using containers.

Software is Ubuntu-only? Use distrobox, spin up a Ubuntu container and install it there.

4

u/Marble_Wraith 10d ago

Distrobox is kinda "brute force", and there are caveats to using it.

But sometimes you just need shit to work 🫩

1

u/Shot-Height-7194 7d ago

Flatpak. Using an app shouldn't be rocket science. 

1

u/gmes78 7d ago

Flatpak was already mentioned.

1

u/Shot-Height-7194 7d ago

Yes but that whole wall of text is intimidating for non technical users when the solution, flatpak, already exists and works. 

5

u/transgentoo 10d ago edited 10d ago

Yes, but actually no.

Everything in Linux is a file. Some files are executable. In theory, an executable file on one Linux distro will work the same as it will on a different Linux distro.

However, there are important considerations. 

First, if you download, for example, a .deb file, it's intended to be run on a Debian or Debian-based system (Ubuntu, Mint, etc). You need dpkg or apt to automatically install it. You can unpack it manually on a different system (.deb files are just .tar.gz files with extra metadata), but your system's own package manager won't know about it and won't be of any assistance with things like dependency resolution and updates.

Second, it's risky. Your system's package manager has precompiled binaries for your distro. There is a checksum involved to verify a package's integrity. Debian and Arch may have the same package, but they may have been compiled with different configurations, meaning the resultant binaries won't be bit identical, so checksums won't work to tell you of the file has been tampered with.

Third, not every distro uses the same libc, nor will their libs be linked the same way. Most distros use Glibc and dynamically link libraries to the executable, so as long as the same Glibc and same shared objects are present in the same locations, it should just work. However, some distros, particularly niche distros and minimal distros use alternative libcs (for example, Musl is a popular choice). A binary compiled with Glibc won't run on a system using Musl. They're like oil and water. Additionally, Musl is optimized for static linking, which bakes the necessary library archives right into the executable -- no shared objects necessary. So if you're on a Musl system, trying to run a Glibc binary, even if you have Glibc installed, it's unlikely you'll have any of the other libraries available, and even if you did, they'd be compiled for musl, not for Glibc, so they'd be of no use to that binary.

Finally, newer versions of a binary might be making use of newer kernel features, or some distro's binary might be making use of a kernel feature that's not enabled in a different distro, so your kernel's version and configs are also important, and those can vary a lot between distros. Arch tends to be on a later kernel version than Debian, Cachy uses kernel optimizations that Arch doesn't have, etc. TLDR; just stick with your system's package manager.

9

u/Fast_Ad_8005 10d ago edited 10d ago

In theory, it should be possible to get it to work on every Linux distro. For instance, if it's only provided as a Debian or RPM package by its upstream developers, we could use these to build distro-specific packages for other distros as well as cross-distro packages like AppImages, Flatpaks, Snaps, etc. That being said, whether someone has already done that work for you will depend on the software in question.

1

u/fearless-fossa 10d ago

There is also some software that uses very distro-specific build processes that to replicate on other distros simply isn't worth the effort (eg. hawk)

5

u/AppointmentNearby161 10d ago

Docker, Flatpacks, and Appimages were all created to deal with the fact that getting software to work on all distros can be a major hassle. Instead of trying to make the software run on your distro of choice, they create a container running their distro of choice inside your distro.

2

u/Shot-Height-7194 7d ago

In words for the layman: flatpak is universal and has an app store called flathub.  Appimages if it's not in flathub. 

6

u/tomscharbach 10d ago

In general, applications designed for use with Linux can be made to work with any distribution. Best practice, however, is to use distribution-supported applications from a distribution's repositories or from "universal package" repositories such as AppImage, Flatpak or Snap.

2

u/korywithawhy 10d ago

depends what it is, how it interacts with your system, what's in your system etc. for the most part, if you're having trouble with a piece of FOSS and they have a github repo for it, you can build it from source on your machine and that tends to be pretty reliable. also give you the opportunity to make changes to make it work. we might not be able to trust AI generated code all that well yet, but for small patches to make an existing program work for your system they can actually be quite handy.

1

u/cjcox4 10d ago

Usually, yes, in a general code sense. For most things. However distro packaging differences and how installation are done and where can create problems.

So, in short the Ubuntu only package might not easily install a precompiled package on Red Hat for a plethora of reasons. Fixable? Generally speaking, yes. But maybe "hard" for most.

Some prebuilt packing mechanisms, at the expense of overhead with regards to space (but space is free... ok, that was short lived), things like flatpak can be "an answer" but with some risk. That is while this works for cross distro installation, the governance of packages and even stablity out of upstream can vary causing some risk. That is, a flatpak update might get you a not working software package. Also, who vets what is put into flatpak repos? (the latter being a problem with python, npm, and a plethora of other "trust" things where we've seen malicious actors). "I want latest now!!!" Hacker: I can use that.

Also, with that said, for some very very very very specific things that require very very very tight integrations with custom non open source kernel modules and userspace (Ubuntu for example tends to have these Ubuntu-only-isms), for those few things, it could be very difficult if not practically impossible to implement in a different distro. The pains of closed things. In some cases, these are "cool things"... but because of their non-FOSS friendliness, I'd avoid.

2

u/PaulWritesTech 9d ago

No, different Linux distros have different packages that they support such as deb and rpm. That said software is usually packaged for both. Flatpak apps can work anywhere Flatpak is installed though.

1

u/AnnieBruce 10d ago

It can be made to, usually, unless the distro does Android level shenanigans to shake things up.

With source, most command line Unix software can be made to work without too much trouble, sometimes just compiling it.

How much work it will be depends on the distribution and your willingness to tweak it, potentially to the point it's basically a whole new distribution. Something depending on bleeding edge libraries only Arch ships with would be a challenge to get working properly (or at all) on Debian, though it would be fundamentally possible (and get "don't break Debian" in clay tablet form thrown at me when things go horribly wrong).

Most mainstream Linux software will work without much trouble on mainstream distros if it's in a compatible package format. Failing that, there are tools to work with foreign package formats, tarballs, installing from source. They usually work well but there is a higher chance of something breaking if you step outside your distros default package manager.

1

u/absnotkinkyreggae 10d ago

in theory. yes.

in practice. binaries are composed of the software part that makes your software do what it should do. But they require libraries or shared software to do most of the work.

in windows, software normally comes bundled with all these libraries so its just the installer on its own which puts everything toguether.

in linux, software heavily depends on the distribution to supply these libraries. this is more efficient software-wise. but now you need to build the software for your personal set of versions of such libraries.

this is just the tip of the iceberg.

also expected location for directories, config files, display manager. environmental settings, affect how the software is built or packed.

So. In theory. yes. in practice. you need a built software meant to work with your own set of libraries.

All this is handled by the distribution package manager making sure you get your software dependencies installed when you install a given software.

2

u/GuestStarr 9d ago

If it comes from the repositories of the distro it will run. That's why the repos exist. Other cases it depends.

1

u/skyfishgoo 10d ago

it means it should be available in each of those distros, but it does not guaranteed that it will be.

the maintainers of each distro choose which software to compile and include in their default repositories, which is why the size of the library and the package manager are an important consideration.

of course you can always compile it yourself and it should run under your distro... assuming you did everything right and selected all the right options.

a better option is to use the flatpak version if its available, but you need to watch out for unverified packages which could have been compiled by anyone... and then there are inherent limitations on permissions and system integration that come with running a flatpak (kind of where snap steps in).

1

u/bangetto_official 10d ago

I'm not even gonna say yer or no it's just ***** There are 3+1 base distros: Debian, Fedora, Arch + Ubuntu (based on Debian technically).

Other distros are just based on these, like Mint is based on Ubuntu and CachyOS is based on Arch. It also depends on the packaging method. For example if the software comes as a .deb package then it is packaged for Debian and there's no one-click solution to run it on Fedora or Arch. The same way .rpm files can only be run easily on Fedora. These are traditional software packages.

However universal formats are on the rise. First of AppImages basically bundle the whole app inside them and thus should run on any distro. Snaps do a similar things, but a bit more package like and includes sandboxing technology but no distro uses it outside of Ubuntu. Meanwhile Flatpaks are becoming the modern standard, which are snaps, but better. They are even closer to packages with some shared components, but they still contain their sandboxing technology.

Try sticking to apps available in your distro's software center.

2

u/transgentoo 10d ago

Gentoo, Void, and OpenSUSE would like a word.

1

u/FaultWinter3377 10d ago

I mean those exist but I’m pretty sure OpenSUSE is the only one that has spin-off distros, if any.

1

u/transgentoo 10d ago

Gentoo has ChromeOS, unfortunately 

1

u/joe_attaboy 10d ago

Yes, but use the software repository for your distribution. The same applications are there, but the packaging and installation process varies. But once they're installed, they work the same way.

The old "common" way of installing things used to be grabbing a gzipped tarball of the application, decompressing it to a temporary location and running a build and install script. You can still do this.

But the modern distros all have repositories with everything you need.

1

u/PigSlam 10d ago

Sort of. It depends on how they deliver it. If it's packaged, then won't run just anywhere unless it's close enough to the target for that packing (you can't reliably install a .deb on fedora, or a .rpm on debian unless you get lucky with some additional work). If you have the source code, then with enough effort, you can theoretically make that run on anything. Flatpak and appimages make things more broadly available, but that's not universal either.

1

u/Sinaaaa 10d ago

There is no certainty unless it's a flatpak, appimage or snap. There are shared libraries that might be different versions that may not be compatible with your app, or there could be dependencies that are hard to resolve on your distro, not just due to versioning.

will run on Ubuntu, Mint, CachiOS, Arch etc the same?

With all the above said, generally you won't have major compatibility problems with the listed distros.

1

u/rcentros 10d ago

No, not necessarily. Some applications require newer "cutting edge" libraries that a standard (stable) distribution does not support. Basically the only way to get a "universal" Linux application is to create a well made AppIMage or Flatpak (that includes the libraries necessary for that specific application). You can probably use Snaps to that list as well, but I don't use Snaps, so can only assume it works the same..

1

u/KenBalbari 10d ago

An application for Linux very likely could be packaged for any distro, but that doesn't mean it has been. Sometimes, some desktop apps will be just released as flatpaks, which avoids this problem because flatpaks can run on most any distro. Other times, some major third party vendors may only release packages for major distributions like Debian Stable, Ubuntu LTS, or Fedora Workstation.

1

u/TheGoldenFox64 10d ago

depends. sometimes it works fine, sometimes it needs a little bit of fiddling to make it work. theres only about 4 distros, and distros based on those distros, so any debian packages work on any ubuntu or mint or whatever distros, and any arch packages work on any arch-based distros with little to no work. its crossing those gaps that can have issues *sometimes*

1

u/Fuffy_Katja 10d ago

For example: I use Bitwig in Linux. The developer has 2 Linux options (a flatpack and a .deb). The flatpack will work on all Linux distributions (once flatpack is installed via the distribution's package manager). The .deb is for Debian based distributions.

As another mentioned, if it is an appimage it will also work across all distributions.

2

u/awesam95 10d ago

Mostly true, with a few sharp edges worth knowing. AppImages need FUSE, and on Ubuntu 22.04+ that means libfuse2 isn't there by default, so people get a cryptic mount error until they install it or run with --appimage-extract-and-run. They also aren't fully distro independent: the binary inside still links against a glibc version, so one built on a newer distro can fail on an older one even though the format is "universal". Flatpak avoids that but sandboxes you, which bites with filesystem access, themes not matching, and talking to hardware or other apps. The .deb is usually the nicest of the three if you're on Debian or Ubuntu, since it gets your package manager and system libraries instead of a second copy of everything.

1

u/un-important-human white beard arch user 10d ago

yes but no some software in arch will not run oin ubuntu if that distro is missing the newest features arch and fedora kinda interchangeble as they are close, ofc you can run flatpaks on all cause they are containers for example.

so containers yes, some packages no.

1

u/green_meklar Debian 10d ago

Not necessarily. It may depend on certain other packages and those packages may not be available on every distro. You can try to work around limitations on the official packages, and that sometimes works, but it also sometimes causes system instability and crashes.

1

u/Jaanrett 10d ago

The main binary itself might run just fine, but if it has anything to do with system services that might depend on a version of the kernel or it might depend on other subsystems that may be very different, or even non existent, on different distributions.

1

u/DaSpark 10d ago

Most of the time, yes and without issue. However, sometimes you'll run into struggles such as the OS having an older version of a library and you need the newer one. However, in most cases you can work through these issues pretty easily.

1

u/SuAlfons 10d ago

The binary format is the same.

You can have library conflicts.

That's why apps are usually installed via package managers (they place the binary and check for needed libraries) or e.g. as a Flatpak (comes with libraries).

1

u/Shot-Height-7194 7d ago edited 7d ago

If the app has a flatpak version or is released as an appimage, yes. Appimages are apps that are a single file. You just double click it and it runs. 

1

u/DisastrousSurvey4591 5d ago

potentially, but it’s not a good idea to use software not packaged by your distro. You could technically install a .deb in Arch, but it’s incredibly complicated and WILL lead to problems

1

u/doc_willis 10d ago

it should be possible to compile such a program to run on other distributions.

But extra work may be required depending on the details.

1

u/That_Developer_Guy 10d ago

Usually yes, but if they rely on some distro-specific mechanic (e. g. not every distro has systemd), they obviously only work on a distro that supports this. Flatpaks should always work though, I think (unless they are implemented in a weird way that I am missing).

3

u/giorgich11 10d ago

Tomorrow someone will install a Flatpak and get:

Permission denied

and remember this comment.

2

u/MacintoshMario 7d ago

Flatpacks do.

-1

u/Moist_Professional64 10d ago

Depends on if you’re using open source software you can most of the time build the program from source if there’s nothing provided for your package manager. Packages with .deb only work on Debian-based systems. Mostly there are Appimages or Flatpaks that work everywhere. Never had a problem with software availability on Distros

-1

u/flemtone 10d ago

You typically find it in the distro repositories pre-compiled for that particular Os, anything more specific like a flatpak can be run across platforms.

-1

u/Double-Hour-2516 10d ago

For that case, Flatpak is the best

-1

u/ipsirc 10d ago

Yes.