Live data from Hacker News

Oasis: a small statically-linked Linux system

github.com

91–100 of 169 posts

Re: Oasis: a small statically-linked Linux system

#91
post #49

Earlier quoted context omitted.

I would be surprised if there was not a way to take a dynamic executable, "add in" all the required libraries, and return a fat static executable

If you know of such a utility I'd like to see it, because I've looked and never found it. The closest I've seen are things like AppImage.

I have used exodus to do this in the past. https://github.com/intoli/exodus

Re: Oasis: a small statically-linked Linux system

#92

Would be cool to get a bit of a "why this matters" intro on repos like this. I clicked through the details, but left wondering if I have any potential use for this. Can I compile this onto a USB stick and use it as a throw-away boot Linux for maintenance tasks? Can I cross-compile this for embedded devices? What is the statically-linked advantage here? Not trying to minimize the effort, I would actually love to see m…

It seems like your definition of "why this matters" is "how can this pick me up as a user" but for some projects "why this matters" is "to see if this works as well as we think it could" or similar more abstract goals. If the goal of the project is to try to be as small and simple of a Linux distro as possible by trying a different take and seeing how it pans out (which it seems like this is) then it's accomplishing it's goals whether or not it tells you how you could use such a distro were it to pan out.

Re: Oasis: a small statically-linked Linux system

#93
post #91

Earlier quoted context omitted.

If you know of such a utility I'd like to see it, because I've looked and never found it. The closest I've seen are things like AppImage.

I have used exodus to do this in the past. https://github.com/intoli/exodus

> Exodus handles bundling all of the binary's dependencies, compiling a statically linked wrapper for the executable that invokes the relocated linker directly, and installing the bundle in ~/.exodus/ on the remote machine. You can see it in action here.

That isn't really what is being described, or at least not what I'm referring to. It's more like a self-extractor.

Re: Oasis: a small statically-linked Linux system

#94
post #66

This makes me so happy! If static linking was ubiquitous, we could have avoided the complex craziness of docker and the like.

Well, you'd also need to fix Python (, Go, Ruby, JS, ...) packaging and delivery too...

so it's a step in the right direction, then; bravo Oasis Linux!

Re: Oasis: a small statically-linked Linux system

#95

Earlier quoted context omitted.

As someone who uses linux casually, I often experience pain when I download a program, try to run it, and it fails because some dependency is not installed or is not the right version. So you try to figure out how to install it and it in turn needs a couple of things. All of this works fine if whatever package manager your distro uses has the program you want, but the package managers don't have evertying! So I'd lov…

> So I'd love an ecosystem where things tend to be statically linked unless there is a good reason not to. Well, every time there is a bug fix in one of your dependencies you/your distribution would have to recompile everything that depends on it. Which will use quite some resources. So to actually use this you would have to reinstall (nearly) all programs once a week or so (no matter if source or binary distribution…

Letting software have dependencies then making the user manage them in the off chance there is some bug in the foundational mostly frozen libraries should be an obviously bad decision at this point.

No other environment forces this kind of complexity on their users and almost no non-enthusiast user wants to deal with this structure.

Re: Oasis: a small statically-linked Linux system

#96

Earlier quoted context omitted.

I am not sure what you mean. The Linux kernel has dynamically loaded modules but you can build modules as statically part of the kernel. 'Y' instead of 'M' in the config. It doesn't make sense to "statically link" a kernel to a program, or multiple programs together, which I read your comment to suggest. That would be a different thing than the term "statically link" refers to.

> It doesn't make sense to "statically link" a kernel to a program That's kinda what a Unikernel is.

[deleted]

Re: Oasis: a small statically-linked Linux system

#97
post #69

Earlier quoted context omitted.

>Well, every time there is a bug fix in one of your dependencies you/your distribution would have to recompile everything that depends on it Well no, I could opt not to apply the bug fix if it isn't affecting me. This again is sort of serve mentality, where of course you want to get a bug fix in as quick as possible in case it is a security issue. A desktop user, maybe you don't. >After all, even nowadays application…

> Probably suggest arch linux to someone complaining about having to track down dependencies does not make sense, since such a person is more interested in the OS just working rather than making the OS a bit of a hobby that that they want to customize. Then recommend Manjaro, not an OS that “just” loads them down with ads, tracking, forced updates, and more unless — and to some extent still even after — they customiz…

At the risk of starting a distro war in the comments, I'll have to recommend Pop!_OS over Manjaro.

Pop has broken itself less often then Windows for me, while Manjaro has broken itself slightly more.

Re: Oasis: a small statically-linked Linux system

#98

> No package manager. > Instead, you configure a set of specifications of what files from which packages to include on your system Isn't that a just a declarative package manager?

I suppose you could argue that, but it is not a package manager in the traditional sense.

My main point here is that once you build the system, there is no longer any notion of "package", just files that make up your root filesystem. There is no package database tracking which files came from which packages. Instead, if you want to add/remove/update a package, you rebuild the system with a different specification, and then sync the resulting tree it to /.

Re: Oasis: a small statically-linked Linux system

#100

Honestly, I'm team dynamic linking. I prefer to have things clearly separated in functionality and easily upgradeable. Statically linking all the OS utilities to their dependency libraries, over and over again? Dear god that sounds awful.

There's no reason that there needs to be such extremes as either all statically linked or all dynamically linked. History has proven that dynamic linking causes a large number of headaches, and static linking has drawbacks as well. There is a reasonable middle ground: base system functionality that is utilized by most software (stdlib, cryptography, networking, gui, etc) should be dynamic and everything else should b…

This 'middle ground' you describe is essentially how macOS and Windows work, isn't it?
Post reply on HN