In summary, it is obvious to back up your personal data, but not to back up applications for restoring on a new system. User configuration data also can be easily backed up, but there are caveats when restoring user configuration data on a different system.
Personal data
Your personal data is not the problem here: for this, you already have a solid backup plan in place as we speak.
Binary applications
It is more complicated for applications, particularly because you are looking for having the same applications with the same configuration on a different system. In Ubuntu, and linux in general, binary applications usually cannot be copied across systems because versions of available dependencies are different. Also the nature of the hardware can make a difference. That is why you need separate software repositories for each single Ubuntu version. Alternatively, you can compile the software yourself, a process during which the source code is used to create a binary version adapted to the system where it will run.
Essentially, you cannot make a backup of your installed applications, unless the intent is to restore them on the same ubuntu version on the same hardware. Thus, you need to reinstall your software.
You can automate this to an extend. This answer on Askubuntu extensively shows how, for the default APT packaging system in Ubuntu (i.e. applications installed from .deb
installation files) you could create a list of all installed packages, and turn that in a script that, on the new system, automatically could install these packages. Similar approaches can be set up for software installed using snap
or flatpak
. That would become more difficult, though, for programs that you compile yourself or that you otherwise install outside of a package management system.
Be aware that the versions installed via APT will be different versions: it will be the versions that come with the specific version of the distribution you have installed. There, formats like flatpak
and snap
have an advantage. With these formats, you will always pull in the same 'current' version.
Configuration data
User configuration data lives under your home folder in hidden files and folders. Thus, it suffices to copy these files and folders and restore them. Also here, I can refer to the same answer for a specific howto.
There is a caveat. The format of configuration data of a newer/different version of an application may have changed, or may have changed location. Your configuration therefore may not carry over, or there might be problems running the program. In that case, you will need to delete your old configuration setting.