1RPMORPHAN(1)          User Contributed Perl Documentation         RPMORPHAN(1)
2
3
4

NAME

6       rpmorphan - find orphaned packages
7

DESCRIPTION

9       rpmorphan finds "orphaned" packages on your system. It determines which
10       packages have no other packages depending on their installation, and
11       shows you a list of these packages.  It is clone of deborphan debian
12       software for rpm packages.
13
14       It will try to help you to remove unused packages, for exemple :
15
16       - after a distribution upgrade
17
18       - when you want to suppress packages after some tests
19

SYNOPSIS

21       rpmorphan.pl  [options] [targets]
22
23       options:
24
25          -help                brief help message
26          -man                 full documentation
27          -V, --version        print version
28
29          -verbose             verbose
30          -dry-run             simulate package remove
31          -fullalgo            force full algorythm
32          -use-cache           use cache to avoid rpm query
33          -clear-cache         remove cache file
34          -gui                 display the graphical interface
35          -tk                  display the tk graphical interface
36          -curses              display the curses graphical interface
37
38          -exclude pac         exclude pac from results
39          -install-time +/-d   apply on packages which are installed before (after) d days
40          -access-time d       apply on packages which are not been accessed for d days (slow)
41
42       targets:
43
44          -package pac         search if pac is an orphan package
45          -all                 apply on all packages
46          -guess-perl          apply on perl packages
47          -guess-python        apply on python packages
48          -guess-pike          apply on pike packages
49          -guess-ruby          apply on ruby packages
50          -guess-common        apply on common packages
51          -guess-data          apply on data packages
52          -guess-doc           apply on documentation packages
53          -guess-dev           apply on development packages
54          -guess-lib           apply on library packages (this is the default target if none is specified)
55          -guess-all           apply all -guess-* options (perl, python ...)
56          -guess-custom regex  apply the given regex to filter to package's names to filter the output
57
58       keep file management
59
60          -keep-file file      define the keep file to be used
61          -list-keep           list permanent exclude list
62          -zero-keep           empty permanent exclude list
63          -add-keep pac        add pac package to permanent exclude list
64          -del-keep pac        remove pac package from permanent exclude list
65

REQUIRED ARGUMENTS

67       you should provide at least one target. this can be
68
69       -all    all the installed rpm package
70
71       -package
72               one or several explicit package
73
74       -guess-*
75               pre-selected packages groups
76
77       -guess-custom
78               give a filter to select the packages you want study. you can
79               use regular expressions.
80

OPTIONS

82       -help   Print a brief help message and exits.
83
84       -man    Print the manual page and exits.
85
86       -version
87               Print the program release and exit.
88
89       -verbose
90               The program works and print debugging messages.
91
92       -dry-run
93               this is a simulation mode : rpmorphan will show you what is the
94               result of package removing. The window's title is modified to
95               show this mode.
96
97       -use-cache
98               the rpm query may be long (10 to 30 s). If you will run an
99               rpmorphan tool several time, this option will allow to gain a
100               lot of time : it save the rpm query on a file cache (first
101               call), then use this cache instead quering rpm (others calls).
102
103       -clear-cache
104               to remove cache file. Can be used with -use-cache to write a
105               new cache.
106
107       -gui    display a graphical interface which allow to show informations,
108               remove packages (an internal help is provided). This is
109               currently the same as the -tk option
110
111       -tk     display a tk graphical interface which allow to show
112               informations, remove packages (an internal help is provided).
113               The Tk perl module is necessary to run the gui.
114
115       -curses display a curses graphical interface which allow to show
116               informations, remove packages (an internal help is provided).
117               The Curses::UI perl module is necessary to run the gui.
118
119       -exclude
120               this option will specify the packages to exclude from the
121               output.  Can be used as '--exclude pac1 --exclude pac2' or
122               '--exclude "pac1, pac2"'
123
124       -install-time
125               install-time is a filter on the period from the package
126               installation date to now (in days).  if set positive, it only
127               allow packages installed before x days.  if set negative, it
128               only allow packages installed since x days.
129
130       -access-time
131               access-time is designed to filter packages which have not been
132               used since x days.
133
134               be careful : this option will slow the program
135
136       -fullalgo
137               for a small list of packages, rpmorphan use a different quicker
138               methode : rpm -e --test
139
140               this option can be used to force the use of the full algo
141
142       -package
143               search if the given package(s) is(are) orphaned.  Can be used
144               as '--package pac1 --package pac2' or '--package "pac1, pac2"'
145
146       -all    apply on all installed packages. The output should be
147               interpreted.  For example lilo or grub are orphaned packages,
148               but are necessary to boot ...
149
150               the -install-time and -access-time options may be useful to
151               filter the list
152
153       -guess-perl
154               This option tries to find perl modules. It tries to match
155               "^perl"
156
157       -guess-python
158               This option tries to find python modules. It tries to match
159               "^python"
160
161       -guess-pike
162               This option tries to find pike modules. It tries to match
163               "^pike"
164
165       -guess-ruby
166               This option tries to find ruby modules. It tries to match
167               "^ruby"
168
169       -guess-common
170               This option tries to find common packages. It tries to match
171               "-common$"
172
173       -guess-data
174               This option tries to find data packages. It tries to match
175               "-data$"
176
177       -guess-doc
178               This option tries to find documentation packages. It tries to
179               match "-doc$"
180
181       -guess-data
182               This option tries to find data packages. It tries to match
183               "-data$"
184
185       -guess-dev
186               This option tries to find development packages. It tries to
187               match "-devel$"
188
189       -guess-lib
190               This option tries to find library packages. It tries to match
191               "^lib"
192
193       -guess-all
194               This is a short to tell : Try all of the above (perl, python
195               ...)
196
197       -guess-custom
198               this will allow you to specify your own filter. for exemple
199               "^wh" will match whois, whatsnewfm ...
200
201       -keep-file
202               define the keep file to be used. If not set, the
203               /var/lib/rpmorphan/keep will be used
204
205       -list-keep
206               list the permanent list of excluded packages and exit.
207
208       -zero-keep
209               empty the permanent list of excluded packages and exit.
210
211       -add-keep
212               add package(s) to the permanent list of excluded packages and
213               exit.
214
215               Can be used as '--add-keep pac1 --add-keep pac2' or '--add-keep
216               "pac1, pac2"'
217
218       -del-keep
219               remove package(s) from the permanent list of excluded packages
220               and exit.
221
222               Can be used as '--add-keep pac1 --add-keep pac2' or '--add-keep
223               "pac1, pac2"'
224

USAGE

226       rpmorphan can be useful after a distribution upgrade, to remove
227       packages forgotten by the upgrade tool. It is interesting to use the
228       options "-all -install-time +xx'.
229
230       If you want to remove some recent tested packages, my advice is "-all
231       -install-time -xx'.
232
233       if you just want to clean your disk, use '-all -access-time xxx'
234

FILES

236       /var/lib/rpmorphan/keep : the permanent exclude list
237
238       /tmp/rpmorphan.cache : cache file to store rpm query. The cache file is
239       common to all rpmorphan tools
240
241       /var/log/rpmorphan.log : log of all deleted packages
242

CONFIGURATION

244       the program can read rcfile if some exists.  it will load in order
245
246       /etc/rpmorphanrc
247
248       ~/.rpmorphanrc
249
250       .rpmorphanrc
251
252       In this file,
253
254       # are comments,
255
256       and parameters are stored in the following format : parameter = value
257
258       example :
259
260       all = 1
261
262       curses = 1
263

DEPENDENCIES

265       rpmorphan uses standard perl module in console mode.
266
267       If you want to use the Tk graphical interface, you should install the
268       Tk module (perl-Tk rpm package).
269
270       If you want to use the curses interface, you should install the
271       Curses::UI perl module ( perl-Curses-UI rpm package).
272
273       If you want to speed up rpmorphan, you should install the RPM2 perl
274       module ( perl-RPM2 rpm package).  On mandriva, the URPM perl module
275       (dependency from urpmi) will be used instead.
276

EXAMPLES

278       display orphaned libraries
279               rpmorphan
280
281       display all orphaned packages in a curses interface
282               rpmorphan --all --curses
283
284       display orphaned packages, not used since one year
285               rpmorphan --all -access-time +365
286
287       display all orphaned packages, installed in the last 10 days
288               rpmorphan --all -install-time -10
289
290       display all orphaned packages, installed one month ago (or more)
291               rpmorphan --all -install-time +30
292

BUGS AND LIMITATIONS

294       Virtuals packages are not well (for now) taken in account.  Let's see
295       an example : lilo and grub provide 'bootloader' virtual, which is
296       necessary for system boot.  if the 2 are installed, they will be shown
297       all 2 as orphans (but you can not remove the 2).  If you remove one of
298       them, the other is now longer shown as orphan.
299
300       the software can only work with one version of each software : we only
301       treat the first version seen
302

INCOMPATIBILITIES

304       not known
305

DIAGNOSTICS

307       to be written
308

NOTES

310       this program can be used as "normal" user to show orphans, but you need
311       to run it as supersuser (root) to remove packages or apply changes in
312       the permanent exclude list
313
314       access-time and install-time options are "new" features, not available
315       in deborphan tool
316
317       For Fedora users : Yum offers a program called 'package-cleanup' which,
318       called with the '--leaves' option, can show quickly a list of unused
319       library packages.
320
321       For Mandriva users : the 'urpme --auto-orphans' command show quickly a
322       a list of unused library packages.
323

SEE ALSO

325       rpm(1) for rpm call
326
327       rpmusage(1)
328
329       rpmdep(1)
330
331       rpmduplicates(1)
332

EXIT STATUS

334       should be allways 0
335
337       Copyright (C) 2006 by Eric Gerbier This program is free software; you
338       can redistribute it and/or modify it under the terms of the GNU General
339       Public License as published by the Free Software Foundation; either
340       version 2 of the License, or (at your option) any later version.
341

AUTHOR

343       Eric Gerbier
344
345       you can report any bug or suggest to gerbier@users.sourceforge.net
346
347
348
349perl v5.10.0                      2010-03-02                      RPMORPHAN(1)
Impressum