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          -arch                work and show on full name with version and architecture
41          -log-file mylog      change default log file to mylog
42          -use-cache           use cache to avoid rpm query
43          -clear-cache         remove cache file
44          -gui                 display the graphical interface
45          -tk                  display the tk graphical interface
46          -curses              display the curses graphical interface
47
48          -exclude pac         exclude pac from results
49          -install-time +/-d   apply on packages which are installed before (after) d days
50          -access-time d       apply on packages which are not been accessed for d days (slow)
51
52       targets:
53
54          -package pac         search if pac is an orphan package
55          -all                 apply on all packages
56          -guess-perl          apply on perl packages
57          -guess-python        apply on python packages
58          -guess-pike          apply on pike packages
59          -guess-ruby          apply on ruby packages
60          -guess-common        apply on common packages
61          -guess-data          apply on data packages
62          -guess-doc           apply on documentation packages
63          -guess-dev           apply on development packages
64          -guess-lib           apply on library packages (this is the default target if none is specified)
65          -guess-all           apply all -guess-* options (perl, python ...)
66          -guess-custom regex  apply the given regex to filter to package's names to filter the output
67
68       keep file management
69
70          -keep-file file      define the keep file to be used
71          -list-keep           list permanent exclude list
72          -zero-keep           empty permanent exclude list
73          -add-keep pac        add pac package to permanent exclude list
74          -del-keep pac        remove pac package from permanent exclude list
75

REQUIRED ARGUMENTS

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

OPTIONS

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

USAGE

253       rpmorphan can be useful after a distribution upgrade, to remove
254       packages forgotten by the upgrade tool. It is interesting to use the
255       options "-all -install-time +xx'.
256
257       If you want to remove some recent tested packages, my advice is "-all
258       -install-time -xx'.
259
260       if you just want to clean your disk, use '-all -access-time xxx'
261

FILES

263       /var/lib/rpmorphan/keep : the permanent exclude list
264
265       /tmp/rpmorphan.cache : cache file to store rpm query. The cache file is
266       common to all rpmorphan tools
267
268       /var/log/rpmorphan.log : log of all deleted packages
269

CONFIGURATION

271       the program can read rcfile if some exists.  it will load in order
272
273       /etc/rpmorphanrc
274
275       ~/.rpmorphanrc
276
277       .rpmorphanrc
278
279       In this file,
280
281       # are comments,
282
283       and parameters are stored in the following format : parameter = value
284
285       example :
286
287       all = 1
288
289       curses = 1
290

DEPENDENCIES

292       rpmorphan uses standard perl module in console mode.
293
294       If you want to use the Tk graphical interface, you should install the
295       Tk module (perl-Tk rpm package).
296
297       If you want to use the curses interface, you should install the
298       Curses::UI perl module ( perl-Curses-UI rpm package).
299
300       If you want to speed up rpmorphan, you should install the RPM2 perl
301       module ( perl-RPM2 rpm package).  On mandriva, the URPM perl module
302       (dependency from urpmi) will be used instead.
303

EXAMPLES

305       display orphaned libraries
306               rpmorphan
307
308       display all orphaned packages in a curses interface
309               rpmorphan --all --curses
310
311       display orphaned packages, not used since one year
312               rpmorphan --all -access-time +365
313
314       display all orphaned packages, installed in the last 10 days
315               rpmorphan --all -install-time -10
316
317       display all orphaned packages, installed one month ago (or more)
318               rpmorphan --all -install-time +30
319

BUGS AND LIMITATIONS

321       Virtuals packages are not well (for now) taken in account.  Let's see
322       an example : lilo and grub provide 'bootloader' virtual, which is
323       necessary for system boot.  if the 2 are installed, they will be shown
324       all 2 as orphans (but you can not remove the 2).  If you remove one of
325       them, the other is now longer shown as orphan.
326
327       the software can only work with one version of each software : we only
328       treat the first version seen
329

INCOMPATIBILITIES

331       not known
332

DIAGNOSTICS

334       to be written
335

NOTES

337       this program can be used as "normal" user to show orphans, but you need
338       to run it as supersuser (root) to remove packages or apply changes in
339       the permanent exclude list
340
341       access-time and install-time options are "new" features, not available
342       in deborphan tool
343
344       For Fedora users : Yum offers a program called 'package-cleanup' which,
345       called with the '--leaves' option, can show quickly a list of unused
346       library packages.
347
348       For Mandriva users : the 'urpme --auto-orphans' command show quickly a
349       a list of unused library packages.
350

ENVIRONMENT

352       RPMORPHAN_METHOD
353               for experts only : allow to force the method used to get rpm
354               data. It can be set to URPM, RPM2 or 'basic' (for external rpm
355               query)
356

SEE ALSO

358       rpm(1) for rpm call
359
360       rpmusage(1)
361
362       rpmdep(1)
363
364       rpmduplicates(1)
365
366       rpmextra(1)
367

EXIT STATUS

369       should be allways 0
370
372       Copyright (C) 2006 by Eric Gerbier This program is free software; you
373       can redistribute it and/or modify it under the terms of the GNU General
374       Public License as published by the Free Software Foundation; either
375       version 2 of the License, or (at your option) any later version.
376

AUTHOR

378       Eric Gerbier
379
380       you can report any bug or suggest to gerbier@users.sourceforge.net
381
382
383
384perl v5.34.0                      2022-01-21                      RPMORPHAN(1)
Impressum