1RPMORPHAN(1) User Contributed Perl Documentation RPMORPHAN(1)
2
3
4
6 rpmorphan - find orphaned packages
7
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
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
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
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
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
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
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
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
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
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
348 not known
349
351 to be written
352
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
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
375 rpm(1) for rpm call
376
377 rpmusage(1)
378
379 rpmdep(1)
380
381 rpmduplicates(1)
382
383 rpmextra(1)
384
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
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)