APT-RDEPENDS(1)

πŸ“¦
version 1.3.0 Β· 3 versions
, in debian bookworm, debian trixie, ubuntu noble

πŸ’– APT-RDEPENDS πŸ’–

okay bestie, so this is the manual page for apt-rdepends β€” one of those little tools from the APT-RDEPENDS(1) section of the manual (yeah, section one, the "user commands" girlies, we're in the big leagues πŸ’…). Let's get into it because she is lowkey iconic and nobody talks about her enough.


🌸 NAME 🌸

apt-rdepends β€” she does recursive dependency listings, kinda like apt-cache but she goes all the way down. no cap.


✨ SYNOPSIS ✨

apt-rdepends [options] [pkgs ...]

πŸ¦‹ DESCRIPTION πŸ¦‹

So basically, apt-rdepends goes digging through the APT cache to find package dependencies. That's her whole thing. She's obsessed with it fr fr.

And the way that she knows how to emulate the result of calling apt-cache with both the depends and dotty options? Chef's kiss. She ate.

By default, she shows you a listing of each dependency a package has. But she does NOT stop there bestie β€” she also looks at each of those fulfilling packages, and then recursively lists their dependencies. It's giving main character energy. It's giving "I will follow this chain until the end of time." 🌈


πŸŽ€ OPTIONS πŸŽ€

  • -b, --build-depends β€” Show build dependencies instead of the normal package dependencies. switching it up πŸ’…
  • -d, --dotty β€” dotty takes a list of packages on the command line and generates output suitable for use by springgraph(1). The result will be a set of nodes and edges representing the relationships between the packages. By default the given packages will trace out all dependent packages which can produce a very large graph. 😭

So about the colors, because she is a colorful girl:

  • blue lines are pre-depends
  • green lines are conflicts
  • yellow lines are suggests
  • orange lines are recommends
  • red lines are replaces
  • black lines are depends
⚠️ Caution, dotty cannot graph larger sets of packages. she simply cannot, and you should not make her try.
  • -p, --print-state β€” Shows the state of each dependency after each package version. Wondering why that's even useful? Check --state-follow and --state-show below, iykyk. πŸ”₯
  • -r, --reverse β€” Shows the listings of each package that depends on a package. And then β€” plot twist β€” she looks at these dependent packages, and finds their dependers. Recursion but make it backwards. πŸ”„
  • -f, --follow=DEPENDS β€” A comma-separated list of DEPENDS types to follow recursively. By default, she only follows the Depends and PreDepends types.

The possible values for DEPENDS are: Depends, PreDepends, Suggests, Recommends, Conflicts, Replaces, and Obsoletes.

In --build-depends mode, the possible values are: Build-Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep.

  • -s, --show=DEPENDS β€” A comma-separated list of DEPENDS types to show, when displaying a listing. By default, she only shows the Depends and PreDepends types.
  • --state-follow=STATES
  • --state-show=STATES β€” These two options are basically --follow and --show's cousins β€” they both deal with the current state of a package. By default, the value of STATES is Unknown, NotInstalled, UnPacked, HalfConfigured, HalfInstalled, ConfigFiles, and Installed.

These options are useful if you only want to look at the dependencies between the Installed packages on your system. You can then call:

apt-rdepends --state-follow=Installed libfoo

Or, if you want to only show the packages installed on your system:

apt-rdepends --state-follow=Installed --state-show=Installed libfoo
  • pkgs β€” The list of packages on which to discover dependencies. 🫢
  • -v, --vcg, --xvcg β€” This option takes a list of packages on the command line and generates output suitable for use by xvcg. The result will be a set of nodes and edges representing the relationships between the packages. By default the given packages will trace out all dependent packages, which can produce a very large graph. 😭

And the color legend again, because consistency is hot:

  • blue lines are pre-depends
  • green lines are conflicts
  • yellow lines are suggests
  • orange lines are recommends
  • red lines are replaces
  • black lines are depends
  • -o, --option=OPTION β€” Set an APT Configuration Option. This will set an arbitrary configuration option. The syntax is -o Foo::Bar=bar. yes bestie you can just… do that. πŸ’…

πŸ’œ SEE ALSO πŸ’œ

apt.conf(5), sources.list(5), apt-cache(8), AptPkg(3), springgraph(1)

go read those too, they're all part of the same friend group 🫢


πŸ’€ BUGS πŸ’€

ngl she has some flaws. nobody's perfect. here's the honest tea:

  • apt-rdepends does not emulate apt-cache perfectly. She does not display information about virtual packages, and she also doesn't know about virtual packages when she's in reverse dependency mode. πŸ’€
  • She also does not know how to stop after a certain depth has been reached. she will just keep going. no brakes. πŸ™ˆ
  • She cannot do reverse build-dependencies. And honestly? That one is really difficult, because she'd have to load the whole cache into memory before discovering which packages depend on others to build. it's a lot, okay.
  • apt-rdepends exists. This functionality should really reside in apt-cache itself. πŸ’€πŸ’€

🌟 AUTHOR 🌟

apt-rdepends was written by Simon Law <sfllaw@debian.org> β€” thank you king πŸ‘‘


and that's the whole page bestie, you're all caught up! this was version 1.3.0, dated 20 May 2013, straight from the APT-RDEPENDS(1) manual source. go forth and recursively resolve, my love πŸŒˆβœ¨πŸ’–

πŸ“¦ where this page comes from