Система помощи в Debian Linux
Изучать операционную систему и применять полученные знания на практике, не заглядывая в документацию, невозможно. Операционные системы Linux/Unix отлично документированы. Можно найти ответ на любой вопрос; нужно только знать где искать: man-стрницы или руководства, info-страницы, файлы README, документация в HTML. При работе с Debian Linux важно уметь пользоваться всеми доступными руководствами. Именно пользоваться, а не заучивать их. Решение любой задачи должно начинаться с чтения руководств. Не нужно торопиться и жалеть на это время. У системных администраторов есть такое правило — RTFM, что дословно означает «Read Thet Fine Manual». RTFM — правило, согласно которому решение задачи надо ничинать с изучения документации.
Как правило страницы руководств (man) не предназначены для освоения программы новичками. Они создаются с целью документирования синтаксиса команд, описания параметров и ключей. Man-страницы интегрируются с программами, которым они принадлежат, причем версии этих страниц будут относиться именно к вашей системе.
Info-страницы содержат более подробную информацию. Включенные в них гиперссылки используются для перехода к различным узлам или главам документа, а так же для создания перекрестных ссылок на другие info-страницы. Иногда info-страницы представляют собой переформатированные man-страницы. Но, например в программах проекта GNU, info-страницы отличаются большей детализацией, в них может присутствовать учебный материал и подробные примеры.
Руководства (man, manpages)
У каждой программы, написанной для Linux имеется своя man-страница. С точки зрения Linux все man-страницы являются частью единого руководства, которое состоит из следующих разделов:
- 1. Исполняемые программы или команды оболочки (shell);
- 2. Системные функции (пользовательские функции ядра Linux; руководства рассчитаны на программиста, знающего язык Си);
- 3. Библиотечные функции (функции, принадлежащие всевозможным библиотекам подпрограмм; руководства рассчитаны на программиста, знающего язык Си);
- 4. Внешние устройства (обычно находящиеся в /dev) и работа с ними.
- 5. Форматы различных файлов системы (например,конфигурационных) и соглашения.
- 6. Игры и прочие вещи, не имеющие системной ценности.
- 7. Разное. Теоретические положения, договоренности и все, что не может быть классифицировано.
- 8. Команды системного администрирования.
- 9. Нестандартные функции ядра.
- n. Новая документация, которая позднее может быть перемещена
- l. Локальная документация, специфическая для вашей системы.
Каждая программа, утилита или функция представлена в этом руководстве отдельной страницей. Вызов её осуществляется командой man пробел имя программы:
$ man passwd
Некоторые man-страницы входят в несколько разделов. Тогда для того чтобы вызвать страницу из нужного раздела вводим следующее:
$ man 5 passwd
Где между man и именем программы указан раздел руководства. Для того, чтобы получить полный список разделов для интересующей man-страницы вводим:
$ man -f passwd
Внутри страниц руководства принято непосредственно после имени объекта ставить в круглых скобках номер раздела, в котором содержится руководство по этому объекту: man (1), less(1), passwd(5) и т. д.
Страница руководства занимает, как правило, больше одной страницы экрана. Для того чтобы читать было удобнее, man запускает программу постраничного просмотра текстов - less. Управлять программой less просто: страницы листаются пробелом, а для выхода надо нажать "q" (Quit). Перелистывать страницы можно и клавишами Page Up/Page Down, для сдвига на одну строку вперед можно применять Enter или стрелку вниз, а на одну строку назад - стрелку вверх. Переход на начало и конец текста выполняется по командам "g" и "G" соответственно (Go). Полный список того, что можно делать с текстом в less, выводится по команде "H" (Help). Ну а подробней о less:
$ man less
Каждая man-страница делится на секции. Чаще всего встречаются следующие секции: NAME, SYNOPSIS, DESCRIPTION, OPTIONS, FILES, EXAMPLES, SEE ALSO, BUGS и AUTHOR.
В поле NAME содержится краткое описание объекта (имя объекта). Описание синтаксиса команды находится в секции SYNOPSIS man-страницы и выглядит следующим образом:
имя_команды [необязательные ключи] обязательные_элементы
При описании ключей команды используются следующие обозначения:
жирный шрифт — вводится точно так, как показано;
курсив — обозначает аргумент, заменяемый конкретным значением. В зависимости от используемой программы просмотра вместо курсива может использоваться подчеркивание текста или жирный шрифт;
[-abc] — все ключи в квадратных скобках являются необязательными и их можно комбинировать друг с другом;
[-а|-Ь|-с] — ключи, разделенные символом «|» (вертикальная черта), не могут комбинироваться друг с другом;
аргумент... — многоточие означает, что в данной позиции допускается перечисление нескольких аргументов. Элементы списка обычно разделяются пробелами, но иногда вместо них используются запятые;
[выражение]... — многоточие означает, что в данной позиции допускается перечисление нескольких выражений.
Короткие ключи могут вводиться в двух форматах:
-abc или -а -b -с
Длинные ключи всегда перечисляются по отдельности и обозначаются двойными дефисами:
--option1 --option2 --option3
Длинные ключи особенно полезны в сценариях; их содержательные имена помогают вспомнить, что делает сценарий. Текст в поле DESCRIPTION - это развернутое описание объекта, достаточное для того, чтобы им воспользоваться. Если в процессе чтения NAME или DESCRIPTION вы понимаете, что не нашли в руководстве того, что искали, то можете посмотреть, а есть ли другие руководства или иные источники информации по той же теме. Список таких источников содержится в поле SEE ALSO.
Встает вопрос: как найти нужную программу для выполнения конкретной задачи? Для этого в Debian Linux есть несколько утилит, которые производят поиск в страницах руководств по ключевым словам. Следует помнить, что большая часть страниц руководств написана на английском языке. И следовательно, ключевые слова должны быть тоже английскими. Но часть руководств русифицирована и в некоторых случаях поиск на русском языке даст результат, но это скорее исключение, чем правило. Можно сначала попробовать провести поиск на русском языке, а если результат вас не удовлетворит, провести поиск по английским ключевым словам. Итак выполним:
$ man -k password
или
$ apropos passwd
или для сравнения
$ apropos пароль
Команды man -k и apropos идентичны и выполняют поиск по ключевым словам в полях NAME и DESCRIPTION страниц руководств. В результате получается список кратких описаний объектов в man-странице, которых встречаются искомые слова.
Ещё существует утилита whatis, которая выполняет поиск по ключевым словам в поле NAME man-страниц. В результате получается список кратких описаний объектов с именами, включающими искомое слово. В добавок ко всему, в выдаче команды whatis присутствует номер man-раздела. Например:
$ whatis passwd
Иногда, в результате вносимых изменения, база man-страниц по какой то причине выходит из строя. Например, искомая страница была перенесена. Допустим это страница cal. Выполним следующую команду:
$ whereis -m cal
$ cal: /usr/share/man/map1/cal.1.gz
вместо
$ cal: /usr/share/man/man1/cal.1.gz
в которой man-страница хранится по умолчанию. Попробуем прочитать руководство используя этот абсолютный путь:
$ man /usr/share/man/map1/cal.1.gz
Если не получится прочитать руководство таким образом, то можно попробовать заново построить базу данных man-страниц:
# mandb
К чему такие сложности, спросите вы. Мы не собираемся переносить файлы руководств. Ситуация следующая: не всем нравится читать руководства на английском и иногда системные администраторы скачивают из интернет русифицированные man-ы и заменяет ими английские или используют параллельно английские и русские руководства, сохраняя их в разных директориях. В конце концов у кого то может возникнуть желание написать своё руководство для своей же программы. Посмотреть где находятся руководства по умолчанию можно введя следующую команду:
$ manpath
Чтобы использовать man-страницы из не стандартных директорий надо настроить программу man на поиск этих страниц. Делается это следующим образом: редактируем файл /etc/manpath.config. Добавим каталог для русифицированных руководств. Пусть это будет /rus/man. Напишем соответствующую строку в /etc/manpath.config.
MANDATORY_MANPATH /usr/man
MANDATORY_MANPATH /usr/share/man
MANDATORY_MANPATH /usr/local/share/man
MANDATORY_MANPATH /rus/man
Если будут использоваться подкаталоги (например /rus/man и /rus/man/variant1), то в файле /etc/manpath.config записи для подкаталогов нужно разместить выше записей родительских каталогов. В противном случае программа просмотра страниц руководств их проигнорирует.
MANDATORY_MANPATH /rus/man/variant1
MANDATORY_MANPATH /rus/man
Не забудем создать в нашей директории поддиректории для man-разделов: man1, man2 ... man9. Создавать поддиректории для всех разделов не обязательно - достаточно создать поддиректории для тех руководств, которые там будут храниться.
О том, как создать свою страницу руководств, поговорим в одной из следующих статей.
INFO-страницы
Другим источником справочной информации являются info-страницы. В отличии от man-страниц, структурированных только логически, info-страницы имеют древовидную структуру. Т. е. Info-страницы с помощью ссылок друг на друга объединены в некое дерево документации. В каждом документе есть оглавление, из которого вы можете сразу перейти к нужному разделу или подразделу, откуда всегда можете вернуться обратно. Помимо этого info-страницы можно читать как непрерывный текст, т. к. в каждом подразделе есть ссылки на предыдущий и последующий разделы. Для получения информации по отдельному объекту набираем в командной строке:
$ info passwd
Вы можете освоить пользование info-страницами с помощью встроенной системы помощи. Вызывается она следующим образом: вводим в командной строке info нажмаем Enter, а затем «?» и опять Enter. Закрывается окно помощи клавишей «l».
Давайте введём команду info без параметров:
$ info
Мы попали в корневую точку дерева info-страниц. Мы видим меню подразделов корневого узла. Оно состоит из нескольких ссылок, отмеченных звёздочками. Выбрать подраздел можно подведя курсор в нужный пункт меню и нажав Enter или введя команду «m» с названием раздела.
Листать страницы можно клавишей Пробел или клавишами PageUp и PageDown. Переход по ссылкам осуществляется клавишей Tab. Перейти к просмотру выбранного узла можно клавишей Enter. Возврат к предыдущему просмотренному узлу осуществляется клавишей «p» (от Past), переход к следующему узлу - «n» (от Next), переход на один уровень вверх «u» (от Up), переход к последнему посещённому узлу «l» (от Last), выход из программы - «q» (от Quit). Как уже отмечалось выше — переход к определённому пункту меню осуществляется командой «m» (от Menu) с названием нужного пункта. Переход на верхний узел текущего файла info - «t» (от Top), запрос строки поиска и поиск всех узлов в текущем файле info по этой строке — «s» (от Search). Думаю, на первое время хватит. Если хотите узнать больше, то полное руководство по info размещено здесь.
Другие источники информации
Очень редко, бывает так, что объект не имеет документации ни в руководствах man, ни в info-страницах. В этом случае вся надежда на сопроводительную документацию.В первую очередь стоит проверить каталог /usr/share/doc/имя_объекта. В этот каталог копируется документация при установке программы или пакета. В этом же каталоге есть подкаталог HOWTO в нём содержится документация, публикуемая в рамках TLDP (Linux Documentation Project). По умолчанию устанавливаются англоязычные файлы HOWTO в формате ASCII. Они размещаются в каталоге /usr/share/doc/HOWTO/en-txt. Можно так же установить документацию HOWTO в формате html. Для этого нужно установить пакет doc-linux-html. На сайте TLDP существуют файлы HOWTO на русском языке. И хотя эти переводы сделаны достаточно давно, в них содержится некоторая фундаментальная информация, которая может помочь в решении конкретной.
Помните, что у нас вы можете не только купить готовый сайт или заказать его разработку, но и подобрать подходящий тариф поддержки сайта, заказать продвижение сайта в поисковых системах, а так же зарегистрировать домен в одной из двухсот доменных зон и выбрать недорогой тариф хостинга! Айтишник РУ
Об авторе:
Меня зовут Андрей Золкин. Из более, чем пятнадцати лет работы в сфере информационных технологий, десять лет работаю с системами, базирующимися на открытом исходном коде. На страницах сайта Aitishnik.Ru веду блоги по CMC Joomla и Debian GNU/Linux.
Ещё статьи о Debian
-
Как обновить Debian 6 Squeeze до Debian 7 Wheezy
Прошло более двух месяцев с момента выхода новой стабильной версии операционной системы Debian GNU/Linux – Debian 7 (Wheezy). За это время были исправлены ошибки и даже вышла новая версия – 7.1. А это значит, что теперь можно и...
Настройка SSH в Debian
Довольно часто, администрирование сервера на базе Linux происходит посредством удалённого доступа. А основным способом удалённого администрирования является администрирование с помощью SSH. Об этом и пойдёт речь в этой статье. Данная...
Установка Debian с usb накопителя
Эта статья является частью руководства «Установка Debian на сервер» и рассказывает о загрузке программы установки с usb накопителей. Под usb накопителями понимаются usb флеш карты, съёмные usb диски и кард ридеры с usb интерфейсом. Для написания статьи использовались две самые простые usb flash карты: SMI и Transcend объёмом 2 Гб каждая, а так же кард ридер с...
Установка Debian
Эта статья об установке операционной системы Debian GNU/Linux. Тема статьи достаточно обширна и это скорее тема для книги, нежели для статьи. Мне бы хотелось сделать статью «на вырост», т. е. со временем дополняя её ссылками на другие...
Настройка FTP сервера в Debian 5 (Lenny)
В этой статье я опишу настройку FTP сервера на базе Debian 5 (Lenny). Будем использовать vsftpd. VSFTPD (Very Secure FTP Daemon) — как следует из названия, очень защищённый демон FTP, с хорошей производительностью, поддерживаются: IPv6,...
SSH Подключение с использованием ключа хоста...
Теперь попробуем подключиться к нашему серверу, который выполняет и функцию ssh сервера, с настройками по умолчанию. Позже мы изменим настройки согласно нашим нуждам и требованиям безопасности. Для подключения по SSH нам нужны учётные...