- Зачем нужен man-db.service в Ubuntu
- Manpages
- НАЗВАНИЕ
- СИНТАКСИС
- ОПИСАНИЕ
- КЭШИ БАЗЫ ДАННЫХ
- ПАРАМЕТРЫ
- КОД ВЫХОДА
- ДИАГНОСТИКА
- ФАЙЛЫ
- СМОТРИТЕ ТАКЖЕ
- Linux Certif
- Toute la documentation sur la certification Linux LPI
- Rechercher une page de manuel
- mandb
- Sommaire
- НАЗВАНИЕ
- СИНТАКСИС
- ОПИСАНИЕ
- КЭШИ БАЗЫ ДАННЫХ
- КОД ВЫХОДА
- ДИАГНОСТИКА
- ФАЙЛЫ
- СМОТРИТЕ ТАКЖЕ
- НАЗВАНИЕ¶
- ОПИСАНИЕ¶
- ПРИМЕРЫ¶
- ОБЗОР¶
- ЗНАЧЕНИЯ ПО УМОЛЧАНИЮ¶
- ПАРАМЕТРЫ¶
- Общие параметры¶
- Основные режимы работы¶
- Поиск справочных страниц¶
- Контролирование форматированного вывода¶
- Выдача справки¶
- КОД ВЫХОДА¶
- ОКРУЖЕНИЕ¶
- ФАЙЛЫ¶
- СМОТРИТЕ ТАКЖЕ¶
- ИСТОРИЯ¶
Зачем нужен man-db.service в Ubuntu
Обнаружил такой systemd сервис: man-db.service. Вызывается он раз в день с помощью таймера man-db.timer. Смотрю описание:
Никак не могу понять, а зачем нужна эта самая регенерация базы? В моем понимании есть набор man-страниц. Есть индекс по ним. Если я не добавляю новые страницы или не удаляю существующие с помощью установки пакетов через apt-get , то как-то регенерировать индекс особого смысла нет, т.к. данные не поменялись, а, следовательно, и индекс не поменяется.
Подскажите пожалуйста, зачем такое может потребоваться?
Ну а вдруг вы установили что-то вне менеджера пакетов?
Systemd многое может, да, но не греть котлы в аду.
Каким боком тут systemd? Это убунтовские приколы. В Fedora такого нет.
На мой взгляд сомнительный аргумент: если я установил что-то мимо менеджера пакетов — то я сам себе злой буратино и должен сам перегенерить базу man pages.
В твоей системе есть пакеты. Пакет в Linux — это набор разного говна, в т.ч. man-файлов. Это обычные текстовык файлы, которые разбросаны где ни попадя. Чтобы производить быстрый поиск по этим файлам, их содержимое нужно проиндексировать (засунуть в какую-то базу, где хранятся упорядоченные данные):
index.db — это файлы с данными для Berkley DB. Почему она используется в душе не апу
Что там лежит поможет узнать Python:
Судя по всему, man-db.service нужен для генерации краткой справки по командам:
man файлы, кстати, могут быть и к питоновским пакетам. да и сама та же бубунта, а убунта, как я напомню, несомненно говно, позволяет кроме apt использовать snap и flatpak (что если не признак дурного тона, то как минимум признание в копрофилии) для установки всякого кала, многие же додики еще по виндовой привычке .deb файлы качают и «ставят». так что системе доподлиноо неизвестно появились ли новые man файлы или нет, да и как выяснилось этот сервис нужен только для утилиты whatis, которая и идет с пакетом man-db:
Спасибо за подробное исследование!
То, что для man-страниц нужен некоторый индекс, по которому можно искать не перечитывая все текстовые файлы — это понятно и логично. Меня смущает именно периодическая перегенерация этого индекса, как-будто он автоудаляется через некоторое время, как, какие-нибудь сообщения в телеге.
Получается я могу безболезненно этот таймер отключить и не думать о нем больше: при установке пакетов через dpkg будут вызваны триггеры для man-db которые перегенерируют все что надо один раз, а периодическая перегенерация — это пустая трата процессорного времени.
А разве в федоре man-db? Оно вроде только в Debian и производных.
так ставь арч. в гнем вообще по-дефолту ничего нет. я этот man-db.timer сто лет назад еще вручную ставил и включал
арч — тема, да, но я хочу чуть более мейнстримный и стабильный дистриб на рабочем компьютере
сто лет назад еще вручную ставил и включал
а зачем тебе потребовалась перегенерация man-db раз в день?
чтобы когда ты whatis вызываешь не ждать пока мановские файлы будут декодированы (они хранятся в формате gz) и распарсены, что бы в памяти построить какую-то структуру для удобной работы с ней.
Как видим эти файлы тоже имеют свой формат.
экономия процессороного времени в ущерб месту на диске
Источник
Manpages
НАЗВАНИЕ
mandb — создаёт или обновляет кэши index справочных страниц
СИНТАКСИС
ОПИСАНИЕ
mandb используется для инициализации или ручного обновления кэшей базы данных index. В кэшах содержится информация о текущем состоянии системы справочных страниц, а хранящаяся в них информация используется утилитами man-db для повышения скорости работы и функциональности.
При создании или обновлении index, mandb предупреждает о неверных запросах ROFF .so, фиктивных именах файлов справочных страниц и справочных страницах, которые не удалось проанализировать с помощью whatis.
Указываемые при запуске mandb необязательные пути (через двоеточие) заменят внутренний путь поиска иерархии системных справочных страниц, определённый из файла настроек man-db.
КЭШИ БАЗЫ ДАННЫХ
mandb может быть собрана с поддержкой одного из следующих типов баз данных:
Типы баз данных, которые поддерживают асинхронные обновления, предоставляют лучшее отношение скорости к возможности повреждения в случае неожиданного прерывания работы. Если это происходит, может потребоваться перезапустить mandb с параметром -c, чтобы пересоздать базы данных с нуля.
ПАРАМЕТРЫ
Показывать отладочную информацию.
Не выдавать предупреждения.
Не тратить время на поиск или добавление информации в базы данных по stray cats.
Не тратить время на проверку удалённых справочных страниц или их вычистку из баз данных.
По умолчанию, mandb пытается обновить любые ранее созданные базы данных. Если база данных не существует, то она будет создана. Этот параметр заставляет mandb удалить имеющиеся базы данных и пересоздать их с нуля, и заключает в себе —no-purge. Это может быть необходимо при повреждении базы данных, или если в будущем будет использоваться новая схема хранения базы данных.
Создать только пользовательские базы данных, даже имея права на запись, необходимые для создания системных баз данных.
Выполнить проверку на правильность справочных страниц в иерархическом пути поиска. При указании этого параметра mandb не изменяет существующие базы данных.
Обновить записи только для заданного файла. Этот параметр не для повседневного использования; он используется для служебных целей man, когда она собрана с параметром MAN_DB_UPDATES и обнаруживает, что страница устарела. Это подразумевает -p и выключает -c и -s.
Использовать указанный пользовательский файл настройки вместо значения по умолчанию
Показать это справочное сообщение и закончить работу.
Показать короткое сообщение об использовании и завершить работу.
Показать версию и закончить работу.
КОД ВЫХОДА
Успешное выполнение программы.
Ошибка при использовании, в синтаксисе или файле настроек.
Ошибка при работе.
Работа процесса-потомка завершилась неудачно.
ДИАГНОСТИКА
Во время создания базы данных могут появляться следующие предупреждения.
: ошибка анализа страниц(ы) программой whatis
Программа whatis пыталась извлечь строки из указанного , но это не удалось. Обычно, эта ошибка возникает, если справочная страница плохо написана, а если таких сообщений возникает много, то, скорее всего, в системе содержатся нестандартные справочные страницы, несовместимые с анализатором man-db whatis. Более подробное описание смотрите в разделе ЧТО АНАЛИЗИРУЕТСЯ на странице lexgrog(1).
: повисшая символическая ссылка
не существует, но на него ссылаются по символической ссылке. При дальнейшей диагностике, обычно, появятся сообщения, указывающие на с неправильной ссылкой.
: неверная символическая ссылка или ROFF ’.so’ запрос
, или указывает на символическую ссылку, или содержит ROFF include запрос на несуществующий файл.
: игнорируется фиктивное имя файла
может (или не может) быть допустимой справочной страницей, но это имя неправильно. Обычно, это происходит со справочными страницами, имеющими раздельческое расширение , но лежащими в разделе .
Шаблон не является уникальным. Обычно, это происходит из-за существования одновременно сжатой и несжатой версии одной и той же справочной страницы. Все страницы кроме самой новой игнорируются.
ФАЙЛЫ
Файл настройки man-db.
Соответствующий FHS глобальный кэш базы данных index.
Места, где кэш базы данных находился ранее:
/usr/man/index.(bt|db|dir|pag)
Традиционный кэш глобальной базы данных index.
Альтернативный или соответствующий FSSTND, глобальный кэш базы данных index.
СМОТРИТЕ ТАКЖЕ
Прежде в этой странице был раздел ЧТО АНАЛИЗИРУЕТСЯ, но теперь он перенесён в lexgrog(1).
Источник
Linux Certif
Toute la documentation sur la certification Linux LPI
Rechercher une page de manuel
mandb
Version: 2009-03-14 (debian — 07/07/09)
Section: 8 (Commandes administrateur)
Sommaire
НАЗВАНИЕ
СИНТАКСИС
ОПИСАНИЕ
При создании или обновлении index, mandb предупреждает о неверных запросах ROFF .so, фиктивных именах файлов справочных страниц и справочных страницах, которые не удалось проанализировать с помощью whatis.
Указываемые при запуске mandb необязательные пути (через двоеточие) заменят внутренний путь поиска иерархии системных справочных страниц, определённый из файла настроек man-db.
КЭШИ БАЗЫ ДАННЫХ
mandb может быть собрана с поддержкой одного из следующих типов баз данных:
Название | Тип | Асинхронность | Имя файла | |||||||||||||||||||||||||||||||||||||||||||||||
Berkeley db | двоичное дерево | да | index.bt | |||||||||||||||||||||||||||||||||||||||||||||||
GNU gdbm v >= 1.6 | хэш | да | index.db | |||||||||||||||||||||||||||||||||||||||||||||||
GNU gdbm v -d, —debug Показывать отладочную информацию. -q, —quiet Не выдавать предупреждения. -s, —no-straycats Не тратить время на поиск или добавление информации в базы данных по stray cats. -p, —no-purge Не тратить время на проверку удалённых справочных страниц или их вычистку из баз данных. -c, —create По умолчанию, mandb пытается обновить любые ранее созданные базы данных. Если база данных не существует, то она будет создана. Этот параметр заставляет mandb удалить имеющиеся базы данных и пересоздать их с нуля, и заключает в себе —no-purge. Это может быть необходимо при повреждении базы данных, или если в будущем будет использоваться новая схема хранения базы данных. -u, —user-db Создать только пользовательские базы данных, даже имея права на запись, необходимые для создания системных баз данных. -t, —test Выполнить проверку на правильность справочных страниц в иерархическом пути поиска. При указании этого параметра mandb не изменяет существующие базы данных. -f, —filename Обновить записи только для заданного файла. Этот параметр не для повседневного использования; он используется для служебных целей man, когда она собрана с параметром MAN_DB_UPDATES и обнаруживает, что страница устарела. Это подразумевает -p и выключает -c и -s. -C файл, —config-file=файл Использовать указанный пользовательский файл настройки вместо значения по умолчанию /.manpath. -h, —help Показать это справочное сообщение и закончить работу. -V, —version Показать версию и закончить работу. КОД ВЫХОДАДИАГНОСТИКАФАЙЛЫМеста, где кэш базы данных находился ранее: /usr/man/index.(bt|db|dir|pag) Традиционный кэш глобальной базы данных index. /var/catman/index.(bt|db|dir|pag) Альтернативный или соответствующий FSSTND, глобальный кэш базы данных index. СМОТРИТЕ ТАКЖЕПрежде в этой странице был раздел ЧТО АНАЛИЗИРУЕТСЯ, но теперь он перенесён в lexgrog(1). Источник НАЗВАНИЕ¶ОПИСАНИЕ¶В таблице ниже показаны номера справочных разделов и описание их содержимого.
Справочная страница состоит из нескольких разделов. Стандартные имена разделов: НАЗВАНИЕ (NAME), СИНТАКСИС (SYNOPSIS), НАСТРОЙКИ (CONFIGURATION), ОПИСАНИЕ (DESCRIPTION), ПАРАМЕТРЫ (OPTIONS), КОД ВЫХОДА (EXIT STATUS), ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ (RETURN VALUE), ОШИБКИ (ERRORS), ОКРУЖЕНИЕ (ENVIRONMENT), ФАЙЛЫ (FILES), ВЕРСИИ (VERSIONS), СОГЛАСУЕТСЯ С (CONFORMING TO), ЗАМЕЧАНИЯ (NOTES), ОШИБКИ (BUGS), ПРИМЕР (EXAMPLE), АВТОРЫ (AUTHORS) и СМОТРИТЕ ТАКЖЕ (SEE ALSO). В разделе СИНТАКСИС используются следующие соглашения (которые также могут быть использованы в качестве основы для других разделов).
Точная отрисовка может отличаться на разных устройствах вывода. Например, man, обычно, не способна вывести курсив в терминале, и вместо него выведет текст подчёркнутым или цветным. При объяснении команды или функции должен применяться шаблон, который точно описывает все возможные варианты вызова. В некоторых случаях рекомендуется показать несколько уникальных вызовов, как показано в разделе СИНТАКСИС этой справочной страницы. ПРИМЕРЫ¶ОБЗОР¶В работе man могут использоваться различные переменные окружения. Возможно задать любые параметры во ‘всеобъемлющей’ переменной $MANOPT, экранируя пробельные символы в значениях (с помощью обратной косой черты). man разбирает $MANOPT перед началом анализа параметров, переданных при вызове в командной строке. Все значения параметров, указанные в командной строке, заменят значения своих аналогов из переменной окружения. Для сброса всех параметров, установленных с помощью $MANOPT, можно указать параметр -D в начале командной строки. Это позволит man ‘забыть’ о значениях, указанных в $MANOPT, хотя они всё равно должны быть заданы правильно. Утилиты пейджера справочных страниц из пакета man-db широко используют кэши базы данных index. Эти кэши содержат информацию о расположении справочной страницы в файловой системе и какие данные whatis (короткое однострочное описание справочной страницы) она содержит, а также позволяют man работать быстрее, чем если бы каждый раз осуществлялся поиск по файловой системе для нахождения определённой справочной страницы. Если при запросе страницы указан параметр -u, то man проверит целостность кэшей, и в случае проблем может потребоваться ручной запуск программы по обновлению обычных текстовых баз данных whatis. Если man не может найти mandb для первоначального создания базы данных index под определённую иерархию справочных страниц, то она попытается выполнить поиск запрашиваемых справочных страниц, хотя для этого потребуются универсальные имена файлов для поиска внутри иерархии. Если whatis или apropos не удастся найти index, то они попробуют извлечь информацию из традиционной текстовой базы данных whatis. Утилиты пакета могут работать с сжатыми исходными файлами в формате nroff, имеющими расширения по умолчанию .Z, .z и .gz. Возможна работа с любыми расширениями, указывающими на сжатие, но эта информация задаётся на этапе компиляции. Также по умолчанию, любые создаваемые cat страницы сжимаются с помощью gzip. Каждой ‘глобальной’ иерархии справочных страниц, типа /usr/share/man или /usr/X11R6/man, может быть сопоставлен любой каталог для иерархии cat страниц. Обычно, cat страницы хранятся в той же иерархии что и справочные страницы, но по причинам, указанным в File Hierarchy Standard (FHS), может оказаться лучшим хранить их в другом месте. Подробней о том, как это сделать, читайте в manpath(5). Подробней о том, почему так делается, читайте стандарт. Пакетом обеспечивается поддержка разных языков. Справочные страницы на родном языке доступны (если, они есть в системе) с помощью функций локализации. Чтобы включить поддержку, необходимо присвоить переменной $LC_MESSAGES, $LANG или другой переменной окружения (зависит от системы) значение локали вашего языка, обычно задаваемое в формате, основанном на POSIX 1003.1: Если запрашиваемая страница доступна для вашей локали, то она будет показана вместо стандартной (обычно, на американском английском) страницы. Также в этом пакете есть переводы интерфейса на разные языки, которые могут быть включены тем же путём. Если вы обнаружили, что для вашего языка нет справочных страниц или не переведён интерфейс и вы хотите сделать это, то свяжитесь с сопровождающим, который скоординирует данную работу. О других возможностях и расширениях, доступных в этом пейджере справочных страниц, читайте в описаниях из этого пакета. ЗНАЧЕНИЯ ПО УМОЛЧАНИЮ¶После обнаружения справочной страницы выполняется проверка, существует ли уже отформатированный для неё `cat’ файл и что он новее, чем найденный nroff файл. Если уже отформатированный файл существует, он (обычно) расжимается и показывается с помощью пейджера. Нужную программу пейджер можно задать различными способами или используется значение по умолчанию (подробней смотрите в описании параметра -P). Если cat страница не найдена или старее, чем nroff файл, то nroff файл пропускается через различные программы и сразу же показывается. Если есть возможность создать cat файл (существует соответствующий cat каталог и достаточно прав), то man сжимает и сохраняет cat файл в фоновом режиме. Фильтры можно указывать разными способами. Во-первых, обрабатывается значение параметра -p или переменная окружения $MANROFFSEQ. Если -p не указывалась и переменная окружения не установлена, то в поисках строки препроцессора анализируется первая строка nroff файла. Чтобы указывать строку препроцессора правильно, первая строка должна быть в формате где строка может содержать комбинацию букв, описанных в параметре -p ниже. Если информация о фильтре нигде не указана, то используется набор по умолчанию. Конвейер форматирования создаётся из фильтров и основной программы форматирования (nroff или [tg]roff с параметром -t) и выполняется. Или же, если существует исполняемая программа mandb_nfmt (или mandb_tfmt с параметром -t) в корне дерева справочных страниц, то выполняется именно она. Она получает файл с исходным текстом справочной страницы, строку препроцессора, и, необязательно, устройство, указанное в параметре -T или -E. ПАРАМЕТРЫ¶Общие параметры¶/.manpath. -d, —debug Показывать отладочную информацию. -D, —default Этот параметр обычно вводится самым первым, и указывает man активировать поведение по умолчанию. Он используется для сброса параметров, которые могли быть установлены через переменную окружения $MANOPT. Любые параметры, указанные после -D, будут действовать как обычно. —warnings[=предупреждения] Включить предупреждения от groff. Это может быть использовано для проверки тривиальных ошибок в исходном тексте справочных страниц. Предупреждения представляют собой список названий предупреждений через запятую; если он не указан, то по умолчанию используется значение «mac». Полный список доступных предупреждений можно найти в info groff, раздел “Предупреждения”. Основные режимы работы¶Поиск справочных страниц¶В значении система может указать несколько имён операционных систем через запятую. Чтобы включить поиск по справочным страницам родной операционной системы, добавьте системное имя man в это значение. Этот параметр заменяет значение переменной окружения $SYSTEM. Задаваемый в качестве manpath путь должен быть корнем иерархии справочных страниц, разделённой на разделы, описанных в справочной странице по man-db (в разделе «Система справочных страниц»). Для просмотра справочных страниц вне этих иерархий, используйте параметр -l. -S список, -s список, —sections=список В списке перечисляются справочные разделы для поиска ‘в указанном порядке’ (через запятую или двоеточие). Этот параметр заменяет значение переменной окружения $MANSECT. (Параметр -s введён для совместимости с System V.) -e доп.расширение, —extension=доп.расширение Некоторые системы включают большое число пакетов справочных страниц, например таких, которые поставляются с пакетом Tcl, в главную иерархию справочных страниц. Для решения проблемы появления двух справочных страниц с одинаковым именем, например, exit(3), все страницы Tcl, обычно, помещаются в раздел l. Но для страниц такого типа уже определён правильный раздел (3). Теперь возможно помещать страницы в правильный раздел, и назначать им специальное ‘расширение’, в данном случае, exit(3tcl). Обычно, man показывает exit(3), а не exit(3tcl). Чтобы преодолеть это и не запоминать в каком разделе лежит определённая страница, теперь возможно передать man строку доп.расширения, указывающую какому пакету должна принадлежать страница. Возвращаясь к примеру выше, укажите параметр -e tcl для man, чтобы ограничить поиск только страницами с расширением *tcl. -i, —ignore-case Игнорировать регистр при поиске справочных страниц. Включено по умолчанию. -I, —match-case Искать справочные страницы с учётом регистра символов. —regex Показывает все страницы, у которых какая-то часть в имени или в описании совпадает с параметром страница, заданным в виде регулярного выражения, также как apropos(1). Так как, обычно, нет разумного способа определить «лучшую» страницу при поиске по регулярному выражению, то этот параметр подразумевает -a. —wildcard Показывает все страницы, у которых какая-то часть в имени или в описании совпадает с параметром страница, заданным в виде групповых символов, также как в apropos(1) —wildcard. Значение страница должно полностью совпадать с именем или описанием, или совпадать по границе слов в описании. Так как, обычно, нет разумного способа определить «лучшую» страницу при поиске по регулярному выражению, то этот параметр подразумевает -a. —names-only Если указан параметр —regex или —wildcard, то совпадения ищутся только в именах страниц, а не в описании страницы, как в whatis(1). Иначе, этого не происходит. -a, —all По умолчанию, man завершает работу после показа наиболее подходящей найденной справочной страницы. Этот параметр заставляет man показать все справочные страницы с именами, которые удовлетворяют критериям поиска. -u, —update Этот параметр заставляет man выполнять проверку целостности своих кэшей базы данных ‘на уровне inode’, чтобы убедиться, что они точно представляют данные из файловой системы. Это работает только, если man установлена с включённым setuid битом. —no-subpages По умолчанию, man пытается интерпретировать пары имён справочных страниц, указанных в командной строке, как единое имя справочной страницы, содержащее символ переноса или подчёркивания. Это поддерживает общую систему программ, которые имеют несколько подкоманд, позволяя для каждой из них предоставлять справочные страницы используя синтаксис, похожий на вызов самих подкоманд. Например: Чтобы выключить такое поведение, укажите параметр —no-subpages. Контролирование форматированного вывода¶Значением может быть просто имя команды или команды с параметрами, можно использовать экранирование интерпретатора команд (обратные слэши, одиночные кавычки или двойные кавычки). Нельзя объединять несколько команд каналами; если эту нужно, создайте сценарий-обёртку, который получает файл для показа в виде параметра или со стандартного ввода. -r приглашение, —prompt=приглашение Если в качестве пейджера используется новая версия less, то man будет пытаться установить ей формат приглашения и некоторые значимые параметры. По умолчанию приглашение выглядит как где имя это имя справочной страницы, раздел — раздел, в котором она была найдена и x — номер текущей строки. Приглашение устанавливается с помощью переменной окружения $LESS. Данное значение по умолчанию можно изменить с помощью параметра -r. Значение параметра может содержать текст $MAN_PN, вместо которого подставляется имя текущей справочной страницы и её название раздела, окружённое `(‘ и `)’. Строка, используемая для создания приглашения по умолчанию, могла бы выглядеть как \ Справочная\ страница\ \$MAN_PN\ ?ltстрока\ %lt?L/%L.: Здесь она разделена на три строки только для повышения читаемости. Описание её составных частей смотрите в справочной странице less(1). Строка приглашения сначала обрабатывается оболочкой командной строки. Все двойные кавычки, обратные кавычки и обратные косые черты в приглашении должны предваряться обратными косыми чертами для экранирования. Строка приглашения может заканчиваться экранированным $, за которым можно указать другие параметры less. По умолчанию, man указывает параметры -ix8. Переменная окружения $MANLESS, описанная ниже, может использоваться для назначения строки приглашения по умолчанию, если это не задано в командной строке. -7, —ascii При просмотре справочной страницы в изначальной кодировке ascii(7) на 7-битном терминале или эмуляторе терминала при использовании описания устройства latin1(7) с GNU nroff некоторые символы могут неправильно отображаться . Этот параметр позволяет справочным страницам в изначальной ascii отображаться в ascii, используя устройство latin1. Любой latin1 текст не будет транслироваться. Следующая таблица показывает выполняемые трансляции: некоторые её части могут отображаться правильно только при использовании GNU nroff устройства latin1(7).
Если колонка latin1 отображается правильно, то ваш терминал может быть настроен для отображения символов latin1 и этот параметр ненужен. Если колонки latin1 и ascii одинаковы, то вы читаете эту страницу с помощью данного параметра, или man не отформатировал страницу с помощью описания устройства latin1. Если колонка latin1 отсутствует или повреждена, то вам может потребоваться просматривать справочные страницы с помощью этого параметра. Этот параметр игнорируется при использовании параметров -t, -H, -T или -Z, и может быть бесполезен для nroff, если он не от GNU. -E кодировка, —encoding=кодировка Сгенерировать вывод в символьной кодировке, отличной от используемой по умолчанию. Кроме реальной символьной кодировки, типа UTF-8, для обратной совместимости в кодировке можно указывать устройство nroff, например, ascii, latin1 или utf8. —no-hyphenation, —nh Обычно, nroff автоматически разбивает текст при окончании строки даже на словах, у которых нет переносов, если это необходимо для размещения слов в строке для избежания лишних пробелов. Этот параметр отключает автоматический перенос; в результате перенос выполняется только для слов, в которых есть символы переноса. Если вы пишите справочную страницу и просто хотите отключить в nroff перенос в словах в неподходящем месте, не используйте этот параметр, а почитайте документацию к nroff; например, вы можете поместить «\%» внутрь слова в место возможного разрыва, или поместить «\%» в начало слова, что не даст его разорвать совсем. —no-justification, —nj Обычно, nroff автоматически выравнивает текст по обеим границам. Этот параметр выключает полное выравнивание, оставляя выравнивание по левому краю, получается так называемый текст «без выключки по правому краю». Если вы пишите справочную страницу и просто хотите отключить в nroff выравнивание в некоторых параграфах, не используйте этот параметр, а почитайте документацию к nroff; например, вы можете использовать запросы «.na», «.nf», «.fi», и «.ad» для временного отключения выравнивания и заполнения. -p строка, —preprocessor=строка Задать последовательность препроцессоров для запуска перед nroff или troff/groff. Не во всех системах имеется полный набор препроцессоров. Некоторые препроцессоры и буквы, используемые для их обозначения: eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r). Этот параметр заменяет значение переменной окружения $MANROFFSEQ. zsoelim запускается всегда в качестве первого очень быстрого препроцессора. -t, —troff Использовать groff -mandoc для форматирования справочной страницы и вывода в стандартный выходной поток. Этот параметр не требуется вместе с -H, -T или -Z. -T[устройство], —troff-device[=устройство] Этот параметр используется для замены вывода groff (или, возможно, troff) на более подходящий для устройства, отличного от используемого по умолчанию. Подразумевается -t. Примеры (предоставляются с Groff-1.17) включают dvi, latin1, ps, utf8, X75 и X100. -H[браузер], —html[=браузер] Этот параметр заставляет groff создавать HTML -страницу, и отображать её в веб-браузере. Выбор браузера определяется необязательным значением браузер, переменной окружения $BROWSER, или, если ничего не указано, значением по умолчанию, установленным при компиляции программы (обычно lynx). Этот параметр предполагает -t, и работает только с GNU troff. -X[dpi], —gxditview[=dpi] С этим параметром вывод groff осуществляет в графическое окно с помощью программы gxditview. Значениями dpi (точек на дюйм) могут быть 75, 75-12, 100 или 100-12; по умолчанию 75; в вариантах с -12 в конце используется базовый шрифт в 12 точек. Этот параметр подразумевает -T со значениями устройств X75, X75-12, X100 и X100-12 соответственно. -Z, —ditroff groff запустит troff, а затем использует соответствующий постпроцессор для создания результата, подходящего для выбранного устройства. Если groff -mandoc совпадает с groff, то данный параметр передаётся groff и использование постпроцессора отменяется. Подразумевает -t. Выдача справки¶КОД ВЫХОДА¶ОКРУЖЕНИЕ¶Значением может быть просто имя команды или команды с параметрами, можно использовать экранирование интерпретатора команд (обратные слэши, одиночные кавычки или двойные кавычки). Нельзя объединять несколько команд каналами; если эту нужно, создайте сценарий-обёртку, который получает файл для показа в виде параметра или со стандартного ввода. MANLESS Если установлена переменная окружения $MANLESS, то её значение будет использоваться по умолчанию как строка приглашения для пейджера less, как если бы был указан параметр -r (так что любые появления текста $MAN_PN будут как-то раскрыты). Например, если вы хотите установить строку приглашения дословно в “my prompt string”, то установите $MANLESS равной ‘-Psmy prompt string’. Указанное значение параметра -r замещает значение переменной окружения. BROWSER Если установлена переменная окружения $BROWSER, то её значение представляет собой список команд, разделяемых двоеточием; каждая из них используется для попытки запуска веб-браузера для man —html. В каждой команде %s заменяется именем файла, содержащим HTML результат от groff, %% заменяется одним знаком процента (%), а %c заменяется двоеточием (:). SYSTEM Установка значения переменной окружения $SYSTEM равносильна указанию параметра -m. MANOPT Если установлена переменная окружения $MANOPT, то она анализируется раньше командной строки man и должна задаваться в том же формате. Значения всех специальных переменных окружения man могут быть заданы в параметрах командной строки, а включение в $MANOPT показывает, что данный параметр скоро устареет. Обратите особое внимание на то, что все пробелы, которые должны быть частью значения параметра, нужно экранировать. MANWIDTH Если установлена переменная окружения $MANWIDTH, то её значение используется в качестве длины строки форматируемых справочных страниц. Если она не установлена, то справочные страницы будут отформатированы по длине строки текущего терминала (используется значение переменной $COLUMNS, вызов ioctl(2), если он доступен или 80 символов, если ничего недоступно). Cat страницы будут сохраняться на диск только, если может быть использовано форматирование по умолчанию, то есть когда длина строки терминала лежит в промежутке между 66 и 80 символами. MAN_KEEP_FORMATTING Обычно, если вывод не направляется на терминал (например, в файл или канал), символы форматирования отбрасываются для облегчения чтения результата не имея специальных инструментов. Однако, если переменная окружения $MAN_KEEP_FORMATTING установлена в непустое значение, то символы форматирования остаются. Это может быть полезно для оболочек вокруг man, которые распознают символы форматирования. MAN_KEEP_STDERR Обычно, если вывод направляется на терминал (например, в пейджер), все ошибки вывода команды, используемой для создания форматированного варианта справочной страницы, отбрасываются во избежании порчи отображаемого текста. Программы типа groff часто выводят относительно безобидные сообщения об ошибках, например о печатных проблемах плохого выравнивания вперемешку с информацией справочной страницы. Однако, некоторые пользователи всё равно хотели бы их видеть, и поэтому, если установить переменную окружения $MAN_KEEP_STDERR в непустое значение, вывод ошибок будет производиться как обычно. LANG, LC_MESSAGES В зависимости от системы и реализации, одна или обе переменные $LANG и $LC_MESSAGES будут просмотрены для определения текущей локали сообщений. man будет отображать свои сообщения в этой локали (если они для неё есть). Подробней смотрите в setlocale(3). ФАЙЛЫ¶СМОТРИТЕ ТАКЖЕ¶ИСТОРИЯ¶23 декабря 1992: Рик Фейт (Rik Faith, faith@cs.unc.edu) исправил ошибки, найденные Виллемом Касдорпом (Willem Kasdorp, wkasdo@nikhefk.nikef.nl). 30 апреля 1994 – 23 февраля 2000: Вильф (Wilf., G.Wilford@ee.surrey.ac.uk) разрабатывал и сопровождал этот пакет с помощью некоторых других людей. 30 октября 1996 – 30 марта 2001: Фабрицио Полако (Fabrizio Polacco, сопровождал и улучшал этот пакет для проекта Debian с помощью всего сообщества. 31 марта 2001 – настоящие дни: Колин Уотсон (Colin Watson, занимается разработкой и сопровождением man-db. Источник |