I recently installed chromium, created a new user and logged into a website. After my work was done, I removed chromium with “sudo dnf remove chromium”.
A few days later I installed chromium again through dnf. My user account was still there and I was logged into the same site.
Is there a way to avoid this and uninstall an app along with all its user data?
Most package managers do not touch your home directory, so they will not delete user data. That needs to be done manually.
Snap and flatpak are exceptions, with an optional argument they will also delete the app’s folder (~/snap/appName for snap, ~/.var/app/flatpakID for flatpak).
You can just delete the local profile directory. Depending on your setup, it could be anywhere. Just check in the browser’s config info to find out where it is and delete that directory after you uninstall.
Thanks. I wish there was a more straightforward process though.
Every other OS I’ve used purges all app data after uninstalling, why is Linux different?
Chrome definitely leaves permanent traces on windows when you uninstall it
And on MacOS there isn’t an uninstaller too, you just send the app to the trash, but all the preferences and leftovers keep littering the drive
One of the reason is that apps can place their files in any place they want so the app manager is not aware of those locations.
Even if it would know then the user still would need a way to remove the app without deleting data, imagine installing Developer IDE or chat app and uninstall process would remove your chats or projects. Imagine app dev accidentally set the “directory that store app data” to /home, it would be bad.
I not once uninstalled app to install different (for example older) version due to bugs in new one.
Having the logic allowing to optionally delete data would introduce additional complexity so most old package managers never introduced that feature.
But I agree that we should slowly introduce a way to to that. Some app managers that manage flatpaks now allow to delete user data after uninstalling app, this now could be done universally because apps installed using flatpak store their data in their own separated/dedicated directory that flatpak engine know about so (unless you give permissions to access other location) thw manager know where the app store data so can offer easy way to remove it.
I think (?) it’s generally true that the root user should never mess with users’ files.
Imagine your home directory is shared across many systems on a network (my alma mater did this). It would be really bad if a sysadmin for alpha.university.edu removed a program, and suddenly your personal settings were removed from beta.university.edu — even though that computer still has the program.
This is one of the “UNIX on the desktop” issues — a lot is designed for a sysadmin/multiuser situation, and it has some gotchas when using it as a desktop machine (I’m used to/really appreciate the directory structure and settings management at this point, but it may take some getting used to).
Sounds like you may want to run chrome in docker or try using nix. Nix won’t clean up your user data automatically but with a few tweaks could do it easily. Docker will completely prevent files from hanging around (if you don’t mount your home directory in the container), but if you want to download files to your host is its a bit tricky.
Check for a
~/.config/chromium
folder and delete it.dnf
doesn’t seem to have an equivalent toapt purge chromium
which would be the other thing to do (while the package is installed).You could always write yourself a simple bash clean-up script that kicks off the uninstall and also deleted the profile and anything else you want gone. Not a universal solution, but if you need to do that one thing often enough it would do the trick.