Live data from Hacker News

There are only 12 binaries in Talos Linux

siderolabs.com

41–50 of 73 posts

Re: There are only 12 binaries in Talos Linux

#41

20 years ago, I used to make custom Linux distros for fun. Floppy distros, CDROM distros, RAM-resident distros, network-boot distros. In a few of them, I custom-made my own binary that was both the init system, and a few applications, stripped it down, and shipped just that as the distro (basically just a few files and my static binary). A lot of people downloaded them, and it was great fun - to start. Problem is whe…

We use “system extensions” to give you flexibility while keeping the base small.

Want GPU drivers? Add the extension. Need Tailscale? Extension.

https://www.talos.dev/v1.6/talos-guides/configuration/system...

Re: There are only 12 binaries in Talos Linux

#42

I wonder how a really slimmed down distro like Alpine would compare here, particularly in terms of image size. It offers most of the standard Linux utilities we know and love, but most of them are actually just symlinks to Busybox, which is ~900K on my (ARM64) system. That's less than a hello world in Go, for a program that can replace most common Linux utilities in daily usage.

Busybox is only 1 binary symlinked hundreds of times

Re: There are only 12 binaries in Talos Linux

#43

Earlier quoted context omitted.

Reverse question: why use symlinks when you can get away with hard links?

Main thing I've seen with hard links is that deletions delete the source file which about 90% of the time isn't what an end user wants

That's a problem with directory hardlinks: a recursive deletion will wipe the directory (in the same way that truncate will destroy a file regardless of how many hardlinks it has). But we don't usually allow directory hardlinks these days.

Re: There are only 12 binaries in Talos Linux

#44

20 years ago, I used to make custom Linux distros for fun. Floppy distros, CDROM distros, RAM-resident distros, network-boot distros. In a few of them, I custom-made my own binary that was both the init system, and a few applications, stripped it down, and shipped just that as the distro (basically just a few files and my static binary). A lot of people downloaded them, and it was great fun - to start. Problem is whe…

MX Linux would be that "slim-yet-compatible" system. It can load itself completely into RAM, and has many distro-specific components such as Frugal Install and Remastering, yet also lets you install standard Debian packages.

Re: There are only 12 binaries in Talos Linux

#46

Earlier quoted context omitted.

I know there are a lot more lines and I didn’t count any of the imports from systemd either. 300 loc (machined) vs 3000 loc (systemd) was the closest comparison I could think of without crawling all imports and deps. Would be happy to update with a different comparison you think is more fair.

How about we just don't compare lines of code at all, as if it's a useful metric of anything?

Is there a metrics that can convey the complexity of a general purpose init system like systemd vs a single purpose init like Talos' machined?

That is what I was trying to convey and couldn't find a reasonable metric.

Re: There are only 12 binaries in Talos Linux

#47

I wonder how a really slimmed down distro like Alpine would compare here, particularly in terms of image size. It offers most of the standard Linux utilities we know and love, but most of them are actually just symlinks to Busybox, which is ~900K on my (ARM64) system. That's less than a hello world in Go, for a program that can replace most common Linux utilities in daily usage.

Busybox is only 1 binary symlinked hundreds of times

Yes, and?

(They and we all know that. They said as much theirself right in the comment.)

Re: There are only 12 binaries in Talos Linux

#48

20 years ago, I used to make custom Linux distros for fun. Floppy distros, CDROM distros, RAM-resident distros, network-boot distros. In a few of them, I custom-made my own binary that was both the init system, and a few applications, stripped it down, and shipped just that as the distro (basically just a few files and my static binary). A lot of people downloaded them, and it was great fun - to start. Problem is whe…

We use “system extensions” to give you flexibility while keeping the base small. Want GPU drivers? Add the extension. Need Tailscale? Extension. https://www.talos.dev/v1.6/talos-guides/configuration/system...

How is that different than adding binaries, in the context of this comment where the point was "In the end you end up just adding everything back in that you originally took out, because managing all the little weird different subsets is not worth the benefit."

In the context of that assertion, adding or subtracting "extensions" and adding or subtracting binaries are equivalent. Both are adding or subtracting "piece of code that provides fuction".

Re: There are only 12 binaries in Talos Linux

#49

Earlier quoted context omitted.

We use “system extensions” to give you flexibility while keeping the base small. Want GPU drivers? Add the extension. Need Tailscale? Extension. https://www.talos.dev/v1.6/talos-guides/configuration/system...

How is that different than adding binaries, in the context of this comment where the point was "In the end you end up just adding everything back in that you originally took out, because managing all the little weird different subsets is not worth the benefit." In the context of that assertion, adding or subtracting "extensions" and adding or subtracting binaries are equivalent. Both are adding or subtracting "piece…

They are similar but extensions don't have to be binaries. It can also be files you need to be available before Kubernetes starts.

Talos is purpose built to run Kubernetes workloads and not general purpose Linux. Hopefully, you don't have to add _everything_ back to the OS, but we know some things cannot run as a container or Kubernetes workload.

Extensions are required for specialized hardware (eg network, GPUs) and is the closest thing to a "package manager" available in Talos. Extensions can be binaries but don't have to be. We have a lot of common extensions provided and maintained by us but anyone can create extensions as needed.

One nice thing about extensions is they get layered and you don't have to pre-build an artifact like you do with other Linux distros with something like packer. factory.talos.dev will let you pick you extensions and get an artifact no packer/bash/config management required.

Re: There are only 12 binaries in Talos Linux

#50

Earlier quoted context omitted.

Busybox is only 1 binary symlinked hundreds of times

Yes, and? (They and we all know that. They said as much theirself right in the comment.)

The benefit of Talos isn't low binary count but that _can_ reduce the amount of maintenance required.

The benefit is declarative API driven management. You spend less time automating a system to a desired state in a similar vein Kubernetes provides a declarative API.

Post reply on HN