Unexpected Feature of Software Collections
If you are anything like me, you live in perpetual fear of breaking your primary machine. The one you use for reading email, twitter, notifying you of meetings, etc. Over the years we have seen many attempts to alleviate this problem, things like etckeeper, using git to manage home (duck it), regular backups (sure…), etc.
Today, I stumbled across one of the benefits in Software Collections that I hadn’t noticed before. My internal monologue went something like this:
me: I need to install nodejs for a blog post I am writing. But, I just installed RHEL7-RC and it is mostly working right, I don’t want to bork it.
me (rational-side): you could make a new VM.
me (lazy-side): arghh, but that takes forever
me (rational-side): but, you are just installing the nodejs scl, so it is just going under /opt
me (lazy-side): ohh, right, so no risk to my actual OS
me: sudo yum install nodejs010
As you can see, first and foremost, there are a number of people talking in my head. However, of at least equal importance, using a software collection for the environment install removes most of the risk from doing the install on your primary machine.
I am not saying that I will be converted to never using VMs for development anymore, but, when I am trying to do something quick and dirty (but don’t want it to be that dirty), a software collection might be just the ticket.
Something like Docker might be another strategy, but I would still need to install and use Docker on my primary machine, which still runs some risk to breaking my machine. As a result, I normally use something like Atomic (or a heavier-weight VM) to run my Docker containers as well.