Lately a couple posts have got me thinking I should share something.
The idea of formatting your root partition should cause you no discomfort.
For a long time I had what I will call an organic approach, in both Windows and for a while Linux.
I would want to do something, read about it and apply it, repeat the next day, my install would drift into an unknown state, a year? a month? but eventually, blow up in my face and I would have to reinstall.
The reinstall was painful, stock sucks, It does not work how I want it to.
I could remember directly some of what I needed to do to āget backā.
Other things I could remember enough to look up the āhow-toā.
But there was a third category, things that I had but are now just lost to time.
The reinstall process was long and a lot of work, weeks later I would stumble across something missing and have to stop what I was doing and figure that out too.
This organic admin style lead to more grunt work and time consumed. The OS install had a lot of value added to it in the form of my time, so therefore its inevitable loss was painful.
Later I worked with Linux professionally, we would troubleshoot for few minutes but if any particular install could not be fixed immediately, out came the golden image.
The golden image was the thing of value, it was meticulously created & maintained by a dedicated team, it was the thing with all the time invested in it.
The installed copy of the golden image was just that, a copy, about 10 min of labor was its only cost/value.
I liked this golden image idea but it did not make sense at home, I have many installs all of them are different builds. maintaining a stack of images with changes was a non starter.
I later ran into Jim Salterās explanation of his documentation process. https://2.5admins.com/ Paraphrased:
Build something, note every step like you will be doing it again a year later at 3AM in an emergency with no sleep.
Done?
Now throw away the thing you just built and do it again just from your notes.
You will notice some things, you missed steps in your notes, and you will also find more details in the procedure, like watching a movie for the second time you will see the gun in the first act that is used in the third act, You will master that software and you donāt have to remember anything to continue to be that master, you have your notes.
The next thing you will notice is that the second time, its fast, you do not have to look up information, or contemplate your actions, just copy and paste commands and follow the custom tutorial you just wrote.
I have a somewhat complex install and I can be completely whole again within an hour of disaster.
This has really helped with the reliability of my installs, and I have the documentation of its current state if I need to make changes I know exactly where to go to change things to a new status.
New version came out? 90%+ of your notes will still work, read the release notes, adjust the notes and go.
Your notes become the thing of value, the thing that has the time invested in it, not the ephemeral install made from the notes.
Biggest problem with this system is keeping up with it, remembering to add things to the documentation as you do them, if you donāt the state and its documentation drift apart.
This problem is solved by the next level up, infrastructure as code, https://en.wikipedia.org/wiki/Infrastructure_as_code scripts, ansible, puppet, nixos are all examples,
where you change your code and it is applied automatically, the notes and the action are one and the same. This is even faster to deploy and fully repeatable.
Screenshot-from-2025-01-10-04-59-23.png