Live data from Hacker News

Oasis: a small statically-linked Linux system

github.com

141–150 of 169 posts

Re: Oasis: a small statically-linked Linux system

#141

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. having used Red Hat, Mandrake, Ubuntu, Debian... Arch Linuxis by far the most "just works" distro I've used

Do you really mean Arch Linux or something based on it like Manjaro? Pretty sure Arch Linux doesn't even come with an installer.

Re: Oasis: a small statically-linked Linux system

#142
post #113

Earlier quoted context omitted.

Hot take: A great tragedy of the GNU/Linux ecosystem is the fact that ABI+API is still not figured out, and the most common interface between programs is the C ABI, which is embarassingly primitive even by 80's/90's standards. Some people in the FOSS community just want to leave things as-is to hinder propiertary software, and it's the same story with device drivers. You can debate the merits rightfully so, but then…

As a primarily Linux developer I'm super jealous of COM. It reminds me a lot of dbus with more legacy cruft but also a lot better designed.

As a former Windows developer, I am thankful that I never have to touch COM ever again.

Re: Oasis: a small statically-linked Linux system

#143

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…

Hot take: A great tragedy of the GNU/Linux ecosystem is the fact that ABI+API is still not figured out, and the most common interface between programs is the C ABI, which is embarassingly primitive even by 80's/90's standards. Some people in the FOSS community just want to leave things as-is to hinder propiertary software, and it's the same story with device drivers. You can debate the merits rightfully so, but then…

We should aim to not use Snap, please! :/

Re: Oasis: a small statically-linked Linux system

#144

This would be 10x faster and smaller if they just built these components into Busybox. Package management, library management, etc are solved problems when it comes to Linux distros. The only practical improvement you can make is containers (or similar). Static binaries cannot deal with external dependencies, and many applications require external dependencies that cannot be compiled in . But even by trying to compil…

> Package management, library management, etc are solved problems when it comes to Linux distros. The only practical improvement you can make is containers (or similar). To me this basically reads as "we added a bunch of complexity on top of the problem without actually solving it". Package managers are supposed to prevent conflicts and manage giant dependency graphs, but they're so shit at doing that while actually…

Nix[1] is a package manager for linux and macos that solves this problem beautifully. You can have any variation (version, build options, dependencies, etc) of a package installed natively without conflicting with eachother because the filesystem path includes a hash of the build instructions. It works really, really well for reproducibility and eliminating the "works on my machine" problem. I've been using it exckusively for dev machines and servers for years.

[1] https://github.com/NixOS/nixpkgs

Re: Oasis: a small statically-linked Linux system

#145

Earlier quoted context omitted.

> So I'd love an ecosystem where things tend to be statically linked unless there is a good reason not to. Me too, but I'm not sure this project brings us closer to that goal. I don't need the base OS to be statically linked—in fact, that's where static vs dynamic linking matters least , because it all comes preinstalled. What I want is for everything else which I may want to install on top to be available as statica…

Since most common applications have moved to the web, and the biggest Linux end user deployment by far, Android, was created from fresh beginnings, the idea of the user being concerned with minutia of binaries is already far along a long road to the grave.

> Since most common applications have moved to the web

No, just please no!

Re: Oasis: a small statically-linked Linux system

#146
post #111

Earlier quoted context omitted.

Hot take: A great tragedy of the GNU/Linux ecosystem is the fact that ABI+API is still not figured out, and the most common interface between programs is the C ABI, which is embarassingly primitive even by 80's/90's standards. Some people in the FOSS community just want to leave things as-is to hinder propiertary software, and it's the same story with device drivers. You can debate the merits rightfully so, but then…

That's a searing hot take, to be sure. There is no alternative to the C ABI. If you look at stable ABIs in other programming languages, they're either identical to or thin shims around the C ABI! Even COM, with the caveat of calling convention on MSVC. Regardless of ABI stability you also need software to have API stability for stable distribution. The two solutions to this problem are to statically link everything o…

I haven't done native development professionally, but it seems to me like dynamic linking is a leftover from a time when memory and even disk space were precious, isn't it? Are the savings really still worth all the breakage? What is Docker but a way to force static linking on programs that were built for dynamic linking?

Re: Oasis: a small statically-linked Linux system

#147
post #73

Earlier quoted context omitted.

It might have been a concern long ago when space was a premium, but these days in the world of >=1TB drives you could probably build your entire software library in the most horrifying, space inefficient way, and it would still be completely and utterly dwarfed by the user's media library. Excepting games, I would bet most anyone's software library would likely comfortably fit under 128 GB. The photos, games, music,…

The majority of a game's data usage comes from assets. The binary is a tiny fraction of the size of the application.

The game binary is generally completely worthless without its associated assets, though. Nobody would really want to install Skyrim without the master esm since the assets contained therein are essential to the experience. Maybe that's not particularly useful to the discussion, but my point is you could probably fit all your most commonly used programs in a static format + all your average assets like icons or config files, and run and use them in a pretty small amount of space. The games, FLAC music collection, high quality photo library, etc can very easily be much greater a storage requirement than an application library full of static binaries.

Re: Oasis: a small statically-linked Linux system

#148

Earlier quoted context omitted.

> I wouldn't call it a niche use case at all, it's exactly how the software for all major Linux and BSD operating systems are packaged and built. even though I'm typing this on a linux desktop, this is a niche use case. In Windows, macOS, iOS and Android, so 99.9% of all user-facing computing, all the libraries except the OS API are duplicated for each app.

Updating OpenSSL or any other shared library is a "niche use case"?

Using OpenSSL is itself a niche on windows / macOS. And it's not about using shared libraries - it's about actually sharing them. I have at least two dozens apps using Qt on my windows desktop but they all use a slightly different or patched Qt version so exactly nothing is gained when compared to static linking

Re: Oasis: a small statically-linked Linux system

#149

Earlier quoted context omitted.

> 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. having used Red Hat, Mandrake, Ubuntu, Debian... Arch Linuxis by far the most "just works" distro I've used

Do you really mean Arch Linux or something based on it like Manjaro? Pretty sure Arch Linux doesn't even come with an installer.

there are plenty of installers of archlinux - I use https://anarchyinstaller.org/ for instance

Re: Oasis: a small statically-linked Linux system

#150
I think it's awesome. This is likely another of those passion project that, might draw in some overzealous on-watchers, not really become anything usable in the end, but still be incredibly valuable for the greater ecosystem.

It points out how some things has gone unconsidered in the "status quo", but rather then just rant about it, shows how it can be different.

It might put some lesser known code bases into the public eye.

It might iron out compatibility issues with e.g. the linux kernel and "the good parts" of POSIX/unix-philosophy. Which is why I like Alpine and Voidlinux for being such complete systems, without hard dependencies on GNU-components (I think the GNU project, especially many of the individual code bases, are awesome as well).

And while there are benefits of both statically linked applications, an dynamic linking, I do find it for the best if that can be a realistic choice of the user, whatever program of library you want to use. And most big applications simplu can't be totally statically linked as of now.

It's a form of "greenfield project", but still leveraging existing components.

Post reply on HN