summaryrefslogtreecommitdiff
path: root/rpmusage.1
diff options
context:
space:
mode:
Diffstat (limited to 'rpmusage.1')
-rw-r--r--rpmusage.1358
1 files changed, 358 insertions, 0 deletions
diff --git a/rpmusage.1 b/rpmusage.1
new file mode 100644
index 0000000..ba53b75
--- /dev/null
+++ b/rpmusage.1
@@ -0,0 +1,358 @@
+.\" 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 "RPMUSAGE 1"
+.TH RPMUSAGE 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"
+rpmusage \- display rpm packages last use
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+rpmusage will display for each package, the last date it was used (in days). It can be used
+to find unused packages. It use the atime field of all package's files to do this job.
+Note : as it scan all files inodes, the run may be long ...
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+rpmusage.pl [options] [targets]
+.PP
+options:
+.PP
+.Vb 3
+\& \-help brief help message
+\& \-man full documentation
+\& \-V, \-\-version print version
+\&
+\& \-verbose verbose
+\& \-fullalgo force full algorythm
+\& \-use\-cache use cache to avoid rpm query
+\& \-clear\-cache remove cache file
+\&
+\& \-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 last access on pac package
+\& \-all apply on all packages (this is the default)
+\& \-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
+\& \-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
+.SH "REQUIRED ARGUMENTS"
+.IX Header "REQUIRED ARGUMENTS"
+it can be used without any argument, and then will apply on all packages
+.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\-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\-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, rpmusage use a different quicker methode : rpm \-e \-\-test
+.Sp
+this option can be used to force the use of the full algo
+.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 \-install\-time and \-access\-time 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 ...
+.SH "USAGE"
+.IX Header "USAGE"
+display all packages in access date order
+.PP
+rpmusage.pl | sort \-k 2 \-n
+.PP
+only ask for perl packages
+.PP
+rpmusage.pl \-\-guess\-perl | sort \-k 2 \-n
+.PP
+to read the output :
+\&\*(L"python-pexpect 97 on /usr/share/doc/python\-pexpect\*(R"
+means the package was last used 97 days ago and the more recently used file was the
+/usr/share/doc/python\-pexpect file
+.SH "FILES"
+.IX Header "FILES"
+/tmp/rpmorphan.cache : cache file to store rpm query. The cache
+file is common to all rpmorphan tools
+.SH "DEPENDENCIES"
+.IX Header "DEPENDENCIES"
+rpmusage uses only standard perl module.
+.PP
+but it needs the rpm command tool.
+.SH "BUGS AND LIMITATIONS"
+.IX Header "BUGS AND LIMITATIONS"
+the software can only work with one version of each software :
+we only treat the first version seen
+.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 "INCOMPATIBILITIES"
+.IX Header "INCOMPATIBILITIES"
+not known
+.SH "DIAGNOSTICS"
+.IX Header "DIAGNOSTICS"
+to be written
+.SH "NOTES"
+.IX Header "NOTES"
+this program should be used as root superuser, because it needs to access
+(in read mode) to all files
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\fIrpm\fR\|(1) for rpm call
+.PP
+\fIrpmorphan\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