See every installed package by name, or a fuller view with size and a one-line description, sorted largest first.
apt list --installed# fuller view: name, size (KB), description — largest first
dpkg-query -W -f='${Package}\t${Installed-Size}\t${binary:Summary}\n' | sort -k2 -n -r | less
step 2
See disk usage per app visually
Disk Usage Analyzer (baobab) ships with Ubuntu's GUI tools. It shows a visual breakdown of what's eating your storage, folder by folder — easier to scan than a terminal list.
sudo apt install baobab
baobab
step 3
Check RAM and CPU usage live
Shows every running process with live RAM and CPU percentages, sorted and color-coded. Press F6 once open to sort by memory (the RES column) — this shows what's using RAM right now, not just installed size.
sudo apt install htop
htop
step 4
Identify what's safe to remove
Cross-reference the apps you don't recognize or use against the list from step 1. Be cautious with anything prefixed lib*, python3-*, or containing -common, -dev, -doc — these are usually dependencies other apps rely on, not standalone applications.
step 5
Remove an unwanted application
remove uninstalls the app but keeps its config files. purge removes the app and its config files together.
sudo apt remove # or, to also delete its config files
sudo apt purge # example
sudo apt purge thunderbird
step 6
Clean up leftover dependencies
After removing apps, clear out packages that were only installed as dependencies and are no longer needed, then clear the downloaded package cache.
sudo apt autoremove
sudo apt clean
run this after every removal session, not just once.
Before removing anything
If a package name looks unfamiliar, don't guess — check what it is before running purge on it. A quick apt show prints its full description.
purge is not reversible for config/settings — if an app has settings you'd want back later, use remove instead of purge.