spaceLinux is a Linux Distribution designed and build for the usages in space (hence the name).
It, of course, can also be used on the ground for management or research and development but it is mainly designed to run for example on systems on the ISS.
There are several of them, but the biggest, and most important for us when developing the system, is robustness and fault tolerance. The system should never fail and if, it should be very easy to repair it.
Especially in combination with slow or no network, fault tolerance still have to be given!
The size, performance and security, of course, are also key aspects of this system.
The last key aspect of the system is flexibility to be able to react to all situations.
First of all by extreme simplicity; spaceLinux is not based on any Linux Distribution. It is designed/build completely from scratch.
Everything unnecessary is not thrown out, it was never in. There are no printer daemons in the background, no systemd, no whatever. Just the bare basics needed to do the job.
Just this step alone gives us a lot of performance, safes resources, increases robustness and fault tolerance.
The package management (slpm) is written in BASH and uses clear-text databases, that way it is always possible to adjust/fix things with just a simple text editor.
The packages are provided in source format and are compiled/installed by simple shell-scripts. One reason is that source packages are way smaller than the installed binary what safes a lot of traffic (for example glibc is 16MB in source, but 2.8GB installed) but still gives the ability to apply further patches or change compile options if needed to provide most flexibility.
The system is separated into the core system and additional packages in terms of upgrades. They are independent (as far as it is technically possible), so you can replace the core system without touching installed applications and you can replace installed applications without touching the core system.
That gives you the ability to have, for example, and LTS core but bleeding edge libraries of some applications.
Thanks to the simple design, it is also possible to distribute the system using pre-built binaries. So setting up build-servers and then installing those pre-done builds is possible
The versions of each applications can be freely adjusted and the base versions will be provided after consultation with NASA and esa