Container-based development
During one of my recent projects, I was sharing the dev machine along with other devs. And soon it messed up things because one dev will try to update some package and that will cause issues in other dev's code.
So we started to use a container-based workflow for development so that things are isolated and the host is intact. ie we were creating n number of containers, often starting them with a 'tail -f /dev/null' command, executing bash in it to get a shell, and then installing required libs, compilers, and dependencies for our development activities.
While this container-based development approach is going smooth for us, I happened to see people using Fedora SilverBlue, which is an immutable OS, for the same purpose.
Fedora SilverBlue
- It's an immutable OS
- In short, the base OS file system cannot be changed directly by a normal user.
- Hence host is intact always and thus reliable, robust, and thus stable.
- Focus on container-based development workflow
- Behaves like a regular desktop OS
- OS updates are fast and just requires a reboot to start using the new version
Ostree, rpm-ostree & flatpak
On Silverblue, the root filesystem is immutable. This means that '/', '/usr' and everything below it is read-only.
'/var' is where all of Silverblue’s runtime state is stored. Symlinks are used to make traditional state-carrying directories available in their expected locations. This includes:
/home
→/var/home
/opt
→/var/opt
/srv
→/var/srv
/root
→/var/roothome
/usr/local
→/var/usrlocal
/mnt
→/var/mnt
/tmp
→/sysroot/tmp
ToolBox
Silverblue also comes with the toolbox utility, which uses containers to provide an environment where development tools and libraries can be installed and used.
Toolbox makes it easy to use a containerized development environment for daily software development and debugging.Inside the Toolbox container we'll find your existing user name & permissions, access to home dir and other locations, common utilities like dnf, rpm etc.
some refs:
https://docs.fedoraproject.org/en-US/fedora-silverblue/
https://fedoramagazine.org/what-is-silverblue/
https://www.maketecheasier.com/fedora-silverblue-future-of-linux/
No comments:
Post a Comment