How to find out unused application?

I want to know which applications haven't been used at all or haven't been used in a while. Since I installed several applications, I don't exactly remember the list of applications I've installed. After finding these applications I want to remove them so that I can free up some space on my disk.

There is no way to find this information, unless you installed some kind of logger that started keeping a tally. At this point in time, you don't have that. It is also not possible to use the atime attribute of files, because 1) executing a file is not going to update it and 2) Manjaro disables it on the / partition due the associated I/O costs.

Instead, you can execute the following command to list all packages that have been explicitly installed and are not dependencies.

$ pacman -Qet > installed_packages
$ pacman -Qetg > installed_groups

These are essentially the programs that you installed, along with those installed by the system when you first installed Manjaro. The second command list those packages listed by the first command that belong to a group along with the group name. This is important because you don't want to uninstall packages from some important groups (base, base-devel, xorg and your DE manjaro group).

Note: as you start uninstalling packages, the above two commands should be periodically refreshed, as no doubt your dependencies will change and some explicitly installed programs previously unlisted will now show, because the programs that depended on them have been removed.

Can't you just look through your applications menu and pick out the ones you haven't used?

4 Likes

Because of the way most applications are built in the Linux world, you won't save as much disk space as you think. Everything is built around libraries of common software building blocks. Just because you un-install Thunderbird, doesn't mean all of the libraries that came with it will be purged as well. Firefox uses many of the same libraries. Those can't be deleted.

You might better off cleaning your own directory of detritus that has built up over time.

please install "package-query" (and remember to remove it again when your are finished, IF it is not a dependency for other packages on your system).


this command gives you a list of explicitly installed packages, which were recently (re-)installed (sorted by installation date). please remember that this includes package updates!

package-query -Qe -f '%1 - %n %v' | sort -n -r

(i know this is not what you want, but it is the closest you can get)


the following command gives you a list of installed packages sorted by installation size. if you want to free up some hard drive space (or avoid to download huge updates) these are the packages you should care about. please keep in mind that this list contains dependencies as well! replace "-Q" with "-Qe" to see only explicitly installed packages:

package-query -Q --rsort 2 -f "%2 - \e[1m%n \e[0m%v" | numfmt --to=iec

the last command is integrated in pacui and can be called with "pacui ls". i recommend to use "pacui t" and "pacui rt" to see the dependency structure of the package you want to remove. this can give you an idea, whether it is an important package or not. please also read the package description and the install reason of the package you want to remove.

6 Likes

Personally, I find it better to have a script whose name I forget in a location I can't find. Don't you?

3 Likes

It's precisely for those that I have aliases in my .zshrc, with, of course, the alias "Alias" to list all the aliases!
Simple.

1 Like

hahaha, very funny. Some people never forget what the script name was and if you can remember that then you don't need to know where it is. Dummy :grinning:

Well some people have their 65-year old heads so full of a lifetime's worth of mundane things--like script names--there's no room left. So they don't install applications they don't use.

But I'm hell on trivia night! :smiley:

Forum kindly sponsored by