Відповіді:
По-перше, з’ясуйте, до якого розділу належить ваша чоловіча сторінка. Якщо це команда, вона, ймовірно, належить до розділу 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 pages у ${HOME}/share/man/
, який імітує класичну файлову систему Linux. Я створив ${HOME}/share/man/man.1
, який потім містить символічне посилання на розташування до файлу, examplecommand.1
куди не встановив інсталятор програми (налаштування "префікс"). Запуск man examplecommand
знаходить сторінки чоловіка в точку. Таким чином, установка є локальною, проте не загальносистемною.
<path>/bin
-> <path>/share/man
існує. Під час виконання штриха (1) на man
з MANPATH=:/nonexistingdir
, я бачу наступне: - <path>/bin
-> <path>/man
Це в системі Debain Buster.
Відповідь @ ntc2 вище - це той, кого слід дивитись. Я хотів додати кілька додаткових коментарів, які не вміщувались у розділі коментарів:
Підхід @ ntc2 забезпечує шлях лише для людей, які потребують встановити свій PATH (який вони вже очікують) для місцевих бінарних файлів.
Однак я не думаю, що загальне відображення <path>/bin
-> <path>/share/man
існує для всіх шляхів у $PATH
. Схоже, цього специфічного відображення уникнути, коли $PATH
йдеться про питання $HOME/bin
. Під час виконання штриха (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
?