timvisee / lazymc

💤 Put your Minecraft server to rest when idle.
GNU General Public License v3.0
573 stars 15 forks source link

Difference between files #21

Closed Zoey2936 closed 2 years ago

Zoey2936 commented 2 years ago

Hello, what is the difference between "lazymc-v0.2.7-linux-x64-static" and "lazymc-v0.2.7-linux-x64"? Thanks

timvisee commented 2 years ago

One is a dynamic binary, the other is static.

On Linux, a dynamic binary is used most often. It loads dependencies (such as libc) dynamically from an external file on your system. This has various benefits, and works great with a package manager.

However, it requires you to have (a compatible version of) these dependencies installed. This can be problematic when just dropping a binary on your system, because there's no package manager to take care of dependencies. If a dependency is missing or incompatible, the binary just won't start.

That's where static binaries come in. Dependencies are statically linked, which means that they're included in the binary. It should therefore work on any Linux system, which is great from a compatability standpoint.

There's a lot more to it, but that's not super important here. If you're just wondering what binary to choose, take the static one because it has a better chance of working.

You might find this interesting as well: https://www.reddit.com/r/linux/comments/6pkzf5/static_and_dynamic_binaries/

Zoey2936 commented 2 years ago

Thanks