Live data from Hacker News

Stali: A new static Linux distribution

sta.li

121–130 of 233 posts

Re: Stali: A new static Linux distribution

#122

Earlier quoted context omitted.

You'd run "pkg-manager upgrade", just like you do with dynamic linking.

Yep but now instead of fetching 1 updated library, you depend on everybody and their cat to rebuild their binaries and publish updated versions.

There is no reason binaries have to be downloaded completely. They can be patched. And we can use rabin fingerprinting for deduplicating to not send duplicate blocks for each binary. Also, don't forget Chrome's approach of patching the disassembly of a binary. https://www.chromium.org/developers/design-documents/softwar...

Re: Stali: A new static Linux distribution

#123
post #93

Ignore FHS of Linux, it simply sucks. Wow. Just wow. So these guys don't understand UNIX. Like they're going to do it better than the fathers of UNIX at AT&T (who came up with the specification on which the FHS is based). Yeah, OK. Achieve better performance than any other x86_64 or arm distribution, as only statically linked binaries are used Wow. So not only do they not understand UNIX, but now every process will h…

Windows? Have you ever heard of DLLs?

Re: Stali: A new static Linux distribution

#125
post #66

Earlier quoted context omitted.

How about the second largest desktop OS in the world, OS X (or now macOS)? That's BSD.

OSX is actually a certified UNIX http://www.opengroup.org/openbrand/register/

and systemd was modelled partially after its launchd

Re: Stali: A new static Linux distribution

#127
post #53

Earlier quoted context omitted.

Google Go and Rust promote it. However, deploying web services is different than Linux distro.

I don't know about Go, but Rust doesn't promote it. Rust compiles a whole binary at once (for full program optimisation), but that binary can be a dynamic library or executable. How you then build the operating system on top of that is up to you.

Recently, ripgrep was on the frontpage. It says "Linux binaries are static executables" [0]. If I run ldd on cargo, it spits out the usually glibc dependencies, but Rust libraries are statically linked. It seems to be the default behavior of cargo? I would describe that as "promote static linking".

Personally, I don't judge this as good or bad. There is no simple answer. Static linking has clear disadvantage wrt security patches. On the other hand, it makes little sense to dynamically link tiny libraries, e.g. a queue data structure.

[0] https://github.com/BurntSushi/ripgrep

Re: Stali: A new static Linux distribution

#129
post #49

Earlier quoted context omitted.

Many applications only use parts of libraries, then the linker can throw the unnecessary parts away.

How do I get it to do that? $ cat test.c #include int main() { printf("Hello, World!\n"); } $ gcc -o test1 test.c && ls -lgG test1 -rwxr-xr-x 1 6712 Sep 28 10:24 test1* $ gcc -static -o test1 test.c && ls -lgG test1 -rwxr-xr-x 1 800904 Sep 28 10:24 test1*

probably by using musl instead of glibc

Re: Stali: A new static Linux distribution

#130

I really like the idea of static linking. Then I think about how I'd patch the next inevitable openssl bug. Then I don't like it as much.

This is a win if and only if there is a fast, competent, reliable security team for the distro.

Suckless doesn't currently have that capability, so... it's not a win, yet.

Post reply on HN