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 -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
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
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
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
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
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
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
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
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
331 not known
332
334 to be written
335
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
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
358 rpm(1) for rpm call
359
360 rpmusage(1)
361
362 rpmdep(1)
363
364 rpmduplicates(1)
365
366 rpmextra(1)
367
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
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)