Ответы:
Сначала выясните, к какому разделу относится ваша справочная страница. Если это команда, она, вероятно, принадлежит разделу 1
. Вы можете прочитать справочную страницу для man
команды, чтобы увидеть описание различных разделов и их соответствующих номеров.
Скопируйте свою справочную страницу /usr/local/share/man/man1/
(измените 1
номер раздела, если это необходимо). Вы также можете установить его /usr/share/man/man1/
, но лучше использовать local
каталог для файлов, которые установлены без использования менеджера пакетов APT:
sudo cp examplecommand.1 /usr/local/share/man/man1/
Запустите mandb
команду. Это обновит man
внутреннюю базу данных:
sudo mandb
Это оно! Вы должны иметь возможность просматривать справочную страницу, выполнив:
man 1 examplecommand
man
командыmandb
команды/usr/bin/dh_installman
если вы можете прочитать Perl, установленный с debhelper
пакетом./usr/local/man
а также предлагать в отображении PATH to MANPATH /etc/manpath.config
.
Если вам нужно только установить man-страницу локально :
Если он MANPATH
не установлен или содержит пустой компонент (т. Е. Начинается с :
, заканчивается :
или содержит ::
), то <path>/share/man
будет автоматически производиться поиск справочных страниц, когда они <path>/bin
являются частью PATH
, для всех значений<path>
.
Это обеспечивает очень простой способ добавления справочных страниц для локально установленного программного обеспечения. Есть некоторые детали в man manpath
и /etc/manpath.config
, но я не вижу упоминания об общем отображении из <path>/bin
в <path>/share/man
.
MANPATH=<local path to the man pages>:$MANPATH
в ваш ${HOME}/.bashrc
(сеансы без входа в систему) или ${HOME}/.profile
(сеансы входа в систему). В моем случае я создал локальный каталог для man-страниц ${HOME}/share/man/
, который имитирует классическую файловую систему Linux. Я создал ${HOME}/share/man/man.1
, который затем содержит символическую ссылку на местоположение файла, examplecommand.1
куда бы он не был установлен установщиком программы (префикс конфигурации). Запуск man examplecommand
находит страницы руководства в точке. Таким образом, установка является локальной, но не общесистемной.
<path>/bin
-> <path>/share/man
существует. При выполнении strace (1) man
с помощью команды MANPATH=:/nonexistingdir
я вижу следующее: - <path>/bin
-> <path>/man
Это в системе Debain Buster.
Ответ @ ntc2 выше - это то, на что должны смотреть люди. Я хотел добавить дополнительный комментарий, который не помещался в разделе комментариев:
Подход @ ntc2 обеспечивает путь для людей, которым нужно только установить свой PATH (что они уже ожидают) для локальных двоичных файлов.
Однако я не думаю, что общее отображение <path>/bin
-> <path>/share/man
существует для всех путей в $PATH
. Кажется, что это конкретное отображение избегается, когда $PATH
речь идет о $HOME/bin
. При выполнении strace (1) man
с помощью MANPATH=:/nonexistingdir
я вижу следующие поиски:
Для любого элемента в $PATH
это не$HOME/bin
<path>/bin
-> <path>/man
<path>/bin
-> <path>/bin/man
<path>/bin
-> <path>/share/man
<path>/bin
-> <path>/bin/share/man
Для $HOME/bin
$HOME/bin
-> $HOME/man
Я понятия не имею, почему это пропускает других. Это в системе Debian Buster. Это может отличаться в других системах.
Для меня это означает, что самый безопасный путь для установки man-страниц - <path>/man
это гарантированный поиск, если он находится в $PATH
.
sudo
?