Over the past week I have installed and reinstalled Linux several times (Mint 15 in all but one case; Ubuntu 13.04 is too slow on my laptop), and after a mishap with QT today I completely gave up in anger.I installed the default qt-sdk, qtcreator qt-dev-tools, and maybe another through Mint's package system. I tried compiling an IDE using QT made only 3 years ago, and it complained about QT needing to be no higher than 4.*. So I uninstalled QT, and built QT from scratch, which took about 4 hours over two days. After this, the program said QT_MOC_EXECUTABLE and a couple others could not be found, even though qmake was there. So I did make uninstall and used the Synaptic manager to download QT. After this, even after selecting the qtchooser package, qtchooser was nowhere to be found. So, I sudo apt-get autoremove, which promptly deleted many system critical files, like sudo!First off, why in the world would QT be allowed to permanently delete these system critical files? And why do package managers delete dependencies when uninstalling a single program? Those dependencies are still needed by other things, but for some reason the developers of those package managers don't realize that.So, my question is, is there any distro that protects against this, or any program that stops the distro from obliterating itself from the inside-out?From what little I've read of Gentoo, it seems it at least attempts to do this.
Are there any Linux distros that protect against self-mutilation?
linux;sudo;root
I tried compiling an IDE using QT made only 3 years ago, and it complained about QT needing to be no higher than 4.*. So I uninstalled QT, and built QT from scratch, which took about 4 hours over two days. Most distros will have both Qt 3 and 4 available, and you can have both versions installed at the same time. So if you'd asked a question about this first, you could have saved yourself a lot of time and hassle, rather than waiting until you are too frustrated to do anything but rant. :(So, I sudo apt-get autoremoveWhy?  Don't do wild things out of frustration, that's how people break things. (Grrr...I'll fix this!  Just lemme get the bigger hammer!)And why do package managers delete dependencies when uninstalling a single program?  Those dependencies are still needed by other things, but for some reason the developers of those package managers don't realize that.In fact they generally do realize that, and things that really are dependencies for something else are not removed.  The reason dependencies that aren't required for something else are uninstalled is to make life easier for you.  If I install 3 GB in ten packages for one program then decide I want to remove it, having the other nine automatically removed too is a feature.There's a decent description here of how to deal with auto installed dependencies when you don't want them removed.Keep in mind package managers do not track stuff you've installed yourself from source, etc, so there is no way for them to tell you've, eg, installed Qt with all the dependencies together automatically, then built another Qt from source but using the same dependencies from the distro.  If you then go and remove the distro Qt, you'll have to unflag the dependencies needed by the other Qt as mentioned in that link...or else sort it out afterward by re-installing them.If, when you go to install something with dependencies, you abort and instead install each required package manually until you have everything, uninstalling one won't remove any of the others.  It is just auto installed dependencies that do this.