path: root/system/man-db/README.Slackware
blob: 165e9dfa4c421e69956615f3dcd985bbd2bb6bbe (plain)
By default, man-db can be installed alongside Slackware's man package
without conflict, as it installs its binaries and man pages into
/opt/man-db. After installation, either log out and back in, or source
/etc/profile.d/ in your shell (this adjusts $PATH so the man
command from /opt/man-db will be found first).

Alternately, man-db can be built as a replacement for Slackware's
man package.  To do this, set USR=yes in the script's environment,
and "removepkg man" before installing man-db. No profile scripts are
installed in this case.

When installing man-db, the script may take several minutes to
run. This is because it's indexing all the man pages on the system. Also,
a cron job is installed in /etc/cron.daily, which adds newly-installed
man pages to the database. The index speeds up searching via "man -k"
or "apropos". The disadvantage is that newly-installed man pages won't
be found in these searches until the database has been updated, so any
time you install new man pages, you'll want to run "mandb" as root, or
wait for cron to do it for you (if you don't do this, the new pages can
still be displayed, they just won't be searchable). The indexing runs
quickly once the initial database has been created, so the cron job or
manual update shouldn't bring your system to its knees.

The database is located in /var/cache/man, and on a full Slackware install
will be approximately 5MB in size. During index creation, approximately
10MB in /var is used. If you decide to removepkg man-db, you'll probably
also want to get rid of its database with "rm -rf /var/cache/man". If
the database gets corrupted somehow, it can be regenerated from scratch
by running "mandb -c" or just reinstalling the man-db package.

Although man-db supports caching formatted pages ("cat" pages), it's
disabled in this build, to make man-db behave more like Slackware's man
(which supports caching, but it's disabled). On modern (and even 10+
year old) systems, the small amount of extra time it takes to format
a man page every time it's viewed is probably not worth the headaches
caused by stale cat pages.

Unlike some distro packages of man-db, this build doesn't install man or
mandb setuid. This prevents caching cat pages from working (see above),
and prevents man from automatically adding new man pages to the database
the first time a user views them (they will be indexed by the cron job,
or by root manually running "mandb", if you're impatient).

A word about i18n support: the whole reason I packaged man-db is because
Slackware's man can't handle Japanese man pages, and I couldn't come
up with a way to make them work after several hours of research and
man.conf editing. With man-db, they Just Work, with LANG=ja_JP.UTF-8
(now all I have to do is learn to read Japanese). In general, UTF-8
locales are preferred for man-db, although non-UTF-8 is also supported.