Originally posted by log0
View Post
And in fact systemd proposal uses BTRFS "behind-the-scene". BTRFS has Copy-on-write, data-deduplication. In adition systemd is designed with the idea that USR can be hard-read-only (it could be burned on a DVD-ROM), and var and etc are completely optionnal and could be automatically generated on the fly to make a fresh chroot.
That means you only need to keep 1 copy /usr per different type of environment, not 1 for every single instance of software running into it.
(You need 1 copy of SteamOS for steam games. Maybe another 1 or 2 readhat for commercial software only available on that)
So in practice, it come with way much more cheaper hardware requirement that you could think of.
(All the steam games will share the same single steamOS instance in read-only mount,
and all the files wich are same or very similar will be deduped and share same extents on the disk between the steamOS usr and your OS' usr. So less pressure on your ram/buffer/cache than completely different system)
That is much cheap than the current way, where each "alien" software needs its whole bunch of separate ".so" files. (Skype needs to come packages with a bunch. Current incarnation of steam has a huge bunch of standard libraries, etc.)
(Add also the argument that the current situation for skype is only providing libraries for compatibility. With LXC-like Cgroup, such an approach could actually *isolate* securely skype: give it only access to its wayland surfaces and pulseaudio source/sinks, and that's it).
---
Also, for the crowd that only uses basic function of a system and never bother customising it (i.e.: people who only browse facebook/gmail/etc. and which basically have the same usage pattern like ChromeOS), that means that instead of installing upgrades package-by-packages, you could just stream a new /usr (and actually only stream the latest modification since your last sync, thanks to BTRFS' send/receive), which is going to be much faster.
Same for enterprise setting that deploy the same environment on all PCs - just to the actual RPMing/DEBing on the master copy and simply replicate the /usr on the rest of the enterprise.
Same for server farms / cluster nodes.
Same for a unified environment (the SteamOS copy that a potential systemd-powered steam could use)
Same for embed firmware upgrade (puts a lot less pressure on Flash than single package upgrading. A little bit lighter than whole-ROM reflashing)
Thanks to send/receive non-power user, or users to bored to care, can outsource the actual package management and only get upgraded images.
etc.
Comment