50 lines
2.8 KiB
Plaintext
50 lines
2.8 KiB
Plaintext
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/man-db.sh 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 doinst.sh 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.
|