[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: aptitude has Priority: standard, why?



Stefano Zacchiroli wrote:
> It's tangential to the main topic of this thread, but you might want to
> give /usr/bin/apt a try: it abstracts over apt-get / apt-cache, offering
> a single CLI entry point to (some of) the functionalities of both.

I've used the new apt tool, and I do find it quite an improvement over
apt-get, but I still have several use cases for which I currently use
aptitude and for which I do not see an obvious alternative with apt:

- Every time I update, aptitude lets me browse newly added packages,
  which I find quite helpful to keep up with what's being added in sid
  or experimental.

- aptitude has a powerful search language, which I have not seen any
  equivalent for in apt.  For instance, I frequently use searches like
  "?not(?automatic) ?reverse-Depends(?installed)", which shows me
  packages I probably want to mark as automatic.  And in addition to
  search queries, aptitude supports limiting the current package list to
  packages match a search query, or showing packages on the command line
  that match a query.  (grep-dctrl is probably the closest equivalent,
  but its query language isn't as powerful, not least of which because
  it doesn't provide composeable expressions like
  ?reverse-Depends(?installed).)

- aptitude provides a curses-style UI, which makes it easy to browse
  packages.  I can search for a package by various means, see its
  description, quickly browse its dependencies (seeing at a glance which
  ones I already have installed), and navigate from a package to its
  dependencies and their dependencies, then back up.  From this UI, I
  can quickly operate on an entire set of packages; for instance, I can
  hit M on the section heading for "libs" to mark all libraries as
  automatic, or on the dependency list for a metapackage to mark all
  dependencies of that metapackage as automatic.  I can also stage
  operations incrementally, such as marking some packages for
  installation, reviewing the result, and incrementally modifying it
  until it looks like what I want.

- aptitude's UI shows lists of packages with a consistent set of
  information, rather than just a bare list of package names that's
  harder to scan.  I find it much easier in aptitude to see what a daily
  upgrade will change.  And if something is broken, (e.g. a package in
  unstable that depends on a package only in experimental), aptitude
  makes that fairly obvious, while apt just says that it didn't upgrade
  that package.

- aptitude's UI makes it easy to see held packages at a glance.

Those are some of the reasons I use aptitude.  I'd love to see some of
these use cases addressed in apt.

I actually *don't* particularly care for the aptitude dependency
resolver, particularly since it often seems to miss obvious solutions in
favor of awful ones; for instance, if I'm attempting to install one
package from experimental that depends on another package from
experimental, the correct answer is "install the other package from
experimental", not "cancel installation of the package I asked for", and
definitely not "uninstall half the system".  It's easy enough to tell
aptitude what I actually want, by hitting R and A to reject or accept
parts of solutions, but apt more frequently seems to choose the right
thing to do on the first try.  (Not always, but more often.)

- Josh Triplett


Reply to: