Я пытаюсь создать Makefile для небольшой утилиты Perl, которую я написал, и я изо всех сил пытаюсь найти способ найти, где установить мою man-страницу, когда make
она запускается как пользователь без полномочий root .
В настоящее время я анализирую вывод, manpath
чтобы найти первый путь в $HOME
каталоге ... и он почти работает нормально.
Пути, которые я нашел, есть ~/man
и~/share/man
Единственная проблема заключается в том, что, если эти каталоги не существуют в первую очередь, manpath
не выводит ни один из них.
Вопросов
- Есть ли портативный способ узнать, где я должен установить man-страницы в каталоге $ HOME пользователя?
- Если нет, какой из них следует отдать предпочтение?
manpath
предупреждения обMANPATH
установке, вы можете передать-q
опцию.man
где искать. Я ищу общий, портативный способ для общей установки (то есть: гдеman
ищет стандартную конфигурацию)echo $MANPATH
и посмотрите, что это показывает. Это хорошие места, чтобы начать искать или использоватьmanpath
команду, как я показал в своем ответе.Ответ с описанием
Я запускаю Cygwin на Windows 7. Когда я пытаюсь
Я ничего не получаю. Вот мой портативный способ найти, где разместить новые
man
страницы.(Примечание к этой сумасшедшей команде находится внизу этого ответа.)
Вы можете просто заменить
/
на~
. Другая возможность находится в разделе « Другое примечание » ниже.На моей машине
find
команда вернула:Для меня это означало, что есть две возможности:
/share/man
и/usr/man
.Я решил использовать
/usr/man
, чего не скажешь, но мне нужно было еще немного изучить.Итак, где у меня были новые
man
файлы вdoc/
подкаталоге моего рабочего каталога, я использовалТеперь я могу добраться до своего «руководства», набрав
Если вы не видите вероятного кандидата, вы можете удалить эту часть или изменить ее, например, на
-maxdepth 3
, или4
, или5
, или как угодно глубоко, чтобы найти то, что вам нужно. Когда я сделал это с3
, я нашел двух других кандидатов,/var/cache/man
иusr/share/man
, но я уже нашел рабочее решение, поэтому я не связывался с ними.Еще одна заметка
Я полагаю, что
/share/man/man1
или/var/cache/man
будет доступно для пользователей без полномочий root, как вы и просили. Пожалуйста, поправьте меня, если я ошибаюсь.Обещанная записка внизу
Обратите внимание, что я использовал
-maxdepth 2
опцию сfind
, потому что я полагал, чтоman
каталог будет в двух каталогах корня файловой системы, и я не хотел получать слишком много посторонних каталогов, которые каким-то образом имели подстрокуman
, как и/lib/gnome-co
mander
.Дополнительный материал по всему
find
есть, чтобы подавить любыеPermission denied
ошибки в случае, если у вас нет доступа кsu
илиsudo
. Вот отличное описание того, что происходит. (Ищите строку, которая начинается с "gniourf_gniourf".)источник
Я установил несколько скомпилированных приложений с соответствующим
configure
набором для установки в${HOME}/usr/local
.Теперь я нахожу, что у меня есть каталоги
с страницами руководств
gnuplot.1
,gnuplot-ja.1
,python3.1
,python3.5.1
,libpng.3
,libpngpf.3
,zlib.3
,png.5
, так что я думаю , (учитывая мой префикс) это довольно стандартное расположение для приложений , установленных локально.Тогда это подходящее место для случаев, когда нужно вручную выбрать локальный
man
каталог.Конечно, можно добавить произвольные пути (и должен делать это даже в обычном упомянутом случае) для
man
страниц с(см. это ).
источник