I installed Ubuntu 20.04 about 1 month ago, I am facing some battery and bootup problems with it. So I think of doing a clean install or installing previous versions of ubuntu.
I am a mobile developer, so I have many big applications, which I don't want to install again and again. So is there any way I can back up those applications too?
Pinguybuilder is a tool that can create a
iso
image out of the running system (containing all its files, applications and configurations) which then can be used to re-install the system in the state it was when the image was created.There are different packages at the link above, the one that worked for me in Kubuntu 20.04 was
pinguybuilder-menu-based_5.2-1_all.deb
which lacks a GUI in the proper sense (unlike in the tutorials I see on the net that all involve a GUI). After installation it shows a group of launchers, each with a different purpose. One of them automatically creates aiso
image out of the running system.The image is saved in
/home/PinguyBuilder/
.I would suggest finding where all of the applications are located.
which **program**
could be useful finding the locations of the programs that you use or the projects that you have.The default Ubuntu installation has a backup program that works pretty good and in there you can specify the paths of all the programs that you need backed up. After the new install of Ubuntu you can restore them from Backups. I'm pretty sure there are better ways to do this but i'm using it to backup my projects and hasn't failed till now.
There is an article in the Ubuntu Help Wiki that you can check and see if you can find a better tool that suits your needs. https://help.ubuntu.com/community/BackupYourSystem
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 usingsnap
orflatpak
. 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
andsnap
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.