2004 г.
Linux для пользователя
Виктор Костромин,
http://rus-linux.net/
Глава 3. Первый запуск ОС Linux
3.6. Помощь по работе с Linux
Вы завершили первый сеанс работы с операционной системой Linux, и, надеюсь, понимаете, что вам еще не раз потребуется подсказка в разных ситуациях. Надеюсь также, что настоящая книга сможет служить вам такой подсказкой на первых порах, но она наверняка не решит всех ваших проблем. Поэтому постараюсь сразу указать другие источники информации. При этом я несколько забегаю вперед, рассказывая о получении подсказки в графическом режиме работы, о котором еще ничего не было сказано. Но это оправдано, поскольку о способах выхода из затруднительных ситуаций лучше знать заранее.
3.6.1. Источники справочной информации
Если вы окажетесь в ситуации, когда не знаете, что предпринять или сделать для достижения желаемой цели, лучше всего начать искать подсказку в самой системе. Дистрибутив Red Hat Linux содержит тысячи страниц документации, представленной в электронном виде, так что ответы на все возникающие вопросы у вас, что называется, "на кончиках пальцев". Существует несколько независимых источников, которые содержат информацию почти по любому аспекту работы в системе Linux:
страницы интерактивного руководства man;
гипертекстовое руководство info;
документация, прилагаемая к пакетам ПО;
текстовые файлы HOWTO и FAQ проекта Linux Documentation Project;
команда locate.
Необходимо сразу сказать, что большую часть информации из этих источников вы будете получать на английском языке. Только для русифицированных дистрибутивов часть страниц интерактивного руководства man выдается на русском языке. Можно дополнительно скачать из Интернета имеющиеся там страницы руководства man, переведенные на русский язык [П5.1], и разместить их в соответствующих каталогах. Но все равно, на русский переведено далеко не все. Учитывая это замечание, рассмотрим каждый из перечисленных выше источников информации подробнее.
3.6.2. Страницы интерактивного руководства man
Выше уже было вкратце рассказано о команде man, с помощью которой пользователь всегда может в затруднительной ситуации получить подсказку почти по любой команде системы, форматах файлов и системных вызовах. Это основной способ получения подсказки во всех UNIX-системах. Страницы руководства man в Linux делятся на следующие секции:
Таблица 3.4. Основные секции интерактивного руководства man
Секция | Содержание |
1 | Команды пользователя |
8 | Системные команды |
2 | Системные вызовы |
3 | Библиотечные вызовы (подпрограммы) |
4 | Устройства |
5 | Форматы файлов |
6 | Игры |
7 | Разное |
9 | Ядро (kernel internals) |
n | Tcl/Tk commands |
Порядок перечисления секций в этой таблице не случаен. Дело в том, что файлы с информацией расположены в подкаталогах каталога /usr/man и команда man ищет нужную информацию, просматривая эти подкаталоги именно в том порядке, который приведен табл. 3.4. Если вы, например, дадите команду
[user]$ man swapon
то получите справку о команде swapon из секции 8. Поэтому если вы хотите получить справку по системному вызову swapon, надо дать команду
[user]$ man 2 swapon
указывая номер секции, в которой надо искать информацию.
Страницы man просматриваются с помощью команды less (что дает возможность просматривать информацию поэкранно и перемещаться по этим экранам вперед и назад), так что для управления процессом вывода информации можно использовать клавиши, используемые в программе less. Наиболее употребительные:
Таблица 3.5. Клавиатурные команды, используемые при просмотре man-страниц
Клавиша | Назначение |
<Q> | Выход из программы |
<Enter> | Просмотр строка за строкой |
<Space> | Вывод следующего экрана информации |
<B> | Вернуться к предыдущему экрану |
</> за которой следует строка символов и <Enter> | Поиск введенной строки символов |
<N> | Повторение предыдущего поиска. |
Если вы предпочитаете читать текст не с экрана, а с отпечатанной копии, то можете отпечатать соответствующую страницу, воспользовавшись командой
[user]$ man имя_команды | lpr
или, если у вас postscript-принтер,
[user]$ man -t имя_команды | lpr
Но для того, чтобы получить нужную информацию, нужно еще знать, что искать. В таком случае могут помочь команды whatis и apropos. Команда whatis производит контекстный поиск заданного ключевого слова (шаблона) в базе данных, содержащей перечень системных команд с кратким описанием команды. Выводятся только точные совпадения с ключевым словом. Команда apropos производит поиск по фрагментам слов. Аналогично команде apropos работает команда man с параметром -k. Попробуйте, например,
[user]$ man -k net.
Необходимо, однако, предупредить, что для того, чтобы команды man -k, whatis и apropos работали, необходимо вначале создать базу данных о системных командах, для чего надо запустить команду makewhatis. В противном случае вы можете на любой запрос получить сообщение "nothing appropriate". Правом запустить команду makewhatis обладает только пользователь root. Если вы не выключаете компьютер на ночь, то лучше всего запускать эту команду как задание для процесса cron.
В заключение хочется сказать, что страницы руководства man, вообще говоря, создавались не для первоначального изучения системы. Они скорее предназначены для опытных пользователей, которым в процессе работы нужно иметь под рукой справку по формату, опциям и синтаксису команд, чтобы не приходилось держать весь этот громоздкий материал в голове.
3.6.3. Команда info
Команда info является некоторой альтернативой команде man. Для получения информации по отдельной команде надо задать в командной строке info с параметром, являющимся именем интересующей вас команды, например,
[user]$ info man.
Информация, которую вы увидите, в большинстве случаев несколько отличается от той, которую дает команда man, причем, по моему мнению, в лучшую сторону. Но самое существенное отличие заключается в том, что выдаваемая info информация представлена в гипертекстовом формате. В силу этого вы получаете возможность просматривать различные разделы помощи, не выходя из оболочки, предоставляемой командой info. Работая в тестовом режиме, вы можете запустить info в одной из альтернативных консолей (помните: <Ctrl>+<Alt>+<F2>, <Ctrl>+<Alt>+<F3> и т. д.), и переключаться за помощью в случае необходимости. В тех случаях, когда вы не знаете, где именно найти нужную информацию, может оказаться полезным побродить по разным разделам текста с помощью гипертекстовых ссылок, предоставляемых командой info. Эти ссылки обозначены символом звездочки (*), что несколько отличается от способа обозначения гипертекстовых ссылок в широко распространенных браузерах типа Internet Explorer или Netscape Navigator, но от этого не становится менее удобным. Перемещаться по ссылкам можно также с помощью клавиши <Tab>. Достигнув названия нужной темы, нажмите клавишу <Enter>. Нажатие клавиши <P> возвращает вас к предыдущей странице, <N> вызывает переход на следующую страницу, а <U> переводит на один уровень вверх по иерархической структуре страниц документации.
Кроме того, можно вызвать переход по ссылке другим способом, аналогичным системе меню. Для этого надо нажать клавишу <M> и набрать в появившейся внизу экрана строке ввода некоторое число начальных символов названия нужного вам раздела помощи (из числа названий, представленных на отображаемой в данный момент на экране странице, причем даже если не вся страница помещается на экране). Число символов должно быть достаточным для однозначного определения раздела помощи (если недостаточно, то программа попросит дополнить название). Выход из программы — по клавише <Q>.
3.6.4. Команда help
Выше уже упоминалась система помощи по встроенным командам оболочки bash — команда help. Если ввести в командной строке help без параметров, вы получите список всех встроенных команд оболочки. Если ввести команду help name, где name — имя одной из этих команд, то вы получите очень краткую справку о применении этой команды.
3.6.5. Документация, поставляемая с дистрибутивом и пакетами ПО
Если в процессе установки системы вы не отказались от установки документации, то после завершения процедур инсталляции в каталоге /usr/doc/ (или /usr/share/doc) вы найдете подкаталоги HOWTO, FAQ, HTML и LDP, содержащие обширнейшую документацию по системе Linux в целом и отдельных аспектах ее применения. Большая часть этой документации представляет собой обычные текстовые ASCII-файлы, которые можно просматривать по командам more filename или less filename, а также с помощью встроенной программы просмотра, включенной в оболочку Midnight Commander. Просмотр этих файлов был для меня основным источником получения информации при освоении Linux (а, значит, и при подготовке данной книги). Начните с Red Hat Reference Guide (/doc/ref-guide на компакт-диске). Особенно стоит обратить внимание на главы Package Management with RPM и System Administration. Также полезно прочесть cодержимое /usr/doc/initscripts-x.xx. К сожалению, большая часть этой документации написана на английском языке, но я надеюсь, что со временем с русифицированными дистрибутивами эта документация будет поставляться на русском.
Большинство пакетов программного обеспечения поставляются разработчиками с обширной документацией по установке и использованию этих пакетов. Если пакет представлен в формате rpm (а дистрибутивы Red Hat Linux и его клонов типа Black Cat поставляются в этом формате), то эта документация будет развернута в соответствующих подкаталогах каталога /usr/doc. Имена этих подкаталогов соответствуют названию пакета и версии ПО. Например, для графической оболочки KDE версии 1.1.1 создается подкаталог KDE-1.1.1.
Иногда в поиске нужного файла документации может помочь команда locate. Команда locate в некотором смысле аналогична командам whatis и apropos. По этой команде производится поиск всех файлов, имена которых содержат заданный шаблон. Например, по команде locate net будет найдена масса имен файлов, в названиях которых встречается подстрока "net". В шаблоне могут применяться метасимволы *, ? , []. Однако команда locate производит поиск не по каталогам файловой системы, а в специально созданной базе имен файлов, которую надо вначале создать (и иногда обновлять) командой updatedb.
В некоторых дистрибутивах (например, в ALTLinux) вместо locate имеется команда slocate, которая сама создает для себя базу имен файлов (после запуска с соответствующим параметром).
3.6.6. Команда Xman
В 6-ой версии дистрибутива Red Hat Linux была включена программа, которая позволяет просмотреть страницы руководства man при работе в графическом режиме. Поиск и вывод на экран страниц руководства вызывается посредством щелчков по кнопкам и меню. В остальном (по выдаваемой информации) Xman аналогична команде man.
3.6.7. Команда helptool
По команде helptool появляется графическое окно, имеющее строку ввода, в которой вы сможете задать интересующий вас термин. Команда просматривает все файлы документов (вы можете сконфигурировать, какие документы следует просматривать при поиске). По завершению поиска вам будет выдан список файлов, где встречается данный термин. Если кликнуть мышкой на элементе списка, то появится дополнительное окно, в котором будет отображаться выбранный вами файл. При этом файл будет отображаться в том формате, в котором он хранится на вашей машине: страницы info, страницы man и др.
3.6.8. Книги и Интернет
Естественно, что осваивать Linux проще и легче, если под рукой имеется хорошая книга. Прежде всего почитайте руководство к своему дистрибутиву (если таковое есть). Несколько наиболее полезных, на мой взгляд, книг указаны в Приложении "Источники и ссылки на дополнительные материалы". И, конечно, если у вас есть выход в Интернет, то вы можете найти ответ на любой из возникающих вопросов. Просмотрите Приложение [П2] для того, чтобы выбрать начальные точки путешествия по этому безбрежному океану информации. А дальше ... остается пожелать вам удачи в ваших поисках.
Если проблемы возникают еще при установке, можно обратиться в службу поддержки производителя дистрибутива (если дистрибутив не пиратский, на нем как правило указываются координаты этой службы), на которую можно выйти через Web-сайт производителя. Учтите, что в случае, если у вас пиратский дистрибутив, причина проблем может быть в том, что он "криво" записан на компакт-диск.
Используйте возможности электронной почты. Полезно подписаться на некоторые списки рассылки (эхо-конференции). Например, чтобы подписаться на список рассылки по дистрибутиву Black Cat Linux надо отправить письмо, содержащее "subscribe blackcat-list", по адресу majordomo@geon.donetsk.ua. Правда, чтение всех писем требует очень большого времени, так как придется читать множество вопросов начинающих пользователей (например, "Что такое консоль?"), а также многочисленные ответы на них от тех, кто хоть кто-то знает. Поэтому можно просто просматривать с помощью браузера архив списка рассылки: может быть, кто-то уже задавал тот вопрос, ответ на который вы ищете. Весьма вероятно, что ваша проблема уже обсуждалась — если это так, то вы получите более быстрый и полный ответ, вовсе не написав письмо в конференцию.
Ну, а самый эффективный способ — это, не стесняясь своего незнания, задать свой вопрос в конференцию. Вы почти гарантированно получите ответ на него и, если не поймете, можете попросить дать дополнительные пояснения.
Если вы задаете вопрос, связанный с вашей конкретной системой, всегда включайте как можно больше деталей — какой дистрибутив, какая версия дистрибутива, какая версия ядра, с какими именно железками у вас проблемы (опять же версии, надписи на микросхемах), какие сообщения выдает система или запускаемая программа, и т. д.. Только старайтесь не требовать, чтобы ответ на вопрос был прислан непосредственно на ваш электронный адрес. Как заметил Виктор Вагнер, "написание писем в эху есть самовыражение, написание писем нетмейлом есть техническая поддержка. Первое бесплатно, второе платно." Подумайте об этом!