Installer Options to Automatically Keep User Data

mikefreeman
  6 years ago
  18
  Considered

One of the complaints I keep hearing about Mint is that you must (or at least are highly recommended to) reinstall the whole system if you want to update. This, of course has the effect of the added work of either backing up your data or using a separate /home partition, which requires extra work and experience in messing with partition setups. Certainly not newbie-friendly.

I propose that the following options be added to Mint's installer, should it detect an existing Mint installation on the drive:

1. Keep and re-register user data.

This option reads the drive mount setup of the existing partitions and automatically sets the new Mint version to the same mount points. Should the /home folder be on the same partition as the main filesystem, then the installer simply deletes all folders other than /home rather than reformatting the partition. In either case, usernames and passwords associated with each home folder are kept and re-registered.

2. Keep software installed.

This option would look at the existing /etc/apt folder. Any non-default software source and key entries are kept and updated with the newer Mint or Ubuntu release name, as needed. Then, this, plus a list of all installed software that's not just a dependancy or library (not marked as "automatically installed") that differs from the default install is placed in memory. After the new system is installed, the non-default software sources are put back into /etc/apt and apt gets refreshed. All updates and previously installed non-default software are applied to the system.

With these options added, the OS can be updated without risk of losing any user data or having to reinstall all of the software that we tend to accumulate. It'd be especially useful for systems with multiple users that would require a large amount of backup and setting replacement work after an install.
Latest comments
jahid_0903014 6 years ago

great idea..


dogsolitude_uk 6 years ago

Sounds like a neat plan. Alway wondered why *everything* had to be wiped, including my home folder.


brandongreat 6 years ago

I posted the same thing...my idea got put down so fast.


Hammer459 6 years ago

Oops :-) My bad, I misunderstood (or maybe plain misread).
My argument that it is better to download first and install after is still valid to minimize time (if you do more than one install)
Either way I completely agree that it is more of a risk to wipe the disk and reinstall everything and rely on a backup to get user data back. Especially if you have a bunch of Gig in /home :-)
And I definitely support your idea


mikefreeman 6 years ago

@Hammer459: My idea doesn't keep any previously installed software at all. It only automatically keeps the /home folder in place, and keeps in place any repositories that you may have added after installation, updating the release name in the sources. All other folders (including all bin and opt folders) are deleted and the user's previously installed software is reinstalled from the updated repositories, if available. And that's only software that isn't marked by the system as automatically installed. So libraries and other dependancies won't be reinstalled unless they are needed. If a user has manually installed any software (i.e. from source code, tarball, or a .deb file that's not on a repository), they would have to reinstall it manually. I would think this would keep the problems you suggest out of the picture, or at least minimal.


Hammer459 6 years ago

@sserbanro do not confuse Linux with Mint... There is upgrade in Linux but not in Mint and Ubuntu.
There are others that do a so called semi rolling upgrade (i.e. Debian) and some that do install upgrade (i.e. Fedora).
Semi-rolling means that you upgrade packages as they are deemed safe. This means almost no disruption at all in normal cases. The problem arises if there is a problem with a particular package, or one that drops some compatibility and breaks other software. This is what @clem is trying to avoid.
Install upgrade means that you reinstall all software from media but leave /home and any software installed on /opt. This is a completely safe wethod and you get the exact configuration as before the upgrade. The only thing that can break is software installed outside normal install method (usually installd in /opt) that still may break due to incompatibility but that is never going to jeopardize the stability of the system.
Are there any problems with the idea from @mikefreeman ? Yes, if you were to keep any previously installed software on your own media you are not getting around the problem of package incompatibility. That means if you were to reinstall those previously installed packages and reinstall them on the newly installed system you immediately jeopardize the stability of the system, granted you have all the backups and may reinstall but the instability may occur days later when most people no longer have a reliable backup.
So in conclusion it is possible to do a proper upgrade, safely with "install upgrade". The main reason that Mint chooses another way is that Ubuntu have the same method and it is a whole lot of work to get around that.
The biggest problem with the destructive way that Mint does step up is not the mammoth task but that multiple download of the applications and the fact that Mint Backup does not really work that well.....

So I will promote the idea, full well knowing that even though it is a good idea it will be shot down.


sserbanro 6 years ago

Another thing to clear up the mist around the so-called "upgrade":
There is only a figure of speech!
There's nothing like "upgrade" in the Linux world, it is only a way to spread away the fear of a crash, that the new install will blow up all your personal data, which in fact happens in all cases. Linux does only one thing: ERASE OLD DATA.
Nothing like "upgrade", unless you think of it as moving to a different OS, which is something different than what people understand by "upgrade".
Usually, an installation of this type (format disk, then copy files) means NEW INSTALL.
Here is an interesting article, that will get the obvious staff out of the way:
http://community.linuxmint.com/tutorial/view/2
The installer says "upgrade", but DOES FORMAT. Which is a very different story!
Formatting a drive, means erasing all the data content.
So, before hurrying up, think twice: this idea is about avoiding long hours of download, install, configure.
The backup tool, might be useful in case of a crash. It will save some time spent selecting the software manually, but in fact, it performs only one thing: a list of the installed software, that WILL BE RE-DOWNLOADED and RE-INSTALLED! That's all it does!
It might save you maybe 2 hours, but if the repository servers are busy, you'll still spent countless hours to "restore" the full functionality of the previous install.


sserbanro 6 years ago

This idea, has nothing to do with "in place update". Besides, it would be way too difficult even to think at something like "in place update" and even more, since a HDD now goes at least at 500 GB, there's room enough to install more than 1 OS version.
The problem here is that we want to be able to access apps already installed, instead of reinstalling everything from scratch.
The backup utility, fails to work, Apt-On-CD fails to work, so we lack the means to avoid wasting time on reinstallations.
This looks VERY Windows to me, and I hate this!
The only bypass, is low level backup, which is fine, but then and again, a backup restores the whole system and we are speaking here about a new install.
The feature suggested here is very much like an IMPORT function of an application, as I see it.


mikefreeman 6 years ago

@remoulder: That's pretty harsh. I have not seen any idea with these specific methods. I apologize if it is a duplicate, but I really don't think it is. Could you please direct me to which idea it is a duplicate of?

Also, this is NOT in-place updating. It's still doing a complete reinstall on the whole software stack. The only thing that's staying "in-place" is the /home folder.

The reason Mint doesn't do in-place updates is because that's basically just doing a normal update on pretty much the entire stack, which can cause problems. You'll see that this is nothing like that, if you read the idea.


remoulder 6 years ago

Duplicate idea. Linuxmint has stated time and again it does not support inplace version upgrades.