RHEL – Why Does `man -k cron` Say `vixie-cron (rpm)` and How to Read Those Pages?

manrhelrpm

I'm trying to find out some details regarding cron and /etc/cron.d/ on a RedHat system. Ironically, my answer is viewable within the vixie-cron-*.src.rpm for this package, but the the man pages for cron don't match the text which is provided by the vixie-cron RPM.

If I search my MANPATH for the keyword cron, it shows me some results like vixie-cron (rpm). What does this (rpm) tag mean, why are these manpages not installed on the system and can I view those manpages?

$ man -k cron
/etc/anacrontab [anacrontab] (5)  - configuration file for anacron
anacron              (8)  - runs commands periodically
anacron             (rpm) - A cron-like program that can run jobs lost during downtime.
cron                 (8)  - daemon to execute scheduled commands (ISC Cron V4.1)
crontab              (1)  - maintain crontab files for individual users (ISC Cron V4.1)
crontab              (1p)  - schedule periodic background work
crontab              (5)  - tables for driving cron (ISC Cron V4.1)
crontabs            (rpm) - Root crontab files used to schedule the execution of programs.
vixie-cron          (rpm) - The Vixie cron daemon for executing specified programs at set times.

Note that there is no page for vixie-cron, and the vixie-cron package doesn't actually provide any manpages named vixie-cron

$ man vixie-cron
No manual entry for vixie-cron
$ rpm -q --whatprovides /usr/bin/crontab
vixie-cron-4.1-77.el5_4.1
$ rpm -q --list vixie-cron
/etc/cron.d
/etc/pam.d/crond
/etc/rc.d/init.d/crond
/etc/sysconfig/crond
/usr/bin/crontab
/usr/sbin/crond
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/man/man8/cron.8.gz
/usr/share/man/man8/crond.8.gz
/var/spool/cron

Best Answer

The command man -k queries against a pre-compiled database and not the manual pages themselves.

I suspect that entries may have been made in the database (see man mandb for details) for pages that don't actually exist. I am not familiar enough with the RPM mechanisms to know how this could have happened.

In a similar vein, there is considerable flexibility in what section a given manual page may claim to live. For example, on my system man Carp claims to be in section "3perl" where the underlying file is stored in .../man3/Carp.3perl.gz. The commands

man Carp
man -s 3 Carp
man -s 3perl Carp

all yield the same page while man -s 3junk Carp complains that there is no such entry.

You might find mlocate (a.k.a. locate) to be useful for hunting files by name. I presume it is available for RedHat since redacted@redhat.com is credited as the author.

Related Question