/opt vs /usr/local +Program installation question
I recently did something to damage my main system and while all my important data is partitioned out and safe all installed programs are not if what ever i did this time or what ever i might do in the future ( Im the DIY till it blows up in your face type that is trying to bone up on 30 years of culture and history in the GNU/Linux && Unix society while teaching myself for scratch how to be a linux system administrator. However in creating a hedge against future screwups and system upgrades i have come to the conclusion i need to do something. So i formulate a plan based on bunch of different sources of a compartimentalized partitioning scheme however as i stated earlier i was able to compartmentalize my data not the programs, which brings me to the crux of this very long and winding question. While unix has a configuration repositiory (/etc) that clean and simple i am still left with the question can i keep a bunch of programs either installed via package management, tarballs ect partitioned out on a nice safe directory if worse come worst and i corrupt my system so baddly that i need to jettoson my static binaries and configuratation files and start anew (which seems to be a good stratagy for an amature although definately not a productive one) could nonstatic nonsystem binaries come through something lilke unscathed by being self contained?
(With windows that would be quite impossible if the program was in anyway interfaced with the registery and while /etc is no where as near as *#@$-up as the windows registery i just wonder if there are important files and more importantly could a program be told to regnerate those files on a new install if they existed)
This leads me to my second question /opt vs /usr/local for nonsystem nonpackage binaries. I have read many articles on the subject recently and they say that they are pretty much for the same thing the differences come from the rich roots of linux where /opt is SysV and /usr./local is BSD /opt is for big endian system and /usr/local for little endian system. Intellectually i understand it and it all seems theoretical.. So im asking pratical opinions to anyone that might answer this post is there a difference and how does one differentiate the two.