Yeah I know of it's existence but I always forgot how the interface in aptitude works. It is not intuitive for me. I prefer apt for command line. 99% of the time I mostly use 'apt install x' and that is it. Changing a package to a specific version and other really niche stuff I will use synapic for. With this tool I can actually search and install and that is really nice. When I do not know the name of a package I needed to switch from command line to synapic as I do not know all commands to do so from the command line and that breaks my flow. One should not need to know all different options by heart of package manager on the command line, and with this I do not need to.
Note: This is not to discount oma of what it does, but to shed some light to how aptitude thinks about its workflow.
> I always forgot how the interface in aptitude works. It is not intuitive for me.
That's a fair criticism of aptitude, but let me give you a couple of hints, not to change your mind but to give some insights, how to use aptitude, if you prefer.
First, aptitude is mouse aware. You can just click around. Packages, top menu, everything. To close menus you can you can press <ESC>. Alternatively you can press <CTRL> + T to toggle the menu and navigate with arrows.
Management of packages with keyboard shortcuts is like this:
+ : Add / Install
- : Remove
_ : Purge
= : Hold
M : Mark auto
m : Mark manual
Makes sense if you ask me.
Upgrading is equally straightforward. "u" for upgrading package lists and "U" for marking every upgradeable package to upgrade.
I think of "g", which aptitude uses as "Next >" button, as (g)o.
The solution of conflicts of other things also intuitive from my PoV. e for examine, "." for next, "," for previous, "!" for apply/force (think as "do as I say switch" in vi/vim).
The only shortcoming of aptitude can be told as not searching package descriptions from the search interface, which can be opened with "/", which is search in almost any other CLI tool in Linux. Also, this search interface accepts regular expressions to match parts of the package names.
Lastly, both apt and aptitude has bash completion for everything from switches to package names. apt(itude) can accept pretty convoluted command line switches, but I rarely use them, if ever.
So yeah, this is how I think of and operate with apt(itude), hope it sheds some more light into these tools. Again, this is not to discount oma or change your mind, but a little cheat sheet.
P.S.: aptitude has minesweeper built-in, because we used to use this thing on dial-up era, and waiting for packages was boring. A couple of rounds of it always brings some joy to late night waits.
aptitude can also handle extended states (autoinstall, manual overrides, holds, etc.) and can be used as a apt replacement (aptitude update).
Also, aptitude can provide alternative solutions to harder package migration scenarios, showing all resolutions on a nice TUI.
Wish the developers compared it with aptitude too, because I see no comparison there.