diff options
Diffstat (limited to 'rpmorphan.1')
-rw-r--r-- | rpmorphan.1 | 489 |
1 files changed, 489 insertions, 0 deletions
diff --git a/rpmorphan.1 b/rpmorphan.1 new file mode 100644 index 0000000..9a08e5c --- /dev/null +++ b/rpmorphan.1 @@ -0,0 +1,489 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "RPMORPHAN 1" +.TH RPMORPHAN 1 "2012-08-01" "perl v5.14.2" "User Contributed Perl Documentation" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +rpmorphan \- find orphaned packages +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +rpmorphan finds \*(L"orphaned\*(R" packages on your system. It determines which packages have no other +packages depending on their installation, and shows you a list of these packages. +It is clone of deborphan debian software for rpm packages. +.PP +It will try to help you to remove unused packages, for exemple : +.PP +\&\- after a distribution upgrade +.PP +\&\- when you want to suppress packages after some tests +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +rpmorphan [options] [targets] +.PP +or +.PP +grpmorphan [options] [targets] +.PP +using grpmorphan is a short way to use \*(L"rpmorphan \-gui\*(R" +.PP +options: +.PP +.Vb 3 +\& \-help brief help message +\& \-man full documentation +\& \-V, \-\-version print version +\& +\& \-verbose verbose +\& \-dry\-run simulate package remove +\& \-fullalgo force full algorythm +\& \-suggests use suggested package as if required +\& \-use\-cache use cache to avoid rpm query +\& \-clear\-cache remove cache file +\& \-gui display the graphical interface +\& \-tk display the tk graphical interface +\& \-curses display the curses graphical interface +\& +\& \-exclude pac exclude pac from results +\& \-install\-time +/\-d apply on packages which are installed before (after) d days +\& \-access\-time d apply on packages which are not been accessed for d days (slow) +.Ve +.PP +targets: +.PP +.Vb 10 +\& \-package pac search if pac is an orphan package +\& \-all apply on all packages +\& \-guess\-perl apply on perl packages +\& \-guess\-python apply on python packages +\& \-guess\-pike apply on pike packages +\& \-guess\-ruby apply on ruby packages +\& \-guess\-common apply on common packages +\& \-guess\-data apply on data packages +\& \-guess\-doc apply on documentation packages +\& \-guess\-dev apply on development packages +\& \-guess\-lib apply on library packages (this is the default target if none is specified) +\& \-guess\-all apply all \-guess\-* options (perl, python ...) +\& \-guess\-custom regex apply the given regex to filter to package\*(Aqs names to filter the output +.Ve +.PP +keep file management +.PP +.Vb 5 +\& \-keep\-file file define the keep file to be used +\& \-list\-keep list permanent exclude list +\& \-zero\-keep empty permanent exclude list +\& \-add\-keep pac add pac package to permanent exclude list +\& \-del\-keep pac remove pac package from permanent exclude list +.Ve +.SH "REQUIRED ARGUMENTS" +.IX Header "REQUIRED ARGUMENTS" +you should provide at least one target. this can be +.IP "\fB\-all\fR" 8 +.IX Item "-all" +all the installed rpm package +.IP "\fB\-package\fR" 8 +.IX Item "-package" +one or several explicit package +.IP "\fB\-guess\-*\fR" 8 +.IX Item "-guess-*" +pre-selected packages groups +.IP "\fB\-guess\-custom\fR" 8 +.IX Item "-guess-custom" +give a filter to select the packages you want study. you can use regular expressions. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 8 +.IX Item "-help" +Print a brief help message and exits. +.IP "\fB\-man\fR" 8 +.IX Item "-man" +Print the manual page and exits. +.IP "\fB\-version\fR" 8 +.IX Item "-version" +Print the program release and exit. +.IP "\fB\-verbose\fR" 8 +.IX Item "-verbose" +The program works and print debugging messages. +.IP "\fB\-dry\-run\fR" 8 +.IX Item "-dry-run" +this is a simulation mode : rpmorphan will show you what is +the result of package removing. The window's title is modified +to show this mode. +.IP "\fB\-use\-cache\fR" 8 +.IX Item "-use-cache" +the rpm query may be long (10 to 30 s). If you will run an rpmorphan tool +several time, this option will allow to gain a lot of time : +it save the rpm query on a file cache (first call), then +use this cache instead quering rpm (others calls). +.IP "\fB\-clear\-cache\fR" 8 +.IX Item "-clear-cache" +to remove cache file. Can be used with \-use\-cache to write +a new cache. +.IP "\fB\-gui\fR" 8 +.IX Item "-gui" +display a graphical interface which allow to show informations, remove packages +(an internal help is provided). This is currently the same as the \-tk option +.IP "\fB\-tk\fR" 8 +.IX Item "-tk" +display a tk graphical interface which allow to show informations, remove packages +(an internal help is provided). The Tk perl module is necessary to run the gui. +.IP "\fB\-curses\fR" 8 +.IX Item "-curses" +display a curses graphical interface which allow to show informations, remove packages +(an internal help is provided). The Curses::UI perl module is necessary to run the gui. +.IP "\fB\-exclude\fR" 8 +.IX Item "-exclude" +this option will specify the packages to exclude from the output. +Can be used as '\-\-exclude pac1 \-\-exclude pac2' +or '\-\-exclude \*(L"pac1, pac2\*(R"' +.IP "\fB\-install\-time\fR" 8 +.IX Item "-install-time" +install-time is a filter on the period from the package installation date to now (in days). +if set positive, it only allow packages installed before x days. +if set negative, it only allow packages installed since x days. +.IP "\fB\-access\-time\fR" 8 +.IX Item "-access-time" +access-time is designed to filter packages which have not been used since x days. +.Sp +be careful : this option will slow the program +.IP "\fB\-fullalgo\fR" 8 +.IX Item "-fullalgo" +for a small list of packages, rpmorphan use a different quicker methode : rpm \-e \-\-test +.Sp +this option can be used to force the use of the full algo +.IP "\fB\-suggests\fR" 8 +.IX Item "-suggests" +some rpm version offers a meta-data dependency call suggests : it is +for usefull but not necessary packages. if this option is set, the +suggested packages are used in rpmorphan as required packages. +The default value for this option is unset. +.IP "\fB\-package\fR" 8 +.IX Item "-package" +search if the given package(s) is(are) orphaned. +Can be used as '\-\-package pac1 \-\-package pac2' +or '\-\-package \*(L"pac1, pac2\*(R"' +.IP "\fB\-all\fR" 8 +.IX Item "-all" +apply on all installed packages. The output should be interpreted. +For example lilo or grub are orphaned packages, but are necessary +to boot ... +.Sp +the \*(L"\-install\-time\*(R" and \*(L"\-access\-time\*(R" options may be useful to filter the list +.IP "\fB\-guess\-perl\fR" 8 +.IX Item "-guess-perl" +This option tries to find perl modules. It tries to match \*(L"^perl\*(R" +.IP "\fB\-guess\-python\fR" 8 +.IX Item "-guess-python" +This option tries to find python modules. It tries to match \*(L"^python\*(R" +.IP "\fB\-guess\-pike\fR" 8 +.IX Item "-guess-pike" +This option tries to find pike modules. It tries to match \*(L"^pike\*(R" +.IP "\fB\-guess\-ruby\fR" 8 +.IX Item "-guess-ruby" +This option tries to find ruby modules. It tries to match \*(L"^ruby\*(R" +.IP "\fB\-guess\-common\fR" 8 +.IX Item "-guess-common" +This option tries to find common packages. It tries to match \*(L"\-common$\*(R" +.IP "\fB\-guess\-data\fR" 8 +.IX Item "-guess-data" +This option tries to find data packages. It tries to match \*(L"\-data$\*(R" +.IP "\fB\-guess\-doc\fR" 8 +.IX Item "-guess-doc" +This option tries to find documentation packages. It tries to match \*(L"\-doc$\*(R" +.IP "\fB\-guess\-data\fR" 8 +.IX Item "-guess-data" +This option tries to find data packages. It tries to match \*(L"\-data$\*(R" +.IP "\fB\-guess\-dev\fR" 8 +.IX Item "-guess-dev" +This option tries to find development packages. It tries to match \*(L"\-devel$\*(R" +.IP "\fB\-guess\-lib\fR" 8 +.IX Item "-guess-lib" +This option tries to find library packages. It tries to match \*(L"^lib\*(R" +.IP "\fB\-guess\-all\fR" 8 +.IX Item "-guess-all" +This is a short to tell : Try all of the above (perl, python ...) +.IP "\fB\-guess\-custom\fR" 8 +.IX Item "-guess-custom" +this will allow you to specify your own filter. for exemple \*(L"^wh\*(R" +will match whois, whatsnewfm ... +.IP "\fB\-keep\-file\fR" 8 +.IX Item "-keep-file" +define the keep file to be used. If not set, the /var/lib/rpmorphan/keep will be used +.IP "\fB\-list\-keep\fR" 8 +.IX Item "-list-keep" +list the permanent list of excluded packages and exit. +.IP "\fB\-zero\-keep\fR" 8 +.IX Item "-zero-keep" +empty the permanent list of excluded packages and exit. +.IP "\fB\-add\-keep\fR" 8 +.IX Item "-add-keep" +add package(s) to the permanent list of excluded packages and exit. +.Sp +Can be used as '\-\-add\-keep pac1 \-\-add\-keep pac2' +or '\-\-add\-keep \*(L"pac1, pac2\*(R"' +.IP "\fB\-del\-keep\fR" 8 +.IX Item "-del-keep" +remove package(s) from the permanent list of excluded packages and exit. +.Sp +Can be used as '\-\-add\-keep pac1 \-\-add\-keep pac2' +or '\-\-add\-keep \*(L"pac1, pac2\*(R"' +.SH "USAGE" +.IX Header "USAGE" +rpmorphan can be useful after a distribution upgrade, to remove packages forgotten +by the upgrade tool. It is interesting to use the options "\-all \-install\-time +xx'. +.PP +If you want to remove some recent tested packages, my advice is "\-all \-install\-time \-xx'. +.PP +if you just want to clean your disk, use '\-all \-access\-time xxx' +.SH "FILES" +.IX Header "FILES" +/var/lib/rpmorphan/keep : the permanent exclude list +.PP +/tmp/rpmorphan.cache : cache file to store rpm query. The cache +file is common to all rpmorphan tools +.PP +/var/log/rpmorphan.log : log of all deleted packages +.SH "CONFIGURATION" +.IX Header "CONFIGURATION" +the program can read rcfile if some exists. +it will load in order +.PP +/etc/rpmorphanrc +.PP +~/.rpmorphanrc +.PP +\&.rpmorphanrc +.PP +In this file, +.PP +# are comments, +.PP +and parameters are stored in the following format : +parameter = value +.PP +example : +.PP +all = 1 +.PP +curses = 1 +.SH "DEPENDENCIES" +.IX Header "DEPENDENCIES" +rpmorphan uses standard perl module in console mode. +.PP +If you want to use the Tk graphical interface, you should install the Tk module +(perl-Tk rpm package). +.PP +If you want to use the curses interface, you should install the Curses::UI perl module +( perl-Curses-UI rpm package). +.PP +If you want to speed up rpmorphan, you should install the \s-1RPM2\s0 perl module ( perl\-RPM2 rpm package). +On mandriva, the \s-1URPM\s0 perl module (dependency from urpmi) will be used instead. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +.IP "display orphaned libraries" 8 +.IX Item "display orphaned libraries" +rpmorphan +.IP "display all orphaned packages in a curses interface" 8 +.IX Item "display all orphaned packages in a curses interface" +rpmorphan \-\-all \-\-curses +.IP "display orphaned packages, not used since one year" 8 +.IX Item "display orphaned packages, not used since one year" +rpmorphan \-\-all \-access\-time +365 +.IP "display all orphaned packages, installed in the last 10 days" 8 +.IX Item "display all orphaned packages, installed in the last 10 days" +rpmorphan \-\-all \-install\-time \-10 +.IP "display all orphaned packages, installed one month ago (or more)" 8 +.IX Item "display all orphaned packages, installed one month ago (or more)" +rpmorphan \-\-all \-install\-time +30 +.SH "BUGS AND LIMITATIONS" +.IX Header "BUGS AND LIMITATIONS" +Virtuals packages are not well (for now) taken in account. +Let's see an example : lilo and grub provide 'bootloader' virtual, which is +necessary for system boot. +if the 2 are installed, they will be shown all 2 as orphans (but you can not remove +the 2). +If you remove one of them, the other is now longer shown as orphan. +.PP +the software can only work with one version of each software : +we only treat the first version seen +.SH "INCOMPATIBILITIES" +.IX Header "INCOMPATIBILITIES" +not known +.SH "DIAGNOSTICS" +.IX Header "DIAGNOSTICS" +to be written +.SH "NOTES" +.IX Header "NOTES" +this program can be used as \*(L"normal\*(R" user to show orphans, +but you need to run it as supersuser (root) to remove packages +or apply changes in the permanent exclude list +.PP +access-time and install-time options are \*(L"new\*(R" features, not available +in deborphan tool +.PP +For Fedora users : +Yum offers a program called 'package\-cleanup' which, +called with the '\-\-leaves' option, can show quickly a list of +unused library packages. +.PP +For Mandriva users : +the 'urpme \-\-auto\-orphans' command show quickly a a list of +unused library packages. +.SH "ENVIRONMENT" +.IX Header "ENVIRONMENT" +.IP "\s-1RPMORPHAN_METHOD\s0" 8 +.IX Item "RPMORPHAN_METHOD" +for experts only : allow to force the method used to get rpm +data. It can be set to \s-1URPM\s0, \s-1RPM2\s0 or 'basic' (for external rpm query) +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\fIrpm\fR\|(1) for rpm call +.PP +\fIrpmusage\fR\|(1) +.PP +\fIrpmdep\fR\|(1) +.PP +\fIrpmduplicates\fR\|(1) +.PP +\fIrpmextra\fR\|(1) +.SH "EXIT STATUS" +.IX Header "EXIT STATUS" +should be allways 0 +.SH "LICENSE AND COPYRIGHT" +.IX Header "LICENSE AND COPYRIGHT" +Copyright (C) 2006 by Eric Gerbier +This program is free software; you can redistribute it and/or modify +it under the terms of the \s-1GNU\s0 General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. +.SH "AUTHOR" +.IX Header "AUTHOR" +Eric Gerbier +.PP +you can report any bug or suggest to gerbier@users.sourceforge.net |