rpmreaper - Man Page

A tool for removing unnecessary packages from system

Synopsis

rpmreaper [-lvh] [-r root] [limit]

Description

rpmreaper is a simple ncurses application with a mutt-like interface that allows removing unnecessary packages and their dependencies from the system.

Options

-l

List packages matching limit, or all installed if not specified.

-v

Verbose listing.

-r root

Specify root directory (default is /).

-h

Print help.

A limit can be specified to limit the list of displayed packages. The syntax is described in the Search Expressions section.

Keys

UP, DOWN, LEFT, PGUP, PGDOWN, HOME, END, TAB, BTAB, h, j, k

Move cursor.

[, ], <, >

Scroll screen.

d

Mark the highlighted package to be removed.

D

Mark the highlighted package to be removed even when there are unmarked packages depending on the package.

E

Recursively mark the highlighted package and unmarked packages depending on the package to be removed.

u

Unmark the highlighted package.

U

Unmark the highlighted package even when some dependencies are marked to be removed.

I

Recursively unmark the highlighted package and marked packages that the package depends on. Packages where a choice has to be made to satisfy a dependency will be left with the b flag and the missing packages should be unmarked manually.

r, R

Show/hide list of packages/capabilities that are required by the highlighted package/capability. When a package is highlighted, R includes also packages that are required indirectly.

b, B

Show/hide list of packages/capabilities that require the highlighted package/capability. When a package is highlighted, B includes also packages that require the highlighted package indirectly.

m, M

Show/hide list of capabilities required by the highlighted package. With M the list is limited to capabilities that match with capabilities provided by the parent package of the highlighted package in the currently displayed tree.

p, P

Show/hide list of capabilities provided by the highlighted package. Only capabilities that are required by some other packages may be listed. With P the list is limited to capabilities that match with capabilities required by the parent package of the highlighted package in the currently displayed tree.

o

Sort packages by name, flags or size.

l

Limit the list of displayed packages. Uses the SEARCH EXPRESSION syntax.

/, ?

Search in the package list. Uses the SEARCH EXPRESSION syntax.

n

Search for next package.

N

Search for next package in the opposite direction.

i

Run rpm -qil | less on the highlighted package. If environment variable PAGER is set, its value is used instead of less.

c

Run rpm -e on marked packages to remove them from the system.

C

Similar to c, but extra options can be added to the rpm -e command, e.g. --nodeps to ignore dependencies when removing the packages.

q

Ask to remove marked packages and quit. If the answer is no, the list of marked packages will be written to stderr.

x

Exit immediately.

F1, F2

Run man rpmreaper.

^R

Reload package list.

^L

Redraw screen.

Package Flags

L

Leaf, no package depends on the package.

l

Partial leaf, some packages may depend on the package and removing the package may remove L/l flag from other packages.

D

Marked to be removed.

o

Part of a dependency cycle.

B

Missing dependencies.

b

Some packages required by the package are marked to be removed.

Search Expressions

Search expression is a regular expression which can be optionally extended with roughly mutt-esque directives for matching package flags. Overall search expression syntax looks like this:

{[!]~flags }[!]regexp

Recognized flags are described in the section Package Flags. Search expression matches a package, if the following three conditions hold: any of the flags specified in ~ directives is set; none of the flags specified in !~ directives are set; and the specified regular expression matches the n-v-r[.a] string of the package. Regular expression consisting of empty string matches all packages. If the regular expression is preceded by !, its meaning is inverted (i.e. it matches where the original wouldn't match and vice versa).

Examples:

noarch$

Match all noarch packages.

~Ll !i386$

Match all leaf and partial leaf non-i386 packages.

!~D perl

Match all perl packages except those marked for deletion.

See Also

rpm(8)

Authors

Miroslav Lichvar <mlichvar@redhat.com>
Petr Machata <pmachata@redhat.com>