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  [options] [targets]
22
23       or
24
25       grpmorphan  [options] [targets]
26
27       using grpmorphan is a short way to use "rpmorphan -gui"
28
29       options:
30
31          -help                brief help message
32          -man                 full documentation
33          -V, --version        print version
34
35          -verbose             verbose
36          -debug               debug mode (for developpers only)
37          -dry-run             simulate package remove
38          -fullalgo            force full algorythm
39          -suggests            use suggested package as if required
40          -recommends          use recommends package as if required
41          -arch                work and show on full name with version and architecture
42          -log-file mylog      change default log file to mylog
43          -use-cache           use cache to avoid rpm query
44          -clear-cache         remove cache file
45          -gui                 display the graphical interface
46          -tk                  display the tk graphical interface
47          -curses              display the curses graphical interface
48
49          -exclude pac         exclude pac from results
50          -install-time +/-d   apply on packages which are installed before (after) d days
51          -access-time d       apply on packages which are not been accessed for d days (slow)
52
53       targets:
54
55          -package pac         search if pac is an orphan package
56          -all                 apply on all packages
57          -guess-perl          apply on perl packages
58          -guess-python        apply on python packages
59          -guess-pike          apply on pike packages
60          -guess-ruby          apply on ruby packages
61          -guess-common        apply on common packages
62          -guess-data          apply on data packages
63          -guess-doc           apply on documentation packages
64          -guess-dev           apply on development packages
65          -guess-lib           apply on library packages (this is the default target if none is specified)
66          -guess-all           apply all -guess-* options (perl, python ...)
67          -guess-custom regex  apply the given regex to filter to package's names to filter the output
68
69       keep file management
70
71          -keep-file file      define the keep file to be used
72          -list-keep           list permanent exclude list
73          -zero-keep           empty permanent exclude list
74          -add-keep pac        add pac package to permanent exclude list
75          -del-keep pac        remove pac package from permanent exclude list
76

REQUIRED ARGUMENTS

78       you should provide at least one target. this can be
79
80       -all    all the installed rpm package
81
82       -package
83               one or several explicit package
84
85       -guess-*
86               pre-selected packages groups
87
88       -guess-custom
89               give a filter to select the packages you want study. you can
90               use regular expressions.
91

OPTIONS

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

USAGE

262       rpmorphan can be useful after a distribution upgrade, to remove
263       packages forgotten by the upgrade tool. It is interesting to use the
264       options "-all -install-time +xx'.
265
266       If you want to remove some recent tested packages, my advice is "-all
267       -install-time -xx'.
268
269       if you just want to clean your disk, use '-all -access-time xxx'
270

FILES

272       /var/lib/rpmorphan/keep : the permanent exclude list
273
274       /tmp/rpmorphan.cache : cache file to store rpm query. The cache file is
275       common to all rpmorphan tools
276
277       /var/log/rpmorphan.log : log of all deleted packages
278

CONFIGURATION

280       the program can read rcfile if some exists.  it will load in order
281
282       /etc/rpmorphanrc
283
284       ~/.rpmorphanrc
285
286       .rpmorphanrc
287
288       In this file,
289
290       # are comments,
291
292       and parameters are stored in the following format : parameter = value
293
294       example :
295
296       all = 1
297
298       curses = 1
299

DEPENDENCIES

301       rpmorphan uses standard perl module in console mode.
302
303       If you want to use the Tk graphical interface, you should install the
304       Tk module (perl-Tk rpm package).
305
306       If you want to use the curses interface, you should install the
307       Curses::UI perl module ( perl-Curses-UI rpm package).
308
309       If you want to speed up rpmorphan, you should install the RPM2 perl
310       module ( perl-RPM2 rpm package).  On mandriva, the URPM perl module
311       (dependency from urpmi) will be used instead.
312

EXAMPLES

314       display orphaned libraries
315               rpmorphan
316
317       display all orphaned packages in a curses interface
318               rpmorphan --all --curses
319
320       display orphaned packages, not used since one year
321               rpmorphan --all -access-time +365
322
323       display all orphaned packages, installed in the last 10 days
324               rpmorphan --all -install-time -10
325
326       display all orphaned packages, installed one month ago (or more)
327               rpmorphan --all -install-time +30
328
329       display orphaned packages but not weak dependencies
330               rpmorphan --all --recommends
331
332       display orphaned packages but not all weak dependencies
333               rpmorphan --all --recommends --suggests
334

BUGS AND LIMITATIONS

336       Virtuals packages are not well (for now) taken in account.  Let's see
337       an example : lilo and grub provide 'bootloader' virtual, which is
338       necessary for system boot.  if the 2 are installed, they will be shown
339       all 2 as orphans (but you can not remove the 2).  If you remove one of
340       them, the other is now longer shown as orphan.
341
342       the software can only work with one version of each software : we only
343       treat the first version seen
344
345       the code does not use the following rpm tags : Supplements, Enhances
346

INCOMPATIBILITIES

348       not known
349

DIAGNOSTICS

351       to be written
352

NOTES

354       this program can be used as "normal" user to show orphans, but you need
355       to run it as supersuser (root) to remove packages or apply changes in
356       the permanent exclude list
357
358       access-time and install-time options are "new" features, not available
359       in deborphan tool
360
361       For Fedora users : Yum offers a program called 'package-cleanup' which,
362       called with the '--leaves' option, can show quickly a list of unused
363       library packages.
364
365       For Mandriva users : the 'urpme --auto-orphans' command show quickly a
366       a list of unused library packages.
367

ENVIRONMENT

369       RPMORPHAN_METHOD
370               for experts only : allow to force the method used to get rpm
371               data. It can be set to URPM, RPM2 or 'basic' (for external rpm
372               query)
373

SEE ALSO

375       rpm(1) for rpm call
376
377       rpmusage(1)
378
379       rpmdep(1)
380
381       rpmduplicates(1)
382
383       rpmextra(1)
384

EXIT STATUS

386       should be allways 0
387
389       Copyright (C) 2006 by Eric Gerbier This program is free software; you
390       can redistribute it and/or modify it under the terms of the GNU General
391       Public License as published by the Free Software Foundation; either
392       version 2 of the License, or (at your option) any later version.
393

AUTHOR

395       Eric Gerbier
396
397       you can report any bug or suggest to gerbier@users.sourceforge.net
398
399
400
401perl v5.26.2                      2018-09-13                      RPMORPHAN(1)
Impressum