Документация по ОС Linux
Last updated
Last updated
Справочные страницы онлайн-руководства (так называемые man-страницы, поскольку их можно просмотреть с помощью команды man) составляют традиционную “интерактивную” документацию (хотя, конечно, в настоящее время практически вся документация в той или иной мере является интерактивной). Эти материалы в основном инсталлируются вместе с системой, а справочной страницы отдельных программ — вместе с соответствующим пакетом.
Интерактивное руководство содержит краткое описание отдельных команд, драйверов, форматов файлов и библиотечных функций. В них не найти ответа на общие вопросы, например, “Как инсталлировать новое устройство?” или “Почему моя система работает так медленно?”. Для получения ответов на подобные вопросы обращайтесь к руководствам по администрированию систем соответствующих производителей или, если вопрос касается систем Linux, к документам, находящимся в ведении проекта Linux Documentation Project (LDP).
Во всех системах справочные страницы обычно делятся на разделы, при этом возможны небольшие вариации на тему принципов такого разделения. Основная схема разделения для различных систем показана ниже:
Некоторые разделы делятся на подразделы. Например, подраздел 3с руководства по Solaris содержит страницы с информацией о библиотеке стандартных С-функций системы. В некоторых системах раздел 8 остается пустым, а описание команд, относящихся к системному администрированию, как правило, содержится в разделе 1. Игры и демонстрационные программы во многих системах уже удалены из раздела 6. Раздел руководства под названием “l” (прописная буква от “L”) зачастую отводится для локальных справочных страниц.
Точная структура разделов не так уж важна, поскольку команда man находит соответствующую страницу в большинстве случаев. При этом в нескольких разделах может быть одно и то же имя, и вот тут важно указать нужный вам раздел. Например, passwd — это и команда, и файл конфигурации, поэтому соответствующие статьи есть как в разделе 1, так и разделе 4 или 5.
Команда man заголовок форматирует конкретную страницу интерактивного руководства и выводит ее на терминал пользователя посредством more, less или другой программы постраничной разбивки, которая задана в переменной среды PAGER. Аргумент заголовок — это, как правило, имя команды, устройства или файла, о которых необходимо получить справочную информацию. Поиск по разделам руководства осуществляется в порядке возрастания номеров, хотя разделы, посвященные описанию команд (1,8 и 6), обычно просматриваются в первую очередь.
Команда man раздел заголовок вызывает справочную страницу из указанного раздела. Так, в большинстве систем команда man sync вызывает справочную страницу для команды sync, а команда man 2 sync — для системного вызова sync.
В системе Solaris необходимо перед номером раздела использовать флаг -s, например man -s 2 sync.
Команда man -k ключевoe_слово или apropos ключевое_слово выводит список справочных страниц, в строке пояснений к которым имеется указанное ключевое слово.
man -k translate
objcopy (1) - copy and translate object files
dcgettext (3) - translate message
tr (1) - translate or delete characters
snmptranslate (1) - translate SNMP OID values into more useful information
tr (lp) - translate characters
База данных ключевых слов может устаревать. При добавлении новых справочных страниц к системе вам, возможно, придется перестроить (перекомпоновать) этот файл с помощью команд mandb (Ubuntu, SUSE), makewhatis (Red Hat) или catman -w (Solaris, HP-UX, AIX).
Неформатированная информация для справочных страниц (входные данные команды nroff) обычно хранится в подкаталогах каталога /usr/share/man. В целях экономии места на диске системы Linux сжимают страницы с помощью утилиты gzip (команда man может очень быстро разархивировать их). Команда man поддерживает кеш отформатированных страниц в каталогах /var/cache/man или /usr/share/man, если соответствующие каталоги доступны для записи, но эти операции рискованны с точки зрения безопасности. В большинстве систем предварительное форматирование справочных страниц выполняется однократно во время инсталляции (см. команду catman) или не выполняется совсем.
В дополнение к традиционной команде nroff система Solaris воспринимает справочные страницы, отформатированные с использованием обобщенного языка разметки SGML. SGML-страницы имеют собственные каталоги раздела в каталоге /usr/share/man.
Команда man ищет страницы в ряде каталогов. В Linux-системах выяснить путь поиска позволяет команда manpath. Результат ее работы (в системе Ubuntu) обычно таков.
ubuntu$ manpath
/usr/local/man:/usr/local/share/man:/usr/share/man
Эта установка хранится в переменной среды MANPATH, и в случае необходимости ее можно изменить.
export MANPATH=/home/share/localman:/usr/share/man
Некоторые системы позволяют установить общесистемный параметр пути поиска для справочных страниц, который может оказаться полезным в случае, если вам придется поддерживать параллельное дерево справочных страниц, например, сгенерированных кроссплатформенным менеджером пакетов OpenPKG. Но если вы хотите распространять локальную документацию в виде справочных страниц, проще всего использовать стандартный системный механизм пакетирования и выложить справочных страницы в стандартные справочные каталоги.
Системы Linux включают дополнительный вариант интерактивных справочных страниц, именуемый Texinfo. Система Texinfo была изобретена энтузиастами проекта GNU после того, как выяснилось, что команда nroff, применяемая для форматирования справочных страниц, является собственностью AT&T. Теперь то же самое делает GNU- команда groff, так что проблема утратила актуальность, хотя Texinfo все еще бродит как зомби в поисках человеческих мозгов.
Несмотря на то что использование системы Texinfo, казалось бы, постепенно сходит на нет, некоторые GNU-пакеты требуют, чтобы документация к ним была представлена именно в формате Texinfo. Чтобы обойти встроенную навигационную систему Texinfo, перенаправьте поток вывода команды info посредством команды less.
Но есть и приятный момент. Пакеты, документируемые с помощью системы Texinfo, обычно инсталлируют страницы-заглушки, в которых сообщается о том, что информацию о соответствующем пакете можно получить, вызвав команду info. Таким образом, можно продолжать пользоваться командой man, обращаясь к команде info лишь в случае необходимости. Команда info info выдает справку по запутанной системе Texinfo.
Справочные страницы — это лишь малая часть официальной документации. Остальная, в основном, рассеяна в веб-пространстве.
Одни производители систем ведут собственные онлайн-проекты по подготовке документации, другие выпускают полезные руководства в виде объемных книг. В настоящее время нужное руководство быстрее найти в Интернете, чем в форме печатного издания. Объем и качество документации бывают разными, но большинство производителей выпускает, по меньшей мере, руководство по администрированию и инсталляции системы. Где найти документацию по каждому из наших примеров систем, показано в табл. ниже.
Безусловно, нельзя не выделить компанию IBM, которая выпускает множество толстых книг по различным темам администрирования систем. Вы можете купить их или даже бесплатно скачать на свой компьютер. Но, к сожалению, многие документы от IBM отстают на одну или две версии от текущего выпуска AIX.
В “соревнованиях” по созданию документации система Red Hat, к сожалению, отстает от лидеров. Большая часть выпускаемых документов касается не общих вопросов администрирования Linux-систем, а собственных систем с дополнительными позитивными характеристиками.
Большинство важнейших программных пакетов в мире UNIX и Linux поддерживают отдельные лица или такие сторонние организации, как Internet Systems Consortium и Apache Software Foundation. Сотрудники этих групп пишут собственную документацию, качество которой часто оставляет желать лучшего. При этом существуют и такие прекрасно выполненные документы, как Version Control with Subversion от svnbook.red-bean.com (оказывается, надо знать, где искать!).
Производители систем UNIX и дистрибуторы систем Linux всегда включают в свои пакеты соответствующие справочные страницы. К сожалению, многие из них стараются сэкономить на документации другого типа, главным образом, ввиду отсутствия стандартного места для ее представления (см. /usr/share/doc). Всегда имеет смысл посетить веб-сайт первоисточника программного продукта и поинтересоваться наличием дополнительных материалов и доступа к ним.
В число дополнительных документов входят: технические отчеты (техническое описание), проектные обоснования и трактовки конкретных тем. Эти дополнительные материалы зачастую не ограничиваются простым описанием команд и могут включать самоучители и другие разделы. Многие программные пакеты, помимо справочных страниц, содержат и статьи по соответствующим темам. Например, после вызова справочной страницы для редактора vi вам будет предложено не только ознакомиться с аргументами командной строки, но и перейти к разделу, из которого вы узнаете, как в действительности отредактировать файл.
К самым лучшим источникам информации для системных администраторов в книжном мире, можно отнести серию книг Тима О’Рейли (Tim O’Reilly). Начало этой серии было положено более 20 лет назад книгой UNIX in a Nutshell Теперь же практически всем важным подсистемам UNIX и Linux (и даже командам) посвящены ее отдельные тома. Эта серия также включает книги по Интернету, Windows и другим темам, не связанным с UNIX. Все эти книги имеют приемлемую цену, своевременны и ориентированы на конкретную аудиторию.
Тим О’Рейли, заинтересовавшись движением, основанным на принципе открытого исходного кода, регулярно проводит конференции (OSCON) по этой и другим злободневным темам. Конференции OSCON проводятся дважды в год (по одной в США и Европе). Подробнее см. на сайте oreilly.com.
Документы из серии RFC (Request for Comments — запрос на комментарий) описывают протоколы и процедуры, используемые в Интернете. Большинство из этих документов достаточно детализированы и специализированы, но некоторые написаны в виде обзоров. Информации, которую они содержат, вполне можно доверять, и она во многом оказывается полезной для системных администраторов.
Для систем Linux существует и такой источник справочной информации, как проект Linux Documentation Project (LDP), доступный на веб-сайте tldp.org. Этот сайт представляет собой центральное хранилище разного рода информации, посвященной Linux: от FAQ (часто задаваемые вопросы) до объемных руководств. Здесь же концентрируются результаты усилий по переводу документации на различные языки.
К сожалению, многие LDP-документы практически не обновляются, поэтому быстро устаревают. Всегда обращайте внимание на дату публикации документа, так как по ней можно судить об актуальности информации.
Источники информации, рассмотренные в предыдущем разделе, можно охарактеризовать как самые надежные, но вряд ли это последнее слово в документации по UNIX и Linux. В Интернете же можно найти многочисленные блоги, дискуссионные форумы и новостные веб-каналы и получить с их помощью самую “свежую” информацию.
Как и следовало ожидать, система Google стала лучшим другом системного администратора. Именно к Google многие администраторы обращаются за консультацией, если вопрос не касается спецификации конкретной команды или формата файла (но и в этом случае Google обязательно поможет). Возьмите себе за правило (если не хотите впустую терять время и репутацию) при возникновении затруднений выносить свои вопросы на онлайн-форумы, ссылающиеся при ответах на Google.
Невозможно перечислить все полезные интернет-источники информации по Linux, поэтому будут упомянуты лишь важнейшие из них.
Можно порекомендовать еще один забавный и полезный ресурс. Это страница “Rosetta Stone” (розеттский камень) Брюса Гамильтона (Bruce Hamilton), доступная по адресу bhami.com/rosetta.html. Она содержит указатели на команды и утилиты, применяемые для решения основных административных задач в различных операционных системах.
Если вы работаете в Linux-системе, не стесняйтесь обращаться к UNIX-ресурсам общего назначения. Большая часть информации в них напрямую применима к Linux.