Как установить файл справочной системы для всей системы?
Например, если у меня есть файл справочной страницы examplecommand.1
, как мне установить его, чтобы я мог просто напечатать его, man examplecommand
чтобы просмотреть?
источник
Как установить файл справочной системы для всей системы?
Например, если у меня есть файл справочной страницы examplecommand.1
, как мне установить его, чтобы я мог просто напечатать его, man examplecommand
чтобы просмотреть?
Сначала выясните, к какому разделу относится ваша справочная страница. Если это команда, она, вероятно, принадлежит разделу 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
пакетом.
sudo
?/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
.источник