Product SiteDocumentation Site

Глава 7. Решение проблем и поиск необходимой информации

7.1. Источники документации
7.1.1. Страницы руководств
7.1.2. Документы info
7.1.3. Специфическая документация
7.1.4. Интернет-ресурсы
7.1.5. Практические руководства (HOWTO)
7.2. Общие процедуры
7.2.1. Настраиваем программу
7.2.2. Наблюдение за работой демонов
7.2.3. Поиск помощи в списках рассылки
7.2.4. Отчёт об ошибке в случае сложной проблемы
Наиболее важным навыком администратора является способность справляться с любой ситуацией, известной или неизвестной. В этой главе приведены несколько методов, которые, надеемся, позволят вам изолировать причину любой встретившейся вам проблемы и таким образом решить её.

7.1. Источники документации

Прежде чем вы сможете разобраться в сути проблемы, вы должны понять теоретическую роль каждой программы, вовлечённой в данную проблему. Лучший способ сделать это — обратиться к документации программы; но поскольку документации может быть достаточно много и она может быть распределена по различным источникам, то вам следует знать о тех местах, где её можно найти.

7.1.1. Страницы руководств

Страницы руководства, хотя и относительно лаконичные по стилю, содержат много важной информации. Мы быстро пройдемся по команде для их просмотра, предоставляемой пакетом man-db. Просто наберите man manual-page — страница руководства обычно имеет то же имя, что и команда, документация по которой запрашивается. Например, чтобы узнать о возможных вариантах команды cp наберите команду man cp в терминале (см. врезку К ОСНОВАМ Оболочка, командный интерпретатор).
Страницы руководства документируют не только команды и программы, доступные из командной строки, но также файлы конфигурации, системные вызовы, библиотечные функции и т. д. Иногда имена могут противоречить. Например, команда оболочки read совпадает по имени с системным вызовом read. По этой причине страницы руководств организованы в виде пронумерованных секций:
1
команды, выполняемые из командной строки;
2
системные вызовы (функции, предоставляемые ядром);
3
библиотечные функции (предоставляемые системными библиотеками);
4
устройства (в Unix-подобных системах они являются специальными файлами и обычно находятся в каталоге /dev/);
5
конфигурационные файлы (форматы и соглашения);
6
игры;
7
наборы макросов и стандарты;
8
команды администрирования системы;
9
процедуры ядра.
Вы можете указать необходимую секцию руководства: для чтения документации по системному вызову read вам следует набрать команду man 2 read. В том случае, когда секция явно не указана, страница руководства будет отображена из первой найденной секции, содержащей запрошенное имя. Поэтому man shadow выводит shadow(5), так как страницы руководства для shadow отсутствуют в секциях с 1 по 4.
Разумеется, если вам не известны имена команд, то от руководства будет мало пользы. В этом случае поможет команда apropos, которая выполняет поиск в страницах руководств, точнее, в их секциях коротких описаний. Каждая страница руководства начинается с однострочного описания. apropos выводит список тех страниц руководств, что содержат запрашиваемые ключевые слова в коротком описании. В случае правильного выбора ключевых слов вы найдёте необходимые вам команды.

Пример 7.1. Поиск cp с помощью apropos

$ apropos "copy file"
cp (1)               - копировать файлы и каталоги
cp (1posix)          - копировать файлы
cpio (1)             - копировать файлы в архивы и из них
exec (1posix)        - выполнять команды и открывать, закрывать или копировать файловые дескрипторы
install (1)          - копировать файлы и устанавливать атрибуты
ntfscp (8)           - копировать файлы на NTFS том.
Команда man — это не единственный инструмент просмотра страниц руководств, поскольку khelpcenter и konqueror (в KDE) и yelp (в GNOME) предоставляют аналогичную возможность. Также существует веб-интерфейс, предоставляемый пакетом man2html, позволяющий вам просматривать страницы руководств в браузере. На компьютере, где установлен этот пакет, используйте этот URL-адрес, следуя инструкциям в: /usr/share/doc/man2html/README.Debian:
Для использования этой утилиты необходим браузер. Именно по этой причине вам следует выбрать установку данного пакета на одном из ваших серверов: все пользователи локальной сети будут в выигрыше при наличии подобной службы (включая пользователей не-Linux машин) и это позволит вам не устанавливать HTTP сервер на каждой рабочей станции. В случае когда ваш сервер доступен из других сетей, доступ к этой службе желательно ограничить только локальной сетью.
И последнее, но не менее важное: вы можете просмотреть все страницы руководства, доступные в Debian (даже те, которые не установлены на вашем компьютере) на manpages.debian.org. Этот сервис предлагает каждую страницу руководства в нескольких версиях, по одной для каждого выпуска Debian.

7.1.2. Документы info

В рамках проекта GNU подготовлены руководства для большинства программ проекта в формате info, поэтому страницы руководств ссылаются на соответствующую документацию info. У этого формата есть определённые преимущества, но стандартная программа для просмотра таких документов несколько сложна (она называется info). Как её замену, вам настоятельно советуется использовать pinfo из пакета pinfo.
info имеет иерархическую структуру, и если вы вызовите pinfo без параметров, то отобразится список узлов первого уровня. Обычно узлы носят имена соответствующих команд.
В pinfo удобно использовать клавиши управления курсором для перемещения между узлами. Альтернатива — использование графического браузера: konqueror, yelp, пакет info2wwwтакже предоставляет веб-интерфейс.
Следует отметить, info, в отличие от man, не подходит для перевода. Поэтому документы info почти всегда написаны на английском языке. Однако если вы попросите программу pinfo отобразить несуществующую страницу info, то она обратится к странице man с тем же самым именем (если такая существует), которая может быть переведена.

7.1.3. Специфическая документация

Каждый пакет содержит свою собственную документацию. Даже программы с минимумом документации содержат файл README, в котором присутствует интересная и/или важная информация. Эта документация устанавливается в каталог /usr/share/doc/package/ (где package является именем пакета). Если документация имеет значительный размер, то её могут исключить из основного пакета программы и поместить в отдельный пакет с именем package-doc. Основной пакет обычно рекомендует к установке пакет документации, поэтому вы можете легко его найти.
В каталоге /usr/share/doc/package/ находятся файлы, предоставляемые Debian, которые дополняют документацию и в которых детально указаны особенности или усовершенствования пакета в сравнении с обычной установкой данного программного обеспечения. Также в файле README.Debian перечислены все изменения, добавленные с целью соответствия Политике Debian. Файл changelog.Debian.gz позволяет пользователю проследить все модификации пакета в течение длительного времени: иногда бывает полезно понять, какие изменения произошли между двумя установленными версиями, в поведении которых существуют отличия. В заключение, иногда присутствует ещё и файл NEWS.Debian.gz, в котором указаны основные изменения в программе и которые могут быть интересны непосредственно администратору (см. Раздел 6.7.2, «Решение проблем после обновления»).

7.1.4. Интернет-ресурсы

Свободное программное обеспечение в большинстве случаев распространяется через сайты, которые также служат ещё и для объединения сообщества его разработчиков и пользователей. Подобные сайты зачастую содержат исчерпывающую информацию в различном виде: официальную документацию, FAQ (Frequently Asked Questions - Часто Задаваемые Вопросы), архивы списков рассылки и т. д. Проблемы, с которыми вы можете столкнуться, часто уже были предметом многих вопросов; В архивах часто задаваемых вопросов или списка рассылки может быть решение этой проблемы. Хорошее владение поисковыми системами окажется чрезвычайно полезным для быстрого поиска соответствующих страниц (путем ограничения поиска интернет-доменом или поддоменом, посвященным программе). Если поиск возвращает слишком много страниц или результаты не соответствуют тому, что вы ищете, вы можете добавить ключевое слово debian для ограничения результатов и более целенаправленного поиска.
Если вам неизвестен адрес интернет-страницы программы, то существуют несколько способов узнать его. Во-первых, проверьте поле Homepage в метаинформации пакета (apt show package). Ссылка на официальный сайт программы может содержаться также и в описании пакета. В том случае, когда URL не указан, загляните в /usr/share/doc/package/copyright. Сопровождающий пакета Debian обычно указывает в этом файле адрес источника, из которого он взял исходный код программы, и скорее всего он будет именно тем ресурсом, который вы ищете. Даже если на этом этапе ваш поиск не увенчался успехом, то вы можете проверить такой каталог свободного программного обеспечения как FSF's Free Software Directory, либо воспользоваться поисковыми системами вроде Google, DuckDuckGo, Yahoo и т. д.
Вы также можете заглянуть в Debian wiki — ресурс, предназначенный для совместной работы, на котором любой пользователь, даже обычный посетитель, может внести предложение непосредственно из своего браузера. Этот ресурс используется в равной мере как разработчиками для проектирования и документации своих проектов, так и пользователями, которые делятся своими знаниями и совместно работают над документацией.

7.1.5. Практические руководства (HOWTO)

Практическое руководство HOWTO — это документ, в котором в конкретных терминах и шаг за шагом описываются действия для достижения определённой цели. Рассматриваемые цели относительно разнообразны, но часто носят технический характер: например, настройка IP-маскарадинга, настройка программного RAID, установка сервера Samba и т. д. В этих документах часто пытаются охватить все потенциальные проблемы, которые могут возникнуть при использовании данной технологии.
Много руководств размещено на сайте Проекта Документации Linux (LDP), который управляет этими документами:
Debian также предоставляет учебные пособия для своих пользователей:
Вам следует скептически относиться ко всем этим документам. Зачастую они были подготовлены несколько лет назад и поэтому могут содержать устаревшую информацию. Это явление ещё более часто встречается в их переводах, поскольку обновления не являются ни систематическими, ни мгновенными после публикации новой версии оригинальных документов. Кроме того, в настоящее время многие обучающие материалы предоставляются блоггерами, делящимися с заинтересованным читателем своим индивидуальным решением. Им часто не хватает важной информации, например, причины, по которой одна конфигурация была выбрана вместо другой или почему какая-то опция была включена или отключена. Поскольку ведение блогов и создание личных веб-сайтов облегчили обмен информацией, многие из этих зачастую коротких руководств существуют, но лишь некоторые из них активно поддерживаются и поддерживаются в хорошем состоянии. Это может затруднить поиск «подходящего» для вас варианта. Все это следствие работы в волонтерской среде и без ограничений…