I want to talk about software cache:
~/.cache is an hidden folder inside /home/user/ directory. This folder is heavily used by applications for store temporary information, and it might hugely increase in size.
For keep my system clean I’m using the free tool Bleachbit for deleting temporary files; generally on this software you can customize which folders monitoring, and ~/.cache is one of those. I think it’s a best practice keeping this folder active on it’s configuration.
The fact is some information stored in ~/.cache folder are very useful for applications, for example I found the software Remmina is saving last connection timestamp in ~/.cache/remmina, each connection in a separated tiny file.
An other example is the software KeepassXC that is saving local account information in ~/.cache/keepassxc.
The problem freeing space with software Bleachbit is I was losing some important information, so lately I went deep on this and I discovered in Bleachbit configuration there’s a whitelist section, where you can configure folders you don’t want to being deleted by the software.
The correct procedure is configuring the most important folders in Bleachbit whitelist, I did this for my ~/.cache folder, as you can see in the following screenshoot.
Conclusions
I think deleting temporary files is a best practice, but with this guide you can be safe by don’t letting the software deleting some useful information.
Notice I though in ~/.cache folders there would be only something meaningless, such as some hashed files. But lately I discovered in this folder are still stored some useful information used by various applications.
