Введение
Благодарю вас за то, что приобрели эту книгу. Добро пожаловать в мир Linux, который обрел известность как одна из немногих альтернатив операционным системам Microsoft для недорогих настольных персональных компьютеров, а в последнее время еще и как пример того, чего может добиться группа целеустремленных людей даже при отсутствии каких-либо материальных стимулов.
Linux - эффективная и быстрая бесплатная операционная система, которая реализует все возможности Unix (требующей дорогих серверов и рабочих станций) на вполне доступном по цене оборудовании, обычном для домашнего использования. Появление Linux привело к небольшой революции в компьютерном мире, после которой бесплатное программное обеспечение начало применяться для решения множества задач - от построения узлов Web, до реализации инфраструктуры корпоративных информационных систем и обучающих программ. Эта книга является введением в установку и эксплуатацию Linux Red Hat 7.1 - распространенной версии Linux, ориентированной на использование в качестве сервера, а также рабочей станции и операционной системы обычного настольного компьютера. Для полного описания любой операционной системы с таким широким набором средств одной книги недостаточно. Тем не менее, эта книга предоставляет основательные знания по Linux (в частности, Red Hat). А продолжить свое образование вы сможете уже в процессе практической работы.
Для кого предназначена эта книга
Эта книга может быть полезной любому пользователю ПК. Несмотря на то, что Linux пока не удовлетворяет всем требованиям простоты и доступности, предъявляемым к коммерческим операционным системам (наподобие Windows 95/98/Ме или Mac OS), эта система по силам любому, кто способен управиться с Windows.
Приступая к изучению любой операционной системы, следует иметь некоторые базовые знания об устройстве компьютера: отличать жесткий диск от оперативной памяти, понимать, что такое базовая конфигурация (в Windows) и периферийные устройства (такие, как видео- и звуковые карты), иметь представление об организации и записи данных в компьютере (каталоги, подкаталоги и файлы).
Цель книги - открыть мир Linux неискушенному компьютерному пользователю. При этом предполагается некоторое знакомство с Windows (или Mac OS) и основным оборудованием ПК, иначе книга превратилась бы из введения в операционную систему Linux в букварь основных компьютерных понятий.
Для тех, кто вполне удовлетворен системой Windows или Mac OS и не упражнялся с командной строкой DOS, следует с ней ознакомиться, прежде чем погрузиться в мир Linux, где командная строка занимает весьма значительное место.
Что касается опытных пользователей Windows, то они вполне готовы к превращению в столь же опытных пользователей Linux. Книга может служить не только введением в Linux, но и пособием для тех, кто намерен основательно заняться изучением этой системы. В ней найдется немало полезных сведений для владельцев SOHO (Small Office/Home Office - небольшой или домашний офис) и менеджеров небольших сетей. Читатель научится использовать Linux для решения различных задач в условиях собственного офиса, заставляя его работать в качестве файл-сервера. cервера Web для intranet или маршрутизатора.
Как работать с книгой
Для работы с книгой нужен доступ к персональному компьютеру со следующими характеристиками.
Содержание книги
В книге семь частей.
Добро пожаловать в Linux. Введение в Linux как операционную систему и основу модели распространения программного обеспечения по общественной лицензии общего вида GNU. Рассмотрены наиболее популярные дистрибутивы (версии) Linux и подготовительные мероприятия к установке.
Установка Linux Red Hat 7.1. Установка Linux на отдельном компьютере. Рассмотрены подготовительные операции к установке Linux Red Hat 7.1 и специальные варианты установки (например, При отсутствии устройства CD-ROM).
Использование среды рабочего стола в Linux Red Hat 7.1. Использование X Windows с диспетчером рабочих столов GNOME (стандартный графический интерфейс Linux Red Hat). Обзор некоторых распространенных программ для X Windows.
Углубленное изучение. Изложение ряда нетривиальных процедур, без которых не обойтись в серьезной работе с Linux: работа с файлами, конфигурирование системы, управление принтерами и другими периферийными устройствами.
Основы сетей. Подключение системы Linux к Internet через телефонное соединение, доступ к World Wide Web и работа с электронной почтой.
Применение Linux для SOHO (Small Office/Home Office - небольшой или домашний офис). Как недорогая, но мощная система, Linux хорошо подходит для небольших или домашних систем. Рассмотрены установка Linux Red Hat 7.1 в сети офиса и использование в качестве файлового сервера или сервера печати в сетях Unix и Windows, даны основные сведения о средствах Linux для обеспечения безопасности в сети. Наконец, рассмотрены проблемы совместимости и. возможности интегрирования в Linux DOS и Windows, что позволяет мигрировать из Windows в Linux без утери инвестиций в существующее программное обеспечение.
Использование Linux Red Hat 7.1 в качестве сервера Web и электронной почты. Linux эффективен не только как файловый сервер или сервер печати для SOHO, но и как мощный промышленный сервер Web или электронной почты.
Те, у кого есть некоторый опыт работы с Linux, могут перейти непосредственно к части "Установка Linux Red Hat 7.1" и заняться установкой Linux. Новичкам лучше начать с части "Добро пожаловать в Linux", чтобы почувствовать удобство и динамичность мира Linux. Впрочем, независимо от подготовки читателя, его компьютер - мощный инструмент - станет еще более мощным после установки системы Linux.
Глава 1. Что такое Linux?
Если вы купили эту книгу и просмотрели вступительную часть и оглавление, то у вас, вероятно, сложилось некоторое мнение о Linux как программном обеспечении и явлении. Если нет - продолжим.
Linux - на самом деле явление необычное, свидетельствующее о том, что качественное программное обеспечение может появляться и без финансового благословения коммерческих предприятий. История Linux показывает, что некоммерческое программное обеспечение может развиваться, расти и составлять привлекательную альтернативу широко известным коммерческим пакетам.
Техническое совершенство Linux свидетельствует о том, что это серьезный соперник операционных систем, поставляемых Microsoft, Novell или IBM. Учитывая способность этой системы управлять и более сложными приложениями, можно рассматривать ее как серьезного соперника -таких популярных систем линии Unix, как Solaris, HP-UX и SCO-Unix.
В этой главе мы ознакомимся с историей Linux, рассмотрим ключевые свойства этой системы, превращающие ее в мощную альтернативную операционную систему для ряда технических приложений. Рассмотрим модель бесплатного программного обеспечения, примененную для Linux, и ее влияние на других производителей программного обеспечения.
История Linux
Linux, несомненно, - продукт культуры Unix. Как операционная система (вернее, набор операционных систем с общими свойствами), Unix возник задолго до появления настольных компьютеров. Он был разработан в середине 70-х, когда нормой в корпоративном мире было использование миникомпьютеров и мэйнфреймов. В настоящее время Unix используется в корпоративной среде, а также нередко применяется в системах клиент-сервер сетей intranet.
Исторический недостаток Unix - недоступность системы для программистов, работающих вне промышленных или университетских вычислительных центров. Несмотря на то, что версии Unix для ПК существуют уже давно, они не обладают изяществом и мощью, отличающими операционные системы для миникомпьютеров, мэйнфреймов или современных серверов. Кроме того, ранние коммерческие версии Unix были слишком дороги - зачастую, дороже компьютеров, на которых им предстояло работать.
Именно указанная недоступность способствовала рождению Linux - широкодоступной операционной системы, аналогичной Unix.
Ричард Столман (Richard Stallman) и Фонд бесплатного программного обеспечения FSF (Free Software Foundation) начали работать над этой альтернативной операционной системой в середине 80-х. К концу десятилетия они разработали большинство составляющих ее компонентов за исключением ядра (kernel). Линус Торвальдс (Linus Torvalds) из университета г. Хельсинки в Финляндии разработал оригинальное ядро Linux в 1991 году. В результате объединения Linux получился именно таким, каким мы знаем его сегодня.
Первоначально новая операционная система была дня Торвальдса всего лишь увлечением. Ранние версии Linux даже не предполагали наличия конечного пользователя. Зато предоставляемая ими голая функциональность давала программистам Unix радость творчества, позволяя заниматься программированием ядра системы. Ядро, как основа операционной системы, отвечает за бесперебойную работу всех ее частей. Операционной системы без мощного, устойчивого ядра просто не существует.
Со временем команда программистов существенно выросла, появились базовые составляющие полной операционной системы, и вскоре для всех, кто был вовлечен в процесс, стало очевидно, что Linux обретает черты полновесной операционной системы. В марте 1992 г. появилось ядро версии 1.0, и эта дата считается днем рождения первой официальной версии Linux. С этого момента стало возможным выполнять в Linux большую часть программ для Unix - от компиляторов до сетевого программного обеспечения и графической оболочки X Windows.
Linux продолжает развиваться как уникальный двойник операционной системы Unix, предназначенный для ПК. Теперь он обеспечивает широкую аппаратную поддержку, в том числе множества популярных и распространенных периферических устройств. Прекрасные характеристики новой системы, обеспечивают многим ПК мощность, сравнимую с мощностью рабочей станции среднего класса, наподобие систем SPARC компании Sun Microsystems. Технически Linux не идентичен Unix и не может претендовать на эту торговую марку. Однако прилагается максимум усилий для того, чтобы ввести в новую систему все нужные средства, которые позволили бы сертифицировать ее как операционную систему Unix.
Linux как операционная система
Сам термин "Linux" не вполне определен. Прежде всего, он обозначает собственно ядро -сердце любой версии Linux. В более широком понимании, Linux - любой набор программ, выполняемых в этом ядре и называемый дистрибутивом. Задача ядра - обеспечение базовой среды, в которой могут выполняться программы, в том числе программы базового аппаратного интерфейса и системы управления задачами или выполнением программ.
Строго говоря, в конкретный момент времени существует лишь одна текущая версия Linux, и это -текущая версия ядра. Торвальдс считает ядро собственной вотчиной в мире binux, позволяя тысячам разработчиков во всем мире разрабатывать прикладные программы и службы для этого ядра.
Если понимать термин "Linux" в широком смысле - как набор программ, выполняемых на ядре Linux, то версий этой операционной системы окажется великое множество. Каждый дистрибутив имеет собственные уникальные характеристики, отличаясь методом установки, набором средств и способом обновления версии. Но поскольку в .основе каждого дистрибутива - все тот же Linux, почти любая программа, работающая в текущей версии одного, дистрибутива, будет работать в текущей версии другого.
Примечание
Дистрибутивы Linux подробно рассмотрены в гл. 2.
Отметим: двойственность термина "Linux" отражает путаницу в определении понятия операционной системы. В коммерческом смысле операционная система - это широкий набор программ, сосредоточенных вокруг ядра. Под это определение подходят Windows 95, 98 и Me, Windows NT и Windows 2000, а также Macintosh OS.
В техническом представлении операционная система ограничивается ядром, содержащим основные системные функции и необходимым для разработки любой программы.
Исходя из любого определения, Linux является операционной системой. Особенность ядра Linux, отличающая эту систему от прочих операционных систем для настольных ПК, состоит в том, что это система многозадачная и многопользовательская.
Многозадачная операционная система
Скорее всего, термин "многозадачность" вам знаком, даже если не вполне понятен.
Когда настольные вычислительные системы переходили от Windows 3.1 к Windows 95, многозадачность новой системы поднималась на щит как главное достоинство.
Многозадачность системы - это ее способность выполнять одновременно несколько программ (процессов). К примеру, система может одновременно выполнять печать документа, кодирование файла и набор телефонного номера для подключения к Internet, в то время как пользователь, уютно устроившись в кресле, набирает текст в текстовом редакторе. При таком количестве фрновых задач активный текстовый редактор не должен зависать или переходить в нерабочее состояние каким-либо иным образом.
Это и есть чудо многозадачности. Компьютер с единственным процессором способен выполнять несколько задач параллельно. Конечно, процессор не может выполнять одновременно несколько действий, и эффект многозадачности достигается за счет быстрого переключения с одной задачи на другую в соответствии с потребностями каждого процесса.
Если многозадачность хорошо обеспечена, то выполнение нескольких задач в фоновом режиме не должно мешать работе пользователя в текстовом редакторе. Все процессы должны проходить гладко, с хорошим откликом компьютера.
Системы Unix всегда обеспечивали многозадачность более высокого порядка, чем Windows. Unix поддерживает одновременное выполнение нескольких задач способом, идеальным для больших корпоративных серверов и мощных рабочих станций. Сегодня лишь Windows 2000 со своим предшественником Windows NT столь же надежно обеспечивают многозадачность. Даже Windows 95/98/Ме, несмотря на все фанфары, трубившие по этому поводу, с трудом управляется с большим числом одновременно выполняемых процессов.
Система Linux, подобно Windows NT и Windows 2000, поддерживает многопроцессорные компьютеры, наподобие двухпроцессорных систем Pentium III. Эти системы реально выполняют два одновременных действия. Многопроцессорность в сочетании с многозадачностью позволяет значительно увеличить количество программ, одновременно выполняемых на одном компьютере.
Многопользовательская операционная система
Кроме многозадачности, Linux (подобно большинству версий Unix и всем членам ее клона) имеет еще одно важное свойство: это многопользовательская операционная система.
Все версии Windows, а также Mac OS, являются однопользовательскими системами. Другими словами, в них в каждый момент времени с системой может работать только один человек. Сравните: Linux допускает одновременную работу нескольких пользователей, что позволяет полностью использовать преимущества многозадачности. Из этого следует огромное достоинство: Linux можно развернуть как сервер приложений. С терминалов или настольных компьютеров пользователи могут входить через ЛВС на сервер Linux и запускать программы на этом сервере, а не на собственных настольных ПК.
Программы для Linux
Операционную систему Linux можно использовать для разработки программ любых типов. В настоящее время существуют следующие виды программного обеспечения для Linux.
Текстовые редакторы. Кроме коммерческих текстовых редакторов, наподобие WordPerfect StarOffice или Applixware, Linux содержит собственные мощные средства редактирования текстовых файлов, а также программы обработки текстов в автоматическом режиме. Языки программирования. Имеется множество языков программирования и подготовки сценариев, а также иных средств, предназначенных для Linux и всех операционных систем
Unix. Обилие средств программирования упрощает разработку программ, выполняемых не только в Linux, но и в большинстве операционных систем Unix.
Оболочка X Windows. Ответом Unix на графический пользовательский интерфейс (GUT) явилась оболочка X Windows. Это гибкая и конфигурируемая среда, работающая как в Linux, так и в большинстве систем Unix. Множество программ, выполняемых в X Windows, превращают Linux в простую и удобную операционную систему.
Примечание
Подробное описание X Windows дано в гл. 6—12.
Средства Internet. Linux не только поддерживает известные программы наподобие Netscape Communicator или Mosaic, но и содержит собственное программное обеспечение для Internet. Это текстовые и графические программы чтения электронной почты, полный набор программного обеспечения для создания серверов Internet (Web-серверов, серверов электронной почты и новостей). Обеспечивается, полная поддержка подключения к Internet через локальную сеть или модем.
Базы данных. Подобно всем платформам Unix, Linux предоставляет надежную основу для систем баз данных клиент-сервер. Linux всегда поддерживал СУБД наподобие mSQL и PostgreSQL. С ростом популярности системы, особенно в среде корпоративных информационных систем, увеличивалось количество серверов коммерческих реляционных баз данных для Linux. Сегодня реляционные базы данных для Linux предлагаются такими компаниями, как Oracle, Sybase и Informix.
Программное обеспечение совместимости с DOS и Windows. С высокой степенью устойчивости в Linux можно выполнять программы для DOS (см. гл. 30). Существует несколько способов выполнения программ для Windows. Текст этой книги написан в Microsoft Word для Windows на компьютере, работающем под управлением Linux. Это прекрасная иллюстрация способности Linux работать с Windows. Существуют эмуляторы других популярных операционных систем, в том числе Macintosh и Atari ST.
Конечно, все перечисленное - лишь вершина айсберга. Программ для Linux гораздо больше. Хороший источник программного обеспечения для Linux - Linux Software Map. Он находится в World Wide Web по адресу http: / /www. execpc . com/1sm/.
Linux как бесплатное программное обеспечение
Учитывая разнообразие средств, предлагаемых Linux, естественно предположить, что эта операционная система стоит недешево. Ничуть не бывало! Ядро Linux и большая часть программ, написанных для него, распространяются через Internet бесплатно, зачастую без каких-либо ограничений на копирование и распространение.
Прежде всего, ядро Linux распространяется по лицензии GNU GPL (General Public License -общественная лицензия общего вида). Это особая лицензия на распространение программного обеспечения, разработанная Фондом бесплатного программного обеспечения (Free Software Foundation). Она призвана содействовать свободному распространению и, что более важно, свободной разработке программного обеспечения. В отличие от лицензий, регулирующих распространение любого коммерческого программного обеспечения, лицензия GNU позволяет распространять программное обеспечение бесплатно или за деньги при соблюдении условий лицензии GNU. Иными словами, любой может взять какую-либо программу, распространяемую по лицензии GNU, внести в нее определенные изменения и распространять (за деньги или бесплатно). Однако этот человек не может запретить другому распространять эту же программу.
Большая часть версий Linux распространяется в соответствии с лицензией GNU GPL. Это позволяет множеству поставщиков программного обеспечения предлагать как коммерческие, так и бесплатные дистрибутивы Linux.
Учтите: бесплатное программное обеспечение - вовсе не то же самое, что public domain software (общедоступные программы, не защищенные авторским правом). По лицензии GNU разработчик сохраняет за собой права на собственный продукт и в любой момент может прекратить его распространение на условиях GNU. Характерная особенность данной лицензии - поощрение включения новых людей в процесс разработки и распространения новых версий программного обеспечения.
Очень важна еще одна особенность лицензии GNU: все программное обеспечение должно распространяться с полным набором исходных текстов. В отличие от коммерческого программного обеспечения, в которое нельзя вносить изменения из-за недоступности исходных текстов, модификация программ GNU не просто разрешена, но поощряется.
Такая модель разработки операционной системы Linux и программ для нее оказалась настолько удачной, что компания Netscape приняла ее для своего семейства программ-браузеров. Воспользовавшись базовыми принципами GNU, Netscape разрешила бесплатное распространение браузеров, разрешив всем лицензирование исходных текстов и свободное распространение.
Коммерческие программы для Linux
Существуют коммерческие программы для Linux, а также коммерческие дистрибутивы самой системы. Коммерческие программы и дистрибутивы лицензируются на более жестких условиях, чем стандарты GNU.
Однако если дистрибутив Linux содержит коммерческие компоненты, которые нельзя свободно распространять, это не относится к применимости лицензии GNU к ядру системы и основным программам дистрибутивов Linux. Если программа уже распространялась по лицензии GNU GPL, то ее последующие версии должны распространяться по этой же лицензии.
Что дальше
Мы уже сделали несколько шагов в мире Linux. Вам известны основные его компоненты и философия, а также возможности, которые делают эту операционную систему лучшей для множества приложений.
В главе 2 рассмотрена философия дистрибутивов Linux и множество распространяемых дистрибутивов (разновидностей).
Глава 3 посвящена практическим действиям по подготовке к установке на ПК дистрибутива Linux. В гл. 4 и 5 описаны различные варианты установки, связанные с этим вопросы и возможные затруднения. Затем вы сможете заняться вариантами среды рабочего стола Linux, описанными в гл. 6—12.
В главах 4 и 5 описана установка Linux на отдельный ПК и различные специальные аспекты установки - в частности, отсутствие на ПК дисковода CD-ROM. Далее материал книги упорядочен по пяти частям: X Windows, GNOME, мастерство работы с Linux, подключение к Internet и Linux в качестве домашнего офиса- так называемая среда SOHO (SOHO - small office home office, т.е. малый или домашний офис. - Прим. ред.).
Глава 2. Выбор дистрибутива
В гл. 1 уже упоминалось, что принципы разработки Linux и коммерческого программного обеспечения различны. Большая часть компонентов полной системы Linux (в том числе ядро -сердце операционной системы), модули управления устройствами, все прикладные программы и утилиты, позволяющие системе выполнять полезную работу, разрабатываются небольшими группами разработчиков по всему миру.
Большинство компонентов Linux распространяется по общественной лицензии GNU, предполагающей дальнейшее свободное распространение. Образец лицензии приведен в приложении D.
Будущий пользователь Linux может растеряться, не зная, как и из каких компонентов собрать работающую систему.
Выход из этой ситуации найден в форме дистрибутивов Linux. Дистрибутив - это заранее приготовленный пакет системы Linux, готовый к установке. Существует множество дистрибутивов, среди которых есть как совершенно бесплатные, так и полностью коммерческие. В каждый дистрибутив входит собственный набор прикладных программ, утилит и средств управления, упрощающих работу с Linux.
В главе дан общий обзор основных и наиболее популярных дистрибутивов и подробное описание популярной версии Red Hat 7.1 - дистрибутива на компакт-диске, прилагаемом к книге.
Что такое дистрибутив ?
Понятие дистрибутива с некоторым трудом воспринимается в мире коммерческих операционных систем - Windows 98 и 2000, Mac OS и даже таких версий системы Unix, как Solaris и HP-UX.
Название каждой указанной операционной системы обозначает вполне конкретный продукт. Например, Windows 98 -это полный набор утилит Windows, программ и драйверов, поставляемых Microsoft. И никакого произвола. Любые программа, драйвер или утилита, вводимые в систему пользователем, уже не рассматриваются, как часть Windows 98. Сама же система Windows 98 не может существовать без полного набора программного обеспечения и инструментальных средств.
В мире Linux определения не столь четки. Сам термин Linux может обозначать все, что угодно -от ядра до любого набора программ, выполняемых на этом ядре.
Вот это отсутствие четко определенного набора программ, утилит и драйверов, которые вместе с ядром составляли бы операционную систему, явилось результатом того, что мир Linux открыт для всевозможных версий этой системы, имеющих различные назначения. Эти версии называются дистрибутивами.
Дистрибутивы могут строиться на различных версиях ядра, содержать различные наборы программ, утилит, инструментальных средств и драйверов, различаться по методам установки и обновления версий программ.
Может показаться, что подобная неограниченная гибкость непременно должна привести к хаосу. Предположение не лишено логики. В конце концов, совершенно непонятно, каким образом удается поддерживать в рабочем состоянии бесконечное число вариантов этой операционной системы.
К счастью, все это работает. В великом разнообразии, именуемом Linux, сохраняется некая основа единообразия, обеспечивающая совместимость программ, написанных для разных версий Linux.
Основу большинства дистрибутивов Linux составляет общий набор программ, утилит и библиотек, который, как полагают разработчики, должен быть в любой операционной системе. В настоящее время в большинстве дистрибутивов Linux соблюдается стандарт FHS (File System Hierarchy Standard - стандарт иерархии файловой системы).
Для Linux можно разрабатывать крупные коммерческие программы, наподобие Netscape Communicator или Corel WordPerfect, и эти программы будут работать в большинстве систем Linux. Даже если в системе не окажется какого-либо компонента, необходимого для работы такой программы (библиотеки или другой программы), в Internet существует множество источников программного обеспечения Linux, с которых можно загрузить этот компонент.
Обзор основных дистрибутивов
Большая часть дистрибутивов Linux распространяется бесплатно. Их можно загружать из архивов Linux в Internet, например, те узла FTP Metalab или репозитария Linux TSX-11 Массачусетского технологического института.
Совет
Полный список источников Linux в Internet, а также поставщиков CD-ROM приведен в приложении В.
Конечно, объем среднего дистрибутива Linux достаточно велик - от нескольких десятков до нескольких сотен мегабайт. Вряд ли найдется много охотников тратить время и полосу пропускания на загрузку этой системы по Internet. Выход - в обилии дистрибутивов на CD-ROM, выпускаемых не только разработчиками, но и прочими энтузиастами, которые, записав на компакт-диск один-два дистрибутива, дополняют их программным обеспечением для Linux и документацией.
Например, 27-я редакция пакета CheapBytes'MONDO InfoMagic (www.cheapbytes.com) предоставляет собой набор "из 11-ти дисков CD-ROM, содержащий последние дистрибутивы Red Hat, Slackware, Mandrake и StormLinux. A LinuxMall (www. linuxmall. com) предлагает Linux MegaPak 2.0 - набор из 16-ти дисков CD-ROM, в который кроме дистрибутивов, входящих в пакет MONDO, включены и самые свежие версии дистрибутивов Debian, Storm, S.U.S.E., FreeBSD и Turbolinux.
FreeBSD, как и все дистрибутивы Linux, является клоном Unix.
Как правило, копии бесплатных дистрибутивов Linux на CD-ROM стоят от 2 до 50 долларов. Более популярные комплекты, наподобие Linux MegaPak, стоят менее 30 долларов.
Основные дистрибутивы
Существует великое множество дистрибутивов Linux. В последние годы особенно популярны шесть из них: Red Hat, Slackware, Caldera, S.u.S.E., Debian и Corel. Это дистрибутивы с достаточно длинной историей, и все вместе они контролируют львиную долю рынка. Все они распространяются бесплатно, благодаря чему служат основой для других дистрибутивов и коммерческих пакетов, включающих дистрибутивы Linux.
Следующие в рейтинге - дистрибутивы Linux, в которых можно обнаружить как давно и хорошо известные дистрибутивы наподобие Yggdrasil, так и новичков вроде Turbolinux и easyLinux.
Red Hat
Дистрибутив Linux Red Hat от Red Hat Software (www. redhat. com) - наиболее популярный пакет для большинства пользователей. Он используется в качестве базового многими разработчиками коммерческого программного обеспечения Linux и служит эталоном для оценки других дистрибутивов.
Слава Red Hat объясняется, главным образом, средствами установки и обновления версии операционной системы, а также совершенными средствами установки, удаления и отслеживания пакетов программного обеспечения.
Linux Red Hat выиграл ряд призов, среди которых награды лучшему продукту журнала Network Magazine в 2000 г. В 1998 г. Linux Red Hat победил в опросе посетителей InfoWorld-узла Web, которым предлагалось определить продукт года. Он набрал 27 % голосов, уверенно обойдя пакет OS/2 Warp 4, занявший второе место с 8 %. Linux Red Hat был задействован в проектах, доказавших коммерческую состоятельность Linux, в том числе в анимационном проекте для фильма "Титаник".
Дистрибутив-Red Hat распространяется как бесплатная версия, которую можно загрузить из популярных архивов Linux в Internet, или как коммерческая версия, распространяемая по вполне разумной цене в 40 долларов и содержащая в дополнение к бесплатному программному обеспечению руководство, диск CD-ROM и ряд коммерческих программ. Версия 7.1 Linux Red Hat также доступна в редакциях Deluxe Workstation и Professional Server.
Примечание
В дополнение к версии 7.1 Linux Red Hat, записанной на прилагаемом компакт-диске, в любой момент можно загрузить последнюю версию с сервера FTP Red Hat (ftp.recihat.com) или из архива Ibiblio Linux (ibiblio.org/pub/Linux/distributions/redhat). Если эти узлы недоступны, можно попробовать получить список "зеркал" с дистрибутивами Linux. Этот список хранится по адресу http: / /www/ redhat. com/download/mirror. html (На момент издания книги распространяется версия 6.2. -Прим. ред.).
Slackware
Прежде чем взошла звезда Red Hat, лучшим дистрибутивом считался Slackware. Он популярен до сих пор, но на момент написания книги его будущее было достаточно туманным. Руководитель проекта Slackware Патрик Волкердинг (Patrik Volkerding) в настоящее время занят поисками спонсоров. Для получения свежей информации о состоянии дел в этом проекте и загрузки последних версий дистрибутива обращайтесь на узел проекта (www. slackware. com).
Во время написания книги была доступна версия Slackware 7.1. Этот дистрибутив содержит полный набор необходимых утилит, инструментальных средств и программ, среди которых X Windows, средства разработки - компилятор GNU С, полная поддержка протокола РРР, Java и Java SDK (Developer's Kit - комплект разработчика) для Linux. Как и большинство других дистрибутивов Linux, Slackware содержит Web-сервер Apache, предназначенный для использования Linux в качестве узла intranet или Web, а также несколько бесплатных Web-браузеров.
Дистрибутив Slackware можно загрузить из различных узлов FTP и HTTP, список которых приведен по адресу http: //www. slackware.com/getslack/
Caldera OpenLinux
Переполох на рынке Linux, как и в целом на рынке программного обеспечения, вызвал дистрибутив Caldera, провозгласивший появление сопровождаемой коммерческой версии Linux. Тут же откликнулось несколько поставщиков Linux, в первую очередь Red Hat. Идея состояла в разработке тестированной, устойчивой, надежной версии Linux, ориентированной на корпоративный рынок и разработчиков программ, которым нужен надежный дистрибутив Linux.
До определенной степени эта стратегия сработала. Для дистрибутива Caldera's Network Desktop был разработан (и только с ним распространялся) пакет WordPerfect 6 для Linux. На дистрибутивы Caldera ориентировались предыдущие версии StarOffice для Linux. Caldera перевела под Linux Web-сервер FastTrack компании Netscape и теперь предлагает его как часть пакетов eDesktop и eServer.
Текущий дистрибутив Caldera выпускается в двух редакциях: eDesktop 2.4 для рабочих станций и eServer 2.3 для серверов. Их можно приобрести либо загрузить из Web (На момент издания книги распространялась версия 2.3. -Прим. ред.). Полный дистрибутив в любой из редакций содержит:
Дистрибутив Caldera eDesktop 2.4 в октябре 2000 г. получил приз Editor's Choice Award от редакции журнала CNet. При определении победителя редакторы Cnet, как особое достоинство дистрибутива eDesktop, отметили особенности его "интернетообразных" администраторских средств. Дистрибутивы Caldera eDesktop и eServer. можно бесплатно загрузить с узла Web Caldera's (www. caldera. com) (На момент издания книги на узле можно было оформить заказ на платную версию 2.3 дистрибутива. - Прим. ред.).
Linux S.u.S.E.
Linux S.u.S.E. - популярный дистрибутив, распространяемый, главным образом, в Европе в английской и немецкой версиях.
Версия S.u.S.E. 7.1, распространявшаяся на момент написания книги, уникальна во многих отношениях. Она содержит:
Как и для Caldera и Red Hat, для S.u.S.E. 7.1 доступны две версии. Коробочная версия S.u.S.E. 7.1 Linux Personal Edition включает более 700 программ и приложений с конфигурационными руководствами. Коробочная версия S.U.S.E. 7.1 Linux Professional Edition включает более 2500 приложений на семи CD-ROM и одном DVD (его можно рассматривать как самый сложный дистрибутив Linux налегодня).
S.u.S.E. Linux поддерживает и не совместимые с Intel платформы, такие как Digital Alpha, PowerPC и IBM S/390 Enterprise Server.
Debian/GNU
Один из шести основных игроков на поле Linux - Debian/GNU (www. debian. org) - является, по существу, третьим лишним, не имея никакой коммерческой организации. Если разработкой Red
Hat занимается Red Hat Software, а за Slackware стоит Walnut Creek, то разработкой дистрибутива Debian/GNU занимается группа энтузиастов - именно в той манере, в какой происходит общее развитие Linux.
Debian предлагает более 3950 пакетов программного обеспечения, используя собственную систему управления пакетами, аналогичную предлагаемой в дистрибутиве Red Hat. На момент написания книги последней версией Debian/GNU Linux была 2.2.гЗ.
Дистрибутив Debian в некотором роде уникален. На узле Web этой группы находится обязательство возвращать в мир бесплатного программного обеспечения любые рожденные в ее недрах исходные тексты; регулярно публикуются наглядные отчеты об обнаруженных ошибках. В дистрибутивы Debian не входят программы, не соответствующие принятому в этой группе определению бесплатного программного обеспечения (с правом дальнейшего распространения, наличием исходных текстов, разрешением модификации текстов и использования в качестве основы новых разработок).
Corel
Самый свежий из участников на рынке Linux-дистрибутивов Corel Linux. Он разрабатывался как первый Linux-дистрибутив, призванный заменить Microsoft Windows на настольных компьютерах. Corel Linux Second Edition имеет следующие отличительные черты:
Corel Linux строится на базе дистрибутива Debian. Другими словами, разработчиками добавлены к дистрибутиву Debian дополнительные средства, и полученный продукт распространяется как оригинальный дистрибутив. Такая политика вполне легальна при использовании GPL-лицензии (см. приложение D).
Другие дистрибутивы
Среди прочих англоязычных дистрибутивов, заслуживающих упоминания, - LinuxPro, LinuxWare, Turbo Linux и Yggdrasil. В приложении А представлен ряд дистрибутивов на других языках - в частности, на французском и немецком.
Более полную информацию о дистрибутивах Linux со ссылками на соответствующие узлы Web можно найти на англоязычной странице, посвященной Linux (www. linux. org/dist/english.html).
Linux Red Hat
Дистрибутив Linux, прилагаемый к книге - Red Hat 7.1. Это один из наиболее известных и распространенных сегодня дистрибутив.
Причина популярности дистрибутива Red Hat - в его системе управления пакетами Red Hat Package Manager (rpm). Эта система предназначена для такого тестирования и конфигурирования программного обеспечения, после которого оно должно быть готовым к применению. Она адаптирована и к другим дистрибутивам, включая S.u.S.E. и Caldera. Простые средства управления пакетами позволяют загружать, устанавливать и запускать новые пакеты без мучительных процедур конфигурирования, характерных для программного обеспечения, поставляемого с собственными программами установки и не использующего систем управления пакетами, как в дистрибутивах Red Hat или Debian.
Конечно, одного управления пакетами для успеха Linux Red Hat было бы недостаточно. Основа программного обеспечения этой системы распространяется свободно, а потому используется в других дистрибутивах.
Одно из преимуществ системы управления пакетами - простота обновления версии. Для обновления версии Red Hat нет надобности в полной установке Linux, что было основной проблемой ранних версий Slackware и остается проблемой некоторых современных дистрибутивов.
Еще одно достоинство дистрибутива Red Hat - он работает не только на платформе ПК Intel; имеются версии для платформы Compaq Alpha. Эта платформа обеспечивает более эффективную работу оборудования, но требует, как правило, дорогих коммерческих версий Unix. Red Hat обеспечивает возможность применения Linux во всех вариантах, поскольку основа всех его дистрибутивов одна. Управление и конфигурирование систем, в которых выполняетcя Linux Red Hat, упрощено на всех платформах, как упрощен и перевод программного обеспечения с одной платформы на другую.
Что нового в Linux Red Hat версии 7.1
Версия 7.1 Linux Red Hat имеет ряд свойств, отсутствовавших в ранних версиях и остальных дистрибутивах Linux. Перечислим некоторые из них:
Ядро Linux 2.4
Ядро Linux за время своего существования сильно изменилось. Хотя каждое отдельное изменение и не является революционным, но, тем не менее, в целом за последние годы были реализованы новые возможности настольных, серверных и портативных конфигураций:
Интегрированная поддержка аппаратуры PC. Наряду с развивающейся поддержкой USB, версия 2.4 предусматривает также усовершенствованную поддержку PCMCIA (PC Card) и Plug-and-Play ISA-устройств, встроенную непосредственно в ядро.
Разнообразие платформ. Новое ядро позволяет запускать Linux на многих платформах, построенных на процессорах, отличных от Intel, включая Alpha, Spare, MIPS, PowerPC, и ARM. Поддерживается даже мэйнфрэйм IBМ/390.
Поддержка малых моделей. Новое ядро разработано с учетом возможности использования на i портативных и карманных компьютерах.
Ослабление ограничений. В новом ядре предусмотрена поддержка больших объемов оперативной памяти (64 Гбайт), виртуальная неограниченная мультизадачность и возможность создавать единый том на нескольких дисках для очень больших файлов.
Новые средства конфигурирования
Linux всегда имел мощный набор средств (командной строки и графических) для конфигурирования и администрирования систем на основе Linux Red Hat. В версии 5 появились новые средства управления пользовательской информацией, позволяющие вводить информацию об имени и номере телефона пользователя, устанавливать и менять пароли пользователей. Появилось средство установки и удаления файловых систем с графическим интерфейсом.
Linux Red Hat содержит Xconfigurator - средство конфигурирования XFree86 (бесплатной версии X Windows). Xconfigurator всегда превосходил конфигурационную программу из комплекта XFree86 и дистрибутива Linux Red Hat. Сейчас Xconfigurator имеет дополнительные возможности: автоматическое определение типов и параметров видеоплат.
Теперь Linux Red Hat включает новые средства для конфигурирования принтеров и брандмауэров printconf и gnome-lokkit. Конфигуратор printconf позволяет устанавливать локальные и удаленные принтеры, используя стандартную графическую оболочку. Программа gnome-lokkit дает возможность сконфигурировать брандмауэр для защиты компьютера и сети от проникновения извне, причем для определения правил контроля пользователь отвечает на ряд вопросов, формулируя свои коммуникационные потребности.
Указанные усовершенствования облегчают управление операционной системой Linux Red Hat и вносят в мир Linux графические средства, уже освоенные системами-соперниками наподобие Windows 2000.
Linux Red Hat 7.1включает XFree86 4.0.3 - последнюю версию системы Linux X Window. Тем самым обеспечивается более устойчивая работа и усовершенствованная трехмерная графика для двух основных интерфейсных оболочек GNOME и КDЕ (обе они также включены в Linux Red Hat 7.1).
GNOME и KDE - интерфейсные оболочки X Windows, призванные упростить разработку программ и предоставить пользователям Linux удобную среду рабочего стола профессионального уровня. Подробно GNOME 1.2 и совместимый с ним диспетчер окон Sawfish рассмотрены в гл. 10, а КDЕ-в гл. 11.
Новые и усовершенствованные средства
В версии 7.1 Linux Red Hat появился ряд новых и усовершенствованных средств, позволяющих использовать высококачественное оборудование и, следовательно, улучшить характеристики и повысить устойчивость систем Linux. К таким средствам относится более совершенная реализация симметричной многопроцессорной обработки (SMP), позволяющая полнее использовать преимущества многопроцессорных систем. Наконец, в версию 7.1 Linux Red Hat входит усовершенствованная версия программы Disk Druid, распознающей ошибки, допущенные пользователем в ходе создания разделов при установке системы.
Что дальше
Вы составили ясное представление о том, что такое Linux, каковы преимущества тех или иных дистрибутивов и готовы сосредоточиться на работе с Linux Red Hat (прилагаемом на компакт-диске).
Следующая глава посвящена подготовке к установке Linux Red Hat. Рассмотрены особенности оборудования, используемого системой Linux, что позволит вам запустить систему с минимальными затруднениями. Уделяется внимание сбору информации, которая может понадобиться при установке.
В гл. 4 подробно описана установка системы Linux Red Hat.
Глава 3. Подготовка к установке Linux Red Hat 7.1
Глава посвящена установке Linux. Основное внимание уделено не самому процессу установки, а принятию решений, оказывающих влияние на этот процесс. Помните: принять правильное решение на этапе подготовки очень важно для успешной установки Linux и получения удачно сконфигурированной системы.
Кратко рассмотрена минимальная система Linux. Какое оборудование необходимо для комфортной работы этой системы? Linux можно загрузить с одной дискеты, но от такой загрузки мало проку. Перечислены параметры оборудования, необходимого для успешной и эффективной работы Linux.
Критическая проблема - совместимость оборудования. Даже в мире Windows, где поставщики оборудования сопровождают любое новое изделие драйверами, проблема совместимости достаточно актуальна. Зачастую она стоит многих бессонных ночей тем, кто пытается запустить операционную систему в работу. В Linux подобные проблемы также не редкость, особенно при использовании оборудовании с ограниченной поддержкой или вовсе без таковой.
Что нужно для установки
Подумаем о том, какой именно компьютер вам нужен.
Linux можно устанавливать на самом разнообразном оборудовании, среди которого могут быть:
Безусловно, самая популярная платформа Linux - ПК на основе процессора Intel, обеспечивающие лучшее соотношение стоимости и эффективности. Именно на эту платформу ориентировано
большинство инструментальных средств Linux. Linux для Intel содержит наиболее полный набор драйверов периферийного оборудования огромное число программ (коммерческих и бесплатных), и на него ориентировано мощное сообщество пользователей Internet, способное оказать и помощь, и поддержку.
Поэтому книга ориентирована на Linux для компьютеров на основе процессоров Intel x86, и к ней прилагается диск CD-ROM с Linux Red Hat 7.1 для платформы Intel.
Минимальная конфигурация ПК для Linux
Операционная система Linux предъявляет к оборудованию удивительно умеренные требования. Он может работать на 386-м процессоре с 4 Мбайт оперативной памяти. Конечно, при этом придется мириться с некоторыми ограничениями:
При всех указанных ограничениях, подобная система может оказаться полезной в качестве:
Linux позволяет задействовать подобное старое оборудование более эффективно, чем DOS, так как сетевые средства DOS ограничены и не позволяют выполнять описанные выше серверные функции.
Если вы намерены поработать с минимальной системой Linux, посетите страницу Web Small Memory Mini HowTo (http: //www. linuxdoc.org/HOWTO/mini/ Small -Memory .html). Там можно найти ряд полезных советов об установке и запуске системы Linux с ограниченным объемом оперативной памяти.
Хороший ПК для Linux
Основное внимание в книге уделено применению Linux на персональных рабочих станциях или использованию в качестве небольших серверов intranet. Совершенно очевидно, что нет смысла устанавливать Windows на компьютере, описанном в предыдущем параграфе. Чтобы в полной мере воспользоваться возможностями системы, пользователь должен выделить для Linux достаточно мощный ПК.
По сравнению с Windows 98 или Windows NT/2000, Linux выполняет больше функций с использованием меньшего количества ресурсов. К примеру, для вполне работоспособной рабочей станции достаточно 486-го процессора с тактовой частотой 100 МГц и 16 Мбайт оперативной памяти. Такая система может поддерживать одновременно X Windows (графический интерфейс), доступ в Internet, Netscape Communicator и работать как небольшой сервер сети.
Тем не менее, среднему пользователю нужна более мощная система Linux. К приличной рабочей станции предъявляются следующие требования.
Процессор класса Pentium. Обычно, достаточно Pentium 133. Избегайте применения некоторых клонированных кристаллов, наподобие Cyrix 686, поскольку при их эксплуатации возможны затруднения. В целом системы на основе процессоров класса Pentium работают хорошо. Конечно, сейчас купить Pentium затруднительно, поэтому, возможно, придется установить Pentium IV, Celeron, Athlon, Duron или Itanium.
32 Мбайт - прекрасный объем оперативной памяти для рабочей станции средней мощности.
И все же, почувствуйте разницу, установив 64 Мбайт.
Жесткий диск емкостью 3 Гбайт. Достаточно и 1 Гбайт (или еще меньше), но диск большего объема предпочтительнее. С большими дисками система работает лучше. В некоторых случаях для установки всех компонентов Red Hat Linux 7.1 требуется, как минимум, 3 Гбайт.
Плата видеоадаптера. См. параграф, посвященный совместимости оборудования, далее в главе.
Этих ресурсов достаточно для работы Linux в настольной системе. Несмотря на ажиотаж вокруг обеспечения приличной скорости для Linux, в приобретении системы на основе процессора Pentium IV с тактовой частотой 1,7 ГГц нет никакой необходимости.
Дополнительные устройства
Безусловно, в современных условиях трудно воздержаться от реализации мультимедийных средств и доступа в Internet на своем компьютере. Несколько дополнительных устройств могут повысить эффективность системы Linux, поэтому подумайте о завершении комплектации рабочей станции.
Дисковод CD-ROM. Можно установить устройство типа IDEATAPI, но при наличии достаточных средств, предпочтительнее SCSI. Патентованные устройства, работающие с собственными интерфейсными платами или подключаемые к специальным интерфейсам на звуковых платах, лучше не использовать. Такие устройства сложно конфигурируются и плохо работают под управлением Linux.
Звуковая плата. Linux поддерживает большинство плат, совместимых с Sound Blaster. Подробности см. в параграфе о совместимости оборудования далее в главе.
Модем. К модему применимы те же правила, что и в Windows: следует выбирать самый скоростной модем, обеспечивающий подключение к провайдеру Internet (ISP) на максимальной скорости. Если провайдер не может обеспечить соединение со скоростью 56 Кбит/с, то нет смысла покупать модем, работающий на такой скорости. Одно замечание: в Linux лучше использовать внешние модемы. Это особенно справедливо по отношению к модемам ISDN. Встроенные модели этого типа имеют ограниченную поддержку Linux. Преимущество внешних модемов (ISDN или аналоговых) - в простоте конфигурирования и наличии индикаторов, облегчающих локализацию проблем при конфигурировании. Не рекомендуется также применять Windows-модемы (winmodem), использующие библиотеку драйверов Microsoft Windows (Linux полностью поддерживает только некоторые из них).
Если вы планируете применять Linux в качестве небольшого сервера intranet, то рассмотрите возможность установки следующего оборудования.
Плата SCSI. Интерфейс SCSI обеспечивает более эффективную работу жестких дисков, чем IDE, особенно при наличии нескольких дисков. Если вы планируете установить многопользовательскую систему (например, файловый сервер, Web-сервер или сервер приложений), то вам понадобится плата SCSI. Но сначала прочтите параграф, посвященный совместимости оборудования. Если возможно, выбирайте плату с поддержкой Ultra-Wide SCSI.
Жесткие диски SCSI. Назначение платы SCSI - взаимодействие с жесткими дисками SCSI. Предпочтительнее применять диски Ultra-Wide SCSI. Продумайте необходимость применения нескольких дисков. Если для хранения пользовательских данных, операционной системы и установленных программ требуется около 8 Гбайт дисковой памяти, можно установить два
диска по 4 Гбайт (один - для пользовательских данных, другой - для операционной системы и программного обеспечения). Разнесение программ и данных по разным дискам повышает эффективность системы за счет снижения нагрузки на каждый из них..
Лентопротяжка (стример). При эксплуатации сервера приходится периодически выполнять архивирование данных для их защиты от аварийных остановов системы и иных катастрофических событий. Для этого используют лентопротяжки, подключаемые к шине дисковода гибких дисков, но, если позволяют средства, лучше установить лентопротяжку SCSI. Эти лентопротяжки быстрее и имеют более надежную поддержку в Linux.
Проверка совместимости оборудования
Перед установкой Linux, как и перед установкой Windows (особенно Windows NT/2000), очень важно проверить совместимость элементов оборудования с операционной системой и друг с другом. Несовместимость может вызвать массу затруднений и затрат времени на отладку и реконфигурирование компьютера.
В сообществе Linux эта проблема приобретает особую остроту. Эта система пока не пользуется особой поддержкой производителей оборудования, не поставляющих драйверы Linux для своей продукции и не имеющих специалистов, готовых работать с пользователями над отладкой оборудования в среде Linux. Это означает, что работой устройств должны управлять драйверы, входящие в комплект конкретного дистрибутива или дополнительного программного обеспечения. При возникновении затруднений пользователь может рассчитывать только на помощь членов сообщества Linux.
Поэтому прежде, чем устанавливать операционную систему Linux или приобретать для нее оборудование, разумно провести небольшое исследование.
Запись сведений об оборудовании
После сборки ПК, предназначенного под Linux, следует собрать сведения, необходимые для обеспечения эффективной работы оборудования. В этом параграфе дан краткий обзор сведений, которые надо собрать, чтобы обеспечить эффективную работу оборудования под управлением Linux.
Платы видеоадаптеров
При установке Linux без X Windows (графический пользовательский интерфейс для систем Unix) выбор видеоадаптера, по всей вероятности, не вызовет затруднений. Однако к выбору видеоадаптера для X Windows следует отнестись серьезно. Необходима следующая информация о плате видеоадаптера:
Все эти сведения должны содержаться в документации на плату.
Звуковые платы
При установке звуковых плат важно точно ввести специфические сведения, наиболее важные из которых указаны ниже:
Иногда IRQ, адрес ввода-вывода и DMA приходится устанавливать вручную прямо на плате, с помощью перемычек или Миниатюрных переключателей.
Мониторы
Знание технических данных монитора так же важно для обеспечения успешной работы X Windows, как и знание параметров видеоадаптера. Ввод неверных данных может привести к повреждению монитора. (Сжечь современный монитор, задав неверную частоту видеосигнала трудно, а вот испортить зрение, глядя на изображение, мерцающее благодаря неверно выбранному режиму, - проще простого. - Прим. ред.) Изучив документацию, запишите следующие сведения:
Подробнее о диапазонах частот горизонтальной и вертикальной разверток, а также их роли в конфигурировании X Windows читайте в гл. 7.
Мышь
Чтобы заставить мышь работать как в текстовом режиме Linux, так и в среде X Windows, необходима следующая информация:
Жесткие диски
Если при установке Linux вы намерены провести разбивку диска, то вам понадобятся следующие сведения:
Обычно надобности в этой информации не возникает, так как Linux автоматически определяет параметры дисков во время загрузки. (Для IDE-дисков эти сведения всегда можно получить с помощью автодетектора BIOS. - Прим, ред.)
Модем
Для установки модема нужна следующая информация:
порт подключения внешнего модема (в терминологии DOS это порт СОМ1: или COM2 :) или конфигурирования встроенного (для него необходимо знать также IRQ и адреса ввода/вывода).
Сетевой адаптер
Для установки сетевого адаптера нужна следующая информация:
Некоторые сетевые адаптеры снабжены дисками с драйверами для среды Linux. Если таких драйверов нет, но адаптер совместим с адаптерами Novell 1000 или 2000, то можно использовать драйверы этих адаптеров.
USB
Некоторые Linux-дистрибутивы включают средства частичной поддержки USB, в первую очередь для клавиатуры и мыши. Речь идет о дистрибутивах S.u.S.E. 6.4, Red Hat 7.0, Mandrake 7.1 и Corel Linux Second Edition (и выше). На момент написания книги ядро Linux 2.2.x поддерживало USB только для статической конфигурации.
Но Red Hat 7.0 базируется на ядре 2.4.x, которое обеспечивает практически полную поддержку USB. Как видно из сведений, собранных в базе данных http: //www.qbik.ch/usb/devices, на определенном уровне поддержка USB обеспечивается почти для всех типов устройств: от модемов до Web-камер.
Если вас интересуют вопросы "подключения на ходу", в рамках которого можно подсоединять USB-устройства, не выключая компьютера, обратитесь на узел http: / Alinux-hotplug. sourcef orge. net. Здесь собраны загружаемые скрипты в rpm-формате, ориентированные на работу в Red Hat Linux.
Проблемы поддержки USB в среде Linux сейчас в центре внимания многих разработчиков. Если вам не удается установить ваши USB-устройства, используя выбранный дистрибутив, можете ознакомиться с проектом Linux USB по адресу http: //www. linux-usb.org, где доступны дополнительные драйвера и утилиты.
Другие периферийные устройства
Особых условий конфигурирования могут потребовать другие периферийные устройства, количество которых так велико, что нет смысла приводить подробный список. Подробные сведения о конфигурировании подобных устройств даны в тех разделах книги, в которых рассмотрены типы аппаратуры. Как правило, дополнительное оборудование, наподобие специализированных плат последовательного интерфейса, специализированного сетевого оборудования либо лентопро-тяжек, устанавливается и конфигурируется после установки Linux.
Если вы собираетесь устанавливать Linux в локальной-сети, то прочтите гл. 27, в которой описан выбор сетевой платы при установке Linux.
Выбор способа установки
Ввиду значительного объема дистрибутивов, Linux распространяется, как правило, на дисках CD-ROM. Практически любой дистрибутив можно загрузить из Internet, но - опять же, ввиду объема, - это доступно лишь пользователям, имеющим специализированное (выделенное) высокоскоростное соединение с Internet.
Таким образом, дисковод CD-ROM совершенно необходим для установки Linux, в том числе и дистрибутива Red Hat 7.1, прилагаемого к книге. Несмотря на теоретическую возможность установить Linux непосредственно из Internet, этот вариант не подходит большинству пользователей, так как требует больших затрат времени и денег.
Рассмотрим различные варианты установки Linux с прилагаемого диска CD-ROM. Все процедуры аналогичны процедурам установки других дистрибутивов Linux, распространяемых на CD-ROM. Об особенностях установки отдельных дистрибутивов можно узнать из прилагаемой к ним документации.
Установка с диска CD-ROM
Если на вашем компьютере установлено устройство CD-ROM IDE / ATAPI, a BIOS поддерживает возможность загрузки с накопителя CD-ROM, то можно загрузить компьютер с компакт-диска Linux, и уже затем начать установку.
Чтобы проверить возможности этого варианта, обратитесь к технической документации компьютера или материнской платы, или войдите в процедуру установки BIOS во время загрузки и проверьте, можно ли определить устройство CD-ROM как загрузочное. Если это возможно, поместите в дисковод компакт-диск с Linux Red Hat 7.1 и попытайтесь загрузить систему. После успешной загрузки на экране появится соответствующее сообщение, а затем - командная строка вида boot:.
Примечание
Даже если устройство CD-ROM сконструировано как загрузочное и установлено на ПК с поддержкой загрузочных CD-ROM, оно не всегда может служить таковым. Если у вас возникнут затруднения при попытке загрузки с диска, прилагаемого к книге, или собственного, попытайтесь провести установку с дискеты и CD-ROM, как описано в следующем параграфе.
Установка с дискеты и CD-ROM
Если на вашем компьютере есть дисковод CD-ROM, но вам не удается загрузиться с него, то лучший вариант - использовать для установки Linux сочетание дискет и диска CD-ROM. В этом случае загрузка системы выполняется с одной или нескольких дискет, последующая установка Linux - с компакт-диска.
Прежде надо выполнить несколько подготовительных операций. Для большинства дистрибутивов Linux требуется создание загрузочной дискеты и, возможно, одной или нескольких дополнительных. Все, что необходимо для этого, должно быть записано на диске CD-ROM с дистрибутивом Linux.
Для Linux Red Hat 7.1 нужны одна загрузочная и дополнительные дискеты, создаваемые на основе информации, содержащейся на диске CD-ROM Red Hat 7.1, по команде, вводимой в командной строке DOS (например, в окне DOS системы Windows).
Подкаталог Images диска Red Hat 7.1 содержит два файла - boot. img и bootnet. img -с образами дискет, используемых для установки Linux Red Hat 7.1 на локальном компьютере или через сеть. В этом же подкаталоге содержатся различные файлы с образами драйверных дискет для PCMCIA-адаптеров (pcmcia. img и pcmciadd. img), для старых моделей CD-ROM (oldcdrom. img) и другими драйверами (drivers . img). Каждый из этих образов переносится на чистую, отформатированную дискету емкостью 1,44 Мбайт с помощью утилиты rawrite. ехе.
Рассмотрим пример создания загрузочной дискеты для дистрибутива Red Hat, предполагая, что устройство CD-ROM установлено как диск D:
С:\>d:\dosutils\rawrite.exe
Enter disk image source file name:
d:\images\boot.img
Please insert a formatted diskette into drive A: and press -ENTER- :
Введите имя исходного файла с образом диска
Введите букву дисковода
Вставьте форматированную дискету в дисковод А: и нажмите ENTER
Дискета для сетевой установки создается аналогично, но в качестве исходного файла указывается d: \images\bootnet.img.
Загрузитесь с загрузочной дискеты и приступайте к установке Linux.
Установка с жесткого диска
Если на жестком диске достаточно свободного места, то можно скопировать на него все содержимое диска CD-ROM и выполнить установку с жесткого диска. Для выполнения установи! Red Hat Linux 7.1 с жесткого диска необходимо иметь ISO-образ диска CD-ROM представляющий собой единый файл, содержащий все файлы инсталляционного диска Red Hat Linux 7.1.
Есть два основных способа получения корректных ISO-образов. Во-первых, их можно загрузить непосредственно из Internet, например, с такого узла как ftp. redhat. com. Объем загружаемого образа соответствует размеру содержащегося в нем диска и составит около 650 Мбайт. Альтернативный способ состоит в самостоятельном создании ISO-образа установочного диска Red Hat Linux 7.1, используя команду mkisofs. Более подробно эта процедура рассмотрена в гл. 5.
Конечно же, имея доступ к устройству CD-ROM нет надобности в установке с жесткого диска. Это делается тогда, когда программа установки не может распознать устройство. Однако, при использовании драйверов, доступных в упомянутом выше файле oldcdrom. img, такая ситуация возникает крайне редко.
Подготовка жесткого диска
Приступая к установке Linux, необходимо принять несколько фундаментальных решений о размещении операционной системы на жестком диске (дисках). Лишь в условиях чрезвычайного везения возникает одна из следующих ситуаций.
К сожалению, большинству пользователей, намеревающихся установить Linux, приходится решать задачу сосуществования новой операционной системы с Windows и DOS, и переформатирование жесткого диска или раздела не входит в их планы.
Разбивка диска
Чтобы установить Linux, не уничтожая существующую операционнчто систему при отсутствии свободных жестких дисков или разделов, надо найти на жестком диске свободное место и отрегулировать его разбивку так, чтобы освободить раздел для установки. Как правило, для полной установки Linux требуется минимум 2 Гбайт, обязательно в одном разделе. В Windows каждый раздел представляется как отдельный диск (С, D, Е и т.д.), так что надо найти диск с как минимум 2 Гбайт свободного места.
Простая схема разбивки для Windows 98
Рассмотрим простой пример. У нас есть компьютер с одним жестким диском емкостью 12 Гбайт, разбитый на два раздела по 6 Гбайт, представленные в DOS как диски С и D. На диске D можно освободить до 3 Гбайт для установки Linux.
Перед установкой необходимо выполнить две операции.
Дефрагментация диска
Процесс дефрагментации диска в Windows 98 достаточно прост.
Есть два основных способа получения корректных ISO-образов. Во-первых, их можно загрузить непосредственно из Internet, например, с такого узла как ftp. redhat. com. Объем загружаемого образа соответствует размеру содержащегося в нем диска и составит около 650 Мбайт. Альтернативный способ состоит в самостоятельном создании ISO-образа установочного диска Red Hat Linux 7.1, используя команду mkisof s. Более подробно эта процедура рассмотрена в гл. 5.
Конечно же, имея доступ к устройству CD-ROM нет надобности в установке с жесткого диска. Это делается тогда, когда программа установки не может распознать устройство. Однако, при использовании драйверов, доступных в упомянутом выше файле oldcdrom. img, такая ситуация возникает крайне редко.
Подготовка жесткого диска
Приступая к установке Linux, необходимо принять несколько фундаментальных решений о размещении операционной системы на жестком диске (дисках). Лишь в условиях чрезвычайного везения возникает одна из следующих ситуаций.
К сожалению, большинству пользователей, намеревающихся установить Linux, приходится решать задачу сосуществования новой операционной системы с Windows и DOS, и переформатирование жесткого диска или раздела не входит в их планы.
Разбивка диска
Чтобы установить Linux, не уничтожая существующую операционную систему при отсутствии свободных жестких дисков или разделов, надо найти на жестком диске свободное место и отрегулировать его разбивку так, чтобы освободить раздел для установки. Как правило, для полной установки Linux требуется минимум 2 Гбайт, обязательно в одном разделе. В Windows каждый раздел представляется как отдельный диск (С, D, Е и т.д.), так что надо найти диск с как минимум 2 Гбайт свободного места.
Предупреждение
Red Hat не поддерживает fips.exe. Она защищена лицензией GPL, указывающей, что разработчики программы f ips. ехе не несут никакой ответственности, даже если вы корректно ее использовали и это привело к потере данных. Несмотря на то, что сам я много раз успешно пользовался этой утилитой, будьте осторожны: вы рискуете. Есть коммерческие программы управления разделами, такие как System Commander (www.v-com.com) и Partition Magic (www. power guest, com).
Утилита предназначена для сжатия существующего раздела за счет удаления части объема в его конце, из которого образуется новый раздел.
Программа f ips. ехе запускается в режиме эмуляции MS-DOS. Чтобы перейти в этот режим, в меню Start (Пуск) выберите команду Shut Down (Завершение работы) и установите переключатель Restart in MS-DOS Mode (Перезагрузить компьютер в режиме MS-DOS). Произойдет перезагрузка Windows 98 в полноэкранную среду DOS.
Предупреждение
Очень важное замечание: программу fips.exe нельзя запускать в окне DOS или полноэкранной эмуляции DOS в системе Windows 98. Дело в том, что, в отличие от DOS, Windows 98 допускает одновременное выполнение нескольких программ, и может возникнуть ситуация, при которой другая программа попытается получить доступ к области диска, обрабатываемой в это время утилитой f ips. ехе, что приведет к повреждению данных.
Перейдя в режим эмуляции DOS, запустите программу f ips . ехе. Если устройство CD-ROM представлено как диск Е, то команда запуска будет иметь вид: с:\>е:\dosutils\fips20\fips.exe
Сразу после запуска программа fips.exe выводит на экран таблицу разделов. В предыдущем примере с разбивкой диска на два раздела эта таблица выглядит примерно так:
Partition table:
Part. |
1 bootable | Head |
Start Cyl. |
1 Sector | System | Head |
End Cyl. |
1 Sector | |
Start Sector |
Number of | Sectors ] MB |
||||
1 | yes 2 no |
1 1 |
1 0 |
0 223 |
H 1] |
06h| 254 05h 254 \ |
222 286 |
63 | 63 | |
63 | 3582432 .3582495 1028160 |
1749 502 |
Переведенный пример
Таблица разделов:
I | Начало I I Разд. |системн. | Гол. Цил. Сектор | Сист. |Гол. |
Конец | Начало | Количество | Цил. Сектор! Сектор [Секторов | MB |
||||||
2 |
да нет |
101 0 223 1 |
06п| 254 05h 254 |
222 63 286 63 |
63 3582495 |
3582432 1028160 |
(1749 | 502 |
В большинстве систем отождествление разделов несложно: раздел 1 представляется как диск С. раздел 2 - как D и т.д. Если возникнут затруднения, можно определить соответствие по объему, указанному в последнем столбце.
Далее последует предложение выбрать раздел. В нашем примере это раздел 2, поскольку меняется разбивка диска D. Программа сканирует выбранный раздел и выводит результат на экран:
Bytes per sector: 512 |
(Байт на сектор) |
Sectors per cluster: 8 |
(Секторов на кластер) |
Reserved sectors: 1 |
(Зарезервированных секторов) |
Number of FATs : 2 |
(Число FAT) |
Number of rootdirectory entries: 512 |
(Число элементов корневого каталога) |
Number of sectors (short) : 0 |
(Число секторов (коротких)) |
Media descriptor byte: f8h |
(Дескриптор носителя) |
Sectors per FAT: 145 |
(Секторов на FAT) |
Sectors per tra&c: 63 |
(Секторов на дорожку) |
Drive heads : 16 |
(Дисковых головок) |
Hidden sectors: 63 |
(Скрытых секторов) |
Number of sectors (long) : 141057 |
(Число секторов (длинных)) |
Physical drive number: 80h |
(Номер физического диска) |
Signature: 29h |
(Сигнатура) |
Предположим, в конце выбранного раздела есть свободное место. Программа спросит, по какому цилиндру разбить раздел. Выбор цилиндра осуществляется с помощью клавиш со стрелками вправо и влево. По мере смены цилиндра на экран выводится объем разделов в Мбайт, что позволяет установить нужный объём нового раздела. Программа f ips. exe не позволит разбить раздел так, чтобы часть данных попала в новый раздел.
Далее на экран выводится новая таблица разделов с предложением подтвердить правильность разбивки. Если обратиться все к тому же примеру, теперь мы должны иметь три раздела, из которых третий - только что созданный, а второй имеет меньший объем, чем прежде.
Совет
Для предотвращения ошибок, копируйте файлы fips.exe, restorrb.exe и errors.txt из подкаталога dosutils диска Red Hat на загрузочную дискету. Когда на экране появится предложение создать на дискете резервные копии загрузочного и корневого секторов, ответьте Yes (Да). Если возникнет необходимость восстановления системы после сбоя, можно будет загрузиться с дискеты и, запустив программу restorrb.exe, восстановить загрузочный и корневой секторы в первоначальном виде.
Что дальше
Мы подготовились к установке Linux и можем к ней приступать.
В гл. 4 приведена базовая установка Linux с описанием каждого экрана программы установки и рекомендациями по принятию решений.
В гл. 5 рассмотрены некоторые особые ситуации, в том числе установка Linux на несколько жестких дисков или в существующий раздел DOS.
Глава 4. Установка Linux Red Hat 7.1
Вот мы и добрались до цели - начинаем установку Linux. Вы уже умеете загружаться с диска CD-ROM Linux Red Hat 7.1 либо имеете набор загрузочных дискет для Linux. И, конечно же, вы уже решили, куда будете устанавливать Linux и нашли для этого свободное место.
Итак, приступим. Программа установки может задать ряд вопросов, которые покажутся пользователю не вполне понятными, если до этого ему не приходилось иметь дело с подобной операционной системой. Однако в целом процесс достаточно прост, а наиболее трудные решения принимаются самой программой установки.
Для среднего пользователя, устанавливающего Linux как вторую операционную систему после Windows 95/98/Ме, процесс оказывается довольно прямолинейным, хотя и с парой-тройкой крутых поворотов. Хотя эта глава посвящена установке Linux Red Hat 7.1, изложенные в ней принципы справедливы для последних версий большинства дистрибутивов Linux.
Запуск процесса установки
В главе рассмотрен самый простой вариант установки Linux - с устройства CD-ROM на отдельный ПК, не включенный в сеть.
Но вначале надо решить, с какого устройства загрузиться, чтобы начать установку. Как уже говорилось в предыдущей главе, возможны следующие варианты.
Поместите в накопитель загрузочный диск (дискету или CD-ROM) и включите компьютер. Когда начнется загрузка операционной системы, появится исходный экран (рис. 4.1). Возможны три варианта продолжения процесса.
Примечание
По сравнению с текстовым режимом установки, описанным выше, два следующих режима гораздо ближе к обычному процессу установки в графической среде.
Примечание
Как правило, программа установки верно опознает оборудование, поэтому начните установку в первом варианте, просто нажав Enter. Если в течение минуты не нажимать ни одной клавиши, программа автоматически начнет установку в первом режиме (как после нажатия Enter без каких-либо параметров). Для блокировки автоматического запуска установки, нажмите одну из клавиш (F1—F5). Это даст дополнительное время для принятия решения.
Конфигурирование системы для установки
Процесс установки состоит из нескольких этапов, которые мы и рассмотрим по порядку. Но прежде научимся управлять процессом установки с клавиатуры.
Управление с клавиатуры
Обычно на экране программы установки находится несколько элементов, среди которых текстовые поля, флажки и кнопки.
Переход с одного элемента на другой осуществляется нажатием клавиши Tab (в обратном направлении - Shift+Tab). Для перемещения между полями можно воспользоваться клавишами со стрелками.
Чтобы установить или сбросить флажок, перейдите на него (сделайте активным) и нажмите клавишу пробела. Чтобы нажать кнопку, поместите на нее курсор с помощью клавиши Tab или клавиш со стрелками, затем нажмите клавишу пробела или Enter. Для кнопки ОК, вместо кла-виши пробела или Enter, можно воспользоваться клавишей F12. Конечно, если программа установки распознала у вашего компьютера мышь, то щелчок левой кнопкой мыши на выбранном элементе работает привычным образом. В оставшейся части главы предполагается, что мышь в программе установки не работает.
Выбор языка
После запуска программы установки появляется исходный экран, за ним следует экран приветствия, а затем открывается первый экран процесса установки - выбор языка. Речь идет о выборе только языка для процесса установки. Выбор языка интерфейса самой системы описан далее в этой главе.
Н а этом экране расположен список возможных языков и кнопка Next (Далее). Переместив курсор на список, можно листать его клавишами со стрелками или Page Up и Page Down, чтобы выделить нужный язык. На указанном языке будет выводиться информация в процессе установки. Не следует путать этот язык с языком самой операционной системы и раскладкой клавиатуры, выбираемыми позже.
Выбор типа клавиатуры
На следующем экране приведены списки для выбора типа и раскладки клавиатуры. Если модель вашей клавиатуры отсутствует в списке типов, по умолчанию выбирается Generic 104-ke\ PC. Приведенные в списке раскладки соответствуют различным языкам и диалектам. В США следует выбирать US English. Часто используемые коды перечислены в табл. 4.1 и 4.2.
Табл. 4.1. Некоторые типы клавиатуры
Тип |
Описание |
Dell 101-key PC Japanese 106-key Microsoft Natural Winbook Model XPS |
Несколько моделей PC-клавиатур фирмы Dell Клавиатура с японскими символами Клавиатура Microsoft Natural (разделяемая) Специальная клавиатура Winbook Model XP5 |
Результаты выбора можно проверить в нижней части экрана, в текстовом поле Test Your Selection Here (Проверьте выбор здесь). Обязательно выполните проверку, если сомневаетесь в правильности выбора.
Табл. 4.2. Некоторые раскладки клавиатуры
Раскладка |
Описание |
Brazilian Canadian German Swiss German |
Бразильская (португальская) Канадская (английская) Немецкая Швейцарская (немецкая) |
Примечание
Если у вас специфическая клавиатура, отсутствующая в списке выбора в стандартном режиме установки Red Hat Linux 7.1, повторно запустите установку в текстовом режиме. Red Hat Linux 7.1 поддерживает около 80 различных моделей клавиатур в этом режиме.
Конфигурирование мыши
После конфигурирования клавиатуры программа установки приступает к конфигурированию мыши. Сначала программа установки пытается определить тип мыши и сообщает о результатах. После этого на экран выводится список возможных типов мыши, из которых надо выбрать нужный (если автоматическое определение типа мыши было успешным, соответствующий тип в списке окажется выделенным). Если тип вашей мыши отсутствует в списке, выберите мышь наиболее похожего типа. При необходимости обратитесь к документации, чтобы выяснить тип своей мыши.
Если мышь двухкнопочная, обязательно установите флажок эмуляции трехкнопочной мыши. Как и все операционные системы Unix, Linux предполагает использование трехкнопочной мыши Эмуляция приводит к тому, что одновременное нажатие двух кнопок воспринимается системой как нажатие средней кнопки мыши. Этот режим не является необходимым, но позволяет улучшить интерфейс в X Windows.
Примечание
Если у вас мышь с колесом скроллинга, нажмите его. Если при этом слышен щелчок, Linux сможет распознать это колесо как третью кнопку. В этом случае эмулировать ее не надо.
Необходимо также определить интерфейс мыши: PS/2 (круглый разъем), последовательный (девятиконтактный трапецевидный разъем) или USB (маленький прямоугольный разъем). Если у вас последовательная мышь, то необходимо выбрать порт мыши, обычно СОМ1: или COM2 :.
Установка или обновление версии?
После выбора и конфигурирования мыши, надо выбрать один из четырех вариантов установки. Кроме того, если на этом компьютере уже установлена система Linux, то следует указать, будет ли это обновление (Upgrade) существующей версии Linux или установка новой копии Linux Red Hat. Если вы хотите выполнить обновление без уничтожения конфигурационных файлов, следует пользоваться дистрибутивом той же фирмы. Версии многих дистрибутивов имеют похожие опции, но организация окон программ установки различна.
После выбора установки Linux (а не обновления версии) надо указать класс установки. Возможны четыре варианта.
Workstation (Рабочая станция). Выполняется стандартная установка рабочей станции Linux. При установке автоматически стираются все существующие в системе разделы Linux. Требует не менее 1,2 Гбайт свободного места на жестком диске.
Server (Сервер). Выполняется стандартная установка сервера Linux. Автоматически стираются все существующие в системе разделы, в том числе и не принадлежащие Linux. Требует не менее 650 Мбайт свободного места на жестком диске.
Laptop (Портативный компьютер). Установка похожа на установку Workstation и используется по умолчанию при установке на портативный компьютер. Включает ряд пакетов, необходимых на портативных компьютерах, в частности, PCMCIA-драйверы. При установке автоматически стираются все существующие в системе разделы Linux. Требует не менее 1,2 Гбайт свободного места на жестком диске.
Custom (Установка пользователя). Пользователь может управлять всеми аспектами установки. По умолчанию требует не менее 700 Мбайт свободного места на жестком диске.
Чтобы полнее изучить особенности установки Linux Red Hat, в данной главе, а также в гл. 5, 27 и 31 рассмотрен четвертый вариант установки - Custom.
Разбивка диска
Теперь надо решить, как распределить место на диске для установки Linux. Это очень важное решение, к принятию которого надо отнестись с большой осторожностью, поскольку ошибка может привести к удалению нужных данных.
Предположим, Linux устанавливается на компьютер с одним жестким диском, на котором образована непрерывная область свободного объема (желательно, больше 1 Гбайт), готовая для установки Linux (см. гл. 3).
Выберем инструмент для разбивки диска. Вариантов два - Disk Druid и f disk.
Fdisk - стандартный инструмент разбивки диска для Linux, входящий практически в каждый дистрибутив. Это не самая удобная программа, особенно для тех пользователей Linux или Unix, которые решили воспользоваться ею впервые.
Предупреждение
Будьте очень внимательны: неосторожное использование fdisk может привести к потере всех ваших данных. Кроме того, следует иметь ввиду, что программа f diski входящая в Linux сильно отличается от fdisk, входящей в MS DOS. В Linux программа fdisk позволяет использовать множество опций (см. гл. 5).
Чтобы упростить задачу, в дистрибутив Linux Red Hat 7.1 входит другая программа разбивки - Disk Druid. Мы будем ориентироваться на применение именно этой программы, благодаря которой установка Linux становится проще и доступнее для новичков. Нажатие кнопки Disk Druid приводит к открытию главного экрана программы.
Экран разделен на три части: Partitions (Существующие разделы), ряд кнопок и Drive Summary (Описание диска).
В области Partitions каждый раздел системы представлен отдельной строкой с указанием следующих сведений.
Mount Point (Точка установки). Указывает расположение раздела в структуре каталогов Linux. Все каталоги Linux являются подкаталогами корневого каталога, обозначаемого косой чертой (/), поэтому их имена начинаются именно с нее, например, /home, /opt или /usr/xllR6 (Пользователи DOS и Windows! Обратите внимание: используется не обратная (\), а прямая (/) косая черта. - Прим. ред.). Естественно, минимальная структура каталогов состоит из одного раздела /. Если установить дополнительный раздел Linux как подкаталог, в системе станет два каталога. Например, при установке нового раздела как /usr любые данные, записываемые в подкаталог /usr, окажутся в разделе /usr, остальные - в разделе, установленном как корневой каталог. Чтобы ограничить размер каталога или выделить ему область точно указанного размера, можно смонтировать каталог с ограничением объема. Главное назначение стандартных каталогов Linux Red Hat высшего уровня:
/bin - содержит стандартные системные утилиты;
/boot - содержит ядро, загрузчик, карты памяти и описание модулей. Обычно создается в отдельном разделе;
/dev - содержит драйверы устройств;
/home - содержит исходные каталоги пользователей;
/mnt - содержит файловые системы, смонтированные как временные, например,
/mnt/cdrom или /mnt/ floppy;
/opt - содержит дополнительное программное обеспечение; /sbin - содержит стандартные инструменты администрирования;
/usr - содержит дополнительные системные программы и инструменты администрирования;
/var - содержит файлы протоколов (log files) и буферные файлы принтеров (print spools). Обычно он монтируется с ограничением размера на Web-серверах, поскольку в противном случае log-файлы легко "затопят" все свободное пространство в разделе;
/etc - содержит администраторские и конфигурационные файлы. Находившиеся ранее здесь командные утилиты должны быть перенесены в разделы /bin и /sbin.
Device (Устройство). Указывает имя устройства в системе Linux для каждого раздела. Имя диска IDE имеет вид hdx, где х принимает значения а (первичный ведущий диск), b (первичный ведомый), с (вторичный ведущий) и d (вторичный ведомый). Следовательно, в системе с одним жестким диском IDE ему присваивается имя hcla. Имена жестких дисков SCSI имеют вид sdx, где х принимает те же значения, что и для дисков IDE. Разделы обозначаются последовательными числами, начиная с hdal (раздел 1 диска hda). Обычно разделы с 1 по 4 - первичные, 5 и выше - расширенные и логические, характерные для многих систем DOS. На рис. 4.4 показан диск с разделами Linux для загрузочного каталога (hdal), корневого каталога (hda5) и для файла подкачки (hda6).
Requested (Затребовано). Указывает минимальный объем раздела в Мбайт.
Actual (Фактически). Указывает фактический объем (Мбайт), распределенный для данного раздела. Программа Disk Druid позволяет создавать наращиваемые разделы Linux, объем которых можно увеличивать по мере необходимости и при наличии свободного места на диске. В разделах DOS затребованный и фактический объемы совпадают. Туре (Тип). Указывает тип раздела: Linux native (раздел Linux), Linux swap (раздел подкачки Linux), Linux RAID (раздел Linux RAID), DOS 16-bit<32M (16-разрядный раздел DOS с размером менее 32 Мбайт) и DOS 16-bit>=32M (16-разрядный раздел DOS с размером не менее 32 Мбайт). Хотя вы и не можете в программе Disk Druid создать разделы типа FAT32 и NTFS, но они распознаются здесь.
Далее расположен ряд из пяти кнопок. Кнопка задания Add (Добавить) предназначена для создания разделов Linux, Edit (Изменить) - для обеспечения доступа из Linux к существующим данным DOS и Windows. Можно удалить раздел, используя кнопку Delete (Удалить). Чтобы начать сначала, воспользуйтесь кнопкой Reset (Сброс). Кнопка Make RAID Device (Создать RAID-устройство) позволяет распределить данные по нескольким независимым разделам с целью повышения скорости доступа и улучшения надежности.
В следующей области главного экрана - Drive Summary - выведена информация о жестких дисках. Каждый диску соответствует одна строка, в которой перечислены следующие сведения.
Drive (Диск). Имя жесткого диска, формат которого мы рассмотрели ранее.
Geometry (Геометрия). Число цилиндров, головок и секторов (именно в таком порядке).
Total (Всего). Полная емкость диска в Мбайт.
Free (Свободно). Свободный объем на диске в мегабайтах.
Used (Заполнено). Указывает объем части диска (Мбайт), распределенной под разделы. Это означает суммарный объем разделов диска. Разделы могут оставаться незаполненными, но распределенный им объем уже нельзя предоставить другим разделам. Значение должно быть больше нуля. Чтобы продолжить установку, нужно более 1 Гбайт (для создания раздела Linux). Если на диске нет свободного места, то обратитесь к гл. 3, в которой рассмотрено распределение места на диске для установки Linux.
Used (%) (Заполнено в %) . Указывает объем части диска (в %), распределенной под разделы. Если величина менее 100 %, то можно добавлять разделы.
В нижней части расположены три кнопки: кнопка Hide Help (Скрыть справку), кнопка Back (Назад) и кнопка Next (Далее). Кнопка Hide Help (Скрыть справку) позволяет скрыть расположенное в левой части экрана поле справки. Кнопка Back (Назад) дает возможность вернуться к предыдущему экрану. Кнопка Next (Далее) предназначена для перехода к следующему меню. Эта кнопка становится доступной только если разделы корректно сконфигурированы для установки Linux.
Создание раздела
Чтобы создать раздел, щелкните на кнопке Add в главном экране программы Disk Druid. Откроется экран для ввода следующей информации.
Кнопкой Add придется воспользоваться как минимум для создания следующих разделов:
Раздел подкачки. Для подкачки в Linux используется отдельный раздел. Подкачка - расширение физической оперативной памяти при переполнении последней за счет области диска, называемой виртуальной памятью. Минимальный объем раздела подкачки равен объему физической оперативной памяти, но при наличии свободного места на диске следует выделить вдвое больше. Следовательно, при объеме оперативной памяти в 32 Мбайт, раздел подкачки должен быть ot 32 до 64 Мбайт (тип Linux Swap). Точка установки не указывается, флажок Use Remaining Space должен быть сброшен.
Примечание
В Red Hat Linux 7.1 раздел подкачки должен быть не менее 32 Мбайт. В классах установки Workstation или Laptop программа установки автоматически выделяет 64 Мбайт для раздела подкачки. Для класса Server под раздел подкачки резервируется 256 Мбайт.
Корневой раздел. Мы рассматриваем установку Linux в два раздела (установка в несколько разделов или на несколько дисков рассмотрена в гл. 5). Для этого необходимо создать еще один раздел. Этот раздел, объемом не менее 1 Гбайт, необходимо создать, присвоив ему тип Linux Native, определив точку установки / и, возможно, установив флажок Use Remaining Space, чтобы обеспечить возможность наращивания объема. (Корневой раздел можно создавать только на дисках, подключенных к первичному IDE. - Прим, ред.)
Загрузочный раздел. Если позволить программе установки распределить разделы автоматически, то загрузочный раздел будет создан по умолчанию. В нем располагаются необходимые для работы Red Hat Linux 7.1 компоненты: ядро, карта системы, список адресов периферийных устройств. В большинстве Linux-систем загрузочный раздел расположен до 1024-го цилиндра диска. Но использование fdisk для распределения разделов позволяет обойти это ограничение, задав параметр lbа32 при установке LILO позже.
Редактирование раздела
Чтобы отредактировать существующий раздел, выделите его в списке и щелкните на.кнопке Edit. Откроется окно, аналогичное окну создания раздела, но с полями, заполненными значениями параметров редактируемого раздела.
Если на диске существуют разделы DOS, можно обеспечить доступ к ним, определив точки установки. Чтобы задать точку установки для раздела DOS, выделите его, щелкните на кнопке Edit и введите точку установки в соответствующее поле.
Единственный раздел DOS можно установить, например, как /dos. При наличии двух разделов DOS, представляемых в DOS и Windows как диски С и D. можно определить точки установки, соответственно, /dose и /dosd (или /с и /d).
Удаление раздела
Если при создании раздела подкачки и корневого раздела Linux вы доплетите ошибку (например, задав слишком большой объем разделу подкачки или слишком маленький - корневому), можете удалить разделы, а затем создать их заново. Чтобы удалить раздел, выделите его в списке и нажмите кнопку Delete.
Предупреждение
Будьте очень внимательны при удалении разделов, чтобы случайно не удалить раздел, существовавший до установки Linux и содержащий важные данные или программы, которые следовало бы сохранить.
Сброс
Чтобы сделать очередную попытку распределения разделов, начав сначала, нажмите кнопку Reset. Таблица разделов восстановится в том виде, который она имела перед началом работы Disk Druid.
Создание RAID-устройства
При установке серверной конфигурации Linux предусматривается использование компьютера многими пользователями. Задача сохранения данных при этом приобретает особую значимость. Надежность системы хранения данных можно повысить, распределив данные по нескольким носителям, объединенным в массив дисков с избыточностью RAID (Redundant Array of Independent Disks). Создав ряд RAID-разделов, можно затем объединить их кнопкой Make RAID Device.
Продолжение
Итак, создание и конфигурирование завершено. Для продолжения щелкните на кнопке Next.
Форматирование разделов Linux
Следующий этап - форматирование разделов Linux перед установкой. На экран выводится список разделов типа Linux Native с указанием точек установки. У каждого нового раздела должен быть установлен флажок, указывающий необходимость форматирования.
Все новые разделы типа Linux Native должны быть форматированы. Не устанавливайте флажок форматирования разделам, существовавшим до начала установки (что маловероятно, если вы устанавливаете Red Hat впервые) и содержащим данные, которые следует сохранить.
Можно задать проверку на наличие поврежденных участков при форматировании. .Это полезно, особенно если диск новый.
Установка LILO
LILO - загрузчик Linux. Для правильной загрузки системы загрузчик LILO необходимо зафузить и сконфигурировать. Еще одно его назначение - двойная загрузка, при которой вместо Linux можно загрузить Windows или DOS (если они были установлены). Это обеспечивает доступ из Linux в указанные системы.
В процедуре установки LILO можно выделить четыре шага. Начать следует с выбора места установки загрузчика: на жестком диске или на загрузочной дискете.
При установке LILO на жесткий диск (в нашем примере следует поступить именно так) для этого можно использовать главную загрузочную запись (рекомендуется) или первый сектор корневого раздела. Если дополнительная операционная система - OS/2 или Windows NT/2000, имеющие собственные загрузчики, то рекомендуется использовать загрузчик Partition Magic или System Commander. Если такой загрузчик есть, то LILO для этой цели вообще не нужен; в этом случае следует устанавливать LILO в загрузочный раздел.
Предупреждение
Если сейчас не установить LILO, то для загрузки Linux придется пользоваться только что созданной загрузочной дискетой. Настоятельно советую не откладывать установку LILO.
Большинство жестких дисков используют линейную организацию доступа. Если жесткий диск компьютера конфигурирован на адресацию по логическим блокам (LBA - справьтесь в BIOS), установите флажок Use Linear Mode (Использовать линейный режим).
В оставшейся части экрана перечислены все разделы с операционными системами. Установка флажка Default Boot Image (Загрузочный раздел по умолчанию) дает возможность задать систему (обычно Linux или Microsoft Windows), которая будет загружаться по умолчанию. Метка загрузочного-раздела (Boot label) - это имя, которое необходимо указать для загрузки соответствующей операционной системы.
Конфигурация сети
Следующий этап - конфигурирование сети. Поскольку в данной главе мы рассматриваем установку Linux на отдельный компьютер, отмените его (опцией Not (Нет)). Подробно процесс конфигурирования сети рассмотрен в гл. 27.
Конфигурация брандмауэра
На следующем этапе следует сконфигурировать брандмауэр. Поскольку в данной главе мы рассматриваем установку Linux на отдельный компьютер, отмените его (опцией Not (Нет)). Подробно процесс конфигурирования брандмауэра рассмотрен в гл. 31.
Выбор языка интерфейса Linux
Теперь можно выбрать тот язык, который будет использоваться интерфейсом Red Hat Linux 7.1 во время работы (после завершения установки). В системе можно выбрать один из 104 языков и диалектов. Если вы испытываете недостаток в дисковом пространстве, то выбирайте только те языки, которые действительно будут нужны в работе. Выбор все доступных языков приведет к тому, что на диске будет дополнительно занято 135 Мбайт.
Конфигурирование часового пояса
Займемся конфигурированием часов компьютера и выбором часового пояса. Здесь необходимо принять два решения.
Во-первых, надо выбрать время, которое будут показывать системные часы - местное или среднее по Гринвичу (GMT), которое обозначается также UTC. Если вы устанавливаете на отдельный компьютер только Linux, укажите UTC. Linux Red Hat сам преобразует время по Гринвичу в местное время данного часового пояса. Однако если Linux придется сосуществовать на ПК с другими операционными системами, то лучше установить системные часы на местное время.
Во-вторых, необходимо указать часовой пояс, в котором расположен компьютер, выбрав нужный из списка.
Конфигурирование учетных записей
Linux - многопользовательская операционная система, для работы которой требуется как минимум один пользователь. Во всех системах предполагается наличие корневого (root) пользователя, поэтому на экране появляется командная строка для ввода его пароля (для подтверждения пароль придется ввести повторно). Корневой пользователь - это всемогущий системный администратор. (Иногда такого пользователя называют привилегированным. - Прим, ред.) Войдя в систему как корневой пользователь, можно просматривать файлы всех пользователей, выполнять любые задачи системного администрирования, а если вдруг взбредет в голову, то и удалить все файлы в системе. Учетная запись корневого пользователя предоставляет огромные возможности, поэтому пароль следует хранить в тайне.
Можно создать учетные записи отдельных пользователей, указывая их имена и пароли. В поле Full Name (Полное имя) вводится справочная информация.
Аутентификационные параметры
После установки пароля наступает черед аугентификационных параметров. На экране расположены пять флажков, устанавливаемых по отдельности и не исключающих друг друга.
Enable MD5 Passwords (Разрешение паролей MD5). Как правило, в системах Unix используются довольно слабые схемы шифрования паролей. Установка этого параметра приводит к использованию в системе Linux более жесткой схемы шифрования паролей пользователей, хранящихся на диске. По умолчанию, флажок установлен.
Use Shadow Passwords (Использование теневых паролей). Теневые пароли используются для того, чтобы затруднить взломщику или обычному пользователю кражу пользовательской базы данных с последующей попыткой взлома пароля администратора системы. По умолчанию, флажок установлен.
Enable NIS (Включить сетевую информационную службу). Это метод аутентификации, применяемый во многих сетях Unix, особенно на основе серверов Sun Solaris. Можно задать имя домена группы компьютеров в этой сети или указать специальный сервер, где хранятся - NIS-имена и пароли пользователей. По умолчанию, флажок сброшен.
Enable LDAP (Включить облегченный протокол доступа к сетевому каталогу). Протокол Lightweight Directory Access Protocol (LDAP) устанавливается для специальных каталогов пользователей. Если вы-знаете имя LDAP-сервера вашей сети, можете разрешить этот протокол. По умолчанию, флажок сброшен.
Enable Kerberos (Включить Kerberos). Система безопасности Kerberos использует шифрование паролей при передаче по сети. Она предполагает доступ к серверу, который предоставляет специальные квитанции, используемые как ключи при шифровании. Не устанавливайте этот флажок, пока вы не решили перевести все Linux-службы на данный протокол. По умолчанию, флажок сброшен.
Если у вас нет основательного понимания назначения этих параметров или столь же основательных причин изменить их, оставьте значения по умолчанию.
Выбор пакетов
Итак, жесткие диски сконфигурированы, разделы Linux отформатированы, пора приступать к установке собственно программного обеспечения. Стандартная установка предполагает полную установку ядра, но есть еще несколько дополнительных компонентов.
Каждый компонент - это набор пакетов, предназначенных для решения конкретной задачи, -например, телефонных соединений, просмотра Web-страниц и т.п. Можно заказать установку каждого компонента отдельно, установив соответствующие флажки, либо всего набора компонентов, для чего устанавливается флажок в строке Everything (Все). Этот флажок находится в самом конце списка.
Установка флажка Select Individual Packages (Выбор отдельных пакетов), расположенного под списком компонентов, позволяет задать установку отдельных пакетов внутри каждого компонента. Впрочем, этот вариант - не для новичка, устанавливающего Linux впервые. Сброс этого флажка означает полную установку каждого выбранного компонента.
Если на диске достаточно свободного места (более 3 Гбайт; еще лучше - 4 Гбайт), то следует выбрать установку всех компонентов, что означает полную установку Linux Red Hat 7.1. Обратите внимание, что полный объем установки (Total Install Size) указан в нижней части окна. Если места на диске не в избытке, продумайте вариант установки следующего минимального набора компонентов:
Если у вас достаточно места на диске установите наряду с GNOME также и KDE, что позволит вам изучить главу 11. Если выбрана установка X Windows, то потребуется конфигурирование видеокарты и монитора. В противном случае можно переходить непосредственно к установке, как описано в конце следующего параграфа.
Примечание
Если вы выберете в списке пакетов и другие компоненты (кроме минимального набора), то вам может потребоваться второй установочный CD-ROM Red Hat Linux 7.1. Хотя этот диск в книге отсутствует, его можно получить на узле www. redhat. com или на таких узлах, как www.cheapbytes.com и www.linuxmall.com.
Конфигурирование X Windows
X Windows - графический пользовательский интерфейс Linux (GUI) - подробно рассмотрен в гл. 7. Мы же кратко опишем процесс конфигурирования этого интерфейса. Процесс этот может быть достаточно сложным, поэтому ему посвящена целая глава, до изучения которой и следует отложить решение всех проблем.
Вначале на экран выводится список типов монитора. Выберите его (если нужный тип недоступен, то выберите Unprobed Monitor (Неизвестный монитор)) или отложите решение до гл. 7. Помните: ошибка в определении типа монитора может привести к его повреждению (Во всяком случае, к дискомфорту для пользователя. - Прим. ред.). Тип монитора необходимо указать точно.
Затем программа установки пытается определить тип платы видеоадаптера. Если это ей не удается, на экран выводится список известных плат, из которого надо выбрать наиболее подходящую. Если не удается найти ни одной, выберите стандартную VGA (Standard VGA) отложите конфигурирование X Windows до чтения гл. 7. Далее указывается объем видеопамяти. Точное значение можно найти в документации, прилагаемой к плате видеоадаптера. Сделав выбор, вы можете проверить его соответствие реальным параметрам системы, нажав кнопку Test This Configuration (Проверить эту конфигурацию).
Установив опцию Customize X Configuration (Настроить Х-конфигурацию), можно выбрать разрешающую способность X Windows на мониторе (как видеорежим Video Modes). Опция Graphical Login (Графика при загрузке) позволяет заказать использование графического режима при входе в систему. Чтобы отложить конфигурирование графики до завершения установки, установите опцию Skip X Configuration (Пропустить Х-конфигурирование).
Примечание
В некоторых дистрибутивах, включая прошлые версии Red Hat Linux далее выводится список, из которого надо выбрать генератор тактовых импульсов видеоплаты. Если плата без генератора, укажите No Clockchip (Генератор тактовых импульсов отсутствует). Не пытайтесь угадывать. Если вы точно не знаете, отложите конфигурирование до изучения гл. 7.
Базовое конфигурирование завершено. После щелчка на кнопке Next (Далее) появится предупреждение о том, что система приступает к установке. Большинство дистрибутивов протоколирует процесс установки. Red Hat Linux 7.1 (как и некоторые другие дистрибутивы) сохраняет этот протокол в файле /tmp/ ins tall. log. Щелкните на кнопке Next (Далее), чтобы начать установку.
Установка
Собственно установка выполняется автоматически без вмешательства пользователя. На экран выводится индикатор, позволяющий оценить время, необходимое для завершения процесса установки. В ходе установки программного обеспечения на экран также выводятся сведения о выполняемой операции, т.е. об устанавливаемом программном компоненте, числе оставшихся компонентов и общем их объеме.
Создание загрузочной дискеты
После завершения установки программного обеспечения Linux, выполняется завершающий шаг процедуры: создание загрузочной дискеты. Создав ее, вы поступите мудро, поскольку это позволит загружаться после отказов операционной системы для устранения неполадок. Приготовьте чистую отформатированную дискету, вставьте ее в дисковод, как рекомендуется на рис. 4.7 и нажмите Next (Далее).
Установщик Red Hat Linux 7.1 копирует на дискету загрузочные файлы. Как только копирование закончено, процедура установки завершается.
Перезагрузка системы
Программа установки предложит удалить все дискеты из дисководов и перезагрузить систему. Некоторые дистрибутивы Linux автоматически выбрасывают установочный CD-ROM. Если он остался в накопителе, извлеките его сами перед перезагрузкой. Если Linux указан как операционная система, загружаемая по умолчанию, то будет загружен именно он. В течение 5-секундной паузы, предоставляемой загрузчиком, можно указать загрузку другой системы.
Если на компьютере установлено несколько операционных систем, то воспользуйтесь навигационными кнопками, чтобы выбрать из этих систем нужную. После выбора Linux для загрузки и успешной загрузки на экран выводится предложение войти в систему. Можете войти как корневой пользователь с именем root по установленному ранее паролю. На экране появится командная строка вида:
[armand@localhdst armand]$
Командами мы займемся позже, пока же запомните основное правило: чтобы выполнить команду, наберите ее на клавиатуре, затем нажмите клавишу Enter. Чтобы выйти из системы, наберите exit и нажмите Enter.
Linux допускает многократный вход в систему - даже в первоначальном текстовом режиме. С помощью клавиш Alt+Fl - Alt+F6, можно переключаться с одной виртуальной консоли на другую, используя одновременно до шести консолей. Для использования каждой виртуальной консоли нужен отдельный вход в систему. Вход на все консоли можно выполнять по одной учетной записи пользователя либо по разным записям. Это одна из особенностей Unix и Linux, обеспечивающих чрезвычайно гибкую рабочую среду.
Что дальше
Теперь у вас есть работоспособная система Linux. Если вам не удалось запустить Linux описанным способом, то переходите к чтению гл. 5, в которой рассмотрены особые варианты установки.
Если какой-то из перечисленных вариантов представляется вам полезным, то читайте следующую главу. Но если система загрузилась нормально, переходите к изучению X Windows (гл. 6).
Глава 5. Особые варианты установки
Мы рассмотрели простейший вариант установки Linux - с локального устройства CD-ROM в один раздел жесткого диска.
Рассмотрим еще несколько распространенных методов установки, первый из которых - установка из раздела жесткого диска. Этот метод применяется, когда установка с устройства CD-ROM по какой-либо причине невозможна. Например, программа установки Red Hat в редких случаях не в состоянии опознать устройство CD-ROM или же нему существует лишь временный доступ. В подобных случаях приходится копировать содержимое диска CD-ROM в свободную область жесткого диска и уже оттуда выполнять установку.
Ввиду низкой стоимости жестких дисков, на вашем компьютере может быть установлен диск. разбитый на большое число разделов, или же несколько дисков. Тогда Linux можно установить в несколько разделов или на несколько дисков, улучшив тем самым характеристики системы.
Наконец, мы рассмотрим разбивку диска с помощью программы fdisk вместо Disk Druid. Fdisk - стандартный компонент всех дистрибутивов Linux, тогда как программа Disk Druid входит только в Linux Red Hat.
Установка из раздела жесткого диска
Некоторые пользователи находят веские причины для установки Linux из одного раздела жесткого диска в другой, из которого система будет загружаться. Вот некоторые из этих причин.
В перечисленных случаях процесс установки из раздела жесткого диска одинаков.
Примечание
Если вы хотите установить дополнительные программы, такие как Linuxconf, то вам может потребоваться второй установочный CD-ROM Red Hat Linux 7.1. Хотя этот диск в книге отсутствует, его можно получить на узле www.redhat.com или на таких узлах, как www.cheapbytes.com И www.linuxmall.com.
Копирование диска CD-ROM в раздел жесткого диска
Чтобы выполнить установку из раздела жесткого диска, необходимр выделить на жестком диске раздел, и скопировать в него содержимое CD-ROM Red Hat. Чтобы копировать его полностью, в разделе должно быть не менее 650 Мбайт свободного объема. Для хранения копии обоих установочных дисков потребуется вдвое больше места.
Для создания ISO-образа установочного диска CD-ROM Red Hat, его содержимое копируется в файл, например, cdl. iso. Один из способов копирования состоит в задании из режима корневого (root) пользователя следующих команд (сначала CD-ROM диск монтируется, а затем создается его ISO-образ):
# mkisofs -J -r -T -o /tmp/odl.iso /rant/сdrom
Примечание
Поместите iso-образ диска CD-ROM в подкаталог, например, /tmp или /home/mj. Это упрощает идентификацию положения образа диска для установочной программы. При создании образов обоих установочных дисков размещайте их в одном подкаталоге.
Описанный способ копирования предполагает использование уже установленной на компьютере системы Linux (например, другого изготовителя или предыдущей версии) и наличие соответствующих разделов на диске (Прим. ред.).
Если у вас другой накопитель, укажите его вместо /dev/cdrom. В команде mkisofs ключ -о указывается перед именем файла ISO-образа диска. Ключ -t добавляет файл TRANS.TBL в каждый каталог, чтобы сохранить длинные имена в системах, которые их не могут обрабатывать (например, MS DOS). Ключ -г использует расширения "Rock Ridge", разрешающие длинные имена файлов, а ключ - j использует записи "Joliet", что обеспечивает доступ к ISO-образу в рамках Microsoft Windows.
Если у вас есть второй установочный CD-ROM Red Hat Linux 7.1, то создавайте его образ в том же подкаталоге.
Примечание
К книге прилагается только один установочный CD-ROM.
Установочные файлы имеют достаточно большой объем, и процесс копирования продлится несколько минут. Чтобы проверить корректность созданного ISO-образа, можно смонтировать его как обычный накопитель CD-ROM:
# mount -t iso9660 -r -о loop /tmp/RedHat/cdl.iso /mnt/сdrom
В результате вы должны получить доступ ко всем файлам, включенным в ISO-образ диска, и можете сравнить входящие в него файлы с файлами, хранящимися на оригинальном установочном CD-ROM.
Подготовка установочных дискет
Создание установочных дискет рассмотрено в параграфе "Установка с дискеты и CD-ROM гл.З.
Для установки из раздела жесткого диска могут понадобиться обе установочные дискеты -основная и дополнительная, - поэтому приготовьте их.
Процесс установки
Запустите компьютер с загрузочной дискеты, затем следуйте обычной процедуре установки с CD-ROM (см. гл. 4). На экран в текстовом режиме выводится окно, подобное выводимому при обычной установке в графическом режиме. После выбора языка установки и клавиатуры, появляется экран выбора метода установки. На этом экране следует выбрать Hard Drive (Жесткий диск) вместо локального накопителя CD-ROM (Local CD-ROM).
После этого программа установки потребует указать раздел, содержащий установочные файлы Red Hat (см. рис. 5.1). Для примера, рассмотренного выше, в поле Directory Holding Images (Каталог образов дисков) задайте /tmp.
Предупреждение
Описанный процесс несколько отличается от приведенного в документации по Red Hat Linux 7.1, но соответствует последней версии установщика, входящего в состав версии системы, загруженной с узла фирмы.
Примечание
Напомню: правила присвоения в Linux имен устройствам и разделам дисков изложены в гл. 4. Если вы не можете вспомнить, в какой именно раздел скопирован CD-ROM Red Hat, То попытайтесь найти его в списке существующих разделов, выведенном на экран. При ошибочном выборе установщик вернет вас снова на экран выбора.
Установка Linux в несколько разделов
Заголовок этого параграфа не вполне корректен. В конце концов, для установки Linux в любом случае нужны минимум два раздела: один - для размещения самой операционной системы, другой - для области подкачки. Тем не менее, иногда возникают довольно веские причины для размещения Linux в более чем двух разделах.
Одна из возможных причин - на диске уже есть несколько разделов, не являющихся физически непрерывными, так что нет возможности объединить их в один раздел большего объема для установки Linux. Остается установить Linux в эти несколько разделов.
Более веские причины можно найти для другого варианта установки - на несколько дисков. Этот вариант имеет несколько достоинств.
Размещение раздела подкачки на отдельном диске
Если у вас есть большой раздел на одном диске и раздел поменьше (от 32 до 200 Мбайт) - на другом, то следует подумать о размещении раздела подкачки на втором диске. Это существенно повысит эффективность дисковой системы при частых обращениях к области подкачки.
Рассмотрим следующий сценарий. Linux установлен на одном физическом диске с разделом подкачки. После запуска большого числа программ, происходят интенсивные обращения к разделу подкачки. Запускается еще одна программа, но для этого необходимо освободить некоторую область оперативной памяти, записав содержащуюся в ней информацию в раздел подкачки. Поскольку диск не может выполнять несколько операций одновременно, происходит задержка.
Задержка будет меньше, если расположить раздел подкачки на отдельном диске. Тогда процессы считывания программы с диска в оперативную память и сброс ее содержимого в раздел подкачки происходят одновременно. Правда, и в этом случае компьютер не может выполнять несколько операций одновременно, однако распределение медленных дисковых операций на два диска сокращает время ожидания процессора.
Примечание
Если на вашем компьютере два жестких диска, то дальнейшего увеличения производительности можно достичь, подсоединив их к разным контроллерам жестких дисков.
Установка Linux в несколько разделов
Следующий способ установки Linux - размещение самой операционной системы в нескольких разделах. Это предоставляет следующие преимущества.
Рассмотрим установку дистрибутива Linux в два раздела. Как уже упоминалось в гл. 4, при обсуждении задания точки установки разделу DOS, обращение к дополнительному диску производится через его точку установки.
Например, если поместить исходные каталоги всех пользователей в отдельный раздел, следует задать этому разделу точку установки /home, оставив точку установки основного раздела Linux /. Тогда обращение к любому подкаталогу каталога /home будет означать обращение совсем к другому разделу, чем обращение к данным вне каталога /home.
Существует несколько популярных способов разбивки Linux по нескольким разделам.
Использование программы fdisk вместо Disk Druid
В гл. 4 мы использовали для разбивки диска программу Disk Druid. Однако этой программой можно воспользоваться только при установке Red Hat. В остальных случаях пользователям Linux приходится, как правило, применять для конфигурирования разделов диска - будь-то во время установки или эксплуатации системы - программу fdisk.
Действительно, квалифицированные пользователи Linux настолько привыкли к этой утилите, что поставщики Red Hat признают ее первенство в конфигурировании разделов диска и предлагают как альтернативу Disk Druid.
Fdisk - средство чрезвычайно сложное и мощное (в неопытных руках - просто опасное). В то же время, основные задачи, связанные с разбивкой диска - вывод на экран таблицы разделов, соз-, дание нового раздела в свободной области диска или присвоение ему типа - совершенно несложны.
Если при установке вместо Disk Druid использовать fdisk, то в первом же экране потребуется указать, с каким диском предстоит работать. В отличие от Disk Druid, fdisk не работает с несколькими дисками одновременно. Выбрав диск, вы временно покидаете ставшую родной программу установки Red Hat. Перед вами - первый экран f disk (рис. 5.1).
Примечание
Приведенные здесь иллюстрации отражают процесс использования программы fdisk при вызове ее с загрузочной дискеты boot. img. Если же запустить fdisk из обычной установочной процедуры с графическим режимом работы дисплея, то вид у экранов будет другой, -хотя содержимое то же самое.
Программа fdisk управляется набором простых команд, каждая длиной в один символ. Чтобы выполнить команду, ее надо набрать в командной строке, затем нажать клавишу Enter. Если команде требуются параметры, программа сообщает о необходимости ввода дополнительной информации.
Простейшая команда - m или ?. После ее ввода (в любом варианте) открывается экран справки с перечнем основных команд программы fdisk, содержащим команды, рассмотренные в данном параграфе (рис. 5.2).
Рис. 5.1. Первый экран программы f disk
Рис. 5.2. Экран справки программы fdisk
Примечание
Вы можете запустить в Linux утилиту fdisk и после завершения установки, воспользовавшись командой /sbin/fdisk. Некоторые пользователи считают, что утилита /usr/sbin/cfdisk проще в использовании.
Вывод таблицы разделов
Вывод текущей таблицы разделов активного диска - одна из наиболее ценных функций программы fdisk активизируется командой р. Выводимая таблица показана на рис. 5.3.
Рис. 5.3. Таблица разделов
Указаны имя, первый и последний цилиндры каждого раздела текущего диска, объем в блоках и тип.
Создание раздела
Чтобы создать раздел в свободной области жесткого диска, введите команду п. Как показано на рис. 5.4, программа потребует ввести тип создаваемого раздела. Обычно выбирается тип Primary (Первичный).
Примечание
В отличие от DOS, где можно создать не более одного первичного раздела, в Linux их может быть до четырех.
Далее необходимо задать номер раздела, а также первый и последний цилиндры. Для использования всего свободного пространства диска (полагая, что оно сосредоточено в конце диска) задайте приведенные по умолчанию первый и последний цилиндры раздела.
Рис. 5.4. Создание раздела
Изменение типа раздела
По умолчанию разделу, созданному программой f disk, присваивается тип 83 (Linux Native). Чтобы присвоить другой тип, воспользуйтесь командой t.
Программа потребует ввести номер раздела, а затем - идентификатор типа. Как показано на рис. 5.5, для вывода списка идентификаторов можно воспользоваться командой L.
Рис. 5.5. Изменение идентификатора типа раздела в программе f disk Наиболее распространенные типы разделов перечислены в табл. 5.1.
Удаление раздела
Иногда при создании одного или нескольких разделов для установки Linux приходится удалить существующий раздел. Для этого введите команду d, затем - номер удаляемого раздела.
Подтверждение внесенных изменений
Программа f disk не сразу применяет внесенные изменения к физическому диску, чтобы предотвратить катастрофические последствия ошибок, наподобие случайного удаления раздела с важными данными. Перед окончательным удалением раздела программа позволяет вернуться к прежней конфигурации.
Табл. 5.1. Наиболее распространенные типы разделов
Идентификатор |
Тип |
5 6 7 b с 82 83 |
Extended (Расширенный) DOS 16-bit (16-разрядный DOS, больше 32 Мбайт) OS/2 HPFS (высокопроизводительная файловая система) Windows 95 FAT32 Windows 95 FAT32 с LBA-адресацией Linux Swap (раздел подкачки) Linux Native |
Все изменения применяются только после их подтверждения перед выходом из программы. Следовательно, перед окончанием работы обязательно надо просмотреть таблицу разделов и убедиться, что все сделано именно так, как и было задумано. После выхода из программы с подтверждением изменений, изменения становятся практически необратимыми. Теоретически можно заранее создать резервную копию таблицы разделов на дискете, с помощью которой можно будет восстановить исходное состояние диска, заменив созданную таблицу резервной. Однако эта процедура сложна и чревата ошибками. Надежнее еще раз просмотреть модифицированную таблицу разделов, и после этого подтвердить правильность внесенных изменений.
Для выхода из программы f disk можно воспользоваться одной из двух команд, приведенных в таблице 5.2.
Табл. 5.2. Команды выхода из fdisk
Команда |
Действие |
q w |
Выход из программы fdisk без сохранения изменений Выход из программы fdisk с сохранением изменений. Изменения становятся необратимыми, поэтому следует соблюдать осторожность |
Что дальше
Пришло время заняться настоящей работой с Linux. Мы рассмотрим среду X Windows, обеспечивающую в высшей степени гибкий, управляемый мышью графический пользовательский интерфейс (GUI) для всех систем Unix, в том числе Linux.
Многие книги по Linux начинаются с описания командной строки, являющейся, безусловно, сердцем этой операционной системы. Но X Windows позволяет новичку быстро освоиться в Linux без основательного изучения системы команд.
В следующей главе дан обзор X Windows, возможностей этой среды и ее отличий от Microsoft Windows. Затем мы займемся конфигурированием и работой в X Windows, а также рассмотрим несколько программ, предназначенных для этой среды.
Глава 6. Обзор X Windows
Теперь, после успешной инсталляции Linux, приступим к изучению среды X Windows. Многие специалисты по Linux будут возмущены тем, что мы изучаем X Windows, не овладев режимом управления из командной строки и конфигурированием Linux. Но именно X Windows сделала Linux приемлемой альтернативой MS Windows и Mac OS. операционной системой для повседневных задач, таких как обработка текстов, подготовка публикаций и навигация по WWW.
Начнем главу с краткого описания X Windows. X Windows предлагает графический пользовательский интерфейс (GUI) для мира Unix. Она удовлетворяет всем общепринятым парадигмам пользовательского интерфейса, таким как окна приложений, диалоговые окна, кнопки и меню. Именно X Windows позволяет работать со сложной графикой и делает рабочие станции Unix системами, пригодными для многих инженерных приложений и систем проектирования. Именно X Windows выводит Linux в качестве сильного конкурента на рынок операционных систем для персональных компьютеров.
Чтобы лучше разъяснить, что представляет собой X Windows вообще, в главе проведено подробное сравнение Microsoft Windows и X Windows (включая и изменения в X Windows 4). Описаны некоторые ключевые компоненты X Windows: X серверы, диспетчеры окон, оболочки рабочего стола и Motif.
Что такое X Windows
Используя самые простые термины, можно сказать, что X Windows - завершенный графический интерфейс для Unix-систем, в том числе для Linux. Но это еще не все. X Windows - это окружение, которое обеспечивает множество дополнительных функций как для пользователя, так и для разработчика программного обеспечения.
Основой концепции ядра X Windows является технология "клиент-сервер". На практике это означает, что X Windows обеспечивает среду, которая не связана с единственным процессором. Приложение может выполняться на каком-либо сервере или компьютере сети, но отображается (с помощью X Windows) на терминалах или рабочих станциях в любом другом месте сети.
Различие между местом, где выполняется приложение, и местом, где оно отображается, является характерной особенностью X Windows, не реализованной в среде Windows и Macintosh. Благодаря этой возможности X Windows, в сетевой среде обеспечивается сложное графическое отображение рабочего стола приложения, которое создается на прекрасно оснащенном, мощном, легком в управлении центральном сервере приложений. Эта особенность позволила Unix и X Windows заслужить хорошую репутацию у системных администраторов больших сетей.
С другой стороны, среду X Windows можно разделить на интерфейс и средства работы с окнами. В X Windows для обеспечения завершенного GUI должны быть запущены два приложения. Первое - это X сервер, который устанавливает режимы графического отображения (т.е. разрешение и частоту регенерации изображения, глубину цвета), отображает окна, следит за движением мыши, нажатиями клавиш и окнами. Но X сервер не поддерживает меню, границы окон или механизмы перемещения, переключения, свертывания или развертывания окон.
Обратите внимание на простоту изображения. Нет цветного фона, сложных рамок окна и меню, нет других элементов, которые создают завершенный пользовательский графический интерфейс. Эти элементы обеспечиваются вторым приложением - диспетчером окон. Рабочий стол X Windows, реализуемый с использованием диспетчера окон fvwm95. Обратите внимание на особенности рамок окон, кнопки управления, меню, а также на панель задач и систему виртуального рабочего стола. Все это обеспечивается диспетчером окон.
Диспетчер окон взаимодействует с X сервером стандартным, заранее предопределенным образом, как обычно взаимодействует X сервер с X приложением. Это значит, что различные диспетчеры окон с различными деталями интерфейса могут взаимодействовать этим стандартным способом с X сервером. Разнообразные доступные X серверы, которые часто поддерживают графические адаптеры, мониторы и другое оборудование, также стандартным образом могут работать с приложениями.
Сравнение Microsoft Windows и X Windows
Можно заметить (судя по приведенному выше описанию), что X Windows и Microsoft Windows достаточно похожи. На самом деле это две принципиально различные системы.
Например, Microsoft Windows является завершенной операционной системой, содержащей ядро, оболочку, среду для работы с окнами и пр. X Windows соответствует лишь одной части этой операционной системы: среде работы с окнами. Другое различие заключается в интерфейсе: Microsoft Windows имеет довольно жесткий интерфейс, в то время как интерфейс X Windows -гибкая система с широкими возможностями настройки.
Сходство
Итак, в чем сходство X Windows и текущей версии операционной системы Microsoft? Главная общая черта в том, что обе системы обеспечивают графический интерфейс и делают возможной работу с множеством окон. Они позволяют оператору взаимодействовать с информацией, используя нечто большее, чем клавиатуру и простые символы. Пользователь может использовать мышь с таким же успехом, как и клавиатуру, может создавать интерфейс, содержащий меню, формы, окна и диалоговые поля.
Различия
Существует множество различий между двумя оконными системами. Основные различия таковы:
Гибкость интерфейса
Гибкость интерфейса X Windows - одна из прелестей многопользовательской среды. Уже упоминалось, что разделение интерфейса на 2 уровня - пользовательский и базовый, позволяет создавать множественные интерфейсы для X Windows посредством разработки различных диспетчеров окон.
Множественные интерфейсы не просто обеспечивают различия во внешнем виде, так же, как некоторые инструменты для настройки интерфейса Microsoft Windows, - они допускают полную перестройку пользовательского интерфейса от одного диспетчера окон к другому.
Эти примеры иллюстрируют только две из многих возможностей диспетчеров окон X Windows.
Гибкость управления
Другое преимущество среды X Windows состоит в том, что она предлагает гибкое управление всеми характеристиками оконной среды и интерфейса - от цвета окон заднего и переднего плана до цвета курсора, шрифта и размера окна, заданных по умолчанию. Пользователи могут задавать и режимы взаимодействия. Например, можно использовать указатель мыши для автоматического перевода окна на передний план или перемещения фокуса указателя на окно заднего плана.
Более того, эти характеристики оконного окружения могут быть определены на уровне приложения, открывая тем самым широкие возможности настройки любого приложения так, что оно будет работать наиболее подходящим образом.
Можно указать, какое окно или приложение будет открываться при каждом запуске X среды. определить, какой диспетчер окон будет использоваться при запуске X Windows и т.п.
В гл. 7 рассмотрены основные параметры конфигурации X Windows.
Окружение "Клиент-сервер"
Как отмечалось выше, мир X Windows работает по модели "клиент-сервер": в каждом приложении есть клиенты X сервера, физически управляющего отображением. Это делает X Windows средой, хорошо адаптированной к сетевому окружению, позволяющей приложениям выполняться на одном компьютере в сети, а отображаться - на другом.
Отсутствие такой возможности в Microsoft Windows обнаружилось совсем недавно. Теперь модель "клиент-сервер" реализована лишь в некоторых режимах многопользовательских систем Windows NT и 2000. В мире Linux, Unix и X даже малопроизводительные компьютерные системы способны выполнять функции клиента или сервера в системе "клиент-сервер" X Windows.
X серверы, диспетчеры окон и рабочие столы
Теперь, после обсуждения сути работы X Windows, необходимо разобраться с фундаментальными компонентами среды: X серверами, диспетчерами окон и рабочими столами. Именно они обеспечивают мощь и гибкость X Windows.
X серверы
Ядром X Windows системы является X сервер. Он выполняет следующие задачи:
Существует множество X серверов, реализующих эти возможности. Для Linux наиболее часто используются XFree86, Metro-X и Accelerated-X.
Сервер XFree86
Практически во всех некоммерческих версиях Linux X сервером является XFree86. Это некоммерческий X сервер с доступным исходным кодом, причем пользователи могут самостоятельно его изменять и распространять. Red Hat Linux 7.1 в момент написания книги распространялась с XFree86 4.O.3. Текущие изменения (вносимые с интервалом в несколько месяцев) к последней версии можно загрузить с ХРгее86-узла / /www.xf ree8б.org.
XFree86 Web-сервер разработан для поддержки широкого спектра аппаратуры персональных компьютеров, работающих на платформе Intel x86, но современные версии этого сервера поддерживают и другие платформы, такие как Compaq Alpha, PowerPC, Spare и MIPS. Как правило, XFree86 используется (хотя его производительность и не самая высокая) в Linux и других версиях Unix для компьютеров именно на Intel-платформе. "Поэтому с сервером XFree86 работает большинство пользователей.
Примечание
Хотя поддержка платформы MIPS на момент написания книги и не является полной (в соответствии со сведениями, доступными на узле XFree86 Project), но соответствующая документация доступна В MIPS HOWTO ПО адресу http: //oss.sgi . com/mips /mips-howto. html.
XFree86 поддерживает такие распространенные видеоадаптеры, как Tseng ET 3000, 4000 и 6000, полный спектр видеоадаптеров фирмы Trident, большинство Cirrus Logic видеоадаптеров, графические чипы фирмы Chips and Technologies и многие другие. Полный список поддерживаемой аппаратуры приведен на драйверной странице узла XFree86 по адресу http: / /www. xf ree-3 6 . org/4.0.3 /Status. html. Для получения сведений и других версиях замените 4.0.3 в адресе на номер интересующей вас версии.
В начале долгого пути становления Linux, как полной, свободно распространяемой UNIX-подобной операционной системы, X сервер XFree86, безусловно, имел некоторые недостатки. Они делали его "непривлекательным" для приложений, требовательных к аппаратному обеспечению, и для решения корпоративных задач. И сейчас при инсталляции и конфигурировании XFree86 иногда возникают проблемы, поскольку он имеет недостаточно устойчивую и совершенную поддержку некоторых видеоадаптеров и мониторов. XFree86 часто не позволяет использовать преимущества видеоадаптеров с акселераторами.
К счастью, Red Hat Linux 7.1 поставляется с замечательной утилитой Xconngurator, значительно облегчающей конфигурирование XFree86. Эта утилита автоматически определяет наличие некоторых аппаратных компонентов и предлагает для них наилучшие настройки. Это особенно важно, если компьютер имеет нестандартную аппаратную конфигурацию, так как в этом случае приходится конфигурировать XFree86 вручную.
Что нового в версии 4 сервера XFree86
Версия 4 сервера XFree86 имеет ряд особенностей, отличающих ее от предыдущих версий этого сервера. Некоторые из них воспроизводят популярные черты коммерческих серверов. К отличительным особенностям можно отнести следующие:
С унифицированным X сервером XFree86 версии 4 возможна поддержка различных типов графических адаптеров без реконфигурации. С динамическим загрузчиком, подаренным Metro Link, XFree86 версии 4 больше не зависит от драйверных библиотек Linux (или любой другой операционной системы, базирующейся на Unix). С расширениями GLX сервер XFree86 теперь поддерживает трехмерный рендеринг на основе 3-D графического языка OpenGL фирмы Silicon Graphics. Поддержка FreeType позволяет использовать шрифты TrueType в XFree86.
XFree86 совершенствуется и расширяет спектр поддерживаемых платформ, включая такие процессорные семейства как Alpha, MIPS и PowerPC. Предполагается готовность этого сервера к появлению 64-битовой платформы Intel Itanium IA.
Примечание
На момент написания книги XFree86 версия 4 не поддерживала инструментарий XF86Setup. Но такие утилиты как Xconfigurator и xf86config являются более чем достойной альтернативой.
Коммерческие X серверы
К проекту XFree86, который делает Linux полностью жизнеспособной и свободно распространяемой системой, можно добавить два ведущих коммерческих X сервера для Linux: Metro-X и Accelerated-X.
Эти продукты обеспечивают поддержку большого количества видеоадаптеров и позволяют использовать вес их преимущества (в том числе и акселераторы). Кроме того, конфигурирование Metro-X и Accelerated-X не представляет особых трудностей. Инсталляция и подготовка к работе занимает считанные минуты.
Metro-X
Сервер Metro-X производства фирмы MetroLink входит, наряду с XFree86, в состав коммерческих версий Red Hat Linux. В таких системах пользователю предоставляется возможность выбора сервера. Среди многих преимуществ Metro-X - наглядный графический интерфейс, одновременная поддержка нескольких мониторов (стандартная конфигурация поддерживает четыре разных монитора), поддержка некоторых фирменных сенсорных экранов и другие.
Полная информация по серверу Metro-X, включая поддерживаемые видеокарты, доступна на домашней странице MetroLink - http: //www.metrolink.com/.
Accelerated-X
Компания X-Inside фактически предлагает ряд серверов для Linux, среди которых сервер Accelerated-X для Linux, сервер 3D Accelerated-X, Multi-head Accelerated-X и специализированный сервер Laptop Accelerated-X. Последний поддерживает чипсеты портативных ЭВМ, имеющие другой видеоадаптер (поскольку жидкокристаллические экраны имеют особенности, которые не поддерживаются драйверами настольных систем).
В XFree86 практически отсутствует поддержка дисплеев портативных компьютеров, и даже небольшая ошибка может привести к повреждению LCD. Поэтому прежде, чем использовать Linux на портативном компьютере, необходимо убедиться в его поддержке сервером Laptop Accelerated-X.
Accelerated-X предлагает поддержку более 400 графических адаптеров более чем от 60 изготовителей. Multi-head Accelerated-X сервер обеспечивает одновременную поддержку до 16 мониторов и реализует все преимущества Accelerated-X для каждого из них.
Цены на серверы X-mside следующие: Accelerated-X -99.95 $, Laptop X -149.95 $, Multi-head X -199.95 $. Полная информация доступна на Web-странице X-Inside - http: / /www. xins ide. com/.
Диспетчеры окон
Диспетчеры окон позволяют GUI выйти за рамки возможностей, обеспечиваемых X серверами. В частности, диспетчеры окон добавляют пользовательские средства управления окнами (например, для изменения размеров, передвижения, закрытия и минимизации окон) и механизмы для запуска приложений (меню рабочего стола, панели управления и панели инструментов).
В этом параграфе дан краткий обзор основных диспетчеров окон, которые могут использоваться в Linux: FVWM, fvwm95, twm, olvwm и другие. По умолчанию в Red Hat Linux 7.1 в качестве диспетчера окон используется Sawfish, но любая другая проинсталлированная в достаточном объеме версия будет содержать FVWM и некоторые другие альтернативные диспетчеры окон.
Обзор диспетчеров окон для X Windows-по адресу http: //www.plig. org/xwinman/.
Диспетчеры FVWM и fvwm95
С середины 90-х годов наиболее популярным диспетчером окон для Dinux является FVWM или его версии. Название "FVWM" кажется странным, поскольку непонятно, что означает стоящая впереди "F". Одни считают, что это означает "Feeble" Virtual Window Manager ("Слабый" виртуальный диспетчер окон); другие предполагают - "Fine" Virtual Window Manager (Красивый виртуальный диспетчер окон); третьи - что значение "F" давно забыто и не имеет существенного значения (автор разделяет эту точку зрения).
FVWM - замечательный диспетчер окон. Он обеспечивает гибкую, настраиваемую оконную среду, похожую на диспетчер окон Motif (коммерческий продукт). FVWM организует множество виртуальных рабочих столов и имеет модуль для расширения функций диспетчера окон. В современной версии 2.2.5 он допускает изменения конфигурации "на лету" и специфические настройки для различных типов окон. Домашняя страница FVWM-http: //www. fvwm.org/.
FVWM входит практически в каждый пакет Linux и служит основой для разработки современных диспетчеров окон, в том числе:
fvwm95: разработан для имитации интерфейса Windows 95; Afterstep: разработан под NeХТ-окружение;
SCWM (Scheme Configurable Window Manager): конфигурируется с использованием языка схем.
Диспетчер окон fvwm95 основан на второй версии FVWM. В этой реализации FVWM сохранена гибкость и простота конфигурирования прототипа. Диспетчер fvwm95 поддерживает модули FVWM, но добавляет к ним элементы, необходимые для изображения элементов интерфейса Windows 95 (например, панели задач). Информация по fvwm95 доступна по адресу http://www.plig.org/xwinman/fvwm95.html .
Примечание
Пакет FVWM2 доступен на втором установочном CD-ROM Red Hat Linux 7.1 (этот диск в книге отсутствует).
Диспетчер twm
Tab Window Manager (twm), часто называемый Tom's Window Manager (по имени своего создателя), является базовым, функциональным окружением, которое включено в Red Hat Linux 7.1 как альтернативный диспетчер окон.
Диспетчер окон twm предлагает пользователям X Windows множество ключевых функций. в том числе управляемый указателем фокус клавиатуры (pointer-driven keyboard focus), опреде-лые пользователем клавиши и связывание кнопок. Однако интерфейс twm визуально настолько прост, что некоторые даже считают его ограниченным. Существует версия vtwm -разновидность twm с функцией организации виртуального стола. Ев можно загрузить с сайта ftp://ftp.x.org/R5contrib/vtwm-5.3.tar.gz .
Диспетчер olvwm
Olvwm, OpenLook Virtual Window Manager - усовершенствованный OpenLook Window Manager (oiwm), который многие годы был стандартным диспетчером окон дли Sun-систем. И хотя в этих системах теперь используют Motif и Common Desktop Environment (см. далее в главе), уникалышй интерфейс OpenLook популярен среди многих пользователей. Диспетчер olvwm добавляет в пакет OpenLook поддержку виртуальных рабочих столов.
Многие пользователи считают интерфейс olvwm неудобным из-за специфической реакции систем меню и окон на щелчки кнопками мыши. Это одна из причин, по которой OpenLook не стал популярным за пределами мира Sun. Диспетчер olvwm можно загрузить с сайта ftp://ftp.x.org/R5contrib/olvwm4 .tar.Z
Диспетчер Afterstep
Afterstep - другой вариант оригинального FVWM-кода - также входит в поставку Red Hat Linux как альтернативный диспетчер окон. Этот продукт - результат развития одного из первых диспетчеров окон Bowman. Afterstep разрабатывался для обеспечения сходства диспетчера окон X Windows с NeXTSTEP для NeXT платформ.
Основные особенности, заимствованные из NeXTSTEP: вид строк заголовков, кнопок и рамок, вид меню, NeXTSTEP-подобные значки и панели инструментов. Поскольку Afterstep основан на коде первой версии FVWM, любые модули этой версии FVWM работают с Afterstep. В отличие от некоторых диспетчеров окон, таких как fvwm95 и olvwm организованная работа над Afterstep продолжается и сегодня.
Домашняя страница Afkrstep - http: / /www. af terstep. org/.
Диспетчер AmiWm
Если вы ранее работали с компьютером Amiga, и вам по-прежнему нравится его интерфейс, то AmiWm - именно для в ас. AmiWm эмулирует инструментальные средства Amiga. Способность этого диспетчера окон поддерживать несколько экранов (на компьютерах Amiga этого не было) упрощает переход пользователей Amiga на X Windows.
Информацию об AmiWm и программное обеспечение для AmiWm можно получить со страницы http: //www. lysator. liu. se/~marcus/amiwm.html.
Диспетчер Enlightenment
Enlightenment - это большой проект, целью которого является создание более мощного диспетчера окон. Он предоставляет удобное, привлекательное на вид окружение и позволяет пользователю определять все - от функциональных возможностей до внешнего вида диспетчера окон.
Хотя Enlightenment - амбициозный проект с ошеломляющим интерфейсом, установка этого диспетчера окон может стать испытанием для пользователя, так как зачастую требует компиляции и инсталляции новых библиотек. Домашняя страничка Enlightenment - http:.//www. enlightenment.org/. Разработчики считают Enlightenment альфа-версией и предупреждают о возможных ошибках и сбоях системы. Несмотря на это, Enlightenment является интересным проектом и уникальной концепцией среди диспетчеров окон для Linux.
Диспетчер Sawfish
Sawfish - новой диспетчер, по умолчанию используемый с оболочкой GNOME. Как и Enlightenment диспетчер Sawfish ориентирован на предоставление максимальных возможностей в части конфигурирования окон, но уже с помощью инструментов, использующих язык программирования LISP. Поскольку диспетчер Sawfish представляет собой часть рабочего стола GNOME, его средства управления встроены в GNOME Control Center.
Рис. 6.1. Пользователь может полностью настроить Sawfish
Диспетчер Sawfish развивается. На момент написания книги его последняя версия была 0.38. Более подробные и самые свежие сведения о Sawfish доступны на домашней странице по адрес: www.sawfish.org.
Рабочие столы
Рабочий стол - это больше, чем диспетчер окон. Рабочий стол должен обеспечивать полный интерфейс GUI. При использовании простого диспетчера окон нет гарантий "мирного сосуществования" методов отображения/управления приложения и соответствующих возможностей другой операционной системы (например, метод "перенести-и-оставить" (drag-and-drop) между приложениями или внедрение данных из одного приложения в другое).
Различные рабочие столы для Linux предоставляют стабильные, интегрированные GUI и платформу для разработчиков программного обеспечения. Это обеспечивает общность отображения и управления, а также механизмы интегрирования, например "перенести-и-оставить".
Два рабочих стола - К Desktop Environment и GNOME - свободно распространяются и позиционируются как конкуренты рабочего стола Linux, являющегося стандартом de facto.
К Desktop Environment
KDE (К Desktop Environment) - это попытка обеспечить бесплатную альтернативу для Common Desktop Environment (см. далее в главе). КОЕ объединяет ряд приложений (диспетчер файлов, эмулятор терминала и утилита конфигурирования дисплея) с диспетчером окон, обеспечивая непротиворечивые механизмы отображения/управления для Х-приложений.
КDЕ по умолчанию используется как рабочий стол для ряда дистрибутивов Linux, включая Caldera, S.u.S.E. и Corel. Он представляет собой альтернативный вариант для большинства других дистрибутивов.
КDЕ - привлекательное и профессионально выполненное окружение для работы. Если для КDЕ будут разработаны необходимые приложения, эта оболочка сможет использоваться в качестве рабочего стола для бизнеса. Домашняя страничка КDЕ - http : / /www. kde. org/. В гл. 11 К Desktop Environment 2.1.1, входящий в состав Red Hat Linux 7.1, описан подробнее.
GNOME: сетевая объектная модель окружения GNU
GNOME - это результат альтернативной разработки мощного бесплатного рабочего стола для Linux. В отличие от КDЕ, имеющего встроенный диспетчер окон, в GNOME отсутствует собственный диспетчер окон. GNOME обеспечивает программный интерфейс, позволяющий разработчикам обеспечивать полную поддержку GNOME в своих диспетчерах окон.
Red Hat Linux 7.1 по умолчанию использует GNOME как окружение рабочего стола с диспетчером окон Sawfish. В этом пакете есть другие диспетчеры окон и KDE, но поскольку по умолчанию при инсталляции используются GNOME и Sawfish, в нашей книге именно они используются в качестве базовых рабочих столов. Для получения информации об использовании GNOME читайте гл. 8.
MWM
MWM (Motif Window Manager) - коммерческий диспетчер окон, устанавливаемый при инсталляции Motif. Как завершенное окружение, Motif подробнее рассмотрен в следующем параграфе.
Common Desktop Environment
CDE (Common Desktop Environment) - амбициозная попытка стандартизировать графический интерфейс и среду разработки на различных платформах UNIX, включая AIX, Digital Unix, HP/UX и Solaris. Сейчас CDE также поддерживается DeXtop Graphical Interface из X-Inside (http: //www.xinside. com/). Это коммерческое приложение, стоящее 49 $, требует Accelerated-X server фирмы X-Inside.
В дополнение к удобному графическому интерфейсу, базирующемуся на Motif, CDE предлагает набор инструментов и приложений для стандартизации процедур администрирования, облегчения конфигурирования пользовательского графического рабочего окружения и управления им. Среди расширений, привнесенных в Х-среду из CDE, - возможность использования метода "перенести-и-оставить" (drag and drop), а также папки и значки, с которыми работают GUI других операционных систем.
Что такое Motif
При поиске в WWW приложений X Windows для инсталляции под Linux, неизбежно приходится выбирать среди приложений, использующих библиотеки Motif или набор инструментов Motif.
Motif- среда разработчика под X Windows, представленная Open Software Foundation (OSF) в конце 80-х и обеспечивающая согласованное поведение приложений X Windows. Motif содержит набор многопрофильных элементов (виджетов - widget), которые могут использоваться разработчиками приложений. С помощью этих многопрофильных интерфейсных элементов разработчики Motif создают приложения, которые "придерживаются" правил Motif, обеспечивая непротиворечивость операций отображения и управления.
Motif сейчас распространяется по "открытой" лицензии и разработчики, создающие и распространяющие приложения, основанные на библиотеках Motif, не должны более платить за свой выбор. Однако, Open Group (организация, реализующая Open Motif) пo прежнему продает документацию по языку и набору библиотек. Многие Linux-разработчики выяснили из лицензии Motif, что они не могут использовать ее при разработке программного обеспечения для свободно-распространяемых операционных систем, таких как Linux.
Примечание
Промышленная организация Open Group занимается стандартами программирования. Она не имеет отношения к спонсорам лицензии Open Source и признает, что лицензия на Motif не соответствует требованиям Open Source.
В дополнение к набору инструментов и библиотек, в инсталляционный пакет Motif входит собственный диспетчер окон MWM.
Необходим ли Motif?
Для большинства пользователей Linux, вероятно, нет необходимости в покупке Motif. Пользователи, которые должны подумать об использовании Motif.
Open Motif можно загрузить с узла Open Group по адресу http: / /www. opengroup. org/. Metro Link продает пакет с несколькими версиями инструментария Motif по ценам не ниже 99 $.
Альтернативы Motif
В духе общей парадигмы Linux в настоящее время прилагаются усилия по созданию свободно распространяемой альтернативы Motif, чтобы разработчики и пользователи не платили за приобретение Motif. В рамках проекта Lesstif разрабатывается продукт, совместимый с версией 1.2 Motif и распространяемый на условиях GNU Public License. Естественно, что средства, реализованные в этом проекте; совершенно бесплатны.
Lesstif не достиг еще стадии зрелого проекта (на момент написания книги существует версия 0.92.26), но уже может использоваться для разработки некоторых приложений и запуска некоторых программ. В Lesstif FAQ на домашней страничке Lesstif (http: //www. lesstif . org/) оговорено, что проект еще не завершен. Несмотря на это, некоторые приложения, использующие Motif, могут работать с Lesstif 0.92.26, в том числе Mosaic 2.7 и персональный финансовый менеджер GNUCash.
Что дальше
Изучение X Windows - первый шаг по направлению к самостоятельному использованию операционной системы Linux.
В последующих двух главах рассмотрены основы интерфейса X Windows с использованием базового рабочего стола для Red Hat Linux 7.1 - GNOME. Мы расскажем, как инсталлировать X Windows и начнем экспериментировать с наиболее используемыми приложениями X Windows и GNOME.
В гл. 7 последовательно описаны инсталляция и конфигурирование X Windows.
Глава 7. Установка и конфигурирование X Windows
Вы уже знаете, что такое среда X Windows, и можете приступить к ее установке и конфигурированию, чтобы поскорее получить операционную систему Linux с графическим интерфейсом.
В главе разъясняются возможности приобретения X Windows для тех, кто устанавливает дистрибутив Linux, не содержащий этого компонента, или почему-либо не может его установить. Затем мы рассмотрим способы оптимального конфигурирования XFree86.
Приобретение X Windows
Если вы установили Linux Red Hat 7.1 с диска CD-ROM, прилагаемого к данной книге, то для установки его ключевого компонента X Windows читать этот параграф не обязательно. Вы не только приобрели, но и установили X Windows, поэтому можете сразу перейти к параграфу "Подготовка к конфигурированию X Windows".
Установка Linux Red Hat 7.1 с диска CD-ROM
Если вы установили Linux Red Hat 7.1, не установив X Windows, то сейчас это можно исправить. Процедура, которую мы описываем, основана на методах доступа к устройству CD-ROM, рассмотренных в гл. 14.
Использование rpm
В этом параграфе мы используем rpm - инструмент, поставляемый в комплекте Linux Red Hat и предназначенный для управления пакетами Red Hat.
С помощью rpm можно устанавливать или удалять уже установленные пакеты, а также просматривать информацию о пакетах — например, какие файлы входят в их состав.
Для установки пакета введите следующую команду:
$ rpm -i pa.cka.gm-file-name
где package-file-name - имя установочного файла. Чтобы просмотреть список установленных пакетов, введите команду
$ rpm -qа | more
По этой команде на экран выводится список установленных пакетов. Если список не помещается на экран, его можно пролистать, нажимая клавишу пробела. Имена пакетов не совпадают
с именами файлов, из которых они устанавливались. При удалении пакета необходимо указать имя того файла, из которого он устанавливался. Удаление производится командой
$ rpm -в package-file-name
Чтобы установить X Windows с диска CD-ROM Red Hat 7.1, первым делом надо установить диск таким образом, чтобы обеспечить доступ к нему из Linux. Сделать это не так просто, как может показаться, потому что приходится учитывать тип устройства (IDE/ATAPI, SCSI или нестандартное) и способ его установки. Эти проблемы подробно рассмотрены в гл. 19.
Мы будем предполагать, что у вас одно устройство CD-ROM типа IDE, поскольку это самый распространенный вариант для ПК, оснащенных средствами мультимедиа. Также будем предполагать, что устройство CD-ROM установлено как первичное ведомое IDE-устройство, так как большинство продаваемых в настоящее время компьютеров имеют только один жесткий диск.
Если наши предположения верны, то имя устройства CD-ROM должно быть /dev/hdb. Определение имени устройства CD-ROM другого типа или конфигурации описано в гл. 19.
Поместите диск с Linux Red Hat 7.1 в устройство CD-ROM и введите следующую команду.
$ mount /dev/hdb /mnt/cdrom
Устройство будет установлено и доступно из Linux. Чтобы проверить зРго, попробуйте просмотреть содержимое диска с помощью следующей команды.
$ Is /mnt/cdrom
На экране должно появиться следующее сообщение:
Примечание
Если вы не знаете, какого типа ваш накопитель CD-ROM, то попробуйте смонтировать его командой
mount /dev/cdrom /mnt/cdrom
Если вы выполните команду
ls -I /dev/cdrom
то вы убедитесь в том, заданное в ней устройство связано с вашим накопителем CD-ROM.
Следующий этап - переход в каталог CD-ROM, содержащий все пакеты Linux Red Hat 7.1. Это каталог RedHat /RPMS. Чтобы перейти в него, введите команду
$ cd /mnt/cdrom/RedHat/RPMS
Если ввести команду $ is, то на экране будет прокручен длинный список имен файлов с расширением . rpm, свидетельствующим о том, что это файлы пакетов Red Hat.
Теперь можно приступать к установке пакетов X Windows. Для этого надо определить, какие именно пакеты устанавливать. В первую очередь, нужны общие файлы XFree86, находящиеся в установочном файле XFree 86-4.0.3-5.1386. rpm. Также понадобятся все шрифты X Windows, которые находятся в следующих файлах:
XFree86-100dpi-fonts-4.0.3-5.1386.rpm XFree86-75dpi-fonts-4. 0.3-5.1386.rpm
Кроме того, понадобятся совместно используемые библиотеки XFree86 и сервер шрифтов X Windows.
XFree86-libs-4.0.3-5.1386.rpm XFree86-xfs-4.0.3-5.1386.rpm
Еще будут нужны утилита конфигурации XFree86, входящая в комплект Red Hat и находящаяся в файле Xconf igurator-4.9 .27-1.1386.rpm, и набор программ X Windows в файле XFree86-tools-4.0.3-5.1386.rpm.
Для XFree86 4 больше не нужен отдельный пакет X сервера. Но версия, доступная на момент написания книги не поддерживает всех разновидностей мониторов и видеокарт, поддерживаемых версией 3.3.x. Обратите внимание на последние сведения о возможностях вашего пакета XFree86. Для версии 4.0.3 эти сведения доступны по адресу http: 7/www.xfree86 .org/4 . О . 3/REL-NOTES. html. Если у вас другая версия пакета XFree86 4, замените в адресе номер 4.0.3 на номер вашей версии.
Примечание
В версии XFree86 4 нет необходимости в отдельных пакетах для X servers, ориентированных на графические видеокарты.
Составив список необходимых файлов, можно приступить к их установке, воспользовавшись командой rpm -i. Обязательно выполните следующие команды для установки необходимых файлов.
$ rpm -i XFree86-4.0.3-5.1386.rpm
$ rpm -i XFree86-100dpi-fonts-4.0.3-5.1386.rpm
$ rpm -i XFree86-75dpi-fonts-4.0.3-5.1386.rpm
$ rpm -i XFree86-libs-4.0.3-5.1386.rpm
$ rpm -i XFree86-xfs-4.0.3-5.1386.rpm
$ rpm -i Xconfigurator-4.9.27-l.i386.rpm
$ rpm -i XFree86-tools-4.0.3-5.1386.rpm
Выполнив эти команды, вы установите все нужные файлы X Windows на вашей системе.
Примечание
Можно загрузить XFree86 RPM из Internet. Хороший источник пакетов RPM доступен через поисковую машину пакетов по адресу http://www.rpmfind.net . Недостаток такого подхода состоит в том, что приложения Linux в формате rpm-пакетов обычно появляются с некоторой задержкой после анонса. В следующем параграфе рассматривается процедура загрузки и установки .последней версии ХРгее86.
Установка из Internet
Более новую версию XFree86, чем та, которая входит в комплект Linux Red Hat 7.1, можно загрузить из Internet, а затем установить обычным образом. Для XFree86 версии 4.0.3 процесс установки состоит из двух шагов: вначале устанавливается версия 4.0.2; а затем - версия 4.0.3, как обновление (апдейт). Для следующих версий XFree86 процесс установки аналогичен.
Примечание
Подключение к Internet рассмотрено в гл. 22, работа с пакетом Netscape Communicator - в гл. 23. Если вы не готовы заниматься этим в Linux и сохранили на компьютере операционную систему Windows или DOS, то для загрузки нужных файлов можете воспользоваться соединением с Internet, установленным в одной из этих систем. Впоследствии эти файлы можно будет извлечь из раздела Windows иЛи DOS и установить.
Пакет XFree86 разработан в рамках проекта XFree86 (XFree86 Project), представленного на узле Web http: //www.xfree86 .org.
Адрес каталога, из которого можно загрузить последнюю версию XFree86, - http:// ftpstud. fht-esslingen.de/pub/Mirrors/ftp.xfree86.org/XFree86/. Здесь же можно найти библиотеки, предназначенные для многих версий Linux.
Unux-alpha-glibc21. Linux для процессоров Compaq Alpha.
Darwin. Linux для операционной системы Darwin, разработанной фирмой Apple для процессоров PowerPC и Intel.
Linwc-ix86-libc5. Linux для процессоров Intelx86, обычно для старых дистрибутивов Linux. Linux-ix86-glibc2x. Версии Linux для процессоров Intelx86 с новыми библиотеками Glibc. Большинство новых дистрибутивов используют эти библиотеки GNU С. Версия Red Hat 7.1 использует библиотеки Glibc 2.2.
Установка ХРгееВб версии 4.0.2
Итак, первый шаг установки сводится к инсталляции базового пакета, в нашем случае это версия 4.0.2. На узле, с которого выполняется загрузка, перейдите в каталог, хранящий версию 4.0.2. Далее следует выбрать библиотеки, используемые для данной версии. Если вы испытываете сомнения, загрузите скрипт Xinsta11. sh и выполните команду sh Xinsta11. sh -check. Полученные сведения позволят вам выбрать нужные файлы. Выбрав необходимые библиотеки для вашей версии Linux, загрузите следующие файлы: Xinsta11.sh extract Xetc.tgz
В большинстве случаев можно использовать установочный скрипт Xinsta11. sh для инсталляции XFree86. Перейдите в каталог с загружаемыми файлами (в рассматриваемом случае -/dos / tmp) и запустите скрипт с помощью следующих команд:
$ cd /dos/tmp $ sh Xinsta11.sh
Далее следует серия подсказок. Если этот метод не срабатывает, можно попробовать установить XFree86 с помощью нескольких команд. В первую очередь создайте необходимые для установки каталоги. Для этого следует применить команду mkdir, которая подробно обсуждается в главе 14:
$ mkdir /usr/X11R6 $ mkdir /etc/X11
Затем нужно запустить программы установки загруженных файлов. Предположим, они загружены в каталог tmp раздела Windows и при установке (см. гл. 4) этот раздел был установлен как /dos. В этом случае необходимо воспользоваться следующей командой для перехода в каталог X Windows:
$ cd /usr/x11R6
Извлечем файлы из загруженных архивов.
$ chmod +х /dos/tmp/extract
$ /dos/tmp/extract -С /usr/X11R6 X[a-df-uw-z]*.tgz
$ /dos/tmp/extract -С /etc/X11 Xetc.tgz
$ /dos/tmp/extract -C /var Xvar.tgz$
$ In -в /etc/X11/app-defaults /usr/X11R6/lib/X11
$ In -s /etc/X11/fs /usr/XHR6/lib/X11 $ In -s /etc/X11/lbxproxy /usr/X11R6/lib/X11
$ In -s /etc/X11/proxymngr /usr/XHR6/lib/X11
$ In -s /etc/X11/rstart /usr/XHR6/lib/X11
$ In -s /etc/X11/twm /usr/X11R6/lib/X11
$ In -s /etc/X11/xdm /usr/X11R6/lib/X11
$ In -s /etc/X11/xinit /usr/X11R6/lib/X11
$ In -s /etc/X11/xsm /usr/X11R6/lib/X11
$ In -s /etc/X11/xserver /usr/xilR6/lib/X11
$ /sbin/ldconfig /usr/X11R6/lib
$ /usr/X11R6/bin/rakfontdil: /usr/X11R6/lib/X11/fonts/misc
Как бы ни были непонятны все описанные операции, в результате в операционной системе Linux будет установлен интерфейс X Windows.
Установка XFree86 версии 4.0.3
Теперь вы готовы ко второму этапу процесса установки, т.е. к инсталляции XFree86 версии 4.0.3, как обновления версии 4.0.2. Снова обратитесь к узлу, с которого выполнялась загрузка, и
перейдите в каталог версии 4.0.3. Используйте те же самые группы библиотек, что и для предыдущей версии и загрузите следующие файлы:
Xdocupd.tgz Xdrivers.tgz
В большинстве случаев можно использовать установочный скрипт версии 4.0.3 Xinsta11. sh для инсталляции XFree86. Перейдите в каталог с загружаемыми файлами (в рассматриваемом случае - /dos / tmp) и запустите скрипт с помощью следующих команд:
$ cd /dos/tmp $ sh Xinsta11.sh
Эти команды дадут ожидаемый результат, только если уже установлена версия 4.0.2 XFree86. Далее следует серия подсказок. После завершения установки сконфигурируйте X Windows, используя Xconfigurator или xf86config. Обе утилиты обсуждаются ниже.
Подготовка к конфигурированию X Windows
Прежде чем приступить к конфигурированию, необходимо собрать некоторую важную информацию об оборудовании, чтобы при оптимизации X Windows не повредить монитор. Это следующая информация:
Не имея этой информации, вы рискуете при конфигурировании XFree86 допустить ошибки, которые могут вызвать повреждение монитора. Рассмотрим ее подробнее.
Изготовитель и модель карты видеоадаптера
Эти сведения раздобыть нетрудно. Как правило, достаточно изучить документацию карты.
Если торговая марка карты видеоадаптера малоизвестна, тогда и от имени изготовителя пользы мало. В этом случае найдите в документации сведения о микропроцессорном наборе карты. Среди наиболее распространенных - наборы от Cirrus Logic, S3, Chips and Technologies. Обязательно запишите номер модели и изготовителя микропроцессорного набора.
Если у вас компьютер с видеоподдержкой, интегрированной в материнскую плату, узнайте номер модели и изготовителя микропроцессорного набора из документации материнской платы.
Если документация вам недоступна, попробуйте воспользоваться утилитой SuperProbe, входящей в состав XFree86. Она поможет идентифицировать вашу видеокарту. Если повезет, то данная утилита определит X сервер, чипсет и RAMDAC видеокарты. Для запуска утилиты воспользуйтесь командой:
$ SuperProbe
Изготовитель и модель монитора
Модель и изготовитель монитора указаны в документации на монитор. Эти сведения могут быть полезны при конфигурировании XFree86, если у конфигурационных программ есть сведения о данном типе мониторов.
Объем видеопамяти
Объем видеопамяти узнайте из документации видеоадаптера. В современных компьютерах видеопамять, как правило, составляет не менее 4 Мбайт, в некоторых - до 8 или даже 32 Мбайт. Существуют также старые компьютеры и видеоадаптеры с объемом видеопамяти всего 256 Кбайт.
Если объем видеопамяти не удается определить из документации, просто включите ПК. Очень скоро на экран будут выведены сведения об изготовителе, модели и, возможно, объеме памяти видеоадаптера.
Тип мыши
Для правильного конфигурирования мыши в X Windows необходимо указать ее тип. Если вы уже конфигурировали мышь для Linux (см. гл. 4), у вас эти сведения есть.
Если вы установили Linux, не конфигурируя мышь, придется определить ее тип сейчас. Это может быть один из следующих типов.
Мыши большинства типов совместимы с перечисленными выше.
Примечание
На момент написания книги ни Xconfigurator, ни xf86config не поддерживали мышь с интерфейсом USB. Здесь может помочь утилита /usr/sbin/mouseconf ig из состава Red Hat Linux 7.1.
Примечание
Для мыши с колесом прокрутки (скроллером) может потребоваться дополнительное конфигурирование уже по завершении процедуры инсталляции. В некоторых случаях оно идентифицируется как третья кнопка. Если в файле /etc/xil/XF86conf ig или /etc/xil/XF86conf ig-4 переменная zAxisMapping закомментирована, то можно разрешить скроллинг с помощью этого манипулятора, убрав символ # в начале соответствующей строки. В противном случае обратитесь к разделу Mouse Support в документации XFree86 на узле http://www.xfree86.org/4.О.3/mouse.html .
Диапазон частот горизонтальной развертки монитора
Это очень важная информация, особенно когда в конфигурационных программах не поддерживается монитор данного типа. Ввод неправильных значений (в том числе диапазона частот вертикальной развертки, рассматриваемого в следующем параграфе) может привести к повреждению монитора.
Сведения о диапазоне частот горизонтальной развертки (иногда называемом диапазоном частот горизонтального сканирования) можно найти в документации на монитор, в разделе с описанием видеорежимов. Этот параметр представлен двумя значениями - нижней и верхней границами диапазона - в килогерцах (например, 30—70 кГц). Как правило, нижняя граница оказывается около 30 кГц. Следует также записать максимально допустимое значение и позаботиться о том, чтобы верхняя граница не превышала его.
Диапазон частот вертикальной развертки монитора
К повреждению монитора может привести и ошибка в определении диапазона частот вертикальной развертки (иногда называемого диапазоном частот вертикального сканирования). Сведения о нем всегда приводятся вместе со сведениями о диапазоне частот горизонтальной развертки, и представляется он также двумя значениями - нижней и верхней границами диапазона, -но не в килогерцах, а в герцах (например, 50—160 Гц). Верхняя граница, как правило, превышает 75 Гц. Ниже этого значения .она может опускаться только в мониторах устарелых либо некачественных моделей. Из-за мерцания изображения работа с такими мониторами приводит к перенапряжению зрения и головной боли. Обязательно запишите максимально допустимое значение частоты вертикальной развертки.
Конфигурирование ХРrее86 с помощью программы Xconfigurator
В комплект Linux Red Hat входит Xconfigurator - программа конфигурирования, которая намного удобнее собственных средств конфигурирования XFree86. Рассмотрим применение Xconfigurator для конфигурирования X Windows, затем - для конфигурирования XFree86 в системах, не содержащих этой программы.
Xconfigurator существенно упрощает конфигурирование XFree86. Для ее запуска введите следующую команду.
$ Xconfigurator Сразу после запуска откроется окно программы с вводной информацией (рис. 7.1).
Совет
Чтобы успешно выполнить все операции конфигурирования X Windows, необходимо войти в систему как корневой пользователь.
Чтобы приступить к работе с программой, нажмите клавишу Enter. Xconfigurator пытается идентифицировать видеокарту. Если идентификация будет выполнена удачно, то на экране появится окно, показанное на рис. 7.2.
В таком случае вам не придется "вручную" задавать видеокарту и тип X сервера. В противном случае откроется окно со списком видеоадаптеров, показанное на рис. 7.3.
Рис. 7.1. Исходное окно программы Xconfigurator
Рис. 7.2. Результаты идентификации PCI-видеоадаптера
Рис. 7.3. Список видеоадаптеров
Выделите в списке видеоадаптер или микропроцессорный набор, соответствующий установленному в вашей системе. Список пролистывают клавишами со стрелками, а также PgDn и PgUp. Его содержимое отсортировано в алфавитном порядке.
Очень важно точно указать нужную карту или микропроцессорный набор. Нельзя надеяться на удачу, выбирая что-нибудь похожее. Это "похожее" может оказаться далеко не тем, что нужно. В таком случае нужно выделить в середине списка строку Generic VGA Compatible (Совместимый с VGA) или в конце списка строку Unlisted Card (Нет в списке) и нажать Enter. Откроется следующее окно.
Если выбрать Unlisted Card, то в следующем окне (рис. 7.4) будет приведен список, в котором можно выбрать сервер, соответствующий установленной карте видеоадаптера. Если не удается сделать точный выбор, укажите универсальный сервер, выбранный при установке X Windows. Для большинства современных компьютеров, оснащенных мультимедийными средствами, это сервер SVGA.
Рис. 7.4. Список Х-серверов После выбора видеоадаптера и, возможно, сервера необходимо выбрать тип монитора (рис. 7.5).
Рис. 7.5. Список типов монитора
Если не удается найти в списке нужный монитор, выберите один из трех вариантов. действий.
Предупреждение
Будьте очень осторожны, выбирая максимальное разрешение и диапазон частот для LCD монитора на портативном компьютере. Неверная установка может вывести ваш LCD экран из строя. Обращайтесь к документации или непосредственно к изготовителю по всем трудноразрешимым вопросам.
Может быть, вам придется на деле проверить разрешение и глубину цвета, обеспечиваемые видеоадаптером. Возможность такой проверки предусмотрена во многих современных PCI-адап-терах, и если ваш видеоадаптер - один из них, воспользуйтесь этой возможностью. Если у вас не самый новый видеоадаптер или же проверка дала отрицательный результат, то можно попытаться выполнить конфигурирование вручную.
Если вы выбрали в списке мониторов Custom, и проверка оказалась невозможной или дала отрицательный результат, откроется окно, напоминающее о том. что ввод верных значений важен для предохранения монитора от повреждения. Нажмите клавиш) Enter. Откроется окно со списком диапазонов частот горизонтальной развертки (рис. 7.6).
Рис. 7.6. Список диапазонов частот горизонтальной развертки
Попытайтесь найти в списке строку, в точности соответствующую параметрам вашего монитора. Если это удастся, выделите ее и нажмите Enter. Обратите внимание: в Xconfigurator вместо диапазонов приведены максимально допустимые значения, указанные в документации монитора вместе с диапазонами. Старайтесь добиться соответствия по максимумам разрешения и диапазонов частот развертки. Ни в коем случае не выбирайте строки со значениями, выходящими за допустимые пределы, указанные в документации на монитор.
Можно также попробовать задать частотные диапазон "вручную", выбрав опцию Custom. После такого выбора откроется окно со списком диапазонов частот вертикальной развертки (рис. 7.7).
Рис. 7.7. Список диапазонов частот вертикальной развертки
Выберите в списке строку, в которой меньшее значение не ниже нижней границы диапазона частот вертикальной развертки вашего монитора, а большее - не выше верхней границы.
В следующем окне программы Xconfigurator необходимо указать, проводить ли проверку возможных видеорежимов карты видеоадаптера. Большинство карт новых типов допускает такую проверку, но не все и уж, конечно, не старые, в которых попытка проверить видеорежимы может привести к затруднениям.
Все же, проверку лучше провести. В случае ошибки на экране появится соответствующее сообщение, и конфигурирование придется продолжить вручную; при удачном исходе проверки можно сэкономить силы, пропустив несколько последующих операций.
Если проверка не проведена или оказалась неудачной, откроется окно со списком возможных объемов видеопамяти (рис. 7.8). Выберите значение, соответствующее техническим данным карты видеоадаптера, которые мы рассмотрели в параграфе, посвященном подготовке к конфигурированию.
Рис. 7.8. Список объемов видеопамяти
Теперь нужно выбрать генератор тактовых импульсов. Если нет уверенности в наличии этого генератора или неизвестен его тип, то выберите No Clockchip (Отсутствует) (рис. 7.9).
Рис. 7.9. Список генераторов тактовых импульсов
Программа Xconfigurator предложит выполнить команду X -probeonly. Это команда обнаружения информации об источнике тактовых импульсов, используемая при отсутствии генератора тактовых импульсов. Не со всеми видеоадаптерами эта операция проходит успешно. Если у вас именно такой видеоадаптер, она не пройдет и у вас. Если после ввода указанной команды появится сообщение об ошибке или Xconfigurator аварийно прекратит работу, значит, ваш видеоадаптер не поддерживает выполнение данной команды.
После выбора генератора тактовых импульсов откроется окно (рис. 7.10), в котором выбираются видеорежимы монитора.
Рис. 7.10. Окно выбора видеорежимов
В этом окне есть три списка видеорежимов, количество цветов в которых определяется числом двоичных разрядов, указанных над каждым из них: чем больше разрядов, тем больше цветов (и ниже скорость). Аналогично, чем выше разрешение, тем обширнее ваша вотчина на рабочем столе - правда, за счет мелких шрифтов и значков. Наверняка, вы захотите поэкспериментировать с видеорежимами и найти наиболее удобный, однако общепринятое мнение таково: для 14-дюймового монитора больше других подходит разрешение 640x480, для 15-дюймового - 800x600, для 17-дюмового - 1024x768. Имея достаточно ресурсов, следует выбрать 16- или 24-разрядную цветовую схему. Такие схемы особенно важны для программ с интенсивным использованием цвета -например, Netscape Communicator или GIMP.
Для перехода к списку, соответствующему определенному числу двоичных разрядов, воспользуйтесь клавишей Tab, а для выделения строки с нужным разрешением - клавишами со стрелками. Чтобы выбрать выделенное разрешение, нажмите клавишу пробела. Выбрав режим (или несколько - их можно менять при работе в X Windows), перейдите клавишей Tab на кнопку ОК и нажмите Enter.
Примечание
При выборе более чем одного видеорежима можно переключаться между ними в X Window с помощью Ctrl+Alt+Плюс (на цифровой клавиатуре) и Ctrl+Alt+Минус (на цифровой, клавиатуре).
В завершение Xconfigurator тестирует заданную конфигурацию. В течение нескольких секунд изображение на экране может отсутствовать (или быть искаженным). Если результат тестирования удовлетворителен, на экране появится следующий запрос:
Can you see this message? Automatic timeout in 10 seconds.
(Вы видите это сообщение? Ответ ожидается в течение 10 секунд.)
Если вы видите это сообщение,-щелкните на Yes (Да). Далее Xconfigurator выдаст запрос на запуск X сервера при перезагрузке. После перезагрузки Linux выводит графический экран входа в систему.
На этом процесс конфигурирования можно считать завершенным, о чем вам и сообщат в соответствующем сообщении. Для выхода из программы Xconfigurator нажмите клавишу Enter. Программа создает конфигурационный файл, который в Linux Red Hat 7.1 записывается в каталог /etc/X11 под именем XR86Config.
Конфигурирование XFree86 с помощью программы xf86config
Программа Xconfigurator входит в комплект лишь одного дистрибутива - Linux Red Hat - и представляет лишь один из способов конфигурирования системы XFree86, имеющей собственную конфигурационную программу xf86config, входящую во все дистрибутивы Linux.
Эта программа также управляется меню, но имеет меньше возможностей и, по сравнению с Xconfigurator, кажется несколько нескладной. Однако xf86config допускает ручной ввод параметров с клавиатуры и с помощью мыши. Для запуска xf86config введите следующую команду.
$ xf86config Откроется вводный экран, показанный на рис. 7.11.
Рис. 7.11. Вводный экран программы xf86config
Совет
Для успешного завершения всех операций конфигурирования X Windows в программе xf86config, необходимо войти в систему как корневой пользователь (суперпользователь, привилегированный пользователь).
Примечание
При конфигурировании программа Xf86config выводит на экран очень много текстовой информации. Вводный экран - тому пример. Если вы пока не успели основательно изучить Xf86config, внимательно читайте выводимые тексты. Это позволит вам принимать правильные решения. После выбора одной из опций в списке и перехода к следующему экрану возврат уже невозможен, придется перезапускать Xf86config.
На рис. 7.12 показан первый список программы - список моделей мыши. Выберите нужную мышь, введите в командной строке число, которым она помечена, и нажмите Enter. После этого придется ответить на несколько вопросов, среди которых могут быть следующие.
Рис. 7.12. Выбор протокола мыши
Последний параметр, который надо ввести, - устройство мыши. Если у вас та же мышь, которую вы конфигурировали в процессе установки Linux (гл. 4), то укажите /dev/mouse. Поскольку это значение предлагается по умолчанию, достаточно просто нажать Enter.
Примечание
Версия xf86config, входящая в состав Red Hat Linux 7.1, не распознает USB-периферию. Если у вас USB-мышь и Red Hat Linux 7.1, воспользуйтесь утилитой /usr/sbin/mouseconf ig.
Далее следует процедура конфигурирования клавиатуры. Первый экран содержит меню доступных типов клавиатур, как показано на рис. 7.13.
Выберите тип, соответствующий вашей клавиатуре. Для большинства компьютеров Северной Америки больше других подходит Generic 101-key (Стандартная 101-клавишная) или Generic 104-key (Стандартная 104-клавищная), После выбора типа клавиатуры из этого списка, на экран будет выведен список языков и диалектов. Этот список не помещается на экране полностью, и очередная его часть выводится нажатием клавиши Enter.
Рис. 7.13. Список клавиатур
Продолжим конфигурирование клавиатуры. Следующий вопрос - "Do you want to select additional XKB options?" (Выбрать ли параметры ХКВ?). ХКВ - дополнение к X Windows, упрощающее определение раскладок клавиатуры для разных языков на многоязычных клавиатурах. Установите этот параметр, ответив Y (Да).
Далее наступает черед диапазонов частот горизонтальной и вертикальной развертки монитора. Первый список параметров показан на рис. 7.14.
Рис. 7.14. Список для выбора диапазона частот горизонтальной развертки
Если добиться полного соответствия диапазона частот горизонтальной развертки не удается, но вы знаете, каковы точные значения этого параметра для вашего монитора, выберите "Enter Your Own Horizontal Sync Range" (Введите свои значения диапазона частот горизонтальной развертки) и введите их. Если у вас нет этих сведений, укажите значения, которые, по вашему мнению, не должны выходить за пределы диапазона частот мониторов подобных типов. Для среднего 15-дюймового многочастотного монитора попробуйте выбрать Super VGA или Extended Super VGA, для менее качественного 14-дюймового - Standard VGA.
Теперь настал черед диапазона частот вертикальной развертки. Программа Xf86config предлагает небольшое число вариантов. Можно выбрать Enter Your Own Vertical Sync Range (Введите собственные значения диапазона частот вертикальной развертки) и ввести нужные значения. Если они вам не известны, безопаснее всего выбрать минимальный диапазон, в большинстве версий XFree86 равный 50—70 Гц.
Программа xf86config предложит указать идентификатор, изготовителя и наименование или номер модели монитора. Эти сведения не относятся к конфигурационным параметрам, но их нужно знать на случай, если они вдруг понадобятся.
Далее необходимо сконфигурировать карту видеоадаптера или микропроцессорный набор. Программа предлагает просмотреть список известных видеоадаптеров и микропроцессорных наборов и выбрать нужный. Если выбрать просмотр, на экран будет выведен список видеоадаптеров (рис. 7.15).
Рис. 7.15. Список видеоадаптеров
Следующая страница списка выводится нажатием клавиши Enter. Чтобы выбрать видеоадаптер, наберите его номер в списке (с любой страницы) и нажмите Enter. He найдя подходящего видеоадаптера, выйдите из данной процедуры, введя команду q.
После выбора видеокарты на экране появляется список объемов видеопамяти (рис. 7.16).
Рис. 7.16. Список объемов видеопамяти
Итак, вы указали объем видеопамяти, и теперь необходимо ввести идентификатор, изготовителя и модель карты видеоадаптера. Эти сведения не отражаются на работе X Windows, поэтому можно вводить любую информацию, которую легко отыскать и распознать, если вдруг придется вручную редактировать конфигурационный файл XFree86.
Теперь надо выбрать видеорежимы (см. рис. 7.17). Можно установить несколько видеорежимов, чтобы затем менять их, не перезагружая X Windows. Будьте внимательны, чтобы не принять предлагаемый по умолчанию режим, превышающий возможности видеоадаптера и монитора. К примеру, маловероятно, что 14-дюймовый монитор может обеспечить разрешение 1280x1024, а карта с видеопамятью в 512 Кбайт - 24-разрядную цветовую схему (при любом разрешении).
Рис. 7.17. Меню глубины цвета
Осталось ответить на последнюю группу вопросов, касающихся места записи конфигурационного файла xf86config. Вначале следует указать, записывать ли конфигурационный файл xf86config в каталог /etc/X11/XF86Conf ig, назначаемый по умолчанию. Записывая файл в другое место, вы не рискуете уничтожить прежний конфигурационный файл, который может понадобиться, если новый окажется неработоспособным. Если вы уже какое-то время работаете с X Windows и намерены внести в конфигурацию лишь незначительные изменения, следует сохранить копию старого конфигурационного файла, прежде чем записывать новую.
Если ответить на этот вопрос п (Нет), программа xf86config предложит несколько альтернативных каталогов для записи конфигурационного файла (см. ниже).
Итак, программа спрашивает, записывать ли файл в каталог по умолчанию (обычно /usr/XHR6/lib/X11/XF86Conf ig). Чтобы указать другой каталог, ответьте п (Нет).
Затем следует вопрос, записать ли файл в текущий каталог. Если текущий каталог логический (например, исходный каталог корневого пользователя или / tmp), можно ответить у (Да). Если ответить п, программа потребует указать полный путь к месту записи нового конфигурационного файла и его имя.
Чтобы воспользоваться результатами конфигурирования (если они оказываются удовлетворительными), необходимо записать новый файл в каталог, предназначенный для конфигурационного файла XFree86. В большинстве версий Linux это каталог /etc/XF86Conf ig или /etc/X11/XF86Config, BRedHat7.1-/etc/X11/XF86Config.
Можно перед запуском xf86config создать резервную копию конфигурационного файла в другом каталоге. Тогда новый файл можно спокойно записывать в каталог по умолчанию. Копирование файлов подробно рассмотрено в гл. 14, а сейчас мы только приведем пример команды создания резервной копии конфигурационного файла XFree86 дистрибутива Red Hat 7.1.
$ ср /etc/X11/XF86Config /etc/X11/XF86Config.keep
По этой команде создается копия конфигурационного файла /etc/X11/XF86Config. keep.
Тестирование конфигурации
Итак, мы завершили конфигурирование X Windows, и теперь надо проверить, насколько конфигурация удалась. Попробуйте запустить X Windows. Версия X Windows, включенная в Linux Red Hat 7.1, запускает свой диспетчер окон и некоторые другие программы.
Для запуска X Windows ведите следующую команду. $ startx
При успешном запуске по экрану пробегают несколько строк информации, включается графический режим и появляется среда X Windows, установленная по умолчанию (рис. 7.18).
Рис. 7.18. Оформление рабочего стола по умолчанию в Linux Red Hat 7.1
Для работы в X Windows можно входить в систему с правами обычного либо корневого пользователя. Однако не следует без особой надобности пользоваться учетной записью корневого пользователя: избыток прав влечет за собой риск повреждения важных системных файлов.
Неудачный запуск X Windows означает реальные трудности. Возможны три проявления неудачного запуска.
Первый вариант означает, вероятнее всего, неправильную конфигурацию XFree86. К сожалению, число возможных источников ошибок так же велико, как число возможных сочетаний различного оборудования. Вот несколько советов, которые могут оказаться полезными в этой ситуации.
Если все это не приведет к успеху, попробуйте исследовать проблему. Начните с изучения информации, содержащейся в файле HOWTO XFree86. Если вы провели достаточно полную установку Linux, этот файл должен быть на диске. Если на диске вашего компьютера нет файла
HOWTO, его можно найти в Web, на странице http: / /www. linuxdoc. org/HOWTO/XFree86HOWTO/ index. html. Попробуйте также просмотреть документацию на вашу версию XFree86. Для версии 4.0.3 она доступна по адресу http: //www.xfree86 .org/4 .0 .3/index, html.
В двух других случаях (когда происходит переключение в графический режим, не более того) надо проверить конфигурацию запуска X Windows и диспетчера окон (гл. 12).
Что дальше
Итак, графическая среда X Windows установлена. Посмотрим, как она будет вести себя, взаимодействуя с конкретными программами. Начнем с GNOME - среды объектных моделей GNU.
GNOME - один из двух конкурирующих стандартов, ориентированных на будущий графический интерфейс Linux, обеспечивающий полностью интегрированную среду рабочего стола для разработки и запуска программ. По умолчанию, в Linux Red Hat 7.1 устанавливается рабочий стол GNOME.
В следующей главе мы изучим основы использования X Windows с рабочим столом GNOME, а в гл. 9 — запуск GNOME и других программ X Windows, в том числе эмуляторов терминалов, диспетчеров файлов, графических программ и т.п. После этого у вас будет достаточно уверенности и опыта для экспериментов с другими программами X Windows.
Глава 8. Работа с GNOME и X Windows
Система X Windows успешно установлена, пора научиться работать в графической среде, предоставляемой Linux Red Hat.
В этой главе дан обзор рабочего стола GNOME. Это достаточно сложная система, заслуживающая отдельной книги. Конечно, эта глава не претендует на роль полного руководства по GNOME, в ней даны начальные знания, которые читатель будет совершенствовать в процессе работы. Для тех, кто успел поработать с Windows 9x, Me, NT или 2000, изучение основ GNOME не составит труда.
Запуск X Windows и GNOME
Поскольку система-Red Hat заранее сконфигурирована на использование GNOME, для запуска последнего достаточно запустить X Windows. Для этого надо войти в систему как пользователь и ввести команду $ startx
По этой команде происходит запуск X Windows и диспетчера рабочего стола GNOME. Экран принимает вид, показанный на рис. 8.1. На нем располагаются значки двух разновидностей: значки, предназначенные для запуска приложений, и значки папок, используемые для доступа к файлам с помощью диспетчера файлов GNOME, называемого GNU Midnight Commander.
Примечание
Можно так сконфигурировать Red Hat, чтобы запуск X Windows происходил во время загрузки операционной системы, предоставляя графические средства для ввода имени пользователя и пароля, с последующим автоматическим запуском GNOME (без ввода команды startx).
Ручная установка GNOME
По умолчанию GNOME устанавливается в процессе установки Linux Red Hat 7.1. Если по Какой-либо причине вы тогда решили не устанавливать GNOME или же установка не удалась, придется выполнить ее вручную.
Для этого необходимо установить следующие пакеты из каталога RedHat/RPMS диска CD-ROM Red Hat,
Некоторые из этих пакетов расположены на втором установочном CD-ROM диске Red Hat Linux 7.1. В книге этого диска нет. Но не расстраивайтесь по поводу отсутствия части пакетов - для работы с GNOME они не важны. Каждый пакет устанавливается командой
# rpm -i filename
где filename-имя файла.
Вместе с GNOME загружаются два его основных компонента - панель и окно xterm.
Рис. 8.1. Рабочий стол GNOME, устанавливаемый по умолчанию в Linux Red Hat 7.1
Панель GNOME
Панель, показанная на рис. 8.2, расположена внизу экрана. Слева на ней размещена кнопка System Menu (Системное меню), со стилизованным изображением отпечатка ноги, справа -небольшой индикатор даты и времени; ближе к центру - кнопки пейджера и других инструментов, а также место для кнопок окон программ.
Рис. 8.2. Панель GNOME
На данной панели расположены пять кнопок для запуска специальных программ:
Главное системное меню
Меню System (Системное) подобно меню Пуск в Windows 98 и Windows 2000. После щелчка на кнопке System открывается меню, показанное на рис. 8.3.
Рис. 8.3. Меню System
Примечание
Хотя в вашей системе меню, окна и панели могут выглядеть иначе, чем на приведенных в данной главе иллюстрациях, при стандартной установке GNOME в Red Hat Linux 7.1 такие отличия отсутствуют.
Перечислим компоненты меню System.
Programs (Программы). Это подменю обеспечивает доступ к большинству приложений и утилит, доступных в GNOME.
Favorites (Избранное). Этот пункт меню открывает список избранных объектов, включая и веб-сайты.
Applets (Апплеты). Доступ к стандартным апплетам GNOME, включая мониторы загрузки, часы, и CD-проигрыватели. GNOME может поместить любые выбранные вами апплеты на панель.
KDE Menus (Меню КОЕ). Доступ к стандартным меню KDE (если оболочка KDE установлена как альтернативный диспетчер рабочего стола).
Run (Запуск программы). Запуск любой программы, установленной в системе Linux. После щелчка на этой команде открывается диалоговой окно, показанное на рис. 8.4. Введите путь и имя программы, затем щелкните на кнопке Run (Выполнить). Можно щелкнуть на кнопке Browse (Обзор) и указать запускаемую программу в окне выбора программ (рис. 8.5).
Рис. 8.4. Запуск программы
Рис. 8.5. Выбор программы для запуска
Panel (Панель). Средства конфигурирования панели GNOME (гл. 10).
Lock Screen (Заставка). По этой команде запускается экранная заставка с паролем.
Log Out (Завершение работы). Команда выхода из GNOME. Если GNOME был запущен с графического экрана при входе в систему, то по этой команде GNOME прекращает работу, и на экран возвращается окно входа в систему. Если же GNOME был запущен с командной строки консоли, происходит возврат к командной строке.
Подменю Programs. Подменю Programs содержит несколько подменю, каждое из которых отмечено стрелкой справа от имени. Подменю открывается щелчком на имени и содержит имена программ, которые можно запустить. Стандартные подменю следующие.
Applications (Программы). Из этого подменю запускаются стандартные программы GNOME, например календарь, электронные таблицы, Gnumeric.
Utilities (Утилиты). Доступ к часто используемым утилитам GNOME и X Windows, среди которых rvxt, калькулятор и программа просмотра текстовых файлов.
Development (Разработка). Это подменю включает утилиту разработчика GLADE, предназначенную для разработки пользовательского интерфейса GTK+.
Games (Игры). Несколько игр для среды X Windows и GNOME.
Graphics (Графика). Несколько графических программ для GNOME, в том числе популярный графический редактор The GIMP.
Internet. Быстрый доступ к стандартным инструментам Internet, в том числе Netscape Communicator, новому браузеру Mozilla и FTP-утилите GNOME, gFTP.
Multimedia. Набор мультимедийных средств, включающий проигрыватель компакт-дисков и регулятор громкости.
Settings (Настройка). Набор средств конфигурирования GNOME. Подробнее см. в гл. 10.
System (Системные). Быстрый доступ к некоторым системным инструментам, в том числе GnoRPM системе управления пакетами rpm Red Hat из комплекта GNOME.
File Маneger (Диспетчер файлов). Запуск диспетчера файлов GNOME (рис. 8.6). Подробнее диспетчер файлов GNOME рассмотрен далее в этой главе.
Рис. 8.6. Диспетчер файлов GNOME
Help System (Справочная система). Запуск справочной системы GNOME. Справочная система построена на основе HTML с использованием браузера HTML (рис. 8.7) и содержит достаточно полную документацию по GNOME.
Манипуляции с панелью GNOME
Некоторым пользователям не нравится, что на небольшом экране (например, монитора ноутбука или 14- и 15-дюймовых мониторов) панель GNOME занимает довольно много места. К счастью, есть несколько способов, позволяющих решить эту проблему.
Рис. 8.7. Справочная система GNOME
Во-первых, панель можно свернуть в небольшой прямоугольник. Стандартная панель расположена вдоль нижней кромки экрана. Если щелкнуть на небольшой стрелке, направленной влево и расположенной у левого края панели, то последняя свернется до небольшого прямоугольника со стрелкой вправо, расположенного в левом нижнем углу. Панель возвращается на место щелчком на стрелке, направленной вправо.
Аналогично, после щелчка на стрелке вправо, расположенной с правого края панели, панель сворачивается в нижнем правом углу экрана и разворачивается щелчком на стрелке, направленной влево.
Если вам покажется, что и в свернутом виде панель занимает много места, удалите из нее стрелку. Для этого на свернутой панели выполните правый щелчок и команду Panel/Properties/All Properties (Панель/Свойства/Все свойства) открывшегося контекстного меню. Откроется диалоговое окно Panel Properties (Свойства панели), показанное на рис. 8.8.
Отменив выбор опции Show Arrows On Hide Button (Вывод стрелки свернутой панели) и щелкнув на кнопке Apply (Применить), вы удалите стрелку из свернутой панели в левом или правом нижнем углу экрана, сделав ее еще уже.
Еще один способ отвоевать место на рабочем столе - установить в диалоговом окне Panel Properties флажок Enable Auto-hide (Разрешить автоматическое сворачивание) и щелкнуть на кнопке Apply. После этого от панели останется только узенькая полоска внизу экрана. Панель станет видимой, если навести на эту полоску указатель мыши. Если убрать указатель мыши с панели, она вновь станет невидимой, оставив только полоску внизу экрана.
Еще одна полезная возможность, предоставляемая диалоговым окном Panel Properties, -перемещение панели на другое место экрана - верхний левый или правый края. Для этого надо установить соответствующий переключатель в группе Panel Position (Расположение панели) и щелкнуть на Apply.
Рис. 8.8. Диалоговое окно свойств панели GNOME
Апплеты панели
Панель GNOME допускает высокую степень адаптации. Одно из наиболее МОЩНЫХ средств —
запуск небольших апплетов панели.
GNOME содержит множество апплетов, а также предоставляет интерфейс для программирования пользователем собственных апплетов. Перечислим некоторые апплеты из рабочего стола GNOME дистрибутива Linux Red Hat 7.1.
Пейджер и часы установлены на панели GNOME (по умолчанию). Ниже перечислены некоторые манипуляции с апплетами:
Установка апплета на панель
Установить апплет на панель несложно. Чтобы установить, например, диспетчер стола, правым щелчком на свободном месте панели откройте контекстное меню, в котором выберите Panel/Add То Panel/Applet/Utility/Desk Guide (Панель/Добавить на панель/Апплет/Утилита/Диспетчер стола). На панели появится диспетчер стола.
Другой способ установки апплета основан на использовании системного меню. Чтобы добавить на панель, например, апплет Tasklist (Список задач), выберите в системном меню Applets/Utility/Tasklist (Апгшеты/Утилита/Список задач). Список выполняемых в данный момент задач появится на панели.
Перемещение апплета по панели
Если вам не нравится расположение апплета на панели, переместите его на новое место. Для этого щелкните на апплете правой кнопкой и выполните команду контекстного меню Move (Переместить), после чего просто перетащите апплет на-новое место, удерживая нажатой левую кнопку мыши. Как только вы отпустите кнопку, апплет поменяет расположение.
Редактирование свойств апплета
Как правило, апплет имеет набор свойств, редактируя которые можно менять его характеристики. Редактирование производится в диалоговом окне Properties (Свойства). Чтобы открыть это окно, щелкните правой кнопкой на апплете и выполните команду Properties контекстного меню.
Удаление апплета с панели
Возможность удалить с панели установленный апплет трудно переоценить. Во-первых, это позволяет экспериментировать со множеством апплетов GNOME, во-вторых - очищать панель, когда на ней становится слишком тесно. Чтобы удалить апплет, щелкните на нем правой кнопкой и выполните команду Remove From Panel (Удалить с панели) контекстного меню.
Диспетчер стола и список задач
Поскольку диспетчер стола и список задач - апплеты, установленные на панели в предыдущих параграфах, рассмотрим их в качестве примера использования апплетов. Диспетчер стола, изображенный на рис. 8.9, предназначен для поддержки виртуальных рабочих столов.
Примечание
Диспетчер стола и список задач в предыдущих версиях GNOME были известны под названием "пейджер" (Pager).
Чтобы понять суть виртуального рабочего стола, рассмотрим простой пример. Наличие двух виртуальных рабочих столов аналогично наличию двух мониторов, питающихся от одного силового кабеля. Каждый монитор контролирует свой набор заданий, переключение из одной среды в другую производится перекидкой силового кабеля.
Это и есть принцип действия виртуальных рабочих столов - только без потери времени и сил на переключение кабеля. Каждый виртуальный рабочий стол - самостоятельная рабочая среда, в которой можно открывать окна и запускать программы. Несмотря на то, что разные программы представлены на разных рабочих столах, все ни выполняются в одном сеансе X Windows. Последнее означает, что программы на разных рабочих столах могут обмениваться данными через буфер обмена, как если бы они были на одном рабочем столе.
Для перехода на другой рабочий стол надо щелкнуть на его кнопке, расположенной на Диспетчере стола, после чего указанный рабочий стол станет активным.
С правого края каждого виртуального рабочего стола отведено место для кнопок всех открытых окон текущего рабочего стола (список задач). Если щелкнуть на одной из них, то соответствующее окно станет активным.
Между кнопками заданий и остальной частью виртуального рабочего стола находится небольшая кнопка со стрелкой вверх. Щелчок на этой кнопке приводит к открытию списка окон, открытых на всех виртуальных рабочих столах. Если щелкнуть на имени одного окна, произойдет переход на соответствующий рабочий стол, на котором это окно станет активным.
Интерфейс GNOME
В пользовательском интерфейсе GNOME есть много критических элементов. Рассмотрим средства GNOME, позволяющие манипулировать окнами и взаимодействовать с рабочим столом.
Манипулирование окнами
По внешнему виду и поведению окна GNOME мало отличаются от своих собратьев из Windows 98. Это существенно облегчает жизнь пользователям Windows, которым не потребуется особых усилий для перехода с одной оконной системы на другую.
Рассмотрим основные элементы окна - строку заголовка, функциональные кнопки, меню окна и рамку.
Строка заголовка
Строка заголовка расположена на верхней кромке окна и содержит его имя, обычно совпадающее с именем программы, открывшей это окно. Имя окна xterm установлено по умолчанию, но может быть изменено (чуть позже мы это рассмотрим).
Строка заголовка выполняет несколько функций. Очевидно, что щелчок на ней делает окно активным. Для этого достаточно щелкнуть в любом месте окна, но в некоторых редких случаях все же лучше делать это на строке заголовка. Перетаскивая заголовок, можно перемещать окно по рабочему столу. После отпускания кнопки, окно оказывается на новом месте.
Двойной щелчок на строке заголовка приводит к сворачиванию окна (shading - по терминологии GNOME), и на экране остается только строка заголовка, сохраняющая все свои функции. Следующим двойным щелчком окно возвращается к прежнему состоянию (unshading - по терминологии GNOME).
Функциональные кнопки
Это группа из трех кнопок в верхнем правом углу большинства окон.
Щелчок на одной из этих кнопок приводит к следующим преобразованиям окна (слева направо).
Сворачивание окна. Окно удаляется с экрана, остается лишь его кнопка в списке задач на панели.
Разворачивание/восстановление окна. Разворачивание окна во весь экран (разворачивание) и возвращение в исходное состояние (восстановление).
Закрытие окна. Если программа многооконная, то щелчок на этой кнопке не обязательно приводит к прекращению работы программы.
Меню окна
Слева от заголовка расположен значок, щелчок на котором приводит к открытию меню, содержащего несколько команд управления окном. Первые три команды (Minimize, Maximize и Close) дублируют функциональные кнопки окна. Остальные команды разнесены по подменю:
Toggle (Переключить). Это подменю дает возможность оставить окно на столе при переходе от стола к столу (Sticky), минимизировать окно (Minimize) и свернуть его до строки заголовка (Shaded).
In Group (Группировка). Это подменю позволяет группировать данное окно с другим.
Send Window To (Передать). Эта команда позволяет переместить активное окно на другой рабочий стол, указав направление перемещения (например, в сторону окна, расположенного справа от данного).
Stacking (Порядок). Здесь можно задать положение окна среди остальных.
Frame Type (Тип рамки). Задается положение рамки по отношению к строке заголовка и границам окна.
Frame Style (Стиль рамки). Задается формат рамки.
History (Умолчания). Это подменю позволяет задать позицию, размер и свойства окна по умолчанию.
Рамка окна
В большинстве окон есть рамка шириной в пять пикселей (значение по умолчанию, которое, как мы увидим позже, можно поменять). Назначение рамки - обозначение границ окна и изменение его размеров.
Можно менять размер окна по горизонтали, вертикали или одновременно в двух направлениях, перетаскивая сторону рамки в любом месте, кроме края непосредственно примыкающего к строке заголовка. При перетаскивании сторона рамки следует за указателем мыши, изменяя размер окна. При перетаскивании левой и правой сторон меняется размер по горизонтали, при перетаскивании верхней и нижней - по вертикали. Если перетаскивать один из нижних углов, изменяются оба размера.
Рабочий стол GNOME
Вы уже, вероятно, обратили внимание, что при первом запуске на рабочем столе GNOME находится всего один значок. Это значок папки с именем Home Directory (Исходный каталог). Двойной щелчок на этом значке приводит к открытию диспетчера файлов GNOME с исходным каталогом данного пользователя (рис. 8.10).
Рис. 8.10. Диспетчер файлов GNOME
Если щелкнуть правой кнопкой на рабочем столе GNOME, откроется контекстное меню, в котором можно выполнить несколько операций:
Например, по команде Arrange Icons (Упорядочить значки) значки на рабочем столе выстраиваются ровными рядами, Время от времени это приходится делать, если на рабочем столе возникает беспорядок. Если выполнить команду Create New Window (Создать окно), откроется новое окно диспетчера файлов (как после двойного щелчка на значке Home Directory).
Управление файлами в GNOME
У пользователей Windows 3.1 есть Диспетчер файлов, у пользователей Windows 95 - Проводник, в Mac OS - программа Finder. Назначение всех этих программ - управление файлами (в том числе копирование, перемещение, переименование и удаление) и запуск программ.
В мире X Windows до последнего времени подобного стандартного средства не было. Правда, есть ряд программ, претендующих на роль диспетчеров файлов или рабочих столов и пытающихся предоставить пользователю соответствующие функции. Многие из них приведены на Web-странице http://www.xnet.com/ ~blatura/linapp2.html#file.
Однако с появлением альтернативных стандартов для Linux GNOME и КDЕ ситуация изменилась. Обе среды содержат диспетчеры файлов. В GNOME это GNU Midnight Commander - гибкий и качественный инструмент управления и просмотра файлов. Мы рассмотрим его в следующем параграфе.
Запуск диспетчера файлов GNOME
Диспетчер файлов GNOME можно запустить, выполнив команду File Manager системного меню Programs. Можно также ввести из командной строки команду
$ gmс &
или, если надо указать полный путь (в Linux Red Hat 7.1),
$ /usr/bin/gmc & Gmc означает GNU Midnight Commander.
Окно диспетчера файлов
Окно диспетчера файлов выглядит примерно как на рис. 8.10. В окне показывается содержимое
одного каталога. По умолчанию задан исходный каталог пользователя, запустившего диспетчер файлов. Диспетчер файлов, окно которого показано на рис. 8.10, запущен пользователем mj поэтому в окне показано содержимое каталога /home/mj.
Дерево каталогов
С левой стороны окна диспетчера файлов GNOME находится развертываемая структура каталогов системы Linux. Внешне она напоминает дерево каталогов проводника Windows (Windows 95, 98 и 2000) и работает совершенно аналогично.
В некоторых версиях GNOME, включая и версию в базовой инсталляции Red Hat Linux 7.1, на месте треугольников, указывающих вправо, стоят знаки "+", а на месте треугольников, указывающих вниз, знаки"-".
Панель просмотра
С правой стороны окна диспетчера файлов GNOME расположена панель просмотра, на которой представлено содержимое каталога, выделенного в левой части окна. Каталоги и файлы на этой панели представлены полноразмерными значками (по умолчанию). Существуют специальные значки для обозначения каталогов и файлов различных типов. Наиболее важные, смысл которых следует запомнить, - это значки каталогов, документов общего назначения, пакетов и архивов, а также файлов HTML.
Примечание
Полное описание типов файлов и структуры каталогов Linux дано в гл. 14. Начальные знания вы могли получить в гл. 4.
Значок папки используется для обозначения каталогов. Его смысл должен быть понятен пользователям систем Macintosh и Windows.
Чистый лист бумаги обозначает файл документа общего назначения. Это может быть обычный текстовый файл или файл Microsoft Word.
Лист бумаги с аббревиатурой HTML над ним обозначает файл HTML.
Наконец, значок, изображающий пресс, обозначает пакеты и архивы, например ZIP-файлы.
Панель инструментов
В верхней части окна расположена панель инструментов, на которой установлены девять кнопок. Перечислим их.
Back (Назад). Возврат в предыдущий каталог. Up (Вверх). Переход в каталог одним уровнем выше.
Forward (Вперед). Переход в следующий каталог хронологического списка (необходимо прежде выйти из этого каталога, щелкнув на кнопке Back).
Rescan (Повторное сканирование). Повторное сканирование текущего каталога и приведение списка в окне диспетчера файлов в соответствие с реальным содержимым каталога. Дело в том, что диспетчер файлов не обновляет экран автоматически после изменения содержимого каталога другими программами; в подобных случаях используется данная кнопка.
Ноте (Исходный). Переход в исходный каталог.
Icons (Значки). Представление содержимого текущего каталога крупными значками (по умолчанию).
Brief (Список). Представление содержимого текущего каталога в виде списка имен файлов и каталогов со значком папки возле имени каждого каталога (рис. 8.11).
Detailed (Таблица). Представление содержимого текущего каталога в виде таблицы, содержащей имя, размер и время модификации каждого файла и каталога (рис. 8.12). Custom (Режим пользователя). Представление содержимого текущего каталога в виде таблицы, сконструированной пользователем (рис. 8.13).
Важные команды меню
В диспетчере файлов GNOME имеется пять меню. Опишем наиболее часто используемые команды этих меню. Подробную информацию можно найти в справочной системе GNOME, вызываемой командой Help System (Справочная система) меню System.
Рис. 8.11. Вывод содержимого каталога в режиме Brief
Рис. 8.12. Вывод содержимого каталога в режиме Detailed
Меню File (Файл), команда Create New Window (Открыть окно)
Для вывода содержимого нескольких каталогов можно открыть несколько окон диспетчера файлов GNOME. Это позволяет перемещать файлы из одного каталога в другой, перетаскивая их из окна в окно.
Рис. 8.13. Вывод содержимого каталога в режиме Custom
Меню File, команда Сору (Копировать)
Чтобы скопировать файл, выделите его на панели просмотра, затем выполните данную команду. Откроется диалоговое окно, показанное на рис. 8.14. Щелкните на кнопке Browse (Обзор) и выберите каталог, в который надо скопировать файл, или укажите путь в текстовом поле.
Рис. 8.14. Копирование файла
Альтернативный способ копирования - правый щелчок на файле в правой части окна и выбор команды Сору из контекстного меню.
Меню File, команда Delete (Удалить)
Чтобы удалить файл, выделите его в панели просмотра и выполните данную команду. Откроется диалоговое окно с предложением подтвердить или отменить удаление. После подтверждения файл восстановить невозможно. Другим способом файл можно удалить, щелкнув на нем правой кнопкой и выполнив команду Delete контекстного меню.
Меню File, команда Move (Переместить)
Чтобы переместить файл на новое место, выделите его на панели просмотра, затем выполните данную команду. Откроется диалоговое окно копирования, показанное на рис. 8.14. Укажите
каталог, в который надо переместить файл и, при необходимости, установите флажок фонового режима. Другим способом файл можно переместить, щелкнув на нем правой кнопкой и выполнив команду Move контекстного меню.
Меню Layout (Макет), команда Sort By (Сортировать по)
Воспользуйтесь этой командой, чтобы изменить порядок представления файлов и каталогов на панели просмотра. Откроется диалоговое окно (рис. 8.15), в котором можно задать сортировку по именам, типам или объемам файлов, времени последнего доступа к ним или модификации, выбрав нужный вариант из разворачивающегося списка. Можно задать сортировку без учета регистра (первый флажок) или в обратном порядке (второй флажок), установив соответствующие флажки в нижней части диалогового окна.
Рис. 8.15. Задание метода сортировки
Меню Сommands (Команды), команда Find File (Найти файл)
Рис. 8.16. Поиск файла
В этом окне можно указать три параметра:
Указывая имя файла, можно использовать подстановочные символы. Например, если в поле имени указать gi*, будут найдены все файлы, имена которых начинаются с "gi", если *gi - все файлы, имена которых оканчиваются "gi". Задавая начала поиска, можно ввести полный путь (например, /home/username), одну косую (/), что соответствует каталогу высшего уровня, или точку (.), соответствующую текущему каталогу. Результаты поиска выводятся в окне, показанном на рис. 8.17.
Рис. 8.17. Результаты поиска файла
Что дальше
Пожалуй, вы уже освоились в среде X Windows - знаете основные команды, умеете запускать программы и работать с окнами.
В следующей главе мы научимся работать в GNOME с некоторыми программами. Среди этих программ - и простейшие (наподобие окон терминала), и самые сложные, например профессиональный графический редактор The GIMP.
Глава 9. Работа с программами в GNOME и X Windows
В этой главе мы ознакомимся с некоторыми программами X Windows и GNOME, научимся запускать и использовать их на рабочем столе GNOME. Среди этих программ - xterm, диспетчер файлов GNOME, именуемый Midnight Commander, графический редактор The GIMP и несколько утилит X Windows.
Программы отобраны по двум критериям: каждая из них либо применяется в ежедневной работе с Linux, либо дает представление о возможностях программ, предназначенных для этой операционной системы.
После чтения этой главы у вас появится достаточно уверенности, чтобы начать опыты с другими программами X Windows.
Работа с xterm
Несмотря на привлекательный вид и дружественность графического интерфейса X Windows, а также возможность создавать полностью графические программы, Linux, как один из вариантов Unix, остается операционной системой на основе командной строки.
Безусловно, можно неделями работать в Linux, не задумываясь о командной строке, однако время от времени к ней приходится обращаться, чтобы воспользоваться всеми возможностями операционной системы.
К счастью, для этого не надо отказываться от X Windows. Командная строка доступна в окне программы xterm, полностью интегрированном в среду X Windows. Это окно с полосами прокрутки и всеми свойствами окна - можно, к примеру, менять его размеры или копировать информацию из других окон и вставлять в них, чего никак нельзя делать в стандартной консоли Linux.
Примечание
Чтобы открыть окно xterm в Linux Red Hat 7.1, достаточно выполнить команду Regular XTerm из подменю System меню Programs. GNOME включает клон xterm, известный как GNOME terminal. Данная глава в деталях описывает xterm, поскольку эта программа доступна в различных графических оболочках Linux, включая КОЕ. Большинство описываемых команд работает и в GNOME terminal, но некоторые слегка отличаются по синтаксису (например, требуют дополнительного дефиса). В этой главе отмечаются только существенные функциональные отличия между двумя упомянутыми разновидностями программы.
Дополнительное окно xterm можно открыть с командной строки уже открытого окна командой $ xterm &
или, если файл иршраммы окажется не в текущем каталоге, $ /usr/XllR6/bin/xterm &
Совет
Расположение файлов можно задать командой locate. Чтобы найти каталог, в котором расположена программа xterm, выполните команду locate xterm. К сожалению, locate не работает с новыми или перемещенными файлами; для их поиска применяйте команду find (см. гл. 13).
Кроме того, дополнительное окно GNOME terminal можно запустить из командной строки другого окна xterm командой
$ gnome-terminal &
или щелчком на значке терминала в панели GNOME.
По умолчанию, размеры открывшегося окна - 80 символов в ширину и 24 строки в высоту, полоса прокрутки слева. Можно менять размеры окна, чтобы получить больше места для просмотра информации и работы. Обратите внимание: в окне xterm Linux Red Hat 7.1 (рис. 9.1) информация выводится черными символами на белом фоне (по умолчанию). По умолчанию в качестве заголовка окна используется имя пользователя и каталог.
Рис. 9.1. Окно xterm
Адаптация xterm
Программа xterm прекрасно адаптируется под конкретного пользователя. Возможно изменение следующих характеристик:
В данном параграфе дан обзор указанных параметров и их использования при открытии окон xterm.
Может показаться, что от всех этих возможностей мало пользы. Это не так. На разных мониторах текст удобнее читать при разных сочетаниях цветов, поэтому возможность менять цветовые схемы трудно переоценить.
Флажки и аргументы: букварь Unix
Прежде чем продолжить, рассмотрим кратко принцип действия команд Unix. Полное введение в Unix и его систему команд- с точки зрения применения в Linux - рассмотрено в гл. 13 и 14.
Чтобы запустить программу (команду), введите ее имя (возможно, с указанием'Полного пути) и нажмите клавишу Enter.
Например, программа xterm запускается командой
$ xterm
или, если она не находится в текущем каталоге,
$ /usr/X11R6/bin/xterm
Linux ищет программу, используя путь (path). Узнать используемый путь можно командой
$ echo $PATH
Чаще всего приходится указывать некоторую информацию, которая может влиять на режим работы программы или просто предназначена для обработки. Существует два вида этой информации: флажки и аргументы.
Аргументы - это информация, предназначенная для обработки. В качестве аргументов может указываться, например, имя файла или текст для поиска.
Флажки влияют на поведение программы. Они указываются после имени программы через один или несколько пробелов и дефис (знак "минус"). Например, флажок -help указывает ппогоамме xterm на необходимость вывести подскачи/ $ xterm -help
Формат команды:
xterm -options ... -е command arge где options — флажки, command args — аргументы. Доступны следующие флажки:
-help вывод данного сообщения
-display имя сервера Х-сервер для вывода на монитор
-geometry геометрия размеры (в символах) и расположение
-Х+rv включить/выключить негативное изображение
-bg цвет цвет фона
-f.g цвет цвет изображения (текста)
-bd цвет цвет рамки
-bw число ширина рамки в пикселях
-fn шрифт шрифт обычного текста
-iconic запуск с окном, свернутым в значок
-name строка экземпляр клиента, значок и строка заголовка
-title строка строка заголовка
-xrm строка дополнительный ресурс
-/+132 включить/выключить запрет смены столбца
-/+ah включить/выключить постоянное выделение
-/+ai включить/выключить активный значок
Можно устанавливать составные флажки, указывая необходимую дополнительную информацию. Например, чтобы задать цвета xterm, используются флажки -fg и -Ъд", но кроме самих флажков следует задать наименования цветов текста и фона. Команда
$ xterm -fg white -bg blaсk
созлэет окно xterm с белым (white) текстом на черном фоне (black). Кроме того, в качестве простого флага используется амперсанд (&). Например, команда
$ xterm &
открывает еще одно окно xterm и выполняет возврат в командную строку текущего окна.
Аргументы не относятся к конфигурационным параметрам и содержат лишь информацию, предназначенную для обработки программой. Они не отмечаются дефисами, как флажки, Обычно это имена файлов, которые необходимо открыть, обработать или отредактировать, как в следующем примере команды открытия файла testf ile для редактирования в программе emacs:
$ emacs testfile
Установка цветовой схемы
Установив флажки, можно указать любые цветовые оттенки любых элементов окна xterm. Рассмотрим основные составляющие цветовой схемы - цвета изображения, фона и курсора.
Введение в цветовые схемы X Windows
Прежде чем начать изучение флажков, применяемых для установки конкретных цветовых схем окна xterm, рассмотрим сами принципы определения цветов в X Windows.
В X Windows цвета определяются в формате RGB (red-green-blue - красный-зеленый-синий). Цвет задается тройкой чисел, каждое из которых может принимать значения от 0" до 255. Эти числа представляют насыщенность составляющих цвета - от минимальной (0) до максимальной (255).
К счастью, вычислять долю каждой составляющей нет надобности - эта работа уже выполнена. Результаты записаны в файле, где именам цветов сопоставлены указанные тройки чисел. Как правило,.это файл rgb. txt в каталоге /usr/xllR6/lib/Xll/.
Ниже приведены имена некоторых цветов из файла rgb. txt Linux Red Hat 7.1. Воспользуйтесь ими при выполнении упражнений по определению цветов.
snow (снежно-белый)
GhostWhite (белое привидение)
PapayaWhip (корень папайи)
LemonChiffon (воздушно-лимонный)
AliceBlue (голубой Алиса)
LavenderBlush (розовая лаванда)
MistyRose (туманно-розовый)
white (белый)
DarkSlateGray (темно-черепичный)
DimGray (сумеречно-серый)
gray (серый) MidnightBlue (полуночно-синий)
NavyBlue (флотский синий)
SlateBlue (черепично-синий)
blue (синий)
SteelBlue (сине-стальной)
turquoise (бирюзовый)
cyan (сине-зеленый)
DarkGreen (темно-зеленый)
SeaGreen (зеленая морская волна)
LawnGreen (зеленая трава)
green (зеленый)
Green Yellow (желто-зеленый)
DarkKhaki (темный хаки)
Light Yellow (светло-желтый)
yellow (желтый)
gold (золотой)
RosyBrown (коричнево-розовый)
IndianRed (индийский красный)
sienna (охра)
beige (бежевый)
wheat (пшеничный)
tan (желтрвато-коричневый)
chocolate (шоколадный)
DarkSalmon (темный лосось)
orange (оранжевый)
tomato (помидорный)
red (красный)
DeepPink (темно-розовый)
pink (розовый)
maroon (темно-бордовый)
magenta (пурпурный)
violet (фиолетовый)
orchid (светло-лиловый)
purple (багровый)
DarkCyan (темно-сине-зеленый)
DarkRed (темно-красный)
LightGreen (светло-зеленый)
Примечание
Фактическая насыщенность цвета зависит от возможностей видеоадаптера и качества монитора, различных системных параметров и выполняемых программ, поэтому реальные цвета могут отличаться от тех, которые вы пытались установить.
Цвет текста и фона
Установка цвета текста и фона позволяет изменять вид текста на экране. По умолчанию текст в окне xterm - черный на белом фоне. Для установки другого цвета воспользуйтесь флажками -fg и -bg. Например
$ xterm -fg white -bg black &
По этой команде окну xterm назначается цветовая схема, обратная устанавливаемой по умолчанию - белый текст на черном фоне (рис. 9.2).
Рис. 9.2. Изменение цветовой схемы
Примечание
Флажки -bg и -fg применимы не только к окну xterm. Это стандартные флажки X Windows, позволяющие менять цвета окон большинства программ X Windows.
Цвет курсора
Если вы уже упражнялись с установкой цветов, то наверняка обратили внимание, что курсор не меняет свой цвет, определенный цветовой схемой окна xterm, установленной по умолчанию (в большинстве вариантов Red Hat - розовый). Смена цвета курсора задается флажком -сг. Например, чтобы установить темно-синий курсор, необходимо ввести следующую команду:
$ xterm -bg black -fg white -cr MidnightBlue &
Установка размеров и расположения окна
При открытии окна xterm (или любого другого) это окно принимает размеры, установленные по умолчанию, а его расположение определяется конфигурацией диспетчера окон (мы рассмотрим этот вопрос в главе 12).
Однако в X Windows можно открывать окна с указанием точных размеров и расположения, используя флажок -geometry. Подобно флажкам -bg и -fg, это стандартный флажок, применимый к большинству программ X Windows.
Синтаксис этого флажка: -geometry widthxheight+x+y, где:
Окно xterm трактует значения высоты и ширины флажка -geometry не в пикселях, а в столбцах и строках текста с учетом используемого шрифта.
Размеры окна xterm по умолчанию - 80 столбцов на 24 строки. Предположим, нам надо установить небольшое окно размером 10 на 10 символов на расстоянии 200 пикселей от левого края экрана и 300 пикселей - от верхнего. Соответствующая команда имеет вид.
$ xterm -geometry 10x10+200+300 &
Окно, открытое этой командой, показано на рис. 9.3.
Рис. 9.3. Применение флажка -geometry
Примечание
Соответствующая команда в GNOME terminal имеет вид:
gnome-terminal —geometry=10x10+200+300 &
Но на результат ее выполнения влияет принятое в GNOME terminal ограничение: это окно не может иметь ширину менее 25 символов.
Добавив к этой команде флажки - f g и -bg, можно задать цветовую схему окна.
$ xterm -geometry 10x10+200+300 -fg DarkRed -bg cyan &
В результате, окно примет вид как на рис. 9.4.
Рис. 9.4. Сочетание флажка -geometry с флажками цветов
Запуск программы в окне xterm
Главное назначение окна xterm - предоставление пользователю доступа к командной строке. Однако иногда требуется открывать это окно с одновременным запуском определенной программы текстового режима, например программы Тор. Для этого применяется флажок -е. Команда открытия окна xterm с программой Тор имеет следующий вид.
$ xterm -e top &
Окно, открытое по этой команде, показано на рис. 9.5.
Рис. 9.5. Запуск программы тор при открытии окна xtarm
Когда программа, выполняемая в окне xterm, завершает работу, окно закрывается. Обратите внимание: при запуске программы в окне xterm с использованием ключа -е имя этой программы становится заголовком окна.
Примечание
Если флаг -е задан в команде gnome-terminal, он не устанавливает заголовок, используемый по умолчанию.
Установка шрифта
Как правило, шрифт, применяемый в окне xterm по умолчанию, достаточно хорошо читается на мониторе среднего размера. Но если монитор слишком велик или слишком мал, либо велико или мало разрешение, окно может лучше читаться с другим шрифтом.
Для смены шрифта используется флажок - f п. Но как задать сам шрифт? Это можно сделать-совсем просто - например, 7x13, что означает 7 пикселей в ширину и 13 в высоту; или посложнее, как -sony-fixed-medium-r-normal-24-230-75-75-c-120-iso8859-l, что означает 24-точечную латиницу средней высоты, стиля Roman с именем fixed от компании Sony.
В X Windows есть программа xlsf onts, которая выводит список всех шрифтов, установленных в система. Чтобы просмотреть список, введите в окне xterm команду
$ xlsfonts | more
Часть I more команды обеспечивает возможность постраничного пролистывания длинного списка нажатием клавиши пробела.
Чтобы открыть окно с крупным шрифтом 10x20 (рис. 9.6), надо ввести следующую команду:
$ xterm -fn 10x20 &
Рис. 9.6. Шрифт 10x20
Сравнивая этот рисунок с 9.1, обратите внимание на то, что изменения коснулись не только размера шрифта (он стал больше), но и размера окна xterm, которое тоже увеличилось, чтобы вместить заданное число строк и символов большего размера.
Теоретически в окне xterm можно установить любой из доступных в системе шрифтов. На практике же дело обстоит сложнее. Окну xterm нужны только шрифты фиксированной ширины, каждый символ которых занимает в строке одинаковое место. Именно таков шрифт Courier из Microsoft Windows.
В отличие от этого, многие другие шрифты пропорциональны. Это означает, что буква "i" занимает в строке меньше места, чем более широкая буква "w". Окно xterm плохо управляется с этими шрифтами, о чем свидетельствует рис. 9.7, где показан результат применения шрифта из семейства Times.
Рис. 9.7. Результат применения пропорционального шрифта
Ниже перечислены некоторые из распространенных (и легко устанавливаемых) шрифтов фиксированной ширины X Windows, включенных в дистрибутив Linux Red Hat 7.1.
5x7
6xl3bold
7xl4bold
5x8
6x9
8x13
6x10
7x13
8xl3bold
6x12
7xl3bold
6x13
7x14
Если есть желание поупражняться с другими шрифтами, воспользуйтесь программой xlsf onts. Чтобы просмотреть список шрифтов, выберите нужный, затем выведите этот шрифт в окне командой xf d. Например, команда вывода шрифта компании Sony -sony-f ixed-medium-r-normal-24-230-75-75-c-120-iso8859-l имеет вид:
$ xfd -fn -sony-fixed-medium-r-normal-24-230-75-75-c-120-iso8859-l
Обратите внимание на флажок имени шрифта - f п. Шрифт будет выведен в окне, как показано на рис. 9.8.
Окно закрывается щелчком на кнопке Quit (Закончить).
Другие функции
Мы рассмотрели не все функции окна xterm. Более полную информацию можно найти на странице руководства xterm. Существуют страницы руководства по различным программам. Команда открытия страницы руководства xterm в окне xterm имеет вид:
$ man xterm
Текст прокручивается клавишами управления курсором. Для выхода нажмите клавишу q.
Рис. 9.8. Вывод шрифта по команде xfd
Приложения X Windows
До сих пор мы рассматривали самые основы работы программ X Windows xterm и диспетчер файлов GNOME. Если больше рассматривать нечего, то правы скептики, утверждающие, что программ для X Windows не существует и настоящая работа возможна только в Windows и Mac OS.,
Безусловно, это не так. Существует множество мощных и эффективных программ для среды X Windows: Даже среди программ, распространяемых бесплатно, найдется немало способных поспорить с коммерческими продуктами.
Мы рассмотрим две популярные графические программы Linux - The GIMP и электронную таблицу Gnumeric. Поскольку это большие программы с богатыми наборами функций, мы остановимся на общих характеристиках и основных функциях этих программ, указав источники более полной информации. Ведь чтобы освоить The GIMP и Gnumeric, нужна отдельная книга.
Примечание
В офисный комплект GNOME также входит текстовый редактор AbiWord, программа Dia для построения диаграмм и графиков в стиле Visio и персональный информационный менеджер GNOME-PIM.
The GIMP
The GIMP (General Image Manipulation Program - Программа полного манипулирования изображениями) - это попытка представить сообществу Linux пакет редактирования изображений с полным набором функций, способный конкурировать с пакетами Adobe Photoshop или Corel PhotoPaint. На рис. 9.9 показана программа The GIMP, в которой открыты некоторые диалоговые окна и инструменты. Эта программа в большой степени интегрирована в GNOME и считается стандартным графическим редактором этого рабочего cтола и образцом мощного программного обеспечения. GNOME является составной частью Linux Red Hat 7.1.
Рис. 9.9. The GIMP
Распространяемый по общественной лицензии GNU (GNU Public License), The GIMP постоянно совершенствуется Спенсером Кимболом (Spencer Kimball) и Питером Мэттисом (Peter Mattis) из университета Калифорния-Беркли.
The GIMP имеет полный набор средств, необходимых полнофункциональному пакету редактирования изображений, в том числе множество типов кистей, особые фильтры, интеллектуальные ножницы, выделение Безье, слои, прозрачность и 24-разрядные цветовые схемы.
The GIMP допускает применение вставок plug-in. Эти вставки можно бесплатно загружать из Internet для решения разнообразнейших задач, среди которых удаление ряби, отображение на сфере, создание мозаик, моделирование светорассеяния в линзах и многое другое.
К последней версии (1.2.1) можно загрузить из Internet руководство, содержащее подробные инструкции и документацию, которых так часто не хватает бесплатному программному обеспечению. Все это находится на Web-узле The GIMP (manual. gimp. org).
Программа The GIMP запускается из окна xterm командой
$ gimp &
или
$ /usr/bin/gimp &
Также можно запустить программу, выполнив команду The GIMP подменю Graphics меню Programs в GNOME.
О запуске программы The GIMP свидетельствует вывод на экран ее панели инструментов (рис. 9.10) с большим набором инструментальных средств и главным меню File (Файл).
Рис. 9.10. Панель инструментов программы The GIMP
Ниже мы коротко рассмотрим основные операции, выполняемые программой The GIMP: открытие и закрытие изображений, кадрирование и копирование содержимого окна в файл изображения. Документацию программы The GIMP можно загрузить с Web-страницы The GIMP, упомянутой ранее.
Открытие изображений
Чтобы открыть изображение, выберите в меню File (Файл) команду Open (Открыть). Откроется диалоговое окно, подобное показанному на рис. 9.11.
Рис. 9.11. Окно загрузки файла программы The GIMP
Это диалоговое окно напоминает окна системы Маc. Над списком файлов находится кнопка с именем текущего каталога. Щелчок на этой кнопке открывает список каталогов более высокого уровня. Указав один из каталогов этого списка, можно быстро перейти в него.
Чтобы открыть нужный файл, выделите его имя в списке. Чтобы просмотреть содержимое файла (эскиз), щелкните на кнопке Generate Preview (Просмотр). Выбрав файл, щелкните на кнопке ОК. Диалоговое окно закроется, а в окне просмотра появится изображение, записанное в этот файл.
Сохранение изображений
Для сохранения файла вам потребуется полное меню программы The GIMP (рис. 9.12). Оно открывается, если щелкнуть правой кнопкой на изображении.
Рис. 9.12. Главное меню The GIMP
Диалоговое окно сохранения файла (рис. 9.13) аналогично рассмотренному окну открытия, но открывается командой Save As (Сохранить как) меню File (Файл) главного меню The GIMP. Точно так же происходит выбор нужного каталога, выделяется нужный файл. После щелчка на кнопке ОК изображение сохраняется в файле, указанном в поле Selection (Сохранить файл).
Рис. 9.13. Окно сохранения файла программы The GIMP
Чтобы сохранить изображение в новом файле, введите в это поле имя файла, который будет создан.
При сохранении изображения необходимо указывать его тип. В центральной части диалогового окна расположена кнопка меню файловых форматов (Determine File Type). Щелкните на ней и выберите нужный формат в открывшемся меню.
Кадрирование изображения
Это несложный процесс. Выделите область, которую необходимо кадрировать (обрезать) и щелкните на кнопке Crop (Кадрировать) в окне Crop & Resize Information.
Для перехода в режим кадрирования, щелкните на изображении правой кнопкой мыши. В появившемся меню выберите Tools (Инструменты), затем Transform Tools (Инструменты преобразования) и Crop & Resize (Кадрировать и масштабировать). Область кадрирования выделяется в окне изображения вычерчиванием прямоугольника при перетаскивании мыши с нажатой левой кнопкой. На рис. 9.14 показано изображение, часть которого выделена описанным способом.
Рис. 9.14. Выделение области кадрирования
Выделив область, щелкните на кнопке Crop в окне Crop & Resize Information.
Рис. 9.15. Результат кадрирования
Если результат кадрирования окажется неудовлетворительным, можно отменить его щелчком правой кнопки мыши на изображении. Далее следует выбрать в появившемся меню File (Файл), а затем Revert (Вернуть).
Копирование содержимого окна
Одно из популярных применений программы The GIMP - "фотографирование экрана". Функция Acquire Screen Shot (Захват экрана) выполняет запись содержимого открытого окна в файл изображения. Для получения копии экрана выберите в меню File (Файл) элемент Acquire (Получить), а затем команду Screen Shot (Копия экрана). Это приводит к открытию диалогового окна Screen Shot (рис. 9.16).
Рис. 9.16. Окно Screen Shot
Можно скопировать отдельное окно или весь экран. Для копирования отдельного окна выберите опцию Single Window (Отдельное окно). Щелкните на кнопке ОК, а затем - натопируемом окне.
Если вам не нужны рамка окна и его заголовок, сбросьте флажок With Decorations (С обрамлением). Например, если вы таким способом скопируете окно xterm с утилитой top и измененными цветами текста и фона, то результат будет выглядеть так, словно вы и не используете X Window (рис. 9.17).
Для копирования всего экрана выберите опцию Whole Screen (Весь экран) в окне Screen Shot Копия экрана). Установите в поле Seconds Delay (Задержка) задержку, чтобы иметь время для открытия, выбора и позиционирования окон на экране перед тем, как The GIMP снимет копию.
Скопированное изображение появится в окне изображения, откуда его можно сохранить обычным образом.
Рис. 9.17. Копия окна top
Gnumeric
Приложение Gnumeric входит в состав оболочки GNOME, и используется для обработки числовых данных в электронных таблицах. Эта программа предлагает пользователям Linux полный набор инструментов работы с электронными таблицами и поддерживает обмен данными с другими аналогичными приложениями, например, Microsoft Excel. Gnumeric по умолчанию устанавливается в Red Hat Linux 7.1.
Программа Gnumeric предлагается на условиях General Public License. Она постоянно совершенствуется группой разработчиков, в состав которой входят Мигуэль де Исаза (Miguel de Icaza) и Джуди Гольдберг (Jody Goldberg). В комплект Red Hat Linux 7.1 включена версия 0.61; другими словами, речь идет о еще несколько сыром продукте. На момент написания книги поддержка программы осуществляется фирмой Ximian, имеющей узел http: / /www .ximian. com.
Gnumeric содержит практически тот же инструментарий, что и большинство других электронных таблиц. Дополнительные сведения о программе Gnumeric доступны по адресу http: / /www. gnome.org/gnumeric, включая и открытый список "нерешенных задач". Если хотите, можете поучаствовать в разработке этого продукта.
Запуск Gnumeric
Рассмотрим вкратце работу с приложением Gnumeric. Оно входит как составная часть во многие стандартные дистрибутивы Linux, в том числе и в Red Hat Linux 7.1. Запустить данное приложение можно в окне xterm командой
$ gnumeric &
или командой
$ /usr/bin/gnumeric &
Можно также воспользоваться Главным меню, выбрав в нем пункт Programs (Программы), затем Applications (Приложения), а затем Gnumeric.
После запуска окно Gnumeric содержит пустую электронную таблицу, показанную на рис. 9.18. Как и многие другие приложения данного класса, Gnumeric предлагает пользователю ряд инструментов обработки электронных таблиц, в частности, задания и редактирования формул. Необходимый инструментарий, доступен посредством значков, кнопок, полей и т.п.
Рис. 9.18. Окно Gnumeric
Теперь можно приступать к открытию файла таблицы Gnumeric. Для этого можно воспользоваться командой Open (Открыть) меню File (Файл). В результате появляется диалоговое окно Load
File (Открыть файл), в котором можно выбрать необходимый файл в формате Gnumeric XML.
Импорт файлов
С помощью меню File (Файл) программы Gnumeric можно импортировать данные многих файловых форматов. После обращения в меню File (Файл) к команде Import (Импорт) и выбора файла, пользователь получает возможность работы со следующими пятью разновидностями фор матов:
HTML File Made By Gnumeric (Файл HTML, созданный Gnumeric). Если вы сохранили таблицу как HTML-файл из Gnumeric, то можете импортировать данные из этого файла.
Text File Import (Текстовый файл). Один из удобных форматов для распространения данных -обычный текст с использованием запятой в качестве разделителя полей данных. Иногда он называется comma-delimited. Данная опция позволяет Gnumeric разместь каждую отделенную запятой порцию данных в отдельной ячейке.
SC/xspread File Import (Файл SC/xspread). Gnumeric может импортировать данные из форматов других электронных таблицы, включая Microsoft Excel, IBM (Lotus) 1-2-3 и Applixware.
Data Interchange Format (DIF) Import (DIF-файл). Формат Data Interchange Format (DIP) обычно используется для обмена данными между базами данных и электронными таблицами. Он также применяется для обмена данными между таблицами, если других общих форматов нет.
Experimental Gnumeric (Gnumeric-экспериментальный). Эта опция используется для импорта данных из файла формата Gnumeric с расширением . gnumeric.
Примечание
В последних версиях Gnumeric можно импортировать текстовые файлы, как простой текст. Каждая строка текста рассматривается, как содержимое отдельной ячейки.
Экспорт файлов
Файлы Gnumeric доступны и в других процессорах электронных таблиц. Gnumeric поддерживает экспорт в 14 различных файловых форматах. Чтобы экспортировать таблицу следует в меню File (Файл) выбрать команду Save As (Сохранить как). В появившемся окне (рис. 9.19) в поле Selection (Выбор) введите имя файла. Щелкните на кнопке File Format (Формат файла), чтобы выбрать формат файла. Нажмите кнопку ОК.
Рис. 9.19. Окно Save Workbook As
Примечание
Возможности обмена файлами между разными приложениями всегда оставляли желать лучшего. К сожалению, это верно и для случая обмена между Excel и Gnumeric. Иногда удается импортировать файлы Excel 2000 в Gnumeric, но при этом следует учитывать, что полной совместимости по функциями между этими программами нет.
Формулы
Важнейшими элементами любой электронной таблицы являются формулы. По определению формулы размещаются в ячейках электронной таблицы. В формулах может использоваться такая функция, как SUM, которая вычисляет сумму содержимого указанных ячеек. Конвертируя содержимое импортируемых файлов, Gnumeric конвертирует и функции. Если используемая Gnumeric функция вам не понятна, обратитесь к справке с помощью команды Gnumeric Function Reference (Справочник функций) меню Help (Справка).
Утилиты X Windows
Прежде чем закончить главу, рассмотрим несколько полезных утилит X Windows:
Применение gEdit
Эта программа GNOME - аналог Notepad из Windows. Она используется для редактирования неформатированных текстовых файлов, имеет средства поиска и замены текста, а также создания новых файлов.
Надо признать, интерфейс gEdit - несколько спартанский (рис. 9.20), но для редактирования простейших файлов большего не требуется.
Рис. 9.20. Окно программы gedit
Для запуска программы можно воспользоваться командой
$ gedit &
или, если она не находится в текущем каталоге,
$ /usr/bin/gedit &
или. наконец, выполнив команду gedit подменю Applications (Приложения) меню Programs (Программы).
Интерфейс программы прост. Вверху окна расположена панель инструментов с кнопками загрузки и сохранения файлов, вырезания, копирования и вставки, а также поиска текста, снабжен-ными наглядными обозначениями.
Чтобы открыть в программе существующий файл, щелкните на кнопке Open (Открыть) или выполните команду Open меню File (Файл). Откроется окно со списком файлов, из которого необходимо выбрать нужный. Пример файла, открытого в окне программы gedit, показан на рис. 9.21.
Рис. 9.21. Окно программы gedit с загруженным файлом
Файл, открытый в окне программы, сохраняется после щелчка на кнопке Save (Сохранить) или выполнения команды Save меню File.
Щелчок на кнопке Find (Найти) приводит к открытию диалогового окна Find (Поиск), показанного на рис. 9.22. Иначе это окно можно открыть командой Find меню Edit (Правка).
Рис. 9.22. Диалоговое окно поиска текста
Разобраться в этом окне несложно. Введите искомый текст в текстовое поле и щелкните на кнопке Find. Можно задать начало поиска - от начала документа (первая позиция переключателя) или от текущего положения курсора (вторая позиция переключателя) - и учитывать ли при поиске регистр. Несколько сложнее поиск с заменой. Диалоговое окно Replace (Замена) открывается командой Replace (Заменить) меню Edit. По сравнению с окном поиска, в этом диалоговом окне есть дополнительное поле, в которое вводится текст для замены. Можно установить вывод предупреждения перед каждой заменой.
Часы X Windows
Вероятно, вы уже обратили внимание на часы, расположенные на панели GNOME. Однако некоторые пользователи предпочитают иметь на рабочем столе цифровые часы или стрелочные, но большего размера.
Это можно устроить с помощью программы xclock - программы отсчета времени с окном в виде цифровых или стрелочных часов. По умолчанию, часы должны быть стрелочными, поэтому результат ввода команды
$ xclock &
или
$ /usr/X11R6/bin/xclock &
показан на рис. 9.23.
Рис. 9.23. Форма часов по умолчанию
Если задать флажок -digital, часы примут форму, показанную на рис. 9.24.
Ноп Jan 15 11:29:31 2001
Рис. 9.25. Цифровые часы
Это не единственный флажок, воспринимаемый программой xclock. Можно придать стрелочным часам более привлекательный вид, воспользовавшись флажками -hd и -hi. Первый флажок меняет цвет стрелок, второй - цвет их ободка. Помните обсуждение системы цветопередачи RGB? Сейчас самое время применить полученные знания.
К примеру, после ввода команды
$ xclock -hd yellow -hi green &
на экране появятся часы, на которых желтые стрелки с зеленым ободком, изображенные на рис. 9.25 (увы, на черно-белой иллюстрации такие часы удается разглядеть не без труда).
Рис. 9.25. Установка цвета стрелок
Обратите внимание на отсутствие контраста между стрелками и циферблатом. Это можно исправить, установив стандартный флажок X Windows -bg, который уже встречался нам при рассмотрении окна xterm. Если воспользоваться командой
$ xclock -hd yellow -hi green -bg black &
часы будут иметь вид как на рис. 9.26.
Рис. 9.26. Установка цвета фона
Теперь стрелки видны отчетливо, зато черные метки циферблата совершенно не видны на черном фоне. Поскольку эти метки рассматриваются как элементы изображения, изменим их цвет с помощью стандартного флажка X Windows - f g. Введя команду
$ xclock -hd yellow -hi green -bg black -fg cyan &
получим часы, показанные на рис. 9.27.
Рис. 9.27. Установка цвета изображения
Калькулятор GNOME
Наконец, рассмотрим стандартный калькулятор, входящий в любой дистрибутив Linux, который содержит GNOME.
Калькулятор запускается командой
$ gcalc &
или
& /usr/bin/gcale &
Можно также воспользоваться командой Simple Calculator (Простой калькулятор) подменю Utilities (Утилиты) главного системного меню GNOME. Окно калькулятора GNOME показано на рис. 9.28.
Рис. 9.28. Окно калькулятора GNOME
Калькулятор подобен любому другому инженерному калькулятору. Он может вычислять основные математические функции, в том числе тригонометрические и логарифмические. Доступны операции с памятью. Впрочем, данная глава писалась не как руководство по пользованию калькулятором, а описание упомянутых функций было бы уместно в книге по математике.
Что дальше
Надо полагать, вы уже достаточно уверенно чувствуете себя в среде GNOME, можете регулировать основные параметры этой среды, запускать программы и манипулировать окнами.
Однако достоинства X Windows и GNOME - производные от их гибкости и конфигурируемости.
В следующей главе рассмотрено конфигурирование GNOME в соответствии с требованиями конкретного пользователя: адаптация главной панели, изменение внешнего вида и тематики рабочего стола, а также другие конфигурационные задачи.
Глава 10. Дополнительное конфигурирование GNOME
Итак, вы уже умеете работать в GNOME, в том числе запускать программы в этой среде. Нам предстоит рассмотреть некоторые дополнительные конфигурационные параметры. Основные средства конфигурирования сосредоточены в центре управления (GNOME Control Center). Из центра управления можно выполнять следующие операции.
Основа пользовательскогр интерфейса - панели GNOME. Для их конфигурирования существует отдельная процедура, позволяющая определять расположение, размер, поведение и другие параметры главной панели GNOME. а также всех дополнительных, созданных пользователем.
Рассмотрим эти аспекты конфигурирования GNOME.
Центр управления GNOME
Чтобы открыть центр управления, выполните следующие действия.
Рис. 10.1. Первоначальный вид окна центра управления GNOME
Рис. 10.2. Раздел Desktop Background
Раздел Desktop
В разделе Desktop (Рабочий стол) центра управления сосредоточены средства управления внешним видом и поведением рабочего стола, в том числе цветом и узором фона, экранными заставками и темой.
Чтобы задать свойства фона, выделите в левой части окна центра управления подраздел Background (Фон) раздела Desktop. Справа появится апплет Desktop Background (Фон рабочего стола), показанный выше на рис. 10.2.
Здесь можно задать один из трех возможных вариантов фона рабочего стола.
Рис. 10.3. Окно выбора цвета
Установив нужные параметры, подтвердите изменения щелчком на ОК.
Для задания параметров панели управления, выберите элемент Panel в категории Desktop центра управления GNOME Control Center. В правой части окна GNOME Control Center, появится конфигурационный апплет Panel (рис. 10.4).
Рис. 10.4. Конфигурирование панели управления
Конфигурирование панели выполняется на пяти вкладках и позволяет задать внешний вид и поведение каждого значка и элемента меню панели управления.
Завершив конфигурирование опций в этом окне, нажмите кнопку ОК, чтобы заданные опции вступили в силу.
Для регулирования параметров экранной заставки выделите подраздел Screensaver (Экранная заставка) раздела Desktop. На правой панели окна центра управления появится апплет конфигурирования экранной заставки (рис. 10.5).
Рис. 10.5. Конфигурирование экранной заставки
В левом верхнем углу апплета расположен список экранных заставок, имеющихся в системе. рядом - экран для демонстрации выделенной в списке заставки. Ниже можно указать время в минутах, в течение которого пользователь не должен предпринимать никаких действий, чтобы на экран была выведена заставка, и нужен ли пароль, чтобы убрать ее. Параметр Priority (Приоритет) определяет объем ресурсов, предоставляемых экранной заставке. При установке Priority в значение Normal (Обычный) все ресурсы предоставляются заставке, обеспечивая качественную анимацию, а фоновые задачи простаивают. При низком (Low) приоритете заставки ресурсы предоставляются фоновым задачам, поэтому картинка заставки иногда меняется медленно и рывками.
Наконец, если установить флажок Use power management (Управление питанием), а в поле под ним ввести время в минутах, то через заданный период времени монитор будет переводиться в экономный режим питания.
Установив эти параметры, сохраните их новые значения, щелкнув на ОК.
Следующий важный подраздел раздела Desktop - Theme Selector (Выбор темы). Он показан-на рис. 10.6.
Рис. 10.6. Раздел тем
Нужная тема выбирается из списка в верхней части окна. Тема рабочего стола определяет взаимосогласованный набор фонов и стилей элементов экрана, а также цветовых схем. Для внесения изменений в тему следует установить опцию Use Custom Font (Другой шрифт). Если затем щелкнуть на кнопке с именем шрифта (на рис. 10.6 на этой кнопке выведено имя шрифта Helvetica), открывается окно Pick A Font (Выбор шрифта), в котором можно выбрать шрифт, стиль и размер шрифта. Образец темы, выделенной в списке, выводится в нижней части апплета (рис. 10.7).
Последний элемент категории Desktop в окне Control Center позволяет выбрать диспетчер окон (Window Manager) (рис. 10.8).
Этот раздел включает список всех доступных диспетчеров окон. Пользователь может переключаться между отдельными диспетчерами. Кнопка Run Configuration Tool For Sawfish (Конфигурировать Sawfish) открывает окно, в котором вы можете установить параметры, которые доступны также в разделе Sawfish window manager (Диспетчер окон Sawfish) центра управления GNOME Control Center. Эти параметры мы обсудим ниже.
Рис. 10.7. Выбор темы Quiet
Рис. 10.8. Раздел Window Manager
Раздел Document Handlers
В разделе Document Handlers (Обработчики документов) задаются приложения, предназначенные для обработки файлов определенных типов, включая программы обработки текстов, других mime-типов файлов и обработчики URL-адресов для обращения в Веб. Другими словами, здесь задается приложение, используемое для открытия файла конкретного типа в диспетчере файлов GNOME.
Для задания редактора обработки текстовых файлов, щелкните на Default Editor (Редактор по умолчанию). Вызывается конфигурационный апплет, показанный на рис. 10.9.
Разверните список Gnome Editor (Редактор Gnome) и выберите в нем подходящий редактор. Редактор Emacs используется по умолчанию. Если используется умолчание, но редактор emacs не установлен на вашем компьютере, то при попытке открытия текстового файла из диспетчера файлов GNOME будет выдано сообщение об ошибке.
Рис. 10.9. Установка редактора по умолчанию
Чтобы задать приложение, которое следует использовать для работы с данным типом файлов, выберите элемент Mime Types. Вызывается конфигурационный апплет, показанный на рис. 10.10.
Даже если расширения и не нужны для Linux-файлов, они представляют собой удобный способ классификации типов файлов. Щелкните на выбранном типе файла, а затем нажмите кнопку Edit (Изменить). В открывшемся окне Set Actions For ... (Задать действие) можно задать значок, расширение(я) и приложение, используемое для работы с данным mime-типом.
Чтобы задать приложение, предназначенное для работы с Веб-страницами, или любыми файлами, использующими адреса в формате Universal Resource Locator (URL), выберите опцию URL Handlers (Обработчики URL). Вызывается конфигурационный апплет, показанный на рис. 10.11.
Рис. 10.10. Различные mime-типы
Рис. 10.11. Обработчики URL
Как показано на рис. 10.11, существует четыре разновидности файлов, или протоколов, ассоциируемых с URL-адресами. Хотя чаще всего URL-адреса связываются с Веб-страницами. GNOME также оперирует с соответствующими URL-адресам файлами справок, информационными страницами и man-страницами.
По умолчанию можно выбрать один из двух браузеров: Netscape или GNOME help браузер. Открыть файл можно как в активном окне браузера, так и в новом окне. Выберите подлежащий изменению протокол. Разверните список Handler (Обработчик), выберите необходимую программу и щелкните на кнопке Set (Установить).
Раздел Multimedia
В разделе Multimedia (Мультимедиа) регулируются два аспекта звука в системе: во-первых, необходимость включения звуковых эффектов при запуске системы; во-вторых, сопоставление звуков различным событиям.
Для определения процедуры запуска выберите элемент Sound (Звук) в разделе Multimedia в левой части панели управления. По умолчанию, открывается вкладка General (Общие), как показано на рис. 10.12.
Рис. 10.12. Выбор способа включения звука
Чтобы обеспечить звук в окнах GNOME, следует установить опцию Enable Sound Server Startup (Разрешить звук). Чтобы озвучить отдельные события, следует установить флажок Sounds For Events (Озвучивание событий). Звуковое сопровождение для каждого отдельного события задаются на вкладке Sound Events (Озвученные события), показанной на рис. 10.13.
На вкладке Sound Events можно указать звуковые файлы (в формате WAV, обычном для систем Windows), которые должны проигрываться при определенных событиях. Верхняя часть вкладки занята списком событий и соответствующих им звуковых файлов. Выделив определенное событие, проверьте сопоставленный ему звук, щелкнув на Play (Проба). Чтобы установить новый звук, щелкните на кнопке Browse (Обзор) и найдите другой WAV-файл.
Раздел Peripherals
В раздел Peripherals (Периферийные устройства) входят подразделы CD Properties (Параметры CD), Keyboard (Клавиатура) и Mouse (Мышь).
Подраздел CD Properties показан на рис. 10.14. Он позволяет задать реакцию Linux на установк} компакт-диска в соответствующим образом сконфигурированный накопитель CD.
Рис. 10.13. Вкладка Sound Events
Рис. 10.14. Конфигурирование накопителя CD
Для диска с данными, вставленного в накопитель предусмотрены три различных операции: автоматическое монтирование на устройстве по умолчанию (/mnt/cdrom в Red Hat Linux 7.1), автоматический запуск программ из корневого каталога и открытие корневого каталога в диспетчере файлов GNOME.
В разделе Keyboard (рис. 10.15) можно установить автоповтор ввода, а также задержку и скорость автоповтора. Кроме этого, можно установить озвучивание нажатия клавиш и отрегулировать его громкость. Можно также задать громкость, высоту и длительность звукового сигнала при появлении сообщения об ошибке (Keyboard bell).
Рис. 10.16. установка параметров мыши.
Раздел Sawfish Window Manager
Если используемый в Red Hat Linux 7.1 по умолчанию диспетчер окон Sawfish установлен, то этот раздел поможет вам сконфигурировать Sawfish. В процессе конфигурирования постоянно доступны четыре кнопки: Try (Проверить), Revert (Вернуть), ОК и Cancel. Кнопка Try позволяет проверить результат конфигурирования. Для восстановления предыдущей конфигурации, щелкните на кнопке Revert.
Опции конфигурирования Sawfish разбиты на 11 категорий:
Диспетчер окон Sawfish легко конфигурируется. Опции, описанные в этом разделе, могут несколько отличаться от доступных на вашем компьютере. Доступ к средствам конфигурирования можно получить и посредством пользовательского интерфейса Sawfish, запустив его с помощью команды
$ sawfish-ui &
или, в случае отсутствия sawfish на вашем пути, с помощью команды
$ /usr/bin/sawfish-ui &
В результате выполнения этой команды запускается интерфейс пользователя диспетчера окон Sawfish, показанный на рис. 10.17. Обратите внимание: опции Meta для различных категорий пользователей показаны в первом окне конфигурирования Sawfish.
Рис. 10.17. Конфигурирование диспетчера окон Sawfish
Раздел Session
Раздел Session (Сеанс) позволяет задать действия, которые будут выполнены при запуске GNOME. Опция Startup Hint (Начальная подсказка) конфигурирует подсказку, отображаемую при регистрации. Опция Startup Programs (Автозапуск программ) определяет программы, запускаемые в момент регистрации, и выполняемые ими действия.
Раздел User Interface Options
В разделе User Interface Options (Параметры пользовательского интерфейса) регулируются следующие параметры.
Для получения более подробных сведений об этих и других конфигурационных опциях Control Center, подробно не рассматривавшихся в этой главе, обратитесь к справочной системе GNOME. Для получения доступа к ней выберите команду Help System (Справочная система) из главного системного меню GNOME.
Конфигурирование панелей GNOME
Основа пользовательского интерфейса GNOME - его панели. При первом запуске в GNOME установлена одна панель по умолчанию.
Чтобы создать собственную панель, воспользуйтесь командой Create Panel (Создать панель) подменю Panel (Панель) главного системного меню GNOME. Вы можете выбрать одну из пяти разновидностей панелей:
Свойства любой созданной пользователем панели в дальнейшем можно изменить. Щелкните на панели правой кнопкой мыши. В появившемся меню выберите элемент Panel (Панель), затем -Properties (Свойства), а затем - All Properties (Все свойства). В появившемся окне Properties, можно задать положение, цвета и другие параметры любой панели, кроме панели меню.
Предусмотрены и другие способы конфигурирования панелей GNOME. Но для нужд данной главы вам вполне достаточно будет панелей, используемых в GNOME по умолчанию.
Главные конфигурационные операции панели GNOME:
Установка выдвижного ящика
Чтобы установить выдвижной ящик, щелкните правой кнопкой на свободном месте панели и выберите из контекстного меню элемент Panel (Панель), затем - Add To Panel (Добавить в панель), а затем - Drawer (Выдвижной ящик).
Установленный на панели выдвижной ящик можно открывать и закрывать\целчком мыши. В ящике могут располагаться значки, используемые для запуска программ. Если ящик закрыт, значки не видны. Значки и апплеты можно перемещать с панели в выдвижной ящик. Для этого щелкните правой кнопкой на апплете или значке и выполните команду контекстного меню Move (Переместить), далее перетащите его в открытый выдвижной ящик. Щелкните мышью, завершая перемещение.
Установка кнопки выхода
Обычно для выхода из GNOME используется команда Logout (Выход) главного меню. Можно свести операцию выхода до одного щелчка, установив на панели кнопку выхода. Для этого щелкните правой кнопкой на свободном месте панели и выберите из контекстного меню элемент
Panel (Панель), затем - Add To Panel (Добавить в панель), а затем - Log Out Button (Кнопка выхода). Установленная кнопка выглядит так.
Установка кнопки запуска
На панели по умолчанию расположены кнопки для запуска определенных программ, например Netscape, или окна терминала. Это кнопки запуска. Чтобы установить собственную кнопку запуска, щелкните правой кнопкой на свободном месте панели и выберите из контекстного меню элемент Panel (Панель), затем - Add To Panel (Добавить в панель), а затем - Launcher (Кнопка запуска). Откроется диалоговое окно определения запускаемой программы (рис. 10.18).
Рис. 10.18. Определение запускаемой программы
В этом окне необходимо указать имя кнопки запуска и путь к программе GNOME или X Windows вместе с ее именем. Кроме этого, можно указать значок для кнопки запуска. Для этого щелчком на кнопке No Icon (Значок отсутствует) откройте набор значков и выберите нужный.
Если кнопка должна запускать консольную программу (запускаемую из командной строки и выполняемую в окне терминала), установите флажок Run In Terminal (Запуск в терминале).
Регулирование свойств панели
Если щелкнуть правой кнопкой на свободном месте панели и выбрать элемент Panel (Панель), затем - Properties (Свойства), а затем - All Properties (Все свойства), то откроется диалоговое окно Panel Properties (рис. 10.19).
Рис. 10.19. Вкладка Edge Panel диалогового окна Panel Properties
Это окно состоит из двух вкладок. На вкладке Edge Panel (Панель по краю окна) можно указать расположение панели на экране, ее размер (и, соответственно, размер значков этой панели), установить параметры автоматического сворачивания и состояние кнопок сворачивания на концах панели. Эти средства подробно описаны в гл. 8.
Вкладка Background (Фон) показана на рис. 10.20. На ней можно установить цвет фона панели или фоновую картинку. В верхней части вкладки можно установить тип фона, выбрав опцию Standard (Стандартный), Pixmap (Растровое изображение) или Color (Цветной). Стандартный фон определяется темой или цветовой схемой, выбранными для GNOME. Фон Pixmap использует растровую картинку, a Color позволяет задать сплошной цвет заливки фона.
Если выбрать опцию Pixmap, а затем щелкнуть на кнопке Browse, откроется диалоговое окно выбора файла с изображением для фона. Выбранное изображение дублируется на панели либо увеличивается до ее размеров. Для второго варианта можно выбрать растягивание картинки до размера экрана, масштабирование или поворот (если панель расположена вертикально).
Выбрав опцию Color, можно щелкнуть на кнопке Color To Use (Используемый цвет), чтобы открыть окно Pick A Color (Выбор цвета), где можно подобрать цвет для однородной цветовой заливки фона панели.
Что дальше
Надо полагать, теперь вы чувствуете себя в GNOME и X Windows вполне уверенно. В следующей главе рассмотрен другой пользовательский интерфейс - KDE. Вы ознакомитесь с его историей, а затем займетесь установкой. После успешной установки КDЕ, вы изучите его функции и исследуете файловую систему; освоив основы навигации, научитесь конфигурировать KDE под себя". К концу главы вы научитесь использовать средства КDЕ для просмотра текста и графики, управления временем и администрирования системы Linux.
Рис. 10.20. Вкладка Background диалогового окна Panel Properties
Глава 11. КDЕ
KDE (К Desktop Environment - среда рабочего стола К) - одна из наиболее перспективных разработок пользовательского интерфейса Linux. Это полностью графическая среда рабочего стола, созданная с нуля. KDE включена в Linux Red Hat 7.1, несмотря на наличие в этом дистрибутиве собственной аналогичной системы GNOME, разработку которой финансировала компания Red Hat.
История проекта KDE
Как и большинство компонентов Linux, KDE разрабатывалась группой программистов-фанатиков, стремившихся создать нечто полезное. Проект KDE возник в октябре 1996 г. в Германии по инициативе Маттиаса Эттриха, (Matthias Ettrich). Первоначальной целью проекта было создание мощной среды рабочего стола для Linux и других систем Unix, аналогичной коммерческой CDE (Common Desktop Environment - Общая среда рабочего стола), входящей в коммерческие платформы Unix, например Solaris. Вскоре проект перерос свое первоначальное назначение - эмуляцию CDE.
Вклад в разработку KDE вносят сотни разработчиков во всем мире, общающиеся друг с другом по электронной почте и лишь изредка собирающиеся вместе. Желающие включиться в разработку КDЕ могут заниматься компонентами ядра - например, диспетчером окон, панелью рабочего стола и т.д. - либо создавать программы для КDЕ (использующие ее программный интерфейс).
К создателям КDЕ, кроме собственно разработчиков системы и программ для нее, относятся переводчики, составители технических описаний и дизайнеры пользовательского интерфейса, специалисты по мультимедиа.
КDЕ не заменяет систему X Windows, а лишь использует ее как основу для построения рабочего стола.
рели вам приходилось пользоваться диспетчерами окон X Windows - Sawfish, AfterStep или даже CDE, - вы сразу обратите внимание на собственный диспетчер окон КDЕ - kwin. Одна из его функций - размещение значков на рабочем столе.
Кроме диспетчера окон kwin, обеспечивающего основные функции управления окнами, КDЕ имеет несколько важных составляющих, наподобие панели задач и главного меню, обеспечивающих простой доступ к программам.
Наконец, дистрибутив KDE содержит обширный набор программ, среди которых стандартные УТИЛИТЫ, средства системного администрирования и развлекательные пакеты. В него даже входит офисный комплект, подобный GNOME Office и Microsoft Office 2000.
Обзор дистрибутива КDЕ
Для обозначения полного набора составляющих KDE, дополненного стандартным набором прикладных программ, используется уже знакомый нам термин "дистрибутив". В дистрибутив KDF, входят следующие компоненты.
Как и большинство проектов, связанных с Linux, KDE распространяется с исходными текстами, предоставляемыми в соответствии с общественной лицензией общего вида (GPL).
Программирование для KDE
Для разработки KDE до уровня полномасштабного рабочего стола понадобилось около двух лет. Это стало возможным только благодаря использованию коммерческого графического комплекта разработчика Qt от компании Troll Tech из Осло, Норвегия.
Примечание
Благодаря использованию Qt разработчики сосредоточили внимание на задачах дизайна рабочего стола и немедленно приступили к программированию. Иначе им пришлось бы потратить месяцы и годы на разработку собственного инструментального комплекта для стандартизации интерфейса.
Qt - это межплатформенный комплект графических инструментов, образующий основу программного интерфейса (API) KDE. Любая программа, написанная для KDE, может обращаться к функциям Qt, что позволяет написать завершенную KDE-програму влечение нескольких дней.
Примечание
С тех пор, как пакет Qt распространяется компанией Troll Tech на условиях лицензии GPL, популярность КDЕ в рамках Linux-сообщества растет.
Как Qt, так и KDE написаны на C++ - объектно-ориентрованном языке программирования. Программы для KDE также можно писать на объектно-ориентированном языке высокого уровня Python или Perl.
Ассортимент адаптируемых средств разработки программного обеспечения KDE на сегодняшний день вполне достаточен. Можно назвать таких представителей, как KDevelop и KDbg. Самые свежие новости о KDE-средствах разработки доступны в узле Веб KDE Developer (Разработчик КDЕ): http: / /developer. kde. org.
KDE и Linux Red Hat 7.1
Все файлы, необходимые для запуска KDE версии 2.1.1, входят в дистрибутив Linux Red Hat 7.1. Если вы установили KDE с дистрибутивом Red Hat, то вам осталось только запустить программу. В противном случае нужные файлы RPM можно найти на диске CD-ROM Linux Red Hat 7.1 в каталоге /mnt/cdrom/RedHat/RPMS (если устройство CD-ROM установлено как /mnt/cdrom).
Для установки КDЕ в Linux Red Hat 7.1 понадобятся следующие файлы:
Отмеченные звездочкой (*) пакеты расположены на втором установочном диске Red Hat 7.1, который в книге отсутствует. Их можно загрузить с домашней страницы КDЕ по адресу http: / /www. kde. org или.из базы RPM по адресу http: / /www. rpmf ind. net.
Обновление KDE
На момент написания книги Red Hat Linux 7.1 включал самую свежую версию КDЕ. Но KDE регулярно обновляется (с интервалом в несколько месяцев), поэтому может возникнуть необходимость обновления системы, установленной на вашем компьютере. Для любой версии Linux доступно обновление KDE с помощью файлов, расположенных по адресу http: / /www. kde. org. Последние версии файлов KDE для многих дистрибутивов можно также найти в RPM формате по адресу http: / /www. rpmf ind. net.
Загружая самые свежие пакеты, выбирайте последние версии файлов, перечисленных в приведенном выше списке, а также их "базовых" пакетов, включая различные пакеты, начинающиеся с htdig, libmng и gt. Как только вы загрузите необходимые пакеты, можете приступать
к их установке, воспользовавшись для этого приведенными ниже командами. Для первичной установки используйте ключ (-1), а для обновления - ключ (-U):
# rpm -i filename
# rpm -U filename
Совет
Можно также использовать утилиты Kpackage или GnoRPM для работы с RPM-пакетами в X Window. Если утилита Kpackage установлена, ее можно запустить, выбрав в главном меню КDЕ подменю System (Система), а в нем - элемент Package Manager (Диспетчер пакетов). Утилита GnoRPM также доступна в главном меню КDЕ. Для ее запуска следует выбрать Programs (Программы), затем - System (Системные), а затем - GnoRPM.
Запуск KDE
По умолчанию феда рабочего стола Red Hat 7.1 - GNOME. Установив KDE с установочного компакт-диска или из сети, вы можете запускать KDE из стандартного регистрационного графического окна GNOME. Такой запуск выполняется в следующей последовательности.
Сразу после запуска, на экран выводится рабочий стол KDE (рис. 11.1).
Рис. 11.1. Исходный рабочий стол KDE содержит несколько значков
Если вы обычно запускаете X Windows, регистрируясь по консольной подсказке, а затем вводя команду startx, то вам придется сконфигурировать систему так, чтобы оболочка KDE запускалась по команде startx. Чтобы запустить X Windows с командной строки консоли командой startx, систему необходимо сконфигурировать соответствующим образом. Возможны три варианта.
$ ср /etc/Xll/xinit/Xclients ~/.Xclients
В обоих случаях требуется одно изменение в файле. Пятая строка
PREFERRED= после модификации должна иметь вид:
PREFERRED=startkde
После указанного изменения и сохранения модифицированного файла X Windows будет запускаться командой startx с рабочим столом КDЕ. Если внести аналогичное изменение в общие файлы Xclients, KDE станет рабочим столом по умолчанию для всех пользователей.
exec startkde
Выход из KDE
Дня выхода из KDE выполните команду Logout (Выход) главного меню. Цвет экрана станет серым, и откроется диалоговое окно подтверждения выхода. Подтвердите выход, щелкнув на Logout.
Если в момент выхода на экране останутся открытые окна, которые вы хотите автоматически открыть в том же виде при следующем запуске КDЕ, установите флажок Restore Session When Logging In Next Time (Восстановить сеанс при следующем входе). При следующем запуске KDE попытается открыть каждое из этих окон, чтобы восстановить рабочий стол в том состоянии, в котором он находился при завершении предыдущего сеанса. Возможно, не все программы удастся запустить, но КDЕ попытается это сделать.
Примечание
В любой момент можно выйти из КDЕ, воспользовавшись стандартным сочетанием клавиш для выхода из X Windows: при нажатых клавишах Ctrl+Alt нажать Backspace. Впрочем, не следует пользоваться этим без крайней необходимости, поскольку в этом случае завершение работы КDЕ проходит не совсем гладко: возможна потеря данных.
Информация о состоянии среды КDЕ, в том числе об окнах, открытых в момент выхода из нее, сохраняется в скрытых файлах . kderc и . gtkrc-kde исходного каталога и подкаталога .kde/share/config. Эти файлы можно просмотреть, но следует соблюдать осторожность чтобы не внести в него изменений, которые могут вызвать путаницу при следующем запуске KDE.
Примечание
Информация о состоянии отдельных программ, например диспетчера файлов или сетевой утилиты, записывается не в .kderc, а в собственные конфигурационные файлы этих программ в подкаталоге .kde/share/config исходного каталога.
Использование kdm для графического входа в систему
Если вы привыкли входить в систему Linux в графическом режиме с помощью программы xdm или GNOME-диспетчера gdm, то можете воспользоваться для этого программой входа kdm из комплекта KDE.
Между двумя программами нет существенных различий, но kdm можно конфигурировать в графическом центре управления KDE (рассмотренном в параграфе "Освоение рабочего стола KDE").
Конфигурирование графического входа
Чтобы обеспечить графический вход в Red Hat Linux 7.1, убедитесь сначала, что система X Windows работает, затем измените файл /etc/inittab так, чтобы использовался рабочий уровень (run level) 5 вместо 3. Для этого замените строку
id: 5 : initdefault
В установленной среде KDE переход от xdm к kdm несложен. Откройте в текстовом редакторе файл /etc/inittab и найдите строку, в которой указана программа, запускаемая для входа в систему в графическом режиме (обозначенном буквой "х"):
х:5:respawn:/etc/Xll/prefdm -nodaemon
Вместо /etc/Xll/pref dm -nodaemon в вашем файле может быть указан другой диспетчер. Модифицированная строка должна иметь следующий вид.
х:5:respawn:/opt/kde/bin/kdm -nodaemon
После перезагрузки системы (или изменения уровней запуска командой telinit) для входа в систему будет использоваться программа kdm.
Конфигурирование kdm
В kdm можно регулировать многие параметры графического входа в систему, в том числе строку приветствия, значок диалогового окна, цвет или узор фона.
Если вы внесли в файл /etc/inittab изменения, описанные в предыдущем параграфе, то конфигурирование kdm выполняется в следующей последовательности.
Откроется диалоговое окно конфигурации kdm (рис. 11.2).
Рис. 11.2. Диалоговое окно конфигурирования параметров графического входа в систему
Примечание
Для конфигурирования диспетчера графического входа kdm необходимо войти в систему как корневой пользователь
На вкладке Appearances (Внешний вид) регулируются следующие параметры.
На вкладке Fonts (Шрифты) можно установить шрифт для приветствия, обычных и аварийных сообщений. Чтобы сменить шрифт, выберите его в разворачивающемся списке шрифтов, затем щелкните на кнопке Change Font (Смена шрифта). Откроется диалоговое окно Select Font, в котором можно выбрать новый шрифт.
На вкладке Background (Фон), показанной на рис. 11.3, устанавливается цвет, узор или рисунок фона экрана входа.
Цветной фон устанавливается после выбора в списке переключателем Mode (Режим) одной из опций.
Для выбора цвета (или цветов - в случае цветового перехода) щелкните на одной из цветовых кнопок Color 1 или Color 2. Откроется диалоговое окно Select Color (Выбор цвета), как на рис. 11.4, в котором следует выбрать нужный цвет.
Рис. 11.3. На вкладке Background устанавливается цвет или узор фона для окна входа kdm
Рис. 11.4. Цвет фона устанавливается в стандартном окне выбора цвета КDЕ
Для установки фонового узора входного экрана выберите этот узор на вкладке Wallpaper (Обои) в нижней части окна. В комплект КDЕ 2.1.1 входит более 25 стандартных фоновых узоров. Выберите нужный из разворачивающегося списка.
Чтобы воспользоваться собственным файлом с фоновым узором, щелкните на кнопке Browse (Обзор) и выберите нужный файл в каталоге графических файлов.
Совет
Чтобы случайно не удалить графический файл с узором для фона, следует скопировать его в стандартный каталог КDЕ для таких файлов /usr/share/wallpapers.
Фоновые узоры можно размещать в разных местах входного экрана, устанавливая переключатель, расположенный под кнопкой списка узоров.
Примечание
При установке переключателя в положение Tiled или Scaled, цвет фона будет неразличимым. Для одноцветного фона обязательно выберите опцию No Wallpaper (Нет узора) в списке Wallpaper (Узор).
Вкладка Sessions (Сеансы) предназначена для определения сеансов. Например, вы можете добавить другие диспетчеры окон из числа установленных, скажем, CDE. На вкладке Users (Пользователи) можно указать пользователей, которые будут представлены значками в окне входа. Вкладка позволяет задать ситуации, в которых KDE не требует паролей для!входа.
Установив .параметры kdm, щелкните на кнопке ОК, чтобы сохранить изменения и закрыть окно. Изменения будут применены в следующем сеансе.
Установка других программ KDE
Программа установки КDЕ предоставляет пользователю обширный список утилит и развлекательных программ, который мы рассмотрим в этой главе. Но существует множество других программ КDЕ, предназначенных для решения разнообразнейших задач, возникающих в конкретной системе.
Может понадобиться обновление версии любимой программы КDЕ либо загрузка программы, не включенной в стандартный дистрибутив КDЕ.
Программы КDЕ часто распространяются через узлы Веб или FTP. Их можно найти в полном справочнике программ КDЕ, поддерживаемом в Веб-узле КDЕ (http: / /apps . kde. com). Справочник регулярно обновляется и представляет собой таблицу с именами более чем 800 программ, краткими описаниями и ссылками на каталоги узлов FTP, откуда их можно загрузить.
Перечислим некоторые программы из этого справочника.
И все это - дополнение к множеству программ КDЕ, которые уже установлены в вашей системе. К счастью, большинство этих дополнительных программ распространяются в виде RPM-пакетов и процесс установки их несложен (мы рассматривали аналогичный процесс выше).
К сожалению, для начинающих пользователей, некоторые дополнительные программы зачастую распространяются в виде исходного текста, для компиляции которого требуется установка пакета разработчика.
Квалифицированного пользователя этим не испугать, но у новичка могут возникнуть трудности с истолкованием возможных сообщений об ошибках или предупреждений.
Установив пакет разработчика для KDE, Qt и X Windows, приготовьте загруженные и разархи-вированные исход&ые тексты, введя следующие команды:
# configure
# make all
# make install
По этим командам программа компилируется и размещается в каталоге bin, а ссылка на нее - в меню KDE, так что ее будет удобно запускать. Некоторые программы требуют более сложной компиляции. В этих случаях рекомендуется прочесть файлы README и инструкции по установке.
Примечание
Подробные инструкции по компиляции последней версии КDЕ из исходного текста расположены по адресу http://www.kde.org/install-source.html .
Рабочий стол KDE
После установки среды КDЕ можно приступить к ее изучению. Элементы рабочего стола KDE вам знакомы. На рис. 11.5 показан пустой рабочий стол с открытым главным меню. Для демонстрации панели задач запущена одна программа.
На рабочем столе размещены следующие элементы.
Можно заняться изучением программ KDE, запуская их из главного меню или щелкая на кнопках панели.
Запуск программ KDE
Для изучения графической среды запустите несколько программ KDE. Лучше всего начать с текстового редактора и эмулятора терминала. Последний запускается командой Terminal (Терминал) подменю System (Система) главного меню. Графический текстовый редактор КDЕ запускается командой Text Editor (Текстовый редактор) подменю Editors (Редакторы).
Рис. 11.5. Первоначальный вид рабочего стола КDЕ с главным меню, панелью и значками
Совет
В окне эмулятора терминала можно запустить любую программу. Для этого нужно ввести ее имя в командной строке. Например, текстовый редактор запускается командой kedit & ИЛИ /usr/bin/kedit &.
Еще одно окно эмулятора терминала запустите щелчком на расположенной в панели кнопке Terminal Shell, показанной ниже.
Программы KDE, запускаемые на рабочем столе KDE, сравнимы с другими графическими программами системы, так как они взаимодействуют друг с другом, совместно используют графические библиотеки для сохранения системных ресурсов и принципами действия напоминают программы X Windows.
Безусловно, в КDЕ можно запускать и другие графические и текстовые программы. Некоторые го популярных графических программ можно ввести в главное меню КDЕ в подменю Non-KDE Applications (Программы не для KDE). В Red Hat Linux 7.1 большинство приложений GNOME доступны в подменю GNOME Programs.
Любимые программы можно запускать из окна эмулятора терминала КDЕ, как это делается в .тюбом другом диспетчере окон, например GNOME или СОЕ.
Поэкспериментируйте, вводя в окно эмулятора терминала KDE команды xv, gimp или да.
Совет
В КDЕ можно быстро ввести команду во всплывающем окне, открываемом клавишами Alt+F2.
Использование нескольких рабочих столов
Если вы освоили и другие диспетчеры окон Linux, то, возможно, уже запускали с помощью программы Pager несколько рабочих столов с некоторым количеством открытых окон в каждом. Например, на одном рабочем столе можно открыть браузер, на другом - текстовый редактор, на третьем - окна терминалов.
В КDЕ реализована все та же идея - обеспечение нескольких визуальных рабочих пространств. По умолчанию в KDE четыре рабочих стола. Чтобы перейти на другой рабочий стол, щелкните на его имени в панели либо воспользуйтесь сочетаниями клавиш Ctrl+F1 (для первого рабочего стола), Ctrl+F2 (для второго) и т.д.
Совет
Рабочие столы можно переименовать, а также изменить их число. Для этого командой Desktop (Рабочий стол) подменю Look & Feel (Настройка) подменю Preferences (Параметры) откройте конфигурационное окно и перейдите на вкладку Number Of Desktops (Рабочие столы). Движок в верхней части окна позволяет задать число столов (от 1 до 16). Для каждого рабочего стола можно указать свое имя в соответствующем текстовом поле.
Для циклической смены рабочих столов воспользуйтесь сочетаниями клавиш Ctrl+Tab или Ctrl+Shift+Tab.
Работа с окнами программ
В обращении с окнами программ KDE мало отличается от других графических систем, с которыми вам, возможно, приходилось работать. Все методы перемещения, изменения размеров и закрытия окон, принятые в этих системах, действуют и в KDE.
Если на рабочем столе KDE открыто несколько окон, то щелчок на любом месте окна делает это окно активным.
Совет
Политика фокусирования в КDЕ используется для определения активного окна. Если вы привыкли к другим принципам, например к возможности вводить текст в любом окне, когда над ним находится указатель мыши, смените политику фокусирования в КDЕ. Для этого выполните команду Window Behavior (Свойства окна) подменю Look & Feel (Настройка) подменю Preferences (Параметры). В появившемся окне перейдите на вкладку Actions (Действия) и поменяйте нужные параметры.
Использование нескольких виртуальных рабочих столов в KDE не только упрощает работу с несколькими открытыми окнами, но и позволяет использовать разные методы перехода между окнами.
Примечание
Если у вас двухкнопочная мышь, то можно сконфигурировать эмуляцию средней кнопки, как это описано в гл. 4. Щелкните одновременно левой и правой кнопками мыши для эмуляции щелчка средней кнопкой. Можно задать другую кнопку для вызова списка окон. Установить обработку средней кнопки в Red Hat Linux 7.1 можно с помощью утилиты /usr/sbin/mouseconfig.
Файловая система
Важную часть задач графической системы составляет доступ к файлам. Linux имеет полностью встроенный диспетчер файлов. Непосредственное обращение к файловой системе возможно из главного меню КDЕ с помощью Quick Browser, однако без того уровня сервиса, который обеспечивается диспетчером файлов.
Рассмотрим работу с окнами диспетчера файлов KDE и подменю Quick Browser главного меню.
Работа с окнами диспетчера файлов
Диспетчер файлов в КDЕ называется Konqueror (он также используется в качестве Веб-браузера). Для запуска Konqueror достаточно щелкнуть на показанной ниже кнопке (она расположена на панели).
В результате Konqueror запускается как Веб-браузер (рис. 11.6).
Рис. 11.6. Диспетчер файлов Konqueror
Для открытия в диспетчере файлов Konqueror вашего исходного каталога щелкните в панели на значке Home Directory (Исходный каталог), показанном ниже.
Откроется окно диспетчера файлов Konqueror (рис. 11.7).
Рис. 11.7. В диспетчере файлов можно просмотреть содержимое исходного и других каталогов
По умолчанию каталоги и файлы в окне диспетчера файлов представлены справа значками среднего размера, соответствующими типам файлов. В верхней части окна находятся панель инструментов и строка текущего каталога. В левой части окна расположено дерево каталогов, подобное панели папок в Microsoft Windows Explorer.
Вид окна можно изменить, выполнив команду View Mode (Режим отображения) меню View (Вид). В результате появляется список, из которого можно выбрать, например, MultiColumn (Несколько колонок) или Text View (Текстовый). Чтобы вывести в окне все файлы исходного каталога, выполните команду Show Hidden Files (Показать скрытые файлы) этого же меню.
Щелчком на стрелке, направленной вверх, у левого края панели инструментов выполняется переход в каталог верхнего уровня (каталог-родитель), щелчком на каталоге в окне - переход в этот каталог и вывод его содержимого в окне. Чтобы открыть в текущем каталоге новое окно диспетчера файлов, выполните команду New Window (Новое окно) меню Location (Файл) или нажмите клавиши Ctrl+N.
Чтобы скопировать или переместить файл или каталог, достаточно перетащить их в нужный каталог. Операция перемещения или копирования указывается в контекстном меню.
Достаточно щелкнуть в окне диспетчера файлов, и KDE попытается обработать файл, на котором выполнен щелчок. Если это текстовый файл, то он откроется в текстовом редакторе KDE, если графический - в программе просмотра изображений. Если возможно, приложение открывает файл непосредственно в правой части окна Konqueror.
Если KDE не может определить, что делать с файлом, открывается небольшое диалоговое окно Open With (Открыть с помощью), в котором можно указать программу для открытия данного файла (рис. 11.8). Это окно включает подменю Known Applications (Известные приложения) из главного меню KDE.
Рис. 11.8. Выбор приложения для открытия файла
Редактирование свойств файлов
В окне диспетчера файлов можно менять свойства каталогов и файлов, к которым разрешен доступ. Для этого щелкните на каталоге или файле правой кнопкой и выполните команду Properties (Свойства) открывшегося контекстного меню. Откроется диалоговое окно Properties (рис. 11.9) с вкладками, содержащими регулируемые параметры.
Рис. 11.9. Диалоговое окно Properties: параметры каталогов и файлов, отображенных в окне диспетчера файлов
Примечание
Набор вкладок диалогового окна Properties зависит от типа объекта, свойства которого представлены в этом окне. К примеру, свои наборы вкладок имеют ссылочные файлы KDE (которые мы рассмотрим ниже), каталоги и обычные файлы.
Для создания объектов файловой системы используются команды подменю Create New (Создать) меню Edit (Правка). Объектом может быть папка (подкаталог) либо информационные объекты (HTML-файлы), через которые KDE получает доступ к ресурсам системы.
Просмотр Веб-страниц в диспетчере файлов
Окно диспетчера файлов внешне напоминает окно браузера Веб. Действительно, его можно использовать для доступа к Веб-страницам. Если в диспетчере файлов войти в каталог, содержащий индексный HTML-файл, то в окне будет показано содержимое этого файла, а не каталога.
Совет
Чтобы в окне диспетчера файлов оказалось все-таки содержимое каталога, сбросьте флажок команды Use lndex.html (Просмотр HTML) меню View (Вид).
Просматривая любой каталог, можно щелкнуть на поле Location (Путь) и ввести полный URL для Веб, например
или
В результате соответствующая страница будет загружена и выведена в окне диспетчера файлов.
Конфигурирование диспетчера файлов
Пользователь может сконфигурировать Konqueror как диспетчер файлов и как веб-браузер. В панели Konqueror, следует выбрать меню Settings (Настройки), а в нем - команду Configure Konqueror (Настроить). Все настройки Konqueror можно разбить на девять категорий (рис. 11.10).
Рис. 11.10. Окно конфигурирования Konqueror
Подменю Quick Browser
Окна диспетчера файлов обеспечивают великолепные возможности графической манипуляции файлами, но несколько медлительны при запуске программ или доступе к файлам данных. Подменю .Quick Browser (Быстрый браузер) обеспечивает доступ к любой части файловой системы через главное меню KDE без открытия окна диспетчера файлов.
В этом подменю нельзя перетаскивать файлы (из каталога в каталог) или редактировать их свойства, но очень удобно запускать программы и открывать файлы данных.
Для запуска Quick Browser выберите команду Quick Browser в главном меню. Кратко рассмотрим команды подменю Quick Browser (их три).
Чтобы оценить возможности просмотра файловой системы вашего компьютера с помощью Quick Browser, выберите в главном меню подменю Quick Browser, а в нем - опцию Root Director) л посмотрите отображаемые подкаталоги, позиционируя на них мышь (рис. 11.11). Обратите внимание на следующие особенности.
Если навести указатель мыши на каталог, открывается подменю с его содержимым. Если щелкнуть на файле, КDЕ попытается запустить или открыть этот файл.
Если щелкнуть в любом подменю на имени каталога, то можно выбрать опцию Open In File Manager (Открыть в диспетчере файлов) или Open In Terminal (Открыть в терминале), чтобы открыть Konqueror или окно со строчным интерфейсом в этом каталоге.
Рис. 11.11. Можно использовать подменю Quick Browser для отображения файлов без открытия окна диспетчера файлов
Например, обратитесь в меню Quick Browser к элементу Home Directory. Щелкните на выбранном файле. КDЕ откроет этот файл в соответствующем приложении.
Создание ссылочных файлов КDЕ
Мы неоднократно упоминали Ссылочные файлы. Это небольшие текстовые файлы с описаниями системных ресурсов для KDE.
Предположим, файл KDE со ссылкой на устройство CD-ROM является частью рабочего стола KDE по умолчанию. Это и есть ссылочный файл, с помощью которого (и соответствующего значка) можно обратиться к устройству CD-ROM, не пользуясь командной строкой. Устройство CD-ROM можно, монтировать, демонтировать из системы или просматривать его содержимое с рабочего стола.
В KDE ссылочные файлы можно создавать графически.
Если хотите посмотреть, что представляет собой ссылочный файл, войдите подкаталог Desktop вашего каталога. Например, если ваш каталог /home/mj, то перейдите в /home/mj / Desktop и откройте в текстовом редакторе любой файл, соответствующий значку на вашем рабочем столе.
Чтобы создать ссылочный файл KDE со ссылкой на графическую программу, например программу просмотра изображений The GIMP, выполните следующие действия.
Рис. 11.12. На вкладке Execute диалогового окна Properties ссылочного файла КDЕ определяется способ запуска программы
Совет
Здесь же можно указать дополнительные сведения о программе. Например, щелкнув на значке по умолчанию на вкладке General (Общие), можно выбрать новый значок. На вкладке Application (Программа) определяются типы данных, с которыми данная программа может работать.
Ссылочный файл KDE создан (при следующем входе в KDE он появится на рабочем столе) и может использоваться для расширения меню KDE, установки значков на рабочем столе и панели KDE и автозапуска программ. В следующем параграфе рассмотрены некоторые из этих задач.
Конфигурирование KDE
Мы уже рассмотрели множество конфигурационных параметров КDЕ, вы умеете пользоваться программой kdm для входа в систему в графическом режиме и изучили ряд параметров оконной системы KDE. Эти и другие параметры можно конфигурировать в центре управления КDЕ. В этом параграфе дано описание наиболее важных конфигурационных параметров.
Центр управления KDE
Центр управления КDЕ запускается командой КDЕ Control Center (центр управления КDЕ) главного меню или щелчком на показанном ниже значке КDЕ Control Center панели по умолчанию. В открытом окне центра управления слева находится дерево разделов. Щелчок на разделе открывает список содержащихся в нем наборов конфигурационных параметров. Если щелкнуть на одном из наборов, то его содержимое будет выведено в правой части окна.
Совет
Наборы параметров в центре управления соответствуют подменю, принадлежащим меню Preferences (Настройка) главного меню. При настройке большого числа параметров удобнее использовать центр управления.
Примечание
Новые значения параметров применяются после щелчка на кнопке Apply. Однако окно центра управления после этого не закрывается. Чтобы закрыть окно, выполните команду Quit (Выход) меню File (Файл) или щелкните на кнопке закрытия на строке заголовка.
В центре управления собраны несколько десятков конфигурационных параметров, распределенные по 11 разделам (рис. 11.13). В следующих параграфах описаны наиболее важные для рядового пользователя.
Рис. 11.13. Центр управления KDE
Наиболее существенные изменения KDE по отношении к предыдущим версиям связаны с вкладками Index (Индекс), Search (Поиск) и Help (Справка), расположенными слева под строкой меню. Вкладка Index содержит ряд конфигурационных параметров. Вкладка "Search позволяет найти нужный параметр по ключевым словам. Вкладка Help содержит краткие сведения о выделенном параметре.
Работа с файлами КDЕ
Раздел File Browsing (Просмотр файлов) центра управления KDE определяет способы связывания и управления файлами в графическом интерфейсе пользователя. Подраздел File Associations (Ассоциации файлов) задает для указанных расширений (например, . tx't и . j рд) соответствующие им приложения. В результате щелка на файле в диспетчере файлов Konqueror этот файл открывается с помощью заданного приложения. Выбрав тип файла, можно изменить соответствующее ему приложение.
Подраздел File Manager (Диспетчер файлов) задает поведение Konqueror при открытии новых каталогов, при переносе файлов в корзину Trash и для соответствующей строчной терминальной программы.
Справочная система
В центре управления KDE предусмотрены три уровня справки. В правом верхнем углу окна рядом с кнопками управления окном расположена кнопка справки со значком вопроса. Если щелкнуть на этой кнопке, а затем - на элементе окна, то центр управления КDЕ выдаст краткую всплывающую подсказку с Описанием выбранного элемента.
Есть также вкладка Help под строкой меню в левом верхнем углу окна центра управления. Если выбрать элемент на вкладке Index, то после щелчка на вкладке Help будет выдана дополнительная справочная информация об этом элементе. Щелчком на кнопке Help в нижней части окна также можно открыть вкладку Help для заданного элемента (рис. 11.14).
Рис. 11.14. Вкладка Help содержит справку о выбранном элементе центра управления KDE
В конце справочной статьи часто присутствует ссылка: "То read the full manual click here." (Чтобы получить полную справку, щелкните здесь.) В результате щелчка на слове "here," запускается Konquerer и открывает соответствующую часть документации центра управления KDE.
Сбор сведений о системе
Раздел Information (Информация) центра управления содержит подробную статистическую и техническую информацию о системе Linux. Это информация, которую нельзя изменить, распределенная по следующим вкладкам.
Block Devices (Устройства). Список сконфигурированных и смонтированных устройств, таких как корневой (/) каталог, CD-ROM (/mnt/cdrom) и подключенные сетевые устройства.
DMA-Channels (Каналы прямого доступа к памяти). Список каналов прямого доступа к памяти, активных в данной системе.
Devices (Устройства). Список типов устройств (но не отдельных устройств), распознанных системой Linux.
10-Ports (Порты ввода-вывода). Адреса портов ввода-вывода, используемых системой.
Interrupts (Прерывания). Прерывания, определенные в системе (не все, поэтому ценность этих сведений невелика).
KDE lOSIaves (Утилиты ввода/вывода). Показывает список поддерживающих определенные протоколы утилит, таких как nfs, рорЗ и telnet.
Memory (Память). Диаграмма загрузки физической и виртуальной памяти, обновляемая ежесекундно.
PCI. Состояние всех устройств PCI.
PCMCIA. Список слотов PCMCIA вашего компьютера с указанием типов вставленных в них адаптеров PC Card.
Partitions (Разделы). Список разделов системы, определенных в конфигурационном файле /etc/f stab.
Processor (Процессор). Сведения о процессоре - тип, скорость и т.п. SCSI. Полные сведения обо всех устройствах SCSI.
Samba Status (Состояние Samba-сервера). Если Samba-сервер сконфигурирован и находится в рабочем, состоянии, то здесь перечислены все пользователи, работающие в системе, и совместные ресурсы, используемые ими.
Sound (Звук). Состояние аудиосистемы Linux.
X-Server (Х-сервер). Версия, имя, глубина цвета и разрешение Х-сервера.
Изменение внешнего вида и пользовательского интерфейса KDE
Множество параметров, устанавливаемых в центре управления, определяют внешний вид и пользовательский интерфейс КDЕ. Некоторые из них уже упоминались в этой главе при рассмотрении диспетчера входа. Наиболее интересны параметры интерфейса в разделе Look & Feel (Вид).
На вкладке Background (Фон), показанной на рис. 11.15, можно свой задать цвет и узор фона для каждого рабочего стола. Она включает три конфигурационных вкладки. Вкладки Background и Wallpaper позволяют задать цвет фона и узор. Мы уже занимались этим, когда рассматривали конфигурирование диспетчера входа kdm. KDE содержит больше 100 фоновых узоров. Каждый рабочий стол может иметь свой фоновый узор и цветовую схему фона. Вкладка Advanced (Дополнительно) позволяет ограничить размер фонового кэша и установить переход для различных узоров.
Рис. 11.15. Набор параметров Background раздела Desktop определяет фоновые цвета и узоры всех рабочих столов
В разделе Colors (Цвета), можно задать внешний вид окон, открываемых КDЕ. Выбор цветовой схемы на вкладке Colors (рис. 11.16) происходит так же, как и в Microsoft Windows, но можно создавать дополнительные цветовые схемы или задавать цвета отдельных компонентов (видгетов) окна.
Рис. 11.16. Набор параметров Colors определяет цветовую схему для всех окон КDЕ
В разделе Desktop можно задать шрифт и значки для рабочего стола, действия для границ стола, действия связанные с каждой кнопкой мыши и число виртуальных столов.
Набор параметров Panel (Панель) содержит параметры Панели и Панели задач. На пяти вкладках набора сосредоточены следующие параметры.
На вкладке Screensaver (рис. 11.17) указана экранная заставка, которую KDE выводит, если пользователь несколько минут не проявляет активности. В комплект KDE входит 21 экранная заставка. Каждую из них можно сконфигурировать отдельно от остальных. Диалоговое окно конфигурирования открывается щелчком на кнопке Setup (Установка).
Рис. 11.17. Набор Screensaver: выбор и конфигурирование экранных заставок КDЕ
Совет
В КDЕ предусмотрена функция запирания экрана, когда для удаления заставки с экрана требуется ввод пароля. Если вы хотите на некоторое время оставить рабочее место, воспользуйтесь этой функцией, выполнив команду Lock Screen (Запереть экран) главного меню.
Очень много параметров содержится в разделе Windows, но они интересны немногим пользователям. К числу этих параметров относятся следующие:
Настройка сети
Набор Network (Сеть) центра управления KDE включает параметры LAN Browsing (Навигация в сети) и Talk configuration (Конфигурация Talk). LAN Browsing использует новый инструментарий KDE LAN Information Server (Информационный сервер локальных сетей KDE), известный также как LISa, для установки подключений Samba. Параметры Talk configuration относятся к демону talk системы Unix, представляющему собой строчный препроцессор для программы обмена сообщениями.
Настройка оборудования
Значительная часть оборудования системы Linux недоступна из центра управления КDЕ. Но это не относится к некоторым компонентам оборудования, связанным с графической системой. В разделе Peripherals (Внешние устройства) производится настройка клавиатуры и мыши.
Персонализация
В разделе Personalization (Персонализация) предусмотрен ряд способов конфигурирования КDЕ 2.1.1 в соответствии с персональными потребностями пользователя, включая задание дополнительных параметров для клавиатуры и мыши, рабочего языка и диалекта, стандартных параметров e-mail, шифрования и паролей.
Примечание
Если вы хотите задать отличный от U.S. English язык, но не установили его в ходе инсталляции Red Hat Linux 7.1, то вы можете установить соответствующий RPM с диска Publisher's Edition Installation, продаваемого вместе с книгой. Например, чтобы установить украинский язь-(Ukranian), необходимо инсталлировать пакет kde-il8n-ukrainian-2.1.1-2.noarch.rpm, используя уже знакомую вам команду rpm -i.
Управление питанием портативного компьютера
Использование системы Linux на портативном компьютере предполагает контроль над потреблением питания с целью продления жизни батареи. Раздел Power Control (Контроль питания) включает утилиты управления потреблением энергии и измерения уровня зарядки батарей или уровня напряжения питания. В него входят следующие подразделы.
Примечание
Перед тем как менять опции в подразделе Laptop Power Control, следует задать разрешение для системы контроля питанием Advanced Power Management. В качестве корневого пользователя выполните команду chmod u+s /usr/bin/apm.
Управление звуком
Настройку звука в KDE можно выполнить несколькими способами. Раздел Sound в центре управления КDЕ содержит четыре подраздела.
Системные события
Раздел System (Система) - обеспечивает конфигурирование или контроль ряда базовых параметров, распределенных по следующим пяти подразделам.
Навигация в Веб
Раздел Web Browsing (Навигация в Веб) позволяет сконфигурировать обмен данными в Веб посредством прокси-серверов, браузеров различных типов и т.п. Практически конфигурирование выполняется в следующих подразделах.
Обновление меню и рабочего стола
Чтобы модифицировать среду КDЕ, можно не только редактировать параметры в центре управления, но и изменять существующие меню, значки на рабочем столе и Панели.
Для модификации любого указанного элемента необходимо создать ссылочный файл КDЕ и указать новые элементы, создаваемые в KDE. Создание ссылочного файла графическими средствами рассмотрено в параграфе "Создание ссылочных файлов KDE".
Имея ссылочный файл KDE со ссылкой на устройство или программу, значок этого файла можно перетащить из каталога, в котором файл был создан.
Совет
Перетаскивая значок из папки в папку, в небольшом контекстном меню можно указать операцию копирования, перемещения или записи ссылки на данный файл на новом месте. Для ссылочных файлов КDЕ лучший вариант - копирование, поскольку при этом на прежнем месте остается резервная копия.
Утилиты KDE
В комплект KDE входит ряд стандартных утилит для просмотри текста и графики, управления проектами и администрирования системы Linux. Рассмотрим наиболее популярные из них.
Просмотр текста и графики
В KDE есть текстовый редактор, программа просмотра изображений и графический редактор (аналогичный программе paintbrush). Запуск этих программ несложен. Стандартный текстовый редактор KEdit запускается выбором в главном меню элемента Editors (Редакторы), а в нем -команды Text Editor (Текстовый редактор). Для доступна к более мощному редактору текстов KWrite следует выбрать в главном меню элемент Editors (Редакторы), а в нем - команду Advanced Editor (Усовершенствованный редактор).
Аналогичным образом через подменю Graphics (Изображения) возможен доступ к ряду программ просмотра изображений, включая KView (подобная Image Viewer), KDE Pixmap2Bitmap и Xpaint. Можно также обратиться к The GIMP как к инструменту редактирования изображения, воспользовавшись тем же самым подменю Graphics.
Щелчок правой кнопкой мыши на соответствующем файле в окне диспетчера файлов Konqueror
позволяет открыть файл, используя проходящее приложение. Например, после щелчка правой кнопкой мыши на тестовом файле и выбора в контекстном меню команды Open With (Открыть с помощью) можно указать необходимое для открытия файла приложение (рис. 11.18).
Рис. 11.18. Использование диспетчера файлов Konqueror для открытия текстового файла с выбором приложения
Если необходима отсутствующая в подменю программа, щелкните на Other (Другие). В результате откроется окно диалога Open With (Открыть с помощью), позволяющее выбрать приложение из главного меню KDE.
Управление временем
Linux не содержит оригинальную копию Microsoft Outlook или Project, однако в KDE есть несколько инструментов для управления временем.
В комплект КDЕ входит диспетчер времени KOrganizer с календарем событий, списком приоритетных заданий, расписанием и т.п. Чтобы запустить KOrganizer, выполните команду Organizer подменю Applications главного меню.
На рис. 11.19 показано главное окно программы KOrganizer. Из этого окна можно перейти к конкретным дням, дополнить список заданий и составить расписание событий на основе присвоенных приоритетов.
Кроме программы KOrganizer, в KDE есть программа учета времени, позволяющая запускать и останавливать часы для отслеживания времени, затрачиваемого на отдельные проекты. Программа запускается командой Personal Time Tracker (Персональный учет времени) подменю Utilities.
Кроме этого, в KDE есть утилита Address Book (адресная книга). В нее можно заносить сведения о деловых партнерах, друзьях и коллегах, с которыми надо поддерживать связь во время работы. Каждая запись адресной книги может содержать несколько телефонных номеров, номера факсов и множество адресов электронной почты. Адресная книга открывается командой Address Book подменю Utilities.
Рис. 11.19. Программа «Organizer: календарь, список заданий и различные средства составления расписаний
Офисный пакет КDЕ
В KDE 2.0 появилась первая версия офисного пакета KOffice, включающего ряд мощных приложений, подобного пакетам Microsoft Office, Sun Star Office или Applix AnywareOffice. KOffice включает пять базовых приложений, доступ к которым возможен посредством подменю Office главного меню KDE.
Эти приложения можно объединить вместе в единую оболочку KOffice Workspace, которая позволяет запускать их в одном окне. Работа со всеми приложениями пакета KOffice в одном месте упрощает обмен данными между ними.
Кроме того, предусмотрены также такие инструменты, как Кгауоn - программа манипулирования изображениями KOffice, Kugar - генератор отчетов, Katabase - программа управления базами данных, KFormula для обработки формул и Kivio для построения диаграмм (граф-схем). По сведениям, доступным на момент написания книги Кгауоп и Kugar должны быть реализованы в следующей версии KOffice.
Рис. 11.20. Табличный процессор KSpread из комплекта KOffice
Администрирование системы Linux
В KDE регулярно появляются новые средства системного администрирования. Наиболее полезные из них обеспечивают возможность управления пакетами rpm, пользователями и группами пользователей, процессами, выполняемыми в системе, и сценариями инициализации System V.
Эти утилиты запускаются командами подменю Utilities или System главного меню.
В большинстве задач администрирования Linux все еще приходится работать с некоторыми текстовыми конфигурационными файлами, но использование инструментов наподобие KPackage позволяет решить эти задачи намного проще. Чтобы запустить KPackage, выполните команду Package Manager подменю System. В открывшемся окне программы будет приведена вся информация о пакетах RPM в системе (рис. 11.21 на след. стр.).
В этом окне можно просматривать пакеты, выполнять поиск отдельных пакетов и файлов в системе, а также устанавливать новые пакеты.
Что дальше
Мы изучили разнообразные рабочие столы Linux, пора приступать к более сложным задачам конфигурирования среды X Windows.
В следующей главе мы рассмотрим, как подойти к конфигурированию X Windows и диспетчера окон, чтобы обеспечить себе максимально удобную рабочую среду. Ознакомимся с конфигурированием сервера XFree86 для особых условий, а также с конфигурированием последовательности запуска X Windows.
Рис. 11.21. Главное окно программы KPackage: все пакеты RPM по категориям
Глава 12. Дополнительная конфигурация X Windows
Вероятно, вы обратили внимание, что среда X Windows обеспечивает степень гибкости и адаптируемости, на которые способна далеко не каждая операционная система с графическим пользовательским интерфейсом (GUI). Конечно, за эту гибкость пришлось заплатить некоторым усложнением системы - чтобы максимально использовать возможности X Windows, иногда приходится проходить непростые конфигурационные процедуры.
В этой главе подробно рассмотрены основные компоненты X Windows и способы их конфигурирования, начиная с версии 4 файла XF86Conf ig, который определяет поведение Х-сервера. В этом файле указано все: от типов видеоадаптера и монитора (в том числе требуемые разрешение и глубина цвета) до мыши и клавиатуры.
После полного конфигурирования Х-сервера понадобится указать способ запуска X Windows, программы, запускаемые автоматически, операции, выполняемые перед загрузкой X Windows, запуск диспетчера окон. Как механизм реализации установок (цветов и шрифтов в окнах, а также реакции окон на определенные операции) используется база данных Х-ресурсов. Любой из перечисленных (и других) параметров может быть глобальным или предназначаться отдельной программе.
Файл XF86Config
Конфигурационные параметры XFree86 хранятся в файле XF86Conf ig. Обычно он находится в каталоге /etc/XF86Conf ig или /etc/Xll/XF86Conf ig (в зависимости от дистрибутива XFree86). В Linux Red Hat 7.1 этот файл находится в каталоге /etc/X11. Можно также использовать общий конфигурационный файл /usr/XllR6/lib/Xll/XF86Config.eg.
Если вы не знаете, где программа установки XFree86 установила этот фaйл, найдите его с помощью следующей команды.
# locate XF86Config
В файле XF86Conf ig содержится информация, определяющая работу Х-сервера, в том числе определения клавиатур, параметры мыши и технические характеристики монитора. Этот файл генерируется программами конфигурирования XFree86 - например, Xconfigurator или xf 8 6conf ig.
В некоторых случаях тонкая настройка среды X Windows достигается только редактированием файла XF86Conf ig в текстовом редакторе.
Примечание
На момент написания книги сервер XFree86 версии 4 не поддерживал такого разнообразия драйверов графических карт, как XFree86 версии 3. Но многие конфигурационные параметры входят и в файл XF86Conf ig и в файл XF86Conf ig-4. Если в вашем каталоге /etc/xll содержатся оба файла, то приведенные ниже рекомендации следует применять к файлу /etc/Xll/XF86Config-4.
Собранные в файле XF86Conf ig параметры разбиты на ряд разделов. Не все они влияют на работу интерфейса GUI. Для версии 4 XFree86 порядок разделов более не важен.
Files (Файлы). Указание каталогов, в которых расположены дополнительные файлы XFree86, содержащие шрифты, таблицы цветов и т.п.
ServerFlags (Флажки сервера). Включение и выключение отдельных функций Х-сервера, например способов обработки отдельных сочетаний клавиш.
Module (Модуль). Спецификация загружаемых в ходе запуска Х-сервера динамически подгружаемых модулей. В их число входят и модули отображений шрифтов. В большинстве случаев, когда Х-сервер уже сконфигурирован и работает, а стандартных шрифтов вполне достаточно, раздел Module в вашем файле XF86Config может отсутствовать.
InputDevice ycmpoucmea ввода). Спецификация устройств ввода, включая мышь и клавиатуру. Этот раздел не нужен, если есть разделы Keyboard и Pointer.
Keyboard (Клавиатура). Ссылка на протокол клавиатуры, управляющий сопоставлением кодов клавиш, и другие параметры, например скорость повтора. Этот раздел не нужен, если есть раздел InputDevice. Работает в версии 4 XFree86.
Pointer (Указатель мыши). Тип мыши, порт подключения и определение кнопок. Этот раздел не нужен, если есть раздел InputDevice. Работает в версии 4 XFree86.
VideoAdaptor (Видеоадаптер). Этот раздел ориентирован на поддержку видео как "примитива", другими словами, видеоадаптер рассматривается как часть более мощной системы. В книге не рассматривается.
Monitor (Монитор). Параметры монитора. Может включать сведения из раздела Modes. Device (Устройство). Доступные графические устройства (видеоадаптеры).
Modes (Режимы). Частота обновления и разрешающая способность монитора. Может быть включен в раздел Monitor.
Screen (Экран). Связывает монитор с видеоадаптером. Задает параметры доступных Х-серверов, например универсального сервера SVGA, монохромного сервера и т.д. Может включать несколько подразделов Display, соответствующих альтернативным разрешающим способностям и глубинам цвета.
ServerLayout (Раскладка). Связывает экраны со специальными устройствами ввода, например, клавиатурой и мышью.
DRI. Задает все параметры интерфейса Direct Rendering Interface (DRI), часто используемого на рабочих станциях, ориентированных на интенсивную работу с графикой. Конфигурация DRJ не рассматривается в книге. Дополнительная информация собрана на узле http://www.xfree86.org/current/DRI.html .
Vendor (Поставщик). Специальные параметры изготовителя. В книге данный раздел не рассматривается.
Files
В разделе Files указаны некоторые важные файлы, входящие в систему. Ниже приведен пример этого раздела без комментариев.
Примечание
Комментарий в файле XF86Config начинается с символа "#" и занимает одну строку. Строка комментария игнорируется системой XFree86.
FontPath "/usr/XllR6/lib/Xll/fonts/local/" FontPath "/usr/XllR6/lib/Xll/fonts/misc/" FontPath
"/usr/XHR6/lib/Xll/fonts/75dpi/:unsealed" FontPath
"/usr/XHR6/lib/x11/fonts/100dpi/:unscaled" FontPath "/usr/XllR6/lib/Xll/fonts/Typel/" FontPath
"/usr/XllR6/lib/Xll/fonts/Speedo/" FontPath "/usr/XHR6/lib/Xll/fonts/75dpi/" FontPath
EndSection
Перечислим некоторые основные правила, применимые к этому и остальным шести разделам.
Обычно этот раздел содержит три директивы, описанные в табл. 12.1.
Табл. 12.1. Директивы раздела Files
Директива |
Описание |
RgbPath
FontPath
ModulePath |
Имя файла базы данных RGB (red-green-blue - красный-зеленый-синий) без расширения . txt или . db. RGB-файл задает состав именованных цветов. Если база данных не перемещена и не переименована, то остается имя по умолчанию. Но этого не следует делать, поскольку многие программы будут искать ее в прежнем каталоге Эта директива может применяться многократно и задает каталог, в котором находятся Х-шрифты системы - масштабируемые или растровые. Имя подкаталога растровых шрифтов имеет окончание : unscaled. Установив в системе новый каталог шрифтов, необходимо внести в раздел Files новую директиву FontPath Это директива для тех операционных систем, которые, как и Linux, поддерживают динамически загружаемые модули. Она указывает путь к этим модулям. В большинстве версий XFree86 эта директива не используется, поэтому в примере она отмечена как комментарий. По умолчанию динамически загружаемые модули находятся в каталоге /usr/X11R6/lib/modules. Необходимость менять этот каталог и, следовательно, директиву возникает редко |
Прочие модули шрифтов находятся в каталоге /usr/X11R6/lib/modules/ fonts.
ServerFlags
В разделе ServerFlags включаются и отключаются некоторые функции Х-сервера. Пример раздела без,комментариев приведен ниже.
EndSection
Чтобы задействовать любую директиву этого раздела, удалите из ее строки символ коммен- , тария. По умолчанию указанные директивы не задействованы. Заданные в этом разделе значения опций заменяются значениями из раздела Server-Layout.
Описание директив приведено в табл. 12.2.
Табл. 12.2. Директивы раздела ServerFlags
Директива |
Описание |
NoTrap
Signals |
Эта директива применяется при отладке. Когда поступает сигнал об ошибке, сервер выполняет дамп своего раздела памяти в файл на диске. Это может нарушить устойчивость системы, но полезно при поиске источников ошибок, особенно на стадии бета-тестирования Х-серверов. Лучше всего оставить эту директиву закомментированной |
Директива |
Описание |
DontZap |
Обычно сочетание клавиш Ctrl+Alt+Backspace применяется для завершения работы X Windows с возвратом к командной строке. Данная директива заставляет X Windows игнорировать указанное сочетание клавиш, позволяя его обработку активной программе. Директива используется редко — когда какая-либо программа не может работать без этого сочетания клавиш. |
DontZoom |
Обычно сочетание клавиш Ctrl+Alt+Цифровой Плюс ("плюс" цифровой клавиатуры) применяется для последовательного переключения разрешений, определенных при конфигурировании Х-сервера от меньшего к большему. Аналогично, сочетание Ctrl+Alt+ЦифровойМинус ("минус" цифровой клавиатуры) применяется для переключения разрешений от большего к меньшему. Если эти сочетания клавиш нужны какой-либо программе, удалите символ комментария в строке данной директивы. X Windows будет игнорировать указанные сочетания клавиш, и они будут доступны активной программе. |
DisableVidModeExtension |
Эта директива предотвращает настройку монитора клиентом xvidtune. В книге эта программа не рассмотрена, но ее документация выводится на экран по команде man xvidtune в окне xterm Нет необходимости использовать эту директиву. |
All owNonboca lXvidtune |
В отличие от предыдущей директивы, разрешает настройку монитора удаленным (то есть, находящимся где-то в сети) клиентом xvidtune. Из соображений безопасности эту директиву не следует задействовать. |
DisableModlnDev |
Если задействовать эту директиву, динамическая смена настроек клавиатуры и мыши в процессе работы X Windows станет невозможной. |
AllowNonLocalModlnDev |
Эта директива разрешает настройку клавиатуры и мыши с другого компьютера сети. Не используйте ее без особой необходимости. |
AllowMouseOpenFail |
Эта директива разрешает запуск даже если отсутствует работоспособная мышь (Pointer). |
"blank time" "10" |
Если ваш компьютер не проявляет активности в течение заданного времени (10 минут в приведенном примере), запускается программа экранной заставки. Выполняемые действия зависят от спецификаций вашего монитора. |
" standby time" "20" |
Если ваш компьютер не проявляет активности в течение заданного времени (20 минут в приведенном примере), монитор переключается в ждущий (standby) режим. Выполняемые действия зависят от спецификаций вашего монитора. |
Директива |
Описание |
" suspend' time" "30"
"off time" "60"
EstimateSizesAggresively %
NoPM "false" Xinerama "true" |
Если ваш компьютер не проявляет активности в течение заданного времени (30 минут в приведенном примере), монитор переключается в спящий (suspend) режим. Выполняемые действия зависят от спецификаций вашего монитора. Если ваш компьютер не проявляет активности в течение заданного времени (60 минут в приведенном примере), монитор отключается (off mode). Выполняемые действия зависят от спецификаций вашего монитора. Если BIOS вашего компьютера не может корректно определить второй видеоадаптер, установка значения 2 для этой опции может решить возникшую проблему. На момент написания книги сведения об этой опции в документации крайне скудны. Отключение управления питанием. Опция, необходимая для работы с несколькими мониторами (каждый со своим видеоадаптером). |
Module
В разделе Module задаются изменения, расширения и дополнения для заданных ранее базовых серверных и шрифтовых параметров. Для работы графического интерфейса пользователя не нужны никакие модули. Пример раздела без комментариев приведен ниже.
Чтобы задействовать любую директиву этого раздела, удалите из ее строки символ комментария. По умолчанию указанные директивы не задействованы. Описание директив приведено в табл. 12.3.
Табл. 12.3. Директивы раздела Module
Директива |
Описание |
Load "dbe" Option "omit XFree86-DGA"
Load "typel" Load "freetype" |
Загружает расширения Double Buffer Extensions, позволяющие загружать последовательные изображения в разные буферы. Отключает расширение Direct Graphics Access. Загружает шрифтовой модуль для шрифтов PostScript type 1 . Загружает клон TrueType шрифтов. |
Прочие модули расширения доступны в каталоге /usr/X11R6 /lib/modules/extensions.
Input Device — Keyboard
Раздел InputDevice описывает устройства целеуказания (мышь) и клавиатуру. Хотя по умолчанию в версии 4 XFree86-используется Input-Device, унаследованные от предыдущих версий модули Keyboard и Pointer также не запрещены. Обычно используется две секции InputDevice: одна для клавиатуры и одна для устройства целеуказания (мыши).
Нетрудно догадаться, что в разделе Keyboard приведена информация, определяющая режим работы клавиатуры. Это тип и протокол клавиатуры. Хотя по умолчанию эта секция больше не используется, она по прежнему распознается в XFree86 версии 4. Хотя Red Hat Linux 7.1 использует версию 4 XFree86, разделы Keyboard и Pointer (а не InputDevice) представляют собой часть используемого по умолчанию конфигурационного файла Red Hat I.inux 7.1 XF86Confiy. Типичный раздел InputDevice без комментариев приведен ниже.
# Driver "keyboard"
EndSection
Выглядит сложно, но вы убедитесь, что это не так, просмотрев табл. 12.4.
Табл. 12.4. Директивы раздела Keyboard
Директива |
Описание |
"Protocol" "Xqueue" |
Протокол Xqueue используется для различных серверов Sun Solaris (SRV3, SRV4). Если эта строка отсутствует, XFree86 использует значение по умолчанию Standard, которое вполне подходит для всех систем других типов. |
Identifier Driver |
Имена, назначенные администратором для клавиатуры и ее драйвера. |
AutoRepeat |
Задает задержку повтора вывода символа при нажатой клавише и частоту повтора. Оба значения указываются в миллисекундах. В примере AutoRepeat 500 5 означает повтор через полсекунды после нажатия клавиши с выводом символа каждые 5 миллисекунд. |
Xleds |
Определяет светодиоды клавиатуры, управляемые пользователем с помощью команды xset. Оставьте в строке символ комментария, указанный по умолчанию. |
LeftAlt, RightAlt, RightCtl , ScrollLock |
Система X Windows первоначально применялась на рабочих станциях Unix, клавиатуры которых отличались от стандартной клавиатуры ПК. На этих клавиатурах были специальные клавиши: Meta, ModeShift, Compose и ModeLock. Если окажется, что эти клавиши нужны какой-то из программ (что маловероятно), то удалите из этой строки символ комментария. |
XkbDisable |
Если удалить символ комментария из этой строки, то X Windows не будет использовать свое расширение ХКВ. Если ХКВ задействовано (строка начинается с символа комментария), то именно оно определяет отображение кодов клавиатуры для прежних версий Х-сервера с помощью последовательности директив. |
XkbModel |
Используется, если ХКВ может определять модель клавиатуры. Стандартные клавиатуры Standard U.S. обозначаются pc101. Клавиатура U.S. "Windows" обозначается рс104. Клавиатура Microsoft Natural обозначается microsoft. Большинство европейских клавиатур имеют обозначение рс102 или рс105. Стандартная японская клавиатура обозначается рс106 . |
XkbLayout |
Используется, если ХКВ может определять раскладку клавиатуры. Как правило, для клавиатуры определено несколько раскладок. Например, de, обозначает "немецкий" и соответствует немецкоязычной раскладке. |
XkbOptions |
Директива используется, когда ХКВ разрешается переключать положение клавиш CapsLock и Ctrl. Для этого ей присваивается значение "ctrl : swapcaps". |
XkbKeymap |
Применяется, если ХКВ может загружать сопоставление кодов клавиатуры. |
Примечание
Устанавливая "не-английскую" клавиатуру, можно обратиться к документации HOWTO по адресу http: / /www. l inuxdoc. org. На этом узле собрано множество документов HOWTO для разных языков, позволяющих сконфигурировать клавиатуру в специфической языковой среде.
inputDevice — Pointer
Второй подраздел раздела InputDevice конфигурирует мышь. Как уже упоминалось, для этой цели можно использовать раздел InputDevice или Pointer в версии 4 XFree86. Конфигурационный файл Red Hat Linux 7.1 по умолчанию (XF86Conf ig) содержит раздел Pointer. В этом разделе задается конфигурация мыши. В разделе Pointer указываются тип мыши, порт ее подключения и функции кнопок.
# Option "ChordMiddle" EndSection .
Описание директив дано в табл. 12.5.
Более подробно конфигурирование других типов мыши, включая USB-мышь и мышь со скрол-лером или колесом прокрутки описано в гл. 7.
Monitor
До сих пор смысл рассматриваемых директив был очевиден, и их правильное применение не составляло труда. Значительно сложнее отконфигурировать видеооборудование, вдпример мониторы. Рассмотрим пример раздела Monitor конфигурационного файла XF86Conf ig.
Section "Monitor" Identifier "monitor" VendorName "LG" ModelName "StudioWorks" HorizSync 30-70 VertRefresh 50-160 End Section Некоторые директивы раздела Monitor приведены в табл. 12.6.
Табл. 12.5. Директивы раздела Pointer
Директива |
Описание |
Identifier, Driver |
Имена, назначенные администратором для мыши и ее драйвера. |
Protocol |
Указывает тип мыши. Возможные значения: Microsoft, Logitech, MouseSystems, BusMouse, PS/2 и Auto (для Plug-and-Play мыши, которую может распознать Linux). |
Device |
Указывает порт подключения мыши. Если при установке Linux мышь была правильно конфигурирована, ей будет соответствовать логическое устройство /dev/mouse, и именно это имя можно указать в директиве. В противном случае укажите /dev/psaux для мыши PS/2, /dev/ttyS0 -для последовательной мыши, подключенной к порту СОМ 1 в DOS и Windows, и /dev/ttyS1 - к порту COM2. Предусмотрены опции для других типов устройств целеуказания, например, трекбола или тактильного экрана. |
BaudRate |
Используется с некоторыми разновидностями мыши Logitech (см. техническую документацию). |
SampleRate |
Используется с некоторыми разновидностями мыши Logitech (см. техническую документацию). |
Emulate3Buttons |
Эта директива применяется с 2-кнопочной Microsoft-совместимой мышью. Если она задействована, то одновременный щелчок правой и левой кнопками мыши воспринимается как щелчок средней кнопкой. Если у вас 2-кнопочиая Microsoft-совместимая мышь, целесообразно использовать эту директиву. |
Emulate3 Timeout |
Определяет, насколько одновременными должны быть щелчки двумя кнопками, чтобы восприниматься как щелчок средней кнопки. Имеет значение только при установке директивы EmulateBButtons. Значение по умолчанию - 50 мс. Если одновременные щелчки двумя кнопками удаются с трудом, увеличьте это значение. Время указывается в миллисекундах, но единицы времени не указываются. Директива "EmulateSTimeout 100" правильна, "Emulate3Timeout 100 ms''-нет. |
HorizSync VertRe fresh | Диапазон частот горизонтальной развертки монитора в кГц. Можно задать диапазон, как в примере, или перечислить допустимые значения через запятую. Обязательно изучите документацию на монитор, чтобы указать правильные значения - ошибки могут привести к его повреждению. Частота обновления экрана монитора в Гц. Можно задать диапазон, как в примере, или перечислить допустимые значения через запятую. Обязательно изучите документацию на монитор, чтобы указать правильные значения - ошибки могут привести к его повреждению. |
ChordMiddle |
Задействует среднюю кнопку некоторых разновидностей 3-кнопочной мыши Logitech. Если у вас мышь Logitech с неработающей средней кнопкой, попробуйте задействовать эту директиву. |
Modes
Для каждого монитора, подключенного к компьютеру следует завести отдельный раздел Modes. Рассмотрим пример раздела Modes конфигурационного файла XF86Config.
Modeline "1600x1200" 200 1600 1616 1968 2080 1200 1200 1212 1253
EndSection
Эти строки Modeline определяют допустимые режимы работы монитора. Режим задает
разрешающую способность и частотные параметры, определяющие способ вывода на монитор. Х-сервер в момент загрузки отбросит все строки, задающие несовместимые режимы, указанные в файле XF86Config. Задать корректные значения для этих строк нелегко. Проще всего поручить их генерацию средствам конфигурирования XFree86 и затем не менять их.
Примечание
Если к компьютеру подключено несколько мониторов, следует во избежание ошибок включить сведения раздела Modes в соответствующий раздел Monitor.
Параметры первой строки Modeline приведенного примера рассмотрены в табл. 12.7.
Табл. 12.7. Параметры строки Modeline
Директива |
Описание |
640x480 46:02 640 656 760 832 480 490 498 522 |
Разрешающая способность экрана в пикселах Частота пикселов в МГц Число пикселов по горизонтали Начальное значение горизонтальной синхронизации Конечное значение горизонтальной синхронизации Общее значение горизонтальной синхронизации Число пикселов по вертикали Начальное значение вертикальной синхронизации Конечное значение вертикальной синхронизации Общее значение вертикальной синхронизации |
Первую строку Modeline:
EndMode
Device
В файле XF86Config может быть несколько разделов Device с описанием видеоадаптеров, используемых -сервером. Как правило, сервер сам определяет большую часть этой информации, но для верности ее следует ввести вручную. А поскольку указанная информация содержит немало специальных параметров видеооборудования, можно затем откорректировать ее при помощи конфигурационных процедур XFree86.
Раздел Device активен только в случае, если он упоминается в разделе Screen.
Рассмотрим пример раздела Device.
# BusID "PCI:1:0:0"
BusID "PCI:0:10:0"
EndSection Описание директив этого раздела дано в табл. 12.8.
Screen
В разделе Screen сведена вместе информация двух разделов - Monitor и Device. В файле XF86Conf ig может быть несколько разделов Screen. Рассмотрим пример раздела Screen.
Табл. 12.8. Директивы раздела Device
Директива |
Описание |
Identifier |
Подобно аналогичной директиве, в разделе Monitor, присваивает видеоадаптеру имя, по которому на него можно ссылаться в других частях файла XF86Config. |
VendorName |
Имя изготовителя. Эта директива не влияет на работу Х-сервера, но в дальнейшем помогает идентифицировать оборудование. |
BoardName |
Название карты видеоадаптера. Эта директива не влияет на работу Х-сервера, но помогает идентифицировать оборудование. |
Chipset |
Микропроцессорный набор видеоадаптера. Если XFree86 не поддерживает микропроцессорный набор установленного видеоадаптера, укажите один из универсальных наборов (generic). |
VideoRam |
Объем видеопамяти в килобайтах. Если не указать это значение, сервер попытается определить его непосредственно из видеоадаптера. |
Clocks |
Параметры тактовых импульсов для видеооборудования.- Данную директиву не следует редактировать вручную; лучше предоставить это конфигурационным процедурам. |
ClockChip |
Генератор тактовых импульсов (если имеется) для видеооборудования. При отсутствии генератора тактовых импульсов эта директива не нужна. Если директива задана, то указывать директиву Clocks не нужно, поскольку генератор обеспечит установку всех необходимых параметров. |
Driver |
Определение имени драйвера для данного устройства. |
Option |
Некоторые драйверы допускают дополнительное конфигурирование. В приведенном примере "hw cursor" "off "касается специфической проблемы размещения курсора в X Window для некоторых разновидностей видеоадаптеров. |
BusID |
Задает положение PCI или AGP видеоадаптера. Имеет значение в случае использования более чем одного видеоадаптера. |
EndSubs ection EndSection
Раздел Screen связывает выбранный Х-сервер с видеоадаптером и монитором, а затем определяет возможные режимы экрана (сочетания разрешения и глубины цвета). В табл. 12.9 описаны основные директивы раздела Screen.
Табл. 12.9. Директивы раздела Screen
Директива |
Описание |
Identifier
Device DefaultColorDepth |
Эта директива задает уникальное имя для данного Screen. Если вы используете раздел ServerLayout, вы должны использовать эту директиву Identifier. Имя устройства (видеоадаптера). Оно должно совпадать с соответствующим именем в разделе Device. Имя монитора. Оно должно совпадать с соответствующим именем в разделе Monitor. Глубина цвета, если она не задана в директиве Depth раздела Display. |
Display
В разделе Screen может быть несколько подразделов Display с описанием возможных режимов экрана.
Рассмотрим один из подразделов предыдущего .примера.
EndSubsection
Описание четырех директив, составляющих этот раздел, дано в табл. 12.10.
Табл. 12.10. Директивы подраздела Display
Директива |
Описание |
Depth Modes
ViewPort |
Глубина цвета (число бит на пиксель). Например, 8 бит обеспечивают 256 цветов, 16 бит — 65 536 цветов, 24 бит— 16,7 миллиона цветов. Разрешение экрана. -Наиболее распространенные значения: 1024x768, 800x600 и 640x480. Размер возможного виртуального стола. Например, на экране с разрешением 640x480 можно установить рабочий стол размером 1024x768. Когда указатель мыши достигает края экрана, изображение прокручивается, выводя скрытую часть виртуального рабочего стола. Директива ViewPort определяет размеры виртуального рабочего стола по горизонтали и вертикали, разделенные пробелом. Директива ViewPort 0 0 в примере означает отсутствие виртуального рабочего стола. Эта директива задает размер экрана больший, чем директива Modes. Если эта директива задана, то можно перемещаться с помощью мыши в рамках указанного виртуального пространства, которое больше, чем реальный экран. |
Server-Layout
Раздел ServerLayout завершает конфигурирование, связывая разделы Screen и InputDevice. Выше указывалось, что раздел Screen связывает разделы Monitor и Device. Раздел ServerLayout в стандартной конфигурации не нужен. Если он не входит в состав файла XF86Conf ig, то используются активные разделы Screen, клавиатуры и мыши InputDevice.
Рассмотрим пример раздела ServerLayout:
# InputDevice "Keyboardl" "CoreKeyboard"
Описание трех директив, составляющих этот раздел, дано в табл. 12.11.
Табл. 12.11. Директивы подраздела ServerLayout
Директива |
Описание |
Identifier Screen
InputDevice |
Эта директива задает уникальное имя для данного ServerLayout. Определяет используемый раздел Screen. В рассматриваемом случае должно быть два раздела Screen, с директивами Identifier, задающими имена "Sony Setup" и "Samsung Setup". Определяет используемый раздел InputDevice. В рассматриваемом случае должно быть два раздела InputDevice, с директивами Identifier, задающими имена "Mousel" и "Keyboardl". |
Последовательность запуска X Windows
Конфигурирование сервера XFree86 позволяет обеспечить оптимальное качество изображения на экране. Но иногда возникает потребность в конфигурировании способа запуска самой среды X Windows. Это может сделать любой пользователь, редактируя файлы . xinitrc и .Xclients в исходном каталоге. Параметры в этих файлах имеют более высокий приоритет, чем соответствующие параметры в системных файлах. В Linux Red Hat 7.1 последние находятся в каталогах /etc/X11/xinit/xinitrc и/etc/Xll/xinit/Xclients.
Файл .xinitrc
Xinit - специальная программа запуска Х-сервера и исходной программы-клиента (например, диспетчера окон). По умолчанию startx проверяет наличие файла .xinitrc в исходном каталоге пользователя и запускает с этим файлом программу xinit. Если файл .xinitrc пользователя обнаружить не удается, программа xinit запускается с системным файлом xinitrc (в Linux Red Hat 7.1 - /etc/Xll/xinit/xinitrc). Если и системный файл найти не удается. то после запуска Х-сервера xinit открывает только окно xterm.
Файл xinitrc (или . xinitrc) - это выполняемый сценарий оболочки. Подробнее оболочки описаны в гл. 16, а сейчас мы рассмотрим стандартный файл из версии Linux Red Hat 7.1 и его функции. Строки пронумерованы для удобства: в реальном файле они не нумеруются.
9: # объединение параметров по умолчанию
10: if [ -f "$sysresources" ] ; then
13: if[ -f "$userresources" ] ; then
17: if [ -f "$sysxlcbmap" ]; then
18: setxkbmap 'cat "$sysxkbmap"
22 : setxkbmap 'cat "$useirxktomap" '
25: if [ -z "$XKB_IN_USE" -a ! -L /etc/Xll/X ] ; then
26: if grep ' Л ехес.*/Xsun' /etc/Xll/X > /dev/null 2>&1 && [ -f /etc/Xll/XF86Config ]; then
35: if [ -z "$XKB_IN_USE" ] ; then 36: if [ -f "$sysmodmap" ] ; then
40: xmodmap "$usermodmap"
41: fi
44: # Пользователь может запускать собственные клиенты. Если нет,
46: # запуск всех системных-скриптов xinitrc.
47: for i in /etc/Xll/xinit/xinitrc.d/* ; do
49: "$i"
50: fi
69: fi
Приведем описание команд файла.
1. Строки 3—8. Указывается расположение файлов, которые понадобятся при выполнении сценария.
Примечание
Файл ресурсов System X, заданный в строке 6 как sysresources, расположен в каталоге /etc/xil/xdm/xresources в Red Hat Linux 7.1. Если необходимо задать этот файл, как общепринятое умолчание для X Windows (см. ниже) измените строку 6 так, чтобы она отражала действительное положение файла.
2. Строки 10—12. Если существует глобальный файл Xresources, то он используется. Х-ресурсы рассмотрены в следующем параграфе.
3. Строки 13—-15. Если существует файл пользователя . Xresources в его исходном каталоге, то он используется путем объединения его параметров с текущими значениями.
4. Строки 17—20. Если существует глобальный файл сопоставления кодов, то он используется.
5. Строки 21—24. Если у пользователя есть файл сопоставления кодов, то он используется.
6. Строки 25—33. Эти строки не используются, поскольку сервер Sun X в вашей системе не используется.
7. Строки 34—43. Если имеют место конфликты между пользовательскими и системными файлами сопоставления кодов X Window, то задается файл определения клавиатуры.
8. Строки 47—51. Эти строки отрабатывают все сценарии, расположенные в каталоге /etc/X11/xinit/xinitrc.d/.
9. Строки 52—69. Запуск первых клиентов после запуска Х-сервера. Сценарий проверяет наличие у пользователя файла .Xclients. Обнаруженный файл запускается и запускает, в 1 свою очередь, указанные клиенты. Если файл .Xclients не обнаружен, выполняется поиск и запуск пюбального файла Xclients. Если и он не найден, то запускается некоторый стандартный набор программ, среди которых xclock, окно xterm, Web-браузер и, если имеется, диспетчер окон fVwm2 или twm.
Файл .Xclients
Вероятно, при изучении файла xinitrc вы заметили, что пользователь может заменить установки глобального файла Xclients собственными, записанными в файле .Xclients его исходного каталога. В среде Red Hat после запуска Х-сервера программа xinit запускает исходные клиенты при помощи этих файлов.
Данный файл, как и файл xinitrc, - это сценарий оболочки, подчиняющийся всем правилам составления таких сценариев. Чтобы понять, для чего используется Xclients, рассмотрим стандартный файл Xclients из предварительной версии Linux Red Hat 7.1 (как и в предыдущем примере, строки пронумерованы для удобства).
6: if [ -n "'grep -i GNOME /etc/sysconfig/desktop'" ] ; then
11: PREFERRED=AnotherLevel
14: if [ -n "$PKEFERRED" -a "$PREFERRED" i= "AnotherLevel" ] && \
69: }
Приведем описание файла (аналогичное описанию файла xinitrc).
1. Строки 4—13. Установка рабочей среды по умолчанию. Рабочую среду по умолчанию (см. гл. 11) вы можете установить с помощью переменной PREFERRED в строке 4. Если PREFERRED не определяет никакую оболочку, то Строки 5-12 проверяют, какая оболочка но умолчанию задана в файле /etc/sysconf ig/desktop: GNOME, KDE или Another Level.
2. Строки 14—18. He является ли заданная в PREFERRED оболочка AnotherLevel.
3. Строки 21— 32. Если PREFERRED не задает оболочку, предпринимается попытка использовать GNOME. Если GNOME не установлена, то проверяется KDE.
4. Строки 35—36. Выполняется очистка путем удаления временных файлов, которые могли остаться после предыдущего сеанса работы X Windows.
5. Строки 38—54. Проверка стиля диспетчера окон AnotherLevel, запуск диспетчера с этим стилем и завершение работы сценария.
6. Строки 56—69. Попытка запустить AnotherLevel со стилем Fvwm95. В случае неудачи запускаются xclock, xterm и Netscape, затем предпринимается попытка запустить fvwm. Если fvwm отсутствует, запускается twm.
Чтобы установить собственный клиент, запускаемый автоматически при запуске X Windows, можно скопировать глобальный файл Xclients в файл . Xclients вашего исходного каталога (копирование файлов рассмотрено в гл. 14) и отредактировать его, введя команды запуска нужных программ перед разделом, в котором указан запуск диспетчера окон. Такой порядок запуска вызван тем, что после запуска диспетчера окон команда exec завершает выполнение сценария.
Х-ресурсы
База данных Х-ресурсов снабжает программы значениями параметров, определяющих, среди прочего, цвета и шрифты. Х-ресурсы используются в большинстве программ X Windows для определения всеми опциями, управляемыми флажками командной строки. В базе данных Х-ресурсов можно записать набор параметров программы по умолчанию, который будет удобнее ее собственного.
Как работают Х-ресурсы
Всякий раз при запуске X Window в базу данных Х-ресурсов загружаются необходимые сведения. По умолчанию они берутся из файлов, перечислявшихся выше при рассмотрении xinitrc. Загруженные сведения модифицируются данными из файла .Xdefaults вашего исходного каталога. Структура этих данных достаточно сложна.
Х-ресурсы упорядочиваются так, чтобы они воздействовать только на определенные программы. Для этого последние пришлось классифицировать, причем большинство классов программ состоит из единственной программы. В документации на программу указана ее
принадлежность определенному классу. Например, программа xload принадлежит классу XLoaci xterm - классу XTerm. Программы одного назначения входят, как правило, в один класс (ос lock и xclock принадлежат классу Clock).
Примечание
Обратите внимание на использование прописных/строчных букв в названиях приложений и классов. Например, xterm представляет собой стандартное консольное приложение X Window, a XTerm - класс, которому оно принадлежит.
Стандартный набор ресурсов для каждого класса позволяет устанавливать цвета изображения (foreground) и фона (background), размеры и расположение окон (geometry) и шрифт по умолчанию (font). В некоторых классах ресурсов сгруппированы родственные ресурсы. Например, в класс ресурсов Foreground входят ресурсы фона (foreground) и любые дополнительные программные ресурсы, имеющие некоторое отношение к фону. Заниматься отдельными ресурсами, как правило, нет надобности: достаточно работать на уровне классов ресурсов.
РегулированиеХ-ресурсов в файле .xdefaults
Редактирование Х-ресурсов связано с внесением записей в базу данных Х-ресурсов. Эти записи имеют следующий формат.
<КлассПрограммы>|<ИмяПрограммы>|<КлассРесурса>| <ИмяРесурса> : <значение>
В руководстве Linux и прочей документации вертикальная черта (|) обычно означает условие "или". Следовательно, в приведенном примере первое поле записи содержит класс или имя программы, второе - класс или имя ресурса.
Обычно эти данные помещаются в файл .Xdefaults, предназначенный для конкретного пользователя. Рассмотрим пример такого файла.
xclock*Geometry: 100x100+100+100 xclock*
Foreground: purple xclock*Background: mauve
В этом файле установлены ресурсы для класса программ XTerm и программы xclock. Для класса XTerm определены цвета, параметры окон (например, наличие полосы прокрутки) и т.д. Для программы xclock - цвета и геометрия. Значения, присваиваемые этим ресурсам, совпадают с теми, которые были бы указаны в командной строке при флажках -f g и -geometry.
База данных Х-ресурсов
Источником Х-ресурсов служат файлы app-defaults. Существуют версии файлов app-defaults для большинства Х- и KDE-приложений. Содержимое этих файлов можно использовать как образец для создания собственного файла . Xdef aults. В Red Hat Linux 7.1 эти файлы расположены в каталоге /usr/X11R6/lib/Xll/app-defaults/. KDE-приложения располагают собственными файлами app-defaults, хранящимися в каталоге /usr/share/apps/kdisplay/app-defaults/.
Команда xrdb для записи Х-ресурсов
Обычно файл .Xdefaults загружается при запуске X Windows в файле .xinitrc. Однако можно выполнять запись новых значений в базу данных после загрузки X Windows, для чего применяется команда xrdb. Этот способ особенно удобен при подборе параметров.
Если установленные значения были сохранены в файле experiment, то их можно загрузить в базу данных с помощью команды
$ xrdb -merge experiment
Проверив выполненные установки на практике, можете включить их в состав базы для будущих сеансов X Window, добавив содержимое файла experiment к файлу . Xdef aults.
Что дальше
Эта глава посвящена X Windows, а следующая - среде командной строки, без которой нельзя изучить систему Linux.
В последующих главах рассмотрена основа системы команд Linux - команды операций с дисковыми файлами и каталогами. Вы узнаете, что такое оболочка (shell) и научитесь работать с панелью управления Red Hat, упрощающей наиболее сложные аспекты конфигурирования системы Linux.
Глава 13. Введение в систему команд Linux
В этой главе мы займемся освоением среды командной строки Unix. Среда командной строки -основа Linux. Как вы уже убедились, X Windows обеспечивает простой и быстрый доступ к графическим программам, существенно повышающим эффективность работы пользователя. Но часто при этом утранивается возможность полного управления системой Linux. Это становится очевидным в самом начале изучения системы Команд.
В главе рассмотрены некоторые часто употребляемые команды: Is, find и grep. Поскольку это команды большинства дистрибутивов, пользователи Unix без труда определят их назначение и возможности, предоставляемые опытному пользователю.
Примечание
В этой главе изучается командная строка Linux. Есть два способа установить режим командной строки: войти в одну из виртуальных консолей Linux или запустить в X Windows окно xterm, GNOME terminal либо KDE's Konsole.
Что такое команда Linux
Прежде чем перейти к рассмотрению конкретных команд, дадим определение команде.
Пользователям, вышедшим из среды DOS, это понятие знакомо: команда - основа главных функций операционной системы. Из команд DIR, COPY или ATTRIB составляются довольно сложные процедуры, оформляемые в виде bat-файлов (командных файлов).
Однако в DOS, как и в других операционных системах, количество команд ограниченно и статично — пользователь не может вводить собственные команды.
В мире Unix (следовательно, и Linux) понятие команды несколько иное. Здесь команда - это любой выполняемый файл. Командой является любой файл, предназначенный для выполнения, а не для хранения данных или конфигурационных параметров. Любой выполняемый файл, записанный в систему, становится ее командой.
Выполнение команды Linux
Поскольку мы уже рассмотрели запуск программ в X Windows, нет надобности подробно описывать эту процедуру. Чтобы выполнить команду, введите ее в командной строке.
$ command
Если файл команды не находится в каталогах вашего пути, введите команду с указанием полного пути.
$ /usr/bin/command
Путь в Linux
Некоторых пояснений требует понятие пути (path). Каждому пользователю, вошедшему в систему, предоставляется путь по умолчанию. Узнать его можно с помощью команды
$ echo $РАТН
Результат ее выполнения может выглядеть так:
$ /usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/mj/bin
Путь $PATH - список каталогов, разделенных двоеточиями. Если команда вводится без указания нуги, то происходит ее поиск (т.е. поиск соответствующего выполняемого файла) во всех каталогах пути по умолчанию. В приведенном выше примере, если команда guess есть и в каталоге /usr/local/bin и в каталоге /home/mj/bin, то выполнится та из них, которая расположена в каталоге /usr/ local/bin. Если же вы хотите выполнить именно ту команду guess, которая расположена в каталоге /home/mj /bin, то вам придется указать полный путь, т.е. ввести команду /home/mj /bin/guess. Подробнее об установке пути рассказано в гл. 16.
Более сложные методы выполнения команд, в том числе связывание нескольких команд (конвейеризация), рассмотрены в гл. 16.
Обычные команды Linux
Количество команд, доступных в обычном дистрибутиве (например, Linux Red Hat 7.1), достаточно велико. Но даже высококвалифицированный пользователь постоянно пользуется лишь некоторыми командами.
В этом параграфе рассмотрены некоторые из наиболее часто используемых команд Linux. Они применяются для выполнения множества задач: от перехода из каталога в каталог до определения программ, выполняемых в системе, или поиска файлов. Мы рассмотрим следующие команды:
Su
Это одна из основных команд, которой можно воспользоваться в различных ситуациях.
Обычно команда su используется для переключения пользователей. Предположим, что вы вошли в систему как пользователь user1, вам нужно перейти на учетную запись пользователя user2, выполнить некоторые действия и продолжить работу как user1.
Вы можете выйти из системы, вновь войти в нее как user2, затем, выполнив все, что надо, вновь выйти и войти как user1. Утомительная процедура. Можно поступить иначе: войти в олн> виртуальную консоль как user1, в другую - как user2, а затем переключаться с консоли на консоль. Этот метод неудобен тем, что приходится работать с разными экранами.
Наконец, третий способ - использование команды su. Чтобы перейти на учетную пользователя user2, достаточно ввести команду:
$ su user2
после чего на экране появится строка ввода пароля пользователя user2:
$ su user2
password:
Чтобы вернуться к учетной записи userl, введите команду:
$ exit
Полностью это будет выглядеть следующим образом:
[userl@localhost userl]$ su user2
Password:
[user201ocalhost userl)$ some commands
[user2@localhost userl]$ exit
exit
[u&erieioealhose userl]$
Обычно команда su используется для получения прав корневого пользователя (или супер-пользователя), если предстоит выполнение административных задач - создание или редактирование учетных записей пользователей, конфигурирование сети или принтеров.
Если ввести команду su без имени пользователя, то система будет подразумевать имя root. После ввода пароля вы можете продолжить работу как корневой пользователь.
[userl@localhost userl]$ su
Password:
[root@localhost userl]#
Войдя в систему как корневой пользователь, вы можете при помощи команды su без ввода пароля перейти на учетную запись любого пользователя (еще одна причина прятать пароль корневого пользователя от посторонних глаз). Эта возможность особенно ценна для администратора системы, которому приходится устранять проблемы, возникающие у разных пользователей. (Ввод пароля каждого из них был бы большим неудобством.) Обратите внимание: в следующем примере при переходе корневого пользователя на учетную запись userl строка ввода пароля на экране не появляется.
[root@localhost /root]# su userl [userl@localhost /root]$
Команда su предоставляет много возможностей, используемых при решении сложных административных задачах. Узнать о них можно из страницы руководства для этой команды. Обращение к этой странице описано далее в главе.
Pwd, cd и ls
Более основательно мы ознакомимся с этими командами в гл. 14. Основное их назначение — работа с каталогами и файлами.
Первая команда - pwd (аббревиатура от present working directory - текущий рабочий каталог). Набрав ее в командной строке и нажав Enter, можно узнать свой текущий каталог.
/home/armand
В примере команда pwd возвращает имя текущего каталога /home/armand. Следовательно, вы находитесь в исходном каталоге пользователя armand (это мой каталог).
Команда cd не только определяет текущее состояние, но и изменяет его. По этой команде выполняется переход из текущего каталога в любой другой (доступный).
Вернемся к предыдущему примеру с текущим каталогом /home/armand. Воспользовавшись командой cd, перейдем в подкаталог wordfiles этого каталога.
$ cd wordfiles
/home/armand/wordfiles
Если теперь ввести команду pwd, она подтвердит переход в новый каталог. Аналогично выполняется переход в системный каталог временных файлов / tmp:
$ cd /tmp $ pwd
/tmp
Отличие сводится к наличию ведущей косой черты (/) перед названием каталога. Первая команда (cd wordfiles) ее не использует, поэтому адресация перехода выполняется по отношению к текущему каталогу (относительная адресация - прим. ред. пер.). Если выполнить точно такую же команду из исходного каталога Майка (/home/mike), то вы перейдете в каталог
/home /mike /wordfiles.
А вторая команда (cd / tmp) использует ведущую косую черту. Такая команда позволяет выполнить переход в одну и ту же точку дерева каталогов (абсолютная адресация - прим. ред. пер.), независимо от того, в каком каталоге она выполняется.
Наконец, команда Is предназначена для просмотра содержимого текущего каталога. Если ввести эту команду из каталога armand, от результат будет примерно следующим.
armand scmp-jpc
Обратите внимание на способ вывода на экран имен файлов и каталогов - в несколько столбцов. Ширина столбца определяется максимально длинным именем файла или каталога в нем.
Команда Is используется для вывода содержимого не только текущего, но и любого доступного каталога Для вывода содержимого каталога usr необходимо ввести команду Is /usr.
diet i486-linux-libc5 interbase openwin tmp
Обратите внимание на зависимость числа и ширины столбцов от максимальной длины имени файла или каталога.
Возникает вопрос: какой прок в указанной информации, если нельзя отличить каталоги от файлов и не указаны объемы последних?
Чтобы вывести недостающую информацию, воспользуйтесь расширенным форматом команды: ls -1 (структура команд рассмотрена в гл. 14). Ниже показан результат ввода этой команды в том же исходном каталоге armand:
r , |
|||||||||||
*-l.l-l.1386.rpm
Теперь у нас есть достаточно подробные сведения о каждом файле. Самые важные из них находятся слева от имени файла или каталога - дата последней модификации и (только для файлов) объем в байтах (1024 байт = 1 Кбайт).
Первый символ первого столбщ указывает, что приведено в этой строке: каталог (d) или файл (-). Например, scmp-jpc - это файл:
-rw-r—r— 1 armand armand 4288 May 14 22:17 scmp-jpc
в отличие от каталога mail:
drwx------ 2 armand armand 1024 Jun 4 07:12 mail
More и less
Команды more (больше) и less (меньше) тесно связаны и функционально подобны. Интересно, что у той, которая называется "меньше", возможностей больше.
Основное назначение этих команд - вывод на экран или в окно текста большого объема по частям, чтобы его можно было листать в обоих направлениях, а также поиск в этом тексте.
Это удобно во многих случаях: при просмотре большого текстового файла без запуска текстового редактора (например, xedit) или длинного списка содержимого каталога.
More
Начнем с команды more. Это основная команда постраничной или построчной прокрутки большого текста на экране и поиска в этом тексте.
Чтобы просмотреть большой текстовый файл textf lie, введите следующую команду:
$ more textfile
После нажатия клавиши Enter на экране появится первая страница текста, в последней строке которой будет одно слово -More- (еще). Нажатие клавиши пробела прокручивает текст на одну страницу, нажатие Enter - на одну строку. В конце текста на экране появится подсказка командной строки.
Чтобы выполнить поиск в тексте в направлении от начала к концу, введите косую черту (/) и строку поиска. Текст прокрутится до первого появления искомого слова или фразы. Для продолжения поиска введите п.
Команде more можно передать результаты выполнения другой команды, воспользовавшись методом конвейеризации (гл. 16).
Если в моей системе ввести команду ls -l для просмотра содержимого каталога /tmp, то будет выведен список в 237 строк - больше, чем может вместить самое большое окно xterm. Чтобы просмотреть этот список по частям, необходимо передать результаты выполнения команды ls -1 команде more.
$ ls -l /tmp | more
Как видим, к команде ls -1 при помощи вертикальной черты (в большинстве английских клавиатур — Shift+\) присоединена команда more. Такое соединение команд называется конвейеризацией. Результат команды ls -1 выводится по условиям команды more - с постраничной или построчной прокруткой и поиском текста.
Примечание
Подробные инструкции по применению команды more приведены на странице руководства этой команды. Работа со страницами руководства рассмотрена в параграфе, посвященном команде man
Less
Команда less - усовершенствованный вариант команды more. В дополнение к функциям, описанным выше (постраничная или построчная прокрутка текста от начала до конца и поиск), команда less позволяет выполнять следующие операции:
Чтобы перейти на определенную строку текста, введите ее номер с буквой g в конце. Если опустить номер строки, будет выполнен переход к первой строке. Вместо строчной буквы g можно указать заглавную (G), но тогда при отсутствии номера строки будет выполняться переход не к первой, а к последней строке.
Для построчной прокрутки текста вверх или вниз достаточно нажать соответствующую клавишу со стрелкой. Постраничная прокрутка вверх выполняется нажатием клавиш Ctrl+B.
Наконец, операция поиска в прямом направлении (от начала до конца) задается косой чертой ( /), р обратном - вопросительным знаком.
Примечание
Вероятно, некоторые из вас обратили внимание на то, что эти операции соответствуют командам текстового редактора vi.
Как и команда more, команда less имеет собственную страницу руководства. Работа со страницами руководства рассмотрена в параграфе, посвященном команде man.
Find, locate, whereis и grep
Команды find, locate, whereis и grep - мощные инструменты поиска файлов. Мы рассмотрим наиболее основные варианты их применения, поскольку полное описание потребовало бы целой главы. Полное описание каждой команды можно найти на соответствующих страницах руководства (команду обращения к ним рассмотрена далее).
Все эти команды предназначены для поиска, но назначение у каждой свое. Команда find применяется для поиска файлов по ряду критериев, в том числе по имени и дате создания, grep - для поиска в файлах определенного содержимого.
Find
Если вы купили свой первый компьютер раньше, чем эту книгу, то у вас, наверняка, возникала проблема поиска недавно созданного файла, позабытого в каком-то каталоге. Ответ Unix на эту проблему - команда find.
Эта команда позволяет отыскивать файлы по имени, дате создания или модификации, владельцу (обычно, это создатель файла), объему и даже типу файла. Мы рассмотрим лишь самый распространенный способ поиска - по имени файла.
Основная структура команды find следующая.
$ find starting-directory parameters actions
Параметр starting-directory определяет каталог, с которого должен начинаться поиск. Например, если в качестве этого параметра указать /home, поиск будет проводиться во всех подкаталогах каталога /home - в исходных каталогах пользователей. Если указать одну косую (/), будет выполнен поиск по всем каталогам.
Параметр parameters означает критерии поиска. В нашем случае, это имя 'файла, который надо найти (-name имя_ файла).
Параметр actions указывает, что делать с найденными файлами. Чаще всего указывается флажок -print, по которому выводится имя найденного файла с указанием пути. Задавать поиск без этого параметра бессмысленно, поскольку результат останется неизвестным.
Подытожим. Чтобы найти в системе все файлы с именем foo, введите следующую команду.
$ find / -name foo -print
На экране результат будет выглядеть примерно так:
$ find / -name foo -print
/home/tdanesh/foo
Совет
Обратите внимание: в предыдущем примере задавался поиск во всей системе. Чтобы такая операция была возможна, необходимо войти в систему как корневой пользователь, которому доступны все каталоги. Если этого не сделать, то в ответ на каждую попытку провести поиск в каталоге, к которому нет доступа, будет выводиться сообщение об ошибке "permission denied" (нет доступа).
В команде поиска можно указать лишь часть имени. Например, если о файле, который необходимо найти, известно только то, что его имя начинается на "fо", то можно указать для поиска имя "fо*", где звездочка означает любое сочетание символов, разрешенных в имени файла.
$ find / -name 'fo*' -print
/usr/bin/fold
и т.д.
Обратите внимание: имя файла указано в одинарных кавычках 'fо*'. Если не сделать этого при использований подстановочного символа "*", то ответом на ввод команды будет сообщение об ошибке.
$ find / -name fo* -print -mount
find: paths must precede expression Usage: find [path...] [expression]
Если результаты выполнения команды find не помещаются на экране, можно присоединить к ней команду more, как в примере с командой ls -1.
$ find / -name 'fo*' -print | more
Locate
Если команда find выполняется слишком долго, можно попробовать воспользоваться командой locate. Эта команда сканирует базу данных файлов вашего компьютера, обновляемую раз в сутки. Алгоритм ее работы несколько отличается от алгоритма команды find, поскольку locate возвращает все файлы, в имени или названии каталога которого есть искомая строка.
Например, команда locate xauth породит следующий результат:
$ locate xauth
Обратите внимание, что эта команда выдала полный путь для всех файлов и каталогов, имена которых включают строку "xauth," в том числе каталоги /home/mj / .xauth и /usr/X11R6/ bin/mkxauth, а также файл команды /usr/X11R6/bin/xauth.
Эта команда работает гораздо быстрее, чем аналогичная команда find. Причина состоит в том, что команда locate работает с базой данных файлов, обновляемой только раз в сутки. Но по этой же причине результаты поиска могут не соответствовать текущему положению вещей, ведь некоторые файлы после обновления базы могли быть перемещены, удалены или созданы.
Whereis
Если вы ищете команду с известным названием, воспользуйтесь whereis, чтобы найти, в каком каталоге расположена искомая команда, ее исходный код и соответствующая страница документации. В отличие от find или locate, здесь вам потребуется точное знание названия команды. Например, команда whereis fdisk выдаст следующий результат:
$ whereis fdisk
fdisk: /sbin/fdisk /usr/share/man/man8/fdisk,8.gz
Полученные сведения указывают, где расположена команда fdisk (/sbin/fdisk), а также где находится соответствующая страница документации. Поскольку местонахождение исходного текста команды fdisk не приведено, можно сделать вывод, что соответствующие файлы просто не установлены.
К недостаткам команды whereis можно отнести то, что она просматривает только каталоги, включенные в специальный список. По этой причине она не сможет найти новую команду или страницу руководства, которую вы только что инсталлировали.
Grep
Если команда find применяется для поиска файла по имени, типу или дате, то по команде grep происходит поиск заданной строки текста в нескольких файлах.
Предположим, у вас есть текстовый файл, содержащий слово "radio". Вы записали этот файл в исходный каталог, но забыли его имя. Следовательно, надо найти файл, который содержит слово "radio". Именно такой поиск выполняется по команде grep.
Если предположить, что в данный момент вы находитесь в исходном каталоге, процесс будет выглядеть следующим образом.
$ grep radio *
ab.txt:This is a tes.t of searching for the word radio. pop.txt:
0n another radio station, he found that
Обратите внимание: команда grep выводит по одной строке на каждое найденное слово "radio". Справа от имени файла после двоеточия приведена строка, содержащая искомое слово. Общий формат команды grep следующий.
$ grep text-pattern file-list
В качестве строки поиска text-pattern можно указать слово, фразу или более сложное регулярное выражение. Регулярные выражения - мощное средство поиска текста. Их описание можно найти на странице руководства команды grep. Список файлов file-list может быть любой формы, допускаемой оболочкой. Типы выражений, составляющие список файлов, рассмотрены в гл. 16.
Обычно проверка одного файла проводится командой:
$ grep text-pattern file-name
а проверка всех файлов некоторого каталога командой:
$ grep text-pattern *
В последней команде "*" - это выражение, означающее поиск во всех файлах текущего каталога. Строка поиска в простейшем варианте представляет собой слово или часть слова без пробелов. Если надо найти фразу, например "is a test", от ее указывают в двойных кавычках, как в следующем примере:
$ "grep "is a test"*
ab.txt:This is a test of searching for the word radio.
Подобно командам more и less, команду grep удобно конвейеризировать с другими командами. Предположим, что нам необходимо получить список всех файлов в текущем каталоге с датой модификации 12 мая. Для этого можно воспользоваться командой 1s -1 с присоединенной командой grep:
Команды и кавычки
Существует три разновидности кавычек, используемых в командах: одиночная ('), двойная (") и обратная ('), Эти кавычки отличаются с точки зрения встроенных команд, наподобие date, и переменных, наподобие $LOGNAME. Пара любых одинаковых кавычек ограничивает передаваемую команде строку данных. Например, допустим, что $LOGNAME=mj и сравним следующие команды:
echo Welcome $LOGNAME, the date is date'
echo "Welcome $LOGNAME, the date is date"
echo "Welcome $LOGNAME, the date is 'date'"
В зависимости от того, насколько корректно указаны кавычки, Linux будет (или не будет) выполнять команду date или транслировать $LOGNAME. Результаты выглядят так:
Welcome mj, the .date is Mon June 14 10:45:20 EDT 2001
Первый пример не содержит кавычек вообще. $LOGNAME транслируется как mj, но команда date не выполняется. Во втором примере использованы одиночные кавычки. $LOGNAME не транслируется, а команда date не выполняется. Третий пример содержит двойные кавычки. Результат совпадает с результатом первой команды, поэтому двойные кавычки полезны в таких командах как grep. Последний пример заключает date в обратные кавычки. Такая процедура позволяет выполнить команду Linux, входящую в состав текстовой строки.
Таr и gzip
Большинство пользователей других операционных систем, в том числе Windows 98 и Mac OS, знакомы со сжатыми архивами. Сжатый архив - это единый файл, содержащий один или несколько файлов в сжатой форме.
Сжатые архивы часто используются для распространения программного обеспечения через Internet. В Linux есть команда unzip для доступа к архивным ZIP-файлам, но в мире Unix большее распространение получили архивы TAR. Эти архивы после заполнения сжимаются программой сжатия одиночных файлов gzip.
Tar
Первоначально программа tar предназначалась для создания резервных копий системы на магнитных лентах (tar - сокращение от tape archive, что означает архив на магнитной ленте). В настоящее время эта программа широко применяется для подготовки программного обеспечения к распространению.
Формат команды создания архива:
$ tar cvf tar-file-патв file-list
По этой команде создается архивный файл tar-file-name (как правило, с расширением . tar), в который записываются все файлы, указанные в списке file-list, составленном в соответствии с правилами, рассмотренными в гл. 16. Обратите внимание: файлы, вносимые в архив, не переносятся, а копируются, поэтому нет опасности их случайного удаления.
Обратите также внимание на параметры, следующие непосредственно за командой. В приведенном примере это cvf. Каждый из этих параметров определяет отдельные аспекты поведения команды tar:
Если необходимо архивировать все файлы с расширением . txt в текущем каталоге в архивный файл text. tar, можно воспользоваться командой:
$ tar cvf text.tar *.txt
Обратите внимание на перечисление файлов, копируемых в архив.
Иногда ipeGyeiUM копирован, в архив каталог. К счастью, каталог, указанный в списке файлов команды tar, копируется в архив вместе со всеми содержащимися в нем файлами и подкаталогами. Следовательно, для копирования всего содержимого, например, каталога vnc в архивный файл vnc. tar можно воспользоваться командой
$ tar cvf vnc.tar vnc
Полностью, это будет иметь следующий вид.
$ tar cvf vnc.tar vnc
vnc/vncpasswd vnc/vncserver vnc/vncviewer
Обратите внимание, что в первой ответной строке команды указывается создание каталога vnc в архиве, после чего происходит копирование файлов в этот каталог.
Существующий архив, как правило, просматривают или извлекают из него файлы. Для, просмотра содержимого архива параметр с заменяется параметром t.
$ tar tvf vnc.tar
-r— r —r— root/root 1329 1998-01-23 16:24 vnc/classes/
-r-xr-xr-x root/root 49685 1998-01-23 13:08-vnc/vncviewer
Как видим, список файлов выводится в подробной форме: как при выводе содержимого каталога командой Is' -1.
Чтобы извлечь содержимое архива в текущий каталог, замените параметр с параметром х.
$ tar xvf vnc.tar
vnc/LICENSE.TXT vnc/README vnc/README.vncserver vnc/Xvnc
vnc/classes/DesCipher.class vnc/classes/animatedMemorylmageSource.class
vnc/classes/authenticationPanel.class vnc/classes/clipboardFrame.class
vnc/classes/optionsFrame.class vnc/classes/rfbProto.class vnc/classes/vncCanvas.class
vnc/classes/vncviewer.class vnc/classes/vncviewer.jar vnc/vncpasswd vnc/vncserver vnc/vncviewer
Gzip
В приведенных примерах применения команды tar файлы архивируются, но не сжимаются. В Linux для сжатия файлов используется команда gzip.
В отличие от программы ZIP из Windows, которая может сразу создать архив, состоящий из множества сжатых файлов, команда gzip только сжимает отдельные файлы.
Если у вас есть очень большой файл test .pdf, использовать который в ближайшее время не планируется, то для экономии места на диске его можно сжать следующей командой.
$ gzip test.pdf
По этой команде файл test. pdf сжимается и к его имени добавляется расширение . gz, так что он превращается в файл test .pdf . gz. До сжатия файл имел объем 110 778 байт:
-rw-r--r-- I root root 110778 Jun 5 16:54 test.pdf
После сжатия его объем уменьшился до 83 729 байт.
-rw-r--r-- I root root 83729 Jun 5 16:54 test.pdf.gz
Как и в большинстве команд, в команде gzip для указания нескольких файлов можно использовать подстановочные символы. Например, по команде
$ gzip *
сжимаются все файлы в текущем каталоге (но не в его подкаталогах).
Восстановление сжатых файлов
Для восстановления файла, сжатого командой gzip, можно воспользоваться этой же командой с параметром -d.
$ gzip -d test.pdf.gz
Файл восстанавливается в прежнем виде, из его имени удаляется расширение . gz.
Можно обойтись,без параметра -d, если для восстановления сжатого файла ввести команду:
$ gunzip test.pdf.gz
Объединение команд gzip и tar
Поскольку ранние версии команды tar выполняли архивирование без сжатия, она обычно применялась в сочетании с командой gzip, как в следующем примере:
$ tar cvf text.tar *.txt
$ gzip text.tar
где создается сжатый архив с именем text. tar. gz.
Доступ в этот архив возможен только после восстановления от сжатия:
$. gunzip text.tar.gz
$ tar tvf text.tar
-rw-r--r-- root/root 48 1998-06-05 16:13 ab.txt
-rw-r--r-- root/root 6 1998-06-05 16:13 pop.txt
Более поздние версии команды tar, в том числе входящие в современные дистрибутивы, предусматривают непосредственное создание сжатых архивов и прямой доступ к ним. Чтобы создать сжатый архив, команду tar надо ввести с параметром z:
$ tar czvf vnc.tar.gz vnc
vnc/classes/optionsFrame.class vnc/classes/rfbProto.class vnc/classes/vncCanvas.class
vnc/classes/vncviewer.class vnc/classes/vncviewer.jar vnc/vncpasswd vnc/vncserver vnc/vncvi ewer
Для просмотра полученного архива можно воспользоваться командой'
$ tar tzvf text.tar.gz
-rw-r—r— root/root 48 1998-06-05 16:13 ab.txt
-rw-r—r— root/root 6 1998-06-05 16:13 pop.txt
а для извлечения файлов - командой $ tar xzvf text.tar.gz
ab.txt pop.txt
Примечание
Подробно о командах tar и gzip, а также их параметрах, см. на страницах руководства этих команд.
Man и хmаn
В этой главе часто встречаются ссылки на страницы руководства. Это стандартная форма справочной системы Linux. В Linux Red Hat 7.1 почти каждая команда имеет собственную страницу руководства.
Страница руководства открывается командой man:
$ man command-name
По этой команде открывается страница руководства команды command-name, которую можно пролистывать или выполнять в ней поиск, как при просмотре текста с помощью команды less. Если указанную страницу руководства не удается найти, выводится сообщение об ошибке.
$ man non-existent-man-page
No manual entry for non-existent-man-page
Поскольку вы уже умеете работать в X Windows, можете вместо команды man использовать программу хтап: $ хmаn &
или
$ /usr/x11R6/bin/xman
По этой команде откроется исходное окно как на рис. 13.1.
Рис. 13.1. Исходное окно xman
Чтобы открыть окно xman, показанное на рис. 13.2, щелкните на кнопке Manual Page (Страница руководства). Сначала открывается файл справки окна, у которого есть два меню: Options (Параметры) и Sections (Разделы).
Рис. 13.2. Главное окно программы xman
В меню Options (рис. 13.3) можно включать вывод списка страниц руководства (команда Display Directory) или текущей страницы (Display Manual Page). Команда меню Help (Справка) открывает подробный файл справки окна xman. Для отображения искомой страницы руководства, выберите опцию Search (Поиск), затем введите имя команды в появившемся текстовом поле.
Для вас больший интерес должно представляет меню Sections (рис. 13.4), поскольку именно с него начинается поиск нужной страницы руководства.
Нетрудно заметить, что страницы руководства разделены на восемь основных категорий: пользовательские команды, системные вызовы и т.д. Если.выбрать одну из категорий, в окне будет открыт список составляющих ее команд (рис.. 13.5).
Страница руководства любой команды открывается двойным щелчком на ее имени.
Рис. 13.3. Меню Options
Рис. 13.4. Меню Sections
Рис. 13.5. Список команд
Что дальше
В этой главе вы ознакомились с командной строкой Linux, сделав первый шаг к тому, чтобы стать настоящим пользователем этой операционной системы.
До сих пор наше внимание было сосредоточено на среде X Windows и ее возможностях, но основа всех операционных систем семейства Unix - командная строка.
В следующей главе вы узнаете о мощных командах Linux, предназначенных для работы с файлами и каталогами. На основе команд, рассмотренных в данной главе (например,1s), вы научитесь создавать каталоги и выполнять другие сложные задачи.
Глава 14. Работа с файлами
В предыдущей главе мы рассмотрели информацию, знание которой необходимо для эффективного использования Linux. Вы знаете, что каждая команда - это отдельная программа (выполняемый файл). Вы научились выполнять операции с файлами, изучая различные варианты применения команды Is для вывода на экран списка файлов.
В этой главе мы подробнее рассмотрим применение команд для операций с файлами и каталогами, в том числе для их копирования, удаления, перемещения и создания. В конце главы мы рассмотрим применение подстановочных символов, например звездочки, широко используемой в DOS и Windows.
Копирование и удаление файлов
Копирование и перемещение - наиболее распространенные файловые операции. Вам регулярно придется заниматься репликацией файлов на всем диске или их копированием на дискеты для создания резервных копий или передачи на другой компьютер самым дешевым сетевым методом -на своих двоих. Другая ситуация - поиск ненужных файлов, которые надо удалить с переполненного диска.
Копирование файлов
Любой, у кого есть хотя бы небольшой опыт работы в DOS или окне DOS системы Windows, знает, что перетаскивание файлов из окна в окно— не единственный способ их копирования. Команда DOS copy предоставляет дополнительные возможности - например, использование подстановочных символов, - которые могут ускорить, упростить процесс и сделать его более эффективным, чем в Диспетчере файлов или Проводнике.
В Linux для копирования применяется команда ср (/bin/cp).
Основные операции копирования
Безусловно, простейшее применение команды ср - копирование файла из одного каталога в другой или создание дубликата в том же каталоге. Например, чтобы создать копию файла ThisFile, поместив ее в том же каталоге под именем ThisFile-Acopy, необходимо ввести следующую команду:
$ ср ThisFile ThisFile-Acopy
Если теперь заглянуть в указанный каталог при помощи команды 1s -1, то в нем окажется два файла абсолютно одинакового объема, но с разными датами создания. Дата создания нового файла совпадет с датой копирования, первоначальный же останется неизменным. Изменение файлаThisFile-Acopy не затронет файл ThisFile.
Аналогично, можно копировать файл ThisFile в каталог /tmp (например, чтобы предоставить к нему доступ другому пользователю). Для этого воспользуйтесь следующей командой.
$ ср ThisFile /tmp
Если файл, копируемый в другой каталог, требуется еще и переименовать, следует ввести команду:
$ ср ThisFile /tmp/NewFileName
Не записывайте поверх существующего файла
Все дистрибутивы Linux имеют один существенный недостаток: при копировании файлов существует опасность записи копии поверх существующего файла, Предположим, у вас есть два файла- ThisF%le и NewFile. Если вы решите создать копию одного из них, введя команду
$ ср ThisFile NewFile
копия запишется поверх файла NewFile, что приведет к его утрате (если, конечно, вы не были настолько предусмотрительны, чтобы позаботиться о резервной копии).
Чтобы избежать неприятностей, вводите команду ср с флажком -i. В этом случае система потребует подтверждения копирования поверх существующего файла.
$ ср -i ThisFile NewFile
ср: overwrite 'ThisFile'?
Чтобы обезопасить себя от подобных неприятностей, создайте алиас (псевдоимя) команды ср следующей командой:
$ alias cp='cp -i
Теперь при каждом обращении к команде ср последняя автоматически будет превращаться в команду ср —i. Следовательно, будет выводиться предупреждение о-каждом случае копирования поверх существующего файла. Как показано в гл. 16, модифицированием файла . bashrc можно конфигурировать оболочку Bash так, чтобы указанный псевдоним устанавливался при каждом входе в систему. (Оболочка - программа, управляющая средой командной строки,)
Очень важно, чтобы при входе в систему по учетной записи суперпользователя (он же корневой пользователь) указанный псевдоним устанавливается автоматически, поскольку малейшая ошибка суперпользователя может иметь катастрофические последствия.
Копирование нескольких файлов одной командой
Одним из недостатков команды сору системы DOS является то, что в ней можно указать лишь одно имя файла или выражение. Например, по команде
$ copy file /temp
происходит копирование файла file в каталог / temp. Другой вариант: $ copy *.tsct /temp
В этом случае, в каталог /temp копируются все текстовые файлы из текущего каталога. Если необходимо скопировать три отдельных файла, придется вводить команду трижды. Для копирования всех текстовых и выполняемых (. ехе) файлов текущего каталога команду придется вводить дважды.
Команда ср из Linux в этом отношении несколько удобнее. В отличие от двойника из DOS, в команде ср можно указать более двух аргументов. При этом последний из них трактуется как адрес назначения, остальные - как имена копируемых файлов.
Рассмотрим пример. Предположим, нам надо скопировать файлы FileOne, FileTwo и FileThree из текущего каталога в каталог /trap. Естественно, это можно сделать, введя команду копирования трижды.
$ ср FileOne /tmp
$ ср FileTwo /tmp
$ ср FileThree /tmp
Можно упростить задачу, объединив три команды в одну. $ ср FileOne FileTwo FileThree /tmp
Аналогично, при копировании большого числа файлов можно указать несколько аргументов с подстановочными символами.
$ ср *.txt *.doc *.bak /tmp
В этом случае происходит копирование всех файлов, имена которых имеют одно из трех указанных расширений.
Примечание
Помните: при копировании нескольких файлов таким способом, последним аргументом должен быть каталог, поскольку нельзя копировать несколько файлов в один. Нарушение этого условия приводит к выводу сообщения об ошибке следующего вида:
ср: when copying multiple files, last argument must be a directory. Try 'cp —help'for more information. (При копировании нескольких файлов последним надо указывать каталог. Для получения дополнительной информации введите 'ср --help'.)
Для копирования целого каталога со всеми подкаталогами введите команду ср с флажком -R. Если в текущем каталоге существует подкаталог SomeDir, то для рекурсивного копирования этого подкаталога (со всем его содержимым) в подкаталог / tmp воспользуйтесь следующей командой.
$ ср -R SomeDir /tmp
При копировании будет создан новый каталог /tmp/SomeDir, в который и будет скопировано содержимое исходного подкаталога SomeDir.
Дополнительные возможности
Команда ср предоставляет несколько дополнительных средств, увеличивающих возможности обычного копирования файлов и каталогов. Среди них - сохранение в копии состояния исходного файла и альтернативные методы защиты от копирования поверх существующего файла.
Обеспечение идентичности копии и оригинала
Внимательно присмотревшись к созданным копиям, нетрудно заметить, что некоторые их характеристики имеют мало общего с аналогичными характеристиками оригиналов. Среди этих характеристик - владелец файла, разрешения на доступ, дата и символические ссылки. Рассмотрим каждую из них подробно.
Владельцем копии файла обычно становится пользователь, выполнивший копирование, а не создатель файла-оригинала. Предположим, файл TheFile был создан пользователем userl и помещен в каталог /tmp, чтобы пользователь user2 смог копировать его оттуда в свой исходный каталог. В списке файлов этот файл выглядит примерно так:
-rw-r—r-- 1 userl users 16992 Apr 5 12:10 TheFile
После того, как пользователь user2 скопирует этот файл командой
$ ср /tmp/TheFile -/NewFile
он становится владельцем файла-копии.
-rw-rw-r-- I user2 users 16992 Apr 5 13:10 NewFile
Файлу, созданному в некотором каталоге, назначается набор разрешений по умолчанию. Но его копия наследует не эти разрешения, а разрешения, назначенные каталогу, в который выполнялось копирование. Обратите внимание на различия в разрешениях файла-оригинала и копии в приведенном примере. Если для оригинала определено разрешение только чтения группами пользователей, то для копии разрешена запись. Изменению подверглась и дата. В копии она совпадает со временем копирования, а с датой оригинала.
Иногда в копии необходимо сохранить все атрибуты файла-оригинала. Предположим, что корневой пользователь создает на съемном диске резервную копию некоторого набора файлов. В отличие от обычного архивирования на магнитную ленту, требующего других средств, в этом случае можно воспользоваться командой ср. Но резервные копии должны полностью соответствовать оригиналам. Самое время вспомнить о флажке -р, установка которого позволяет сохранить в копии все атрибуты оригинала. Если, возвращаясь к предыдущему примеру, вести команду
$ ср -р /tmp/TheFile
копия будет неотличима от оригинала:
-rw-r--r-- I userl users 16992 Apr 5 12:10 TheFile
Еще одна проблема, связанная с копированием файлов - копирование символических ссылок. Как было сказано в предыдущей главе, символическая ссылка - это указатель на файл из другого каталога. При помощи логических ссылок создается ситуация, при которой файл находится как бы одновременно в нескольких местах. При обращении к ссылке происходит фактически обращение к файлу, на который она указывает.
При обычном копировании символической ссылки происходит копирование не ее самой, ,а файла, на который она указывает. Например, если бы в предыдущем примере TheFile было именем символической ссылки:
Irwxrwxrwx 1 userl users 16992 Apr 5 12:10 TheFile OtherFile
то результат ввода команды
$ ср /tmp/TheFile -/NewFile
был бы следующим:
-rw-rw-r-- 1 user2 users 16992 Apr 5 13:10 NewFile
Но что. делать, если надо копировать ссылку, а не файл, на который она указывает, чтобы результат выглядел, как в следующем примере?
Irwxrwxrwx 1 user2 users 2 Apr 5 13:10 NewFile /tmp/OtherFile
В команде ср для этого предусмотрен флажок. Флажок -d отменяет разыменование ссылки. Команда копирования принимает вид:
S ср -d /tmp/TheFile -/NewFile
Попробуем подытожить сказанное. Как создать командой ср резервную копию существующего каталога со всеми подкаталогами? Это можно сделать при помощи сочетания двух рассмотренных флажков и рекурсивного копирования. Например, по команде
$ ср -pdR TheDirectory /backups
создается точная копия каталога TheDirectory в каталоге /backups /TheDirectory.
$ ср -a. TheDirectory /backups
Предотвращение ошибок
Мы рассмотрели один метод предотвращения ошибок - использование флажка -i, устанавли- каталогов. Существуют и другие методы установки разных степеней защиты.
Один из них - установка флажка -Ь для создания резервных копий файлов и каталогов, поверх КОТОРЫХ производится копирование. По умолчанию резервной копии присваивается имя файла- оригинала с добавленным в конце знаком тильды (~). Таким образом, если воспользоваться командой
$ ср -b FileOne FileTwo
для копирования файла FileOne в существующий файл FileTwo, будет создана резер'вная копия последнего с именем FileTwo-.
Правило присвоения имен резервным копиям можно изменять установкой флажка -S или. Флажок -S служит для замены тильды в конце имени резервной копии другим символом. Например, по команде
$ ср -b -S _ FileOne FileTwo
резервной копии файла FileTwo будет присвоено имя FileTwo_.
Флажок — backup позволяет выбрать одну из трех возможных схем присвоения имен.
Например, чтобы в рассмотренном примере была создана нумерованная резервная копия, необходимо ввести команду
$ ср — backup= t FileOne FileTwo или
$ ср -backup=numbered FileOne FileTwo
Аналогично, вводом команды
$ ср -backup=never FileOne FileTwo и
$ ср --backup=simple FileOne FileTwo
создаются обычные резервные копии.
Флажок -b в Red Hat Linux 7.1 с этими опциями не работает.
Примечание
В Red Hat Linux 7.1 по-прежнему можно использовать флажок -v для управления схемой присвоения имен. Однако в будущих версиях ср этот флажок уже будет недоступен.
Альтернативные формы флажков
Вероятно, вы обратили внимание на разнообразие флажков команды ср, в котором нетрудно запутаться. К счастью, для каждого флажка предусмотрена длинная, но легко запоминаемая формаг
Краткая форма | Длинная форма |
-I |
— interactive (интерактивное) |
-R |
--recursive (рекурсивное) |
-Р |
— preserve (предохранить) |
-а |
— no-dereference (без разыменования) |
-а |
— archive (архивное) |
-Ь |
— backup (резервное) |
-S |
--suffix (суффикс) |
Длинные формы флажков более наглядны, но со временем пользователи Linux привыкают к кратким, не требующим набора длинных строк. Рассмотрим команду
$ ср -i -Ь -V simple -S _ -R ThisDir /tmp
Эта же команда с длинными флажками:
$ ср --interactive —backup --version-control simple --suffix _
-> —recursive ThisDir /tmp
Безусловно, вторая команда более удобочитаема, но кто же возьмется набрать такое на клавиатуре!
Удаление файлов
Конечно же, Linux предоставляет не менее надежное средство удаления файлов. Это команда rm с соответствующим выполняемым файлом /bin/rm.
В простейшей форме команда применяется для удаления одного или нескольких файлов из текущего каталога. Командой
$ rm ThisFile
из текущего каталога удаляется файл ThisFile. Если из текущего каталога надо удалить все текстовые файлы, введите следующую команду.
$ rm *.txt
Подобно команде копирования, rm может иметь несколько аргументов. Например, две предыдущие команды можно заменить одной.
$ rm ThisFile *.txt
Как и команда копирования, rm несет в себе не только удобство, но и опасность. Нетрудно представить последствия случайного ввода команды
$ rm thesis.doc
вместо
$ rm thesis. bak
Как бы невероятным ни казался этот кошмар, он случается сплошь и рядом, принося массу ненужной работы и головную боль.
Чтобы избежать этого, установите в команде rm флажок -i, известный нам по команде ср, для вывода предупреждений об удалении файлов.
$ rm -i thesis.doc
rm: remove 'thesis.doc'?
Можно также создать псевдоимя команды rm, обеспечив вывод предупреждений по умолчанию.
$ alias rm='rm-i'
Удаление каталогов
Пользователям часто приходится удалять целиком каталоги. Предположим, у вас есть каталог, созданный в результате разархивирования файла, загруженного из Internet. После установки и тестирования программы, содержавшейся в загруженном файле, вы решите этот каталог удалить, для чего в команде rm необходимо установить флажок -r. Например, команда удаления каталога
$ rm -r Templnstall
Помнится, вы определили псевдоимя команды rm для вывода предупреждений об удалении файлов. При удалении больших каталогов это может оказаться некстати.
$ rm -r Templnstall
rm: descend directory 'templnstall'? у
rm: remove v TempInstall/File1'? у
rm: remove 'Templnstall/File2'? у
rm: remove directory 'Templnstall'? у
Представьте, что вам предстоит удалить несколько сот файлов. Невыполнимая задача. Для этих случаев предусмотрен флажок -f . Если вы уверены, что при удалении всего каталога не удалите ничего лишнего, отмените вывод предупреждений об удалении, установив в команде rm флажок -f.
$ rm -rf Templnstall
Напоминание
К использованию флажка -f следует относиться осторожно. Это средство не только мощное, но и опасное.
Учетная запись суперпользователя конфигурирована с установкой алиаса (псевдоимени) команды rm по умолчанию rm -i. Эта установка очень важна, поскольку малейшая ошибка суперпользователя может иметь катастрофические последствия для системы. Нетрудно догадаться чтo произойдет, если при попытке удалить каталог /tmp между "/" и "tmp" каким-то образом окажется пробел.
$ rm -r / tmp
Это команда удаления всех файлов и каталогов диска. И еще одно подтверждение важности алиаса команды rm -i.
Естественно, использование флажка - f требует от суперпользователя большой осторожности, да и само использование учетной записи суперполъзователя следует свести к минимуму. В конце концов, команда
$ rm -rf / tmp
опасна даже при наличии нужного алиаса.
Перемещение и переименование файлов
Перемещение и переименование файлов - операции родственные, поэтому мы рассмртрим их в одном параграфе. В отличие от систем DOS/Windows и Macintosh, где эти операции вполне независимы, в Linux переименование файлов рассматривается как частный случай перемещения.
Основная операция перемещения
Рассмотрим основную операцию перемещения.
$ mv FlleOne /tmp
По этой команде файл FileOne перемещается в каталог /trap.
Перемещение и переименование
Одновременно с перемещением в каталог /tmp, файл можно переименовать, воспользовавшись следующей командой.
$ mv FileOne /tmp/NewFileName
Отсюда следует, что для переименования файла достаточно переместить его в собственный каталог с новым именем.
$ mv FileOne NewFileName
Как видим, перемещение и переименование - одна и та же операция.
Перемещение нескольких файлов
Перемещение, как и копирование, может производиться сразу над несколькими файлами, поскольку в команде mv допустимо наличие более двух аргументов. В этом случае последний аргумент указывает каталог назначения (перемещать, как и копировать, несколько файлов в один нельзя). Рассмотрим ситуацию, в которой необходимо переместить в каталог /tmp все файлы текущего каталога с расширениями .bak, .tmp и .old. Воспользуемся командой
$ mv *.bak *.tmp *.old /tmp
По этой простой команде все файлы текущего каталога с расширениями . bak, .tmp и .old будут перемещены в каталог / tmp.
Командой mv можно перемещать целые каталоги, причем для этого не надо устанавливать флажки. Если в текущем каталоге есть подкаталог TheDir, который надо переместить в каталог / tmp, введите команду
$ mv TheDir//tmp
Аналогично, каталог TheDir превращается в подкаталог каталога NewDir:
$ mv TheDir/ /NewDir
Примечание
Как и для двух команд, рассмотренных выше, для команды mv необходимо установить алиас mv -i, чтобы предотвратить случайную запись перемещаемых файлов поверх уже .существующих. Для этого введите команду $ alias mv='mv -i'. В учетной записи суперпользователя такой алиас для команд ер, rm и mv установлен по умолчанию.
Создание файлов
Вы уже знаете несколько способов создания файлов. В операции копирования как раз это и происходит. Это же относится и к операции перемещения. Наконец, новый файл появляется при создании документа в текстовом редакторе, сохранении приложения сообщения электронной почты или создании копии экрана.
Но иногда требуется создать пустой файл нулевого объема. Пример такой ситуации - создание пустого файла сценарием для отметки особого состояния или прием программирования, называемый захватом файла (file locking). Суть его в следующем. Если сценарий открывает файл для внесения изменений, он одновременно создает специальный блокировочный файл (lock file). Блокировочный файл показывает другим программам и сценариям, что данный файл открыт для редактирования, а потому не может редактироваться другими программами или сценариями. Завершив редактирование файла и закрыв его, сценарий уничтожает блокировочный файл, вновь открывая доступ к отредактированному файлу.
Чтобы быстро и эффективно создавать блокировочные файлы, не выделяя значительный дисковый объем, нужен рациональный способ создания пустого файла. Для этого применяется команда touch. Например, по команде
$ touch NewFile
создается файл нулевого объема NewFile.
-rw-rw-r-- 1 armand armand 0 Apr 6 21:06 NewFile
Еще одно распространенное применение команды touch - изменение даты модификации существующего файла. Поведение многих программ определяется датами модификации файлов, с которыми они работают. Команда touch позволяет менять даты модификации файлов, не открывая и не редактируя их.
Создание каталогов
Каталоги относятся к числу специальных разновидностей файлов в Linux. Их специфика в том, что они содержат другие файлы. Для каталога вы можете установить такие ограничения на доступ, что другие пользователи даже не смогут посмотреть, какие файлы в нем содержатся Примерами каталогов может служить корневой каталог верхнего уровня (/) или ваш личный (домашний) каталог (например, /home/mj).
Но создать каталог той же командой, которой вы создаете файлы, нельзя. Для этого предусмотрены специальные команды mkdir и rmdir. Если вы хотите создать подкаталог для документов в вашем каталоге, можете воспользоваться следующей командой:
$ mkdir documents
Но эта команда не даст ожидаемого результата, если вы не находитесь в своем каталоге. Для пущей уверенности задайте полный путь создаваемого каталога:
$ mkdir /home/mj/documents
Будет ли эта команда работать или нет, зависит от предоставленных вам прав и доступности корневого каталога. К примеру, как рядовой пользователь вы, вероятно, не сможете создать новый каталог /golf, но корневому пользователю эта задача по силам.
Конечно, каталоги можно и удалять. Например, следующая команда удаляет созданный выше каталог:
$ rmdir /home/mj/documents
Будет ли эта команда работать, зависит от ваших прав для каталога /home/mj и от того, есть ли что-нибудь в этом каталоге. Конечно, можно использовать рассмотренную выше в этой главе команду rm -r для удаления непустого каталога.
Создание символических ссылок
Иногда приходится создавать не файлы, а символические ссылки. Символические ссылки - это указатели на реальные файлы в других каталогах. Обычно они используются системными администраторами и разработчиками прикладных программ. Представьте себе программиста, работающего над несколькими версиями одной программы. В конкретный момент времени тестирование проходит версия progS, progS или proglO - в зависимости от того, на какой стадии разработки находится проект. Чтобы гарантировать запуск для тестирования последней версии, можно создать на нее символическую ссылку prog. Каждый запуск prog будет приводить к запуску последней версии программы.
Есть два способа создания символических ссылок. Первый - ввод команды In с флажком -s, задающим создание символической ссылки, и двумя аргументами - файлом, на который указывает ссылка, и именем самой ссылки.
Например, чтобы создать в текущем каталоге ссылку МуСору на файл /bin/cp, введите следующую команду.
$ 1n -a /bin/ср МуСору
После этого команда 1s -1 покажет наличие символической ссылки.
1rwxrwxrwx 1 armand armand 7 Apr 6 22:50 МуСору -> /bin/cp
Несколько реже применяется другой способ создания символических ссылок - командой ср с флажком-s.
$ ср -8 /bin/cp МуСору
Краткое введение в подстановочные символы
Рассмотрим еще одну важную тему, посвященную подстановочным символам. Подробно она изложена в гл. 16 при изучении оболочки Unix, но поскольку мы уже неоднократно использовали эту технику, разумно будет сказать о ней несколько слов.
Подстановочные символы применяются для указания в одном компактном выражении имен нескольких файлов или каталогов. Мы уже неоднократно использовали звездочку (*), заменяющую любое число (включая нуль) произвольных символов. Например, выражение * . txt соответствует всем перечисленным ниже именам файлов.
По умолчанию богатый синтаксис применения подстановочных символов обеспечивает оболочка Bash. Эту оболочку нам еще предстоит рассмотреть, пока же рассмотрим несколько простейших подстановочных символов:
Что дальше
Итак, мы прошли изрядную часть пути. Теперь вы умеете работать с X Windows и начали постигать реальную глубину командной строки и оболочки Linux. Вы узнали о некоторых важных программах, запускаемых в среде командной строки, и научились сложным манипуляциям с файлами при помощи простых, но мощных команд.
В следующей главе мы научимся решать некоторые важные задачи конфигурирования и управления системой (в том числе конфигурирование принтеров, управление пользователями и т.д.) средствами утилиты LinuxConf и панели управления Linux Red Hat.
Глава 15. Конфигурирование системы средствами LinuxConf и панели управления
Если искушенным пользователям и системным администраторам не терпится, засучив рукава, приняться за редактирование файлов, управляющих поведением системы, обычный пользователь, для которого Linux - не более чем эффективный инструмент, находит это занятие безнадежно трудным.
Ручное редактирование конфигурационных файлов - крайне сложный процесс, и именно это послужило причиной оценки Linux, в отличие от Windows, как недружественной пользователю системы.
Однако компания Red Hat уже не первый год работает над тем, чтобы оградить пользователя от конфигурационных файлов основной рабочей станции Linux. На сегодняшний день доступен ряд утилит конфигурирования, позволяющих управлять пользователями, принтерами, системными часами, модемами, сетями, пакетами программ и т.п.
Наиболее совершенной из подобных утилит является Linuxconf, Она предоставляет пользователю все необходимые возможности конфигурирования посредством ряда простых диалоговых окон.
Примечание
В других дистрибутивах Linux также предусмотрены конфигурационные утилиты с графическим интерфейсом, подобные Linuxconf, например, Control Center фирмы Corel, WebMin от Caldera, YaST от S.u!S.E.
В этой главе рассмотрены функции графических конфигурационных утилит Red Hat Linux 7.1, в частности, Printconf и Linuxconf, причем ряд особенностей утилиты Linuxconf разобран детально.
Конфигурирование принтеров
Пожалуй, самая сложная задача в Unix - заставить работать принтер, вручную редактируя системные конфигурационные файлы. Особенно, если это принтер стандарта PCL (Printer Control Language - Язык управления печатью).
Компания Red Hat добилась замечательного результата, сделав эту задачу выполнимой (даже нетрудной) с помощью утилиты Printconf. Эта утилита запускается выбором в главном меню GNOME команды Programs/System/Printer Configuration (Профаммы/Системные/Конфигурирование принтера). Если вы вошли в систему не как корневой пользователь, то появляется запрос пароля корневого пользователя.
В результате на экран выводится окно утилиты конфигурирования принтеров, показанное на рис. 15.1.
Рис. 15.1. Окно утилиты конфигурирования принтеров Примечание
Эту утилиту можно также вызвать из КDЕ, выбором опции System/Printer Configuration в главном меню КDЕ.
Утилита Printconf представляет собой наиболее удобное средство настройки конфигурационного файла /etc/printcap. Фактически, используя Printconf, вы избавляетесь от необходимости ручного редактирования файла /etc/printcap. Если же вы работаете с принтерами, которые поддаются только ручной настройке, можете задать их параметры в файле /etc/printcap. local.
Процедура установки нового принтера состоит из четырех шагов: вначале задается имя. Оно может включать алиасы (псевдонимы) для упрощения запоминания имени нового принтера. Далее устанавливается очередь. Она может быть локальной или удаленной (в сети). Созданная очередь ассоциируется с принтером. Третий шаг посвящен установке драйвера, который обеспечит обмен системы Linux с принтером. В завершение необходимо сохранить внесенные настройки и перезапустить Демон Line Printer Daemon, вызываемый как lpd.
Добавление принтера
Для запуска процедуры щелкните на кнопке New (Новый) в панели инструментов Printconf. В результате откроется окно диалога Edit Queue (Редактирование очереди), показанное на рис. 15.2. В текстовом поле Queue Name (Имя очереди) введите имя вашего принтера. Если необходимо несколько имен, можете задать один или несколько псевдонимов (алиасов). Щелкните на кнопке Add (Добавить) и введите соответствующий псевдоним. Повторите операцию для других псевдонимов, если они необходимы. На рис. 15.2 в качестве имени принтера задано test, а в качестве псевдонима указан hp I j 4.
Рис. 15.2. Задание имен и псевдонимов
Установка очереди
Теперь необходимо установить очередь для настраиваемого принтера. В диалоговом окне Edit Queue (Редактирование очереди) щелкните на кнопке Queue Type (Тип очереди). Как показано на рис. 15.3, подлежат конфигурированию два параметра: дислокация принтера и связанное с принтером устройство.
Рис. 15.3. Выбор очереди и устройства
Существует пять разновидностей очередей. Простейшая - Local Printer (Локальный принтер), когда принтер непосредственно подключен в вашему компьютеру через параллельный или USB-порт. После щелчка на Local Printer (Локальный принтер), утилита Printconf показывает все пять доступных опций Queue Type (Тип очереди). Остальные четыре опции предполагают, что принтер подключен через сеть одним из следующих способов:
UNIX Printer (Ipd Queue) (UNIX-принтер). Если устанавливаемый принтер подключен в сети к компьютеру, управляемому системой Unix или Linux, и ваш компьютер использует протокол Network File System (NFS) для связи с ним, то вам нужна именно эта опция. Вам потребуется имя принт-серверного компьютера и имя очереди подключаемого принтера на нем.
Windows Printer (SMB Share) (Windows-принтер). Если устанавливаемый принтер подключен в сети к компьютеру, управляемому системой Microsoft Windows, или системой Linux и/или Unix с использованием Samba, то вам следует выбрать эту опцию для установки принтера. Вам потребуется имя, используемое для доступа к принтеру, и IP-адрес, назначенный компьютеру, к которому подключен принтер. Для получения доступа к принтеру вам, в зависимости от способа организации сетевого доступа, может потребоваться имя рабочей группы Windows, имя пользователя и/или пароль.
Совет
Имя, используемое для доступа к принтеру, состоит из полного пути принтера, подключенного к компьютеру, управляемому Microsoft Windows. Например, если имя Windows-компьютера Mswi.nl, а имя, используемое для доступа к принтеру HPLaser j, то необходимое вам имя будет выглядеть так / /MSWinl/HPLaser J.
Novell Printer (NCP Queue) (Novell -принтер). Если в вашей сети для связи используется какая-либо разновидность протокола Novell Network, то опция NCP queue вполне вам подходит. Для принтера, подключенного этим способом, необходимо задать имя принт-серверного компьютера, имя очереди на нем, а также имя пользователя и пароль.
JetDirect Printer (JetDirect-принтер). Опция JetDirect Printer предназначена для HP и HP-совместимых принтеров, подключенных непосредственно к сети, без прямого подключения к одному из компьютеров сети. Вам потребуется IP-адрес принтера и номер порта, если он отличается от используемого по умолчанию номера 9100,
После установки -принтерной очереди можно приступать к выбору принтерного устройства. В Red Hat Linux 7.1 для принтеров, подключенных к параллельным и USB-портам доступен ряд устройств, включая /dev/lp0, /dev/lpl и /dev/lp2 для стандартных LPT-принтеров, и от /dev/usb/lpO до /dev/usb/lpl5 для USB-принтеров.
Конфигурирование драйвера принтера
Следующий шаг ставит себе целью конфигурирование драйвера, обеспечивающего обмен системы Linux с принтером. В диалоговом окне Edit Queue (Редактирование очереди) щелкните на опции Printer Driver (Драйвер принтера) и выберите одну из четырех разновидностей принтеров, три из которых показаны на рис. 15.4.
Postscript Printer (Postscript-принтер). В большинстве случаев для работы с различными Postscript-принтерами вполне подходит стандартный Postscript-драйвер.
Text Only Printer (Text Only-принтер). Если необходима только распечатка текстовой информации из стандартных текстовых файлов, или если ваш принтер может обрабатывать только стандартные текстовые ASCII-коды, следует выбрать эту опцию.
Raw Print Queue (Raw Print Queue-принтер). Этой опции не соответствует никакой реальный драйвер. Если ваша программа сама конвертирует подлежащие печати данные в формат, используемый принтером, воспользуйтесь этой опцией.
Brand Specific (Brand Specific-принтер). Утилита Printconf включает множество принтерных драйверов, ориентированных на обслуживание соответствующих моделей принтеров. Если у вас не Postscript-принтер, то следует выбрать в списке фирму и модель подключенного к компьютеру- принтера.
Рис. 15.4. Выбор драйвера принтера
Примечание
Некоторые принтеры ассоциируются с несколькими драйверами. В большинстве случаев используемый по умолчанию драйвер работает нормально. Но при появлении проблем рекомендуется щелкнуть мышью на имени используемого драйвера для получения списка альтернативных драйверов (если таковые существуют) для вашего принтера.
Можно даже установить один и тот же принтер с разными драйверами. Например, если одна из используемых вами программ выдает на печать данные уже непосредственно в формате принтера, то принтер для нее не нужен, и вы можете воспользоваться опцией raw print queue. Для остальных программ можно установить тот же самый принтер с подходящим драйвером. Не забудьте при этом использовать для разных установок разные имена, псевдонимы и принтерные устройства.
Выбрав принтерный драйвер, следует настроить его, задав необходимые параметры. Например, рис. 15.5 иллюстрирует доступные для настройки параметры принтера HP Laser Jet 4L.
При настройке доступно множество параметров. Наиболее часто используются следующие опции конфигурирования принтерного драйвера:
Send EOT. EOT — это сокращение для "End of Transmission" (Конец передачи). Если принтер некорректно отрабатывает запуск или завершение задания в очереди заданий, следует установить эту опцию.
Rerender Postscript. Этот параметр обеспечивает передачу вашего файла на печать в виде Postscript. Некоторые принтеры требуют формата Postscript для обработки графики. Но иногда эта опция не работает, так как ряд моделей принтеров не воспринимает данные в postscript' формате.
Page Size (Размер страницы). Для этой опции следует задать размер бумажного листа принтера.
Прочие опции в общем случае специфичны для конкретного драйвера. Более подробные сведения можно получить в документации на принтер и/или принтерной Linux-документации по адресу www. linuxprinting. org.
Завершив конфигурирование, щелкните на кнопке ОК для выхода из диалогового окна Edit Queue (Редактирование очереди).
Рис. 15.5. Параметры драйвера принтера
Тестирование конфигурации
Перед тем, как приступать к тестированию конфигурации, ее следует сохранить в конфигурационном файле /etc/printcap. Вернувшись в основное окно утилиты Printconf, выберите команду File/Save Changes (Файл/Сохранить изменения), чтобы сохранить изменения в указанном файле. Затем выберите команду File/Restart/Lpd (Файл/Перезапустить/Lpd), чтобы демон Line Printer Daemon прочитал этот конфигурационный файл.
Теперь можно приступать к тестированию конфигурации. В меню Test (Тест) содержатся три опции:
Print Postscript Test Page (Печатать тестовую страницу Postscript). Стандартная тестовая Postscript-страница Red Hat включает текст, цветной фрагмент и рамки на расстоянии 0,5 и 1,0 дюйма от края страницы размером 8,5 х 11 дюймов.
Print А4 Postscript Test Page (Печатать тестовую страницу А4 Postscript). Это стандартная тестовая Postscript-страница Red Hat, ориентированная на бумагу формата А4, являющуюся стандартной в Европе.
Print ASCII Test Page (Печатать тестовую страницу ASCII). Это стандартная тестовая страница, которая содержит только текст без графики.
Управление существующими принтерами
После установки принтера внесение изменений в его конфигурацию не составляет трудностей. Выберите необходимый принтер и щелкните на Edit (Изменить) на панели инструментов. Появится уже знакомое вам диалоговое окно.
Альтернативные средства конфигурирования
По большому счету существует две достойных альтернативы утилиты Printconf: PrintTool и Apsfilter. PrintTool представляет собой утилиту, использовавшуюся в Red Hat вплоть до версии 7.0. Apsfilter рассматривается в гл. 18. Если вы ранее пользовались Red Hat Linux, вероятно, вы будете увереннее чувствовать себя с PrintTool. Чтобы установить PrintTool, сначала удалите Printconf. Для этого можно воспользоваться следующими rpm-командами в режиме корневого пользователя:
# rpm -e printconf-gui
# rpm -в printconf
Установить PrintTool можно с диска Red Hat Linux 7.0 CD-ROM или загрузив его исходные тексты с узла www. rpmf ind. net. Необходимы следующие два пакета:
pnnttool-3 .54-1.1386.rpm
Загрузив эти пакеты в каталог / tmp, можно затем установить их с помощью следующих rpm-команд в режиме корневого пользователя:
# rpm -i /tmp/rhs-printfilters-1.81-1.1386.rpm
# rpm -i /tmp/printtool-3.54-1.1386.rpm
Запуск программы LinuxConf
Начиная с Red Hat Linux 7.1, Linuxconf больше не устанавливается по умолчанию. Фактически, соответствующие rpm-пакеты даже не включены в CD-ROM, поставляемый с книгой. Но если вы располагаете полным дистрибутивом на двух или более CD-ROM, можете установить пакет Linuxconf, linuxconf-1.24r2-10.1386. rpm со второго дистрибутивного диска CD-ROM.
В некоторых из конфигураций CD-ROM может монтироваться автоматически после установки компакт-диска в привод. Чтобы проверить, так ли эти, наберите команду mount. Если в ответ вы получаете что-либо наподобие следующей строки, то CD-ROM уже смонтирован:
/dev/hdb on /mnt/cdrom type iso9660
Если необходимо, смонтируйте CD-ROM в каталоге /mnt/cdrom. Выполнив монтирование, можно установить Linuxconf с помощью следующих команд:
$ rpm -I /mnt/cdrom/RedHat/RPMS/linuxconf-1.24r2-10.1386.rpm
$ rpm -i /mnt/cdrom/RedHat/RPMS/gnome-linuxconf-0.64-1.1386.rpm
Примечание
Если второй дистрибутивный диск Red Hat Linux 7.1 вам недоступен, можно загрузить эти пакеты из Интернета, например, с узлов ftp. redhat. com или www. rpmfind. net.
После установки Linuxconf можно запустить эту утилиту из командной строки, введя следующую команду в ответ на подсказку в окне xterm:
$ linuxconf-auth
Если вы не корневой пользователь, Red Hat Linux 7.1 выдаст запрос пароля корневого пользователя перед запуском Linuxconf.
После запуска Linuxconf на экране появляется окно, подобное показанному на рис. 15.6.
Рис. 15.6. Окно утилиты Linuxconf
Примечание
При первом запуске утилиты Linuxconf, появляется окно приветствия. Для перехода к работе с Linuxconf следует нажать Quit (Выход), как это ни странно звучит.
Утилиту Linuxconf можно использовать для управления многими параметрами Linux, включая сетевую конфигурацию и контроль пользователей и групп. Эти и другие секции можно выбрать в окне Linuxconf из иерархии параметров, расположенной в центре окна. Эта иерархия представлена в виде дерева, отдельные ветви которого можно разворачивать/сворачивать, подобно тому, как вы разворачиваете/сворачиваете папки в Проводнике Windows 98/Ме и NT/2000.
Добавление модулей
При первом «запуске утилиты Linuxconf доступны не все необходимые средства. Процедура добавления модулей, впрочем, достаточно проста. Чтобы увидеть доступные модули, щелкните на вкладке Control (Управление), а затем выберите Control Files And Systems/Configure Linuxconf Modules (Файлы и системы управления/Конфигурирование модулей Linuxconf), чтобы открыть вкладку List Of Modules (Список модулей), показанную на рис. 15.7.
Необходимо добавить, по крайней мере, инструмент конфигурирования модема modemconf, поскольку он потребуется вам далее в этой главе. Для активизации этого инструмента, выберите modemconf и щелкните на кнопке Accept (Принять), расположенной под вкладкой List Of Modules (Список модулей). Затем на панели инструментов следует выбрать File/Act Changes (Файл/Изменить), после чего выбрать File/Quit (Файл/Выход). После перезапуска утилиты Linuxconf, на вкладке Config (Конфигурация) в группе Peripherals (периферийные устройства) появится опция Modem (Модем).
Рис. 15.7. Вкладка List Of Modules утилиты Linuxconf
Примечание
Предусмотрены две команды выхода из Linuxconf: File/Quit (Файл/Выход) и File/Quit (no check) (Файл/Выход (без проверки)). Вторая команда выполняет перекрестную проверку конфигурации на соответствие состоянию системы Linux. Если обнаруживаются различия, то Linuxconf предлагает обновить систему.
Управление пользователями и группами пользователей
Рассмотрим использование программы LinuxConf для управления пользователями и группами пользователей. Соответствующие параметры находятся в подразделе Normal (Обычные) подраздела Users Accounts (Учетные записи пользователей) вкладки Config (Конфигурация) дерева разделов в левой панели окна программы LinuxConf.
Управление пользователями
Для управления пользователями перейдите в LinuxConf а вкладку Config, на ней выберите элемент Users Accounts, в нем - Normal, а в нем - Users Accounts. В правой части окна откроется вкладка управления пользователями (рис. 15.8) со списком пользователей и рядам функциональных КНОПОК.
На этой панели можно выполнять следующие операции.
Рис. 15.8. Панель управления пользователями
Ввод новых пользователей
Чтобы добавить в список нового пользователя, щелкните на кнопке Add (Добавить). Откроется вкладка User Account Creation (Создание учетной записи пользователя), показанная на рис. 15.9, Большинство полей этой вкладки пусты: в них надо ввести сведения о новом пользователе. Покончив с заполнением полей, создайте учетную запись щелчком на кнопке Accept (Принять).
Ниже описаны поля вкладки User Account Creation.
Login Name (Имя пользователя)
Введите в это поле имя, которое пользователь должен указывать при входе в систему (не совпадающее с его полным именем). Имя пользователя начинается с буквы или цифры и не содержит пробелов.
Например, пользователю Арману Данешу (Arrnan Danesh) подошло бы одно из следующих имен:
Все они ассоциируются с именем, которое пользователь получил при рождении.
Рис. 15.9. Ввод нового пользователя
Full Name (Полное имя)
В это поле вводится полное имя пользователя, которое указывается, например, в поле сообщений электронной почты "От", вместе с адресом, формируемым по имени пользователя. Это имя может содержать пробелы.
Group (Группа) и Supplementary Groups (Дополнительные группы)
В этом поле пользователь включается в определенную группу. Если это поле не заполнено, то Linux Red Hat создает для данного пользователя отдельную группу, идентификационный номер которой совпадает с его идентификационным номером. Численные значения, установленные программой LinuxConf, лучше не менять.
В поле Supplementary Groups можно указать дополнительные группы, в которые будет добавлен новый пользователь для решения некоторых проблем управления безопасностью и доступом. В большинстве небольших Систем и сетей необходимости в этом не возникает.
Home Directory (Исходный каталог)
В этом поле указывается полный путь к исходному каталогу пользователя. В Linux Red Hat по умолчанию это подкаталог каталога /home, имя которого совпадает с именем пользователя. Linux автоматически назначает исходный каталог. Но можно задать исходный (домашний) каталог в поле Home Directory по своему усмотрению.
Например, пользователю armand должен быть назначен исходный каталог /home/armand. Если у вас не огромный сервер с множеством пользователей, и вы не намерены реализовать на нем собственную систему назначения исходных каталогов, оставьте это поле как есть.
Command Interpreter (Интерпретатор команд)
В этом поле указывается оболочка, управляющая функциями среды командной строки (подробнее оболочка рассмотрена в гл. 16).
По умолчанию для всех новых пользователей Linux Red Hat устанавливается оболочка Bash. Если щелкнуть на кнопке рядом с полем Command Interpreter, то откроется список альтернативных оболочек, среди которых разновидности оболочки Bash - Ash, C-Shell и Enhanced C-Shell (/bin/ tcgh). Как правило, нет необходимости менять оболочку по умолчанию.
Создание учетной записи
Закончив ввод сведений для новой учетной записи, введите ее в систему щелчком на кнопке Accept (Принять). После этого программа дважды потребует указать пароль пользователя (второй раз - для подтверждения). Вкладка, в которой вводится пароль, показана на рис. 15.10.
Рис. 15.10. Ввод нового пароля
После того, как новый пароль введен дважды (каждый раз - со щелчком на кнопке Accept (Принять)), откроется главная вкладка управления пользователями (см. рис. 15.8), в списке которой будет только что введенный пользователь.
Примечание
Если вы используете в качестве пароля слово, которое есть в словаре, утилита Linuxconf выдаст соответствующее сообщение об ошибке. Если вы все-таки хотите использовать это слово в качестве пароля, щелкните на кнопке Accept (Принять), а затем повторно введите то же самое слово в поле Retype New UNIX Password.
Совет
Хорошие пароли состоят из комбинаций букв и цифр. Например, пароль, подобный Itr29tmr гораздо сложнее подобрать, чем любое слово из словаря. Запомнить такой пароль совсем не сложно, если иметь в виду, что Itr29tmr означает "I take route 29 to my restaurant" ("Я езжу в ресторан по дороге 29").
Редактирование и просмотр учетной записи
Для просмотра или редактирования учетной записи пользователя, щелкните на его имени в списке пользователей главной вкладки управления пользователями. Откроется вкладка (рис. 15.11) практически идентичная той, в которой происходило определение нового пользователя. Единственное исключение - все поля содержат информацию о пользователе, выделенном в списке. При необходимости в эту информацию можно внести изменения.
Чтобы задействовать внесенные изменения, щелкните на кнопке Accept (Принять), а чтобы выйти без сохранения изменений - на Cancel (Отмена).
Рис. 15.11. Просмотр и редактирование учетной записи
Включение и выключение учетных записей
Это очень удобное средство. Смысл его - временное прекращение доступа пользователя в систему без удаления учетной записи. Через некоторое время доступ можно восстановить. Пример ситуации, в которой удобно использовать это средство - временное прекращение доступа провайдером Internet (ISP) за неуплату.
Чтобы выключить учетную запись, щелкните на имени пользователя в списке и в окне редактирования учетной записи сбросьте флажок The Account is Enabled (Учетная запись включена). Запись будет выключена после щелчка на кнопке Accept.
Включение учетной записи
Чтобы включить учетную запись, щелкните на имени пользователя в списке, и в окне редактирования учетной записи установите флажок The Account is Enabled. Запись будет включена после щелчка на кнопке Accept.
Удаление пользователя
Это последняя из операций управления пользователями. Чтобы восстановить удаленного пользователя, нужно заново создать его учетную запись. Чтобы удалить пользователя, щелчком на его имени в списке откройте вкладку редактирования учетной записи, затем щелкните на кнопке Del (Удалить) внизу вкладки. Откроется окно подтверждения удаления, показанное на рис. 15.12.
В этом окне находится переключатель на три положения.
Archive the Account's Data (Архивировать данные учетной записи). Данные учетной записи пользователя (исходный каталог, выделенные ресурсы и т.п.) архивируются и сжимаются для использования в дальнейшем в каталоге /home/oldaccounts.
Delete the Account's Data (Удалить данные учетной записи). Данные учетной записи пользователя удаляются.
Leave the Account's Data in Place (Оставить данные учетной записи на месте). Учетная запись уничтожается, но ее данные сохраняются.
Чтобы удалить пользователя, установите нужное положение переключателя и щелкните на кнопке Accept.
Рис. 15.12. Окно подтверждения удаления пользователя
Управление группами
Другой аспект управления пользователями и группами - управление группами пользователей, осуществляемое на вкладке Config в подразделе /Users Accounts/Normal/Group Definitions (Определение групп) дерева разделов в левой панели окна программы LinuxConf. На вкладке конфигурирования групп приведен их список и ряд функциональных кнопок (рис. 15.13). Подробнее группы рассмотрены в гл. 17.
Рис. 15.13. Управление группами
Создание группы
Чтобы добавить новую группу в список, щелкните на кнопке Add (Добавить). Откроется вкладка, показанная на рис. 15.14.
Рис. 15.14. Создание группы
Эта вкладка выглядит как уменьшенный вариант вкладки создания учетной записи пользователя. На ней указываются следующие параметры.
Редактирование или просмотр групп
Для редактирования или просмотра группы щелкните на ее имени в списке. Откроется вкладка, показанная на рис. 15.15.
Обратите внимание: по существу, это та вкладка, в которой происходило создание группы. Единственное отличие - заполненные поля. Если необходимо, измените идентификатор группы или список членов, хотя лучше этого не делать, особенно для административных групп с номерами менее 100.
Выход и сохранение результатов
Завершив все конфигурационные операции в LinuxConf, необходимо выйти из этой программы, активизировав изменения конфигурационных параметров. Для этого выберите команду File/Act|Changes (Файл/Активизировать изменения). Если потребуются дополнительные изменения, то появится окно подтверждения, подобное изображенному на рис. 15.16. В этом окне указано, что необходимо сделать для сохранения внесенных изменений в системных файлах Linux.
Рис. 15.16. Выход из LinuxConf В окне подтверждения можно выбрать один из следующих вариантов.
Конфигурирование модема
С помощью утилиты Linuxconf можно также сконфигурировать модем. Откройте окно Linuxconf. воспользовавшись описанным выше способом. Если модуль modemconf установлен так, как это описано ранее, то можно использовать утилиту Linuxconf для конфигурирования модема. На вкладке Config выберите элемент Peripherals/Modem (Периферийные устройства Модем), в результате будет открыта вкладка Modem Configurator.
В этом окне нет обилия параметров: надо лишь указать порт подключения модема (для встроенного модема - порт конфигурирования). Так создается необходимая связь между логическим устройством /dev/modem и физическим адресом модема.
Можно также поручить утилите Linuxconf определить порт, к которому подключен ваш модем. Подсоедините модем к телефонной линии и щелкните на кнопке Detect (Разыскать). Как только модем обнаружен, об этом выдается соответствующее сообщение с указанием порта, в противном случае появляется сообщение No Modem Detected (Модем не обнаружен).
Этот процесс не зависит от конфигурации программ, использующих модем для доступа в Internet или пересылки факсов. (Они рассмотрены в гл. 22).
Совет
Если Modem Configurator утилиты Linuxconf не может распознать ваш модем, проверьте, подключен ли он к телефону и есть ли сигнал станции на линии. В противном случае используйте описанные в гл. 22 средства, чтобы помочь системе распознать модем.
Установка даты и времени
С помощью утилиты Linuxconf можно настроить часы и календарь вашего компьютера. Откройте окно Linuxconf, воспользовавшись описанным выше способом. На вкладке Control выберите элемент Date & Time. В результате появится вкладка Workstation Date & Time Configurator, показанная на рис. 15.17.
Время и дата указаны в средней и нижней части окна. Для установки даты или времени щелкните на любой части значения даты или времени (часах, минутах, секундах, месяце, дне или годе).
В системе Linux используется стандартное время по Гринвичу Greenwich Mean Time (GMT). Это позволяет упростить синхронизацию Linux-серверов, расположенных в различных часовых поясах. Чтобы выполнить такую синхронизацию на вашем компьютере, система Linux должна знать его часовой пояс. Указать этот пояс можно с помощью меню, вызываемого щелчком на кнопке, расположенной справа от поля Zone.
Если на вашем компьютере установлена только система Linux, выберите опцию Store Date In CMOS (Сохранить данные в CMOS). В результате GMT-версия времени, установленного вами будет занесена в аппаратные часы компьютера. В противном случае вам придется вручную изме нять время системы Linux при изменении времени в вашем часовом поясе (например, при переходе на летнее/зимнее время).
Рис. 15.17. Вкладка Workstation Date & Time Configurator
Этот инструментарий также можно использовать для синхронизации часов вашего компьютера с часами сервера, который указывается в поле Get Date From Server(s) (Получить данные с сервера). Этот механизм базируется на команде netdate или сервере времени xntp. Ни одна из этих утилит не входит в состав Red Hat Linux 7.1.
Завершив установку параметров, щелкните на кнопке Accept (Принять) и выполните активизацию внесенных изменений так, как это описано выше в данной главе.
Примечание
При работе на нескольких компьютерах с приложениями, требующими одинакового времени, для синхронизации часов каждого из таких компьютеров с сервером можно воспользоваться утилитой ntpdate. Более подробные сведения о ней расположены на веб-странице по адресу http://www.eecis.udel.edu/ ~ntp/ntp_spool/html/ntpdate.htm.
Что дальше
Мы рассмотрели основы конфигурирования некоторых важнейших компонентов системы. Это компоненты, обращаться к которым приходится ежедневно - принтеры, модемы, пользователи и группы пользователей. Другой инструментарий конфигурирования рассматривается в следующих главах. В частности, сетевой конфигуратор Network Configurator (netcfg) описан в гл. 21, а конфигуратор брандмауэра Firewall Configurator (f irewall-conf ig) - в гл. 31.
Усвоив приведенные сведения и основы Unix, умея управлять файловой системой Linux, вы готовы "окунуться" в мир оболочек. Оболочка - это программа обеспечения мощной среды командной строки, обожаемая знатоками Linux и вызывающая ужас у новичков.
В следующей главе мы рассмотрим роль оболочки в системе, попытаемся оценить многие из них (в том числе популярные оболочки Bash и С) и подробно рассмотрим Bash - стандартную оболочку большинства дистрибутивов Linux.
Глава 16. Введение в оболочки
После изучения основных команд Unix, полезно освоить среду командной строки, в которой эти команды используются, - оболочку. Оболочка аналогична окну DOS в системе Windows 3.1 или Windows 98, в котором можно вводить команды, запускать программы и выполнять операции с файлами.
В отличие от окон DOS, представляющих собой среду с ограниченной гибкостью, оболочки Unix - это небольшие программы, запускаемые как процессы при входе в систему и обеспечивающие богатый набор средств в соответствии с потребностями различных пользователей и программ.
В мире Unix - следовательно, и Linux - большой выбор оболочек, каждая из которых имеет собственный набор средств и возможностей, зачастую и собственный язык сценариев для создания сложных, самостоятельно выполняемых, программ, аналогичных bat-файлам DOS (с привычным расширением . ВАТ), но более мощным. »
В начале главы дан обзор основных оболочек Unix, в том числе Bourne Shell, С Shell и Korn Shell, затем мы перейдем к углубленному изучению оболочки Bourne Again Shell, известной как Bash, устанавливаемой по умолчанию в большинстве дистрибутивов Linux.
Обзор оболочек
Оболочка ранних версий Unix была довольно примитивной, без хронологического списка, средств редактирования командной строки и управления заданиями. Однако в семидесятые годы, с появлением Bourne Shell и С Shell, оболочки стали превращаться в объекты серьезного внимания в мире Unix. Сейчас пользователям Unix предлагается на выбор множество оболочек, каждая из которых имеет уникальный набор средств.
Существует два основных семейства оболочек. Одно из них берет начало от оболочки Bourne Shell, другое - от С Shell. Прежде чем приступить к основательному изучению оболочки Bourne Again Shell, устанавливаемой по умолчанию в большинстве дистрибутивов Linux, рассмотрим основные оболочки Unix.
Совет
Чтобы быть в курсе новейших разработок в области оболочек Unix, подпишитесь на группу новостей сотр.unix.shell.
Bourne Shell (sh)
Bourne Shell (sh) считается исходной оболочкой Unix. Во многих отношениях эта довольно ограниченная оболочка, в которой недостает таких средств, как хронологический список или редактирование командной строки. Но многие средства Bourne Shell, именно как исходной версии, входят в ряд современных оболочек. Пример - основной набор команд. В современных системах Bourne Shell, как оболочка по умолчанию, применяется редко. В большинстве дистрибутивов Linux установлены Bourne Again Shell или Enhanced С Shell.
Оболочка Bourne Shell - источник множества концептуальных новшеств: например, проверки успешного или аварийного завершения работы программ, что позволяет писать сложные сценарии. Теперь это средство - стандарт оболочек Unix.
С Shell (csh)
С Shell (csh) - ранняя оболочка Unix с набором команд и языком сценариев на основе синтаксиса популярного языка программирования С. Как и в ранней Bourne Shell, в С Shell отсутствуют некоторые важные функции, наподобие редактирования командной строки. Однако в этой оболочке впервые реализовано несколько важных идей, например, алиасы команд и хронологические списки. Усовершенствованный вариант Enhanced С Shell (tcsh) с редактированием командной строки и другими функциями, позаимствованными из Bash, входит в большинство дистрибутивов Linux как альтернативная оболочка.
Оболочка С Shell известна рядом концептуальных нововведений, вошедших даже в оболочки, производные от Bourne Shell. Среди прочих, идея реализации в оболочке некоторых арифметических функций и сравнительной проверки. В Bourne Shell для этого требовалось обращение к внешним программам.
Bourne Again Shell (bash)
Это оболочка, устанавливаемая в дистрибутивах Linux чаще других. Известная как Bash, она является производной от Bourne Shell (что следует из названия), но имеет дополнительные функции: редактирование командной строки, хронологический список и дополнение частично введенных имен файлов. В Bash можно писать сложные сценарии на синтаксисе, близком к синтаксису Bourne Shell. Поскольку в настоящее время Bash - наиболее распространенная оболочка Linux, большая часть главы посвящена именно ей. Она же подразумевается во всех примерах, приводимых в книге.
Коm Shell (ksh)
Еще одна оболочка, производная от Bourne Shell. По некоторым оценкам, это наиболее популярная оболочка Unix, но в дистрибутивах Linux она редко устанавливается по умолчанию. Оболочка Korn Shell была, вероятно, одной из первых, в которой впервые появилось множество популярных функций, реализованных в настоящее время в Bash, в том числе редактирование командной строки. Она же помогла перенести в мир Bourne Shell многие функции, введенные в С Shell.
Другие оболочки
Существует множество других оболочек, каждая из которых обеспечивает интерфейс командной строки, обладающий уникальными свойствами. Но ни одна из них не завоевала достаточной популярности, чтобы быть включенной в большинство дистрибутивов Linux. Среди них можно упомянуть Adventure Shell (ash), представляющую подмножество Bourne Shell, полностью перепрограммируемую Extensible Shell (es), эргономичную ERGO Shell (esh), Z Shell (zsh), объединившую, подобно оболочке Bash, функции многих оболочек, что, в конце концов, привело к некоторому подобию Korn Shell.
Совет
Превосходным источником альтернативных оболочек для системы Linux служит архив Linux SunSite с каталогом оболочек ftp://metalab.unc.edu/pub/Linux/system/sheiIs .
Здесь можно найти все распространенные оболочки, а также и малоизвестные ish, pash или pdksh.
Эксперименты с различными оболочками
Вероятно, вам уже интересно, как опробовать все эти оболочки, не устанавливая каждую по умолчанию. Оболочка запускается как обычная программа в среде оболочки по умолчанию. Например, Enhanced С Shell устанавливается при установке системы, но по умолчанию всеми пользователями используется Bash. Чтобы запустить Enhanced С Shell, введите следующую команду.
$ tcsh
В этой команде подразумевается, что программа tcsh находится в одном из каталогов пути по умолчанию, в противном случае придется указывать путь к оболочке, например /bin/ tcsh. После ввода команды запускается оболочка Enhanced С Shell, и работа продолжается уже в среде ее командной строки. Возврат в оболочку по умолчанию происходит после ввода команды exit.
В большинстве систем Linux есть.символическая ссылка /bin/sh на /bin/tcsh, так что оболочку Enhanced С Shell можно запустить следующей командой.
$ csh
Этим методом можно воспользоваться для проверки различных оболочек, прежде чем установить одну из них по умолчанию. Чтобы сменить оболочку по умолчанию, устанавливаемую при входе в систему, необходимо внести изменения в одну из записей файла паролей Unix, введя команду chsh.
Представьте ситуацию, в которой пользователь someuser работает с установленной по умолчанию оболочкой /bin/bash (Bourne Again Shell). Соответствующая запись в файле паролей имеет примерно следующий вид.
someuser::790:103:Some User:/home/someuser:/bin/bash
В ее конце указана оболочка по умолчанию /bin/bash. После ввода команды
$ chsh -a /bin/tcsh someuser
оболочка по умолчанию меняется на /bin/tcsh, и запись в файле паролей становится следующей:
someuser::790:103:Some User:/home/someuser:/bin/tcsh
При следующем входе в систему вместо оболочки Bourne Again Shell будет запущена Enhanced С Shell.
Оболочка Bash
Рассмотрим наиболее популярную оболочку Linux - Bash. Для понимания ее места в мире Linux важно понять сам процесс входа в систему. В результате ввода имени и пароля пользователя происходит несколько важных процессов. Прежде всего, запуск оболочки (в нашем случае Bash), затем - считывание конфигурационного файла, созданного для создания собственной среды Bash.
Чтобы обеспечить персонифицированную конфигурацию Bash, необходимо создать в исходном каталоге файл с именем .bashrc. Это простейший текстовый файл, выполняемый оболочкой Bash при ее запуске (обычно при входе в систему).
Примечание
В Red Hat Linux 7.1 параметры персонифицированной конфигурации входят также в состав файла .bash_prof lie, который хранится в исходном каталоге пользователя.
Файл . bashrc может содержать любой разрешенный набор команд и функций оболочки Bash, которые можно вводить в командной строке, а также сложные команды, применяемые в сценариях.
Именно в файле .bashrc конфигурируются параметры оболочки, устанавливаются переменные среды (например, путь по умолчанию) и запускаются программы, предназначенные для автоматического запуска с оболочкой Bash. Ниже приведены команды, образующие простой файл . bashrc, который задает оригинальную подсказку командной строки, устанавливает алиас команды с именем which и некоторые переменные среды.
PS1=" [\u@\h \W]\\$ " alias which="type -path" export PATH=$PATH:.:~/bin export EDITOR=emacs
В этом простом примере задействованы несколько важных функций оболочки Bash.
Установка переменных среды в Bash
У каждой оболочки свой синтаксис установки переменных среды. Обычно в Bash это выполняется в два этапа: присвоение переменной значения и экспорт переменной в среду. Например, чтобы задать по умолчанию текстовый редактор emacs, можно присвоить переменной среды EDITOR значение emac s:
$ EDITOR=emacs
затем экспортировать ее следующей командой.
$ export EDITOR
Обе команды можно объединить в одну.
$ export EDITOR=emacs
При рассмотрении подстановочных символов мы покажем, что на значение переменной среды можно сослаться, указав символ "$" как префикс имени этой переменной в командной строке Bash. Так можно дополнять значение переменной среды. Например, если переменная пути по умолчанию PATH равна
/bin:/usr/bin:/usr/X11R6/bin
к ней можно добавить составляющую /usr / local/bin, введя следующую команду.
$ export PATH=$PATH:/usr/local/bin
В этой команде текущее значение переменной PATH представлено выражением $РАТН. Новое значение переменной следующее:
/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin
Переадресация ввода и вывода
Одна из наиболее полезных концепций в мире Unix - стандартный ввод/вывод. Невзаимодействующие программы могут получать данные от стандартного устройства ввода, как правило, клавиатуры. Результаты выводятся на стандартное устройство вывода (обычно, это экран). ,
Однако в большинстве оболочек предусмотрена возможность переадресации стандартного ввода или вщвода, что позволяет создавать сложные командные конструкции на основе большого количества команд и файлов данных. В гл. 13 мы рассмотрели конвейеризацию команд, при помощи которой можно переадресовать стандартный вывод на стандартный ввод. Например, в команде
$ ls -1 | more
результаты выполнения команды Is -1 направляются не на стандартное устройство вывода, а на стандартный ввод команды more.
Другой способ переадресации стандартного ввода/вывода в оболочке Bash - при помощи символов переадресации "<" и ">". Рассмотрим ситуацию, когда надо записать в файл список содержимого каталога. Для этого можно воспользоваться следующей командой.
$ ls -1 > filelist
По этой команде стандартный вывод команды Is -1 будет переадресован в файл с именем filelist. В следующей команде происходит переадресация ввода.
$ mail user@juxta.com < filelist
Здесь файл filelist используется в качестве стандартного устройства ввода для команды mail, образуя текст сообщения электронной почты.
Дополнение частично введенных имен
Это простое, но очень полезное средство, действующее следующим образом. Если набрать в командной строке достаточное число символов, чтобы указать уникальное имя файла, команды или каталога, то Bash может дополнить недостающую его часть. Предположим, вы набрали
$ /usr/lo
В большинстве систем этого достаточно для идентификации единственного объекта - каталога /usr/local/. Нажмите клавишу Tab, и Bash попытается дополнить недостающую часть имени. Если существует единственный объект (файл, каталог или команда) с именем, начинающимся с /usr/lo, то Bash дополнит это имя. В нашем случае до /usr/local/.
Конечно, в некоторых случаях введенной части имени недостаточно для определения единственного объекта. Тогда Bash выводит список возможных имен. Например, если набрать
$ /usr/1
это может соответствовать /usr/local/ или /usr/lib/. Если нажать клавишу Tab, оболочка Bash будет не в состоянии выбрать единственный вариант и выдаст список всех возможных.
lib local
Пользователь может набрать еще несколько символов и снова нажать Tab. В данном примере достаточно набрать "о". После нажатия клавиши Tab Bash дополнит имя до /usr/local / .
Вероятно, вам не дает покоя вопрос: что произойдет, если набрать неполное имя файла, находящегося в локальном каталоге или любом другом, включенном в путь по умолчанию, без указания полного пути? Сможет ли Bash дополнить его? Ответ - да. При дополнении имени файла или каталога, указанных без полного пути, как в команде
Bash проводит поиск имен, совпадающих с введенной частью строки, в каталогах, указанных в пути по умолчанию. В большинстве систем для дополнения указанной команды найдется лишь несколько имен, в том числе grep и groff , так что предложенный список возможных вариантов будет выглядеть примерно так:
grep groff grotty
Чтобы выбрать команду grep, достаточно набрать букву "е" и нажать Tab.
Алиас команды
Установка алиасов (псевдоимен) команд - мощное средство, позволяющее пользователю создавать собственные команды. Например, частые проверки всех процессов в системе можно проводить при помощи следующей команды.
$ ps -aux | more
Чтобы не набирать каждый раз довольно длинную команду, можно определить ее алиас. Допустим, мы ходим создать алиас с именем psa для проверки всех выполняемых процессов. Это можно сделать командой
$ alias psa="ps aux | more"
После этого ввод в командной строке Bash команды psa будет аналогичен вводу ps aux | more. Алиас остается в памяти до конца текущего сеанса оболочки Bash. После выхода из оболочки все алиасы теряются.
Чтобы алиасы не утрачивались с окончанием сеансов, их следует определять в файле . bashrc, аналогично тому, как ранее мы устанавливали текстовый редактор по умолчанию emacs.
Применение алиасов позволяет не только облегчить работу с командной строкой, но и избежать множества опасных ошибок. Например, если войти в систему как корневой пользователь, становятся опасными самые простые операции копирования, перемещения или удаления файлов и каталогов. Любая ошибка может привести к удалению файлов, каталогов и даже файловых систем, причем виновник может этого не заметить. Поэтому в оболочке Bash учетная запись корневого пользователя конфигурирована с установкой по умолчанию следующих алиасов.
alias cp='cp -i' alias mv='mv -i' alias rm='rm -i '
Флажок -i указывает на необходимость подтверждения удаления или перезаписи файлов во всех трех операциях. Отменить действие флажка - i можно только установкой другого флажха i например, rm - f ).
Редактирование командной строки
Одна из возможностей Bash, отсутствовавшая в более ранних оболочках (Bourne Shell или С Shell) - редактирование командной строки. Без этого допущенную в наборе команды ошибку можно было исправить, только удалив все символы после нее. Например, если в команде
$ /usr/kocal/bin/mycommand
ошибочно набрано "kocal" вместо "local", то вернуть курсор к "k" можно только удалив все последующие символы, которые придется набрать вновь после исправления ошибки. Надо ли объяснять, насколько это неэффективно!
В современных оболочках, в том числе и Bash, предусмотрен полный набор средств редактирования командной строки. Курсор можно перемещать по строке при помощи клавиш со стрелками, при необходимости удаляя или вставляя символы. Ввод команды нажатием клавиши Enter можно выполнять, не перемещая курсор в конец строки. По умолчанию, командная строка Bash находится в режиме вставки, так что набираемые символы не замещают существующие, а вставляются между ними.
Чтобы ускорить редактирование командной строки, особенно при наборе длинных команд, в Bash предусмотрено несколько функциональных комбинаций клавиш, перечисленных в табл. 16.1.
Табл. 16.1. Функциональные комбинации клавиш для редактирования командной строки
Комбинация клавиш |
Функция |
Ctrl+A |
Переход в начало строки |
Ctrl+E |
Переход в конец строки |
Ctrl+B |
Переход на один символ влево |
Ctrl+F |
Переход на один символ вправо |
Esc, В |
Переход на одно слово влево |
Esc,F |
Переход на одно слово вправо |
Ctrl+L |
Очистка экрана с выводом командной строки вверху |
Ctrl+D |
Удаление символа в текущей позиции курсора |
Backspace |
Удаление символа слева от курсора |
Ctrl+T |
Поменять местами символ в позиции курсора с символом слева от него |
Esc, Т |
Поменять местами слово в позиции курсора со словом слева от него |
Esc, U |
Перевод текущего слова в верхний регистр |
Esc.L |
Перевод текущего слова в нижний регистр |
Esc, С |
Перевод текущего слова в нижний регистр с заглавной первой буквой |
Ctrl+K |
Удаление символов от позиции курсора до конца строки |
Тот, кто работает в редакторе emacs, сразу обратит внимание, что в приведенной таблице перечислены функциональные комбинации клавиш именно этого редактора. Действительно, набор функциональных клавиш оболочки Bash позаимствован из emacs. Можно установить альтернативный набор из редактора vi, но последний, как и его набор функциональных клавиш, менее популярен среди программистов и опытных системных администраторов, поэтому в данной книге не рассматривается.
Список команд из табл. 16.1 - лишь незначительная часть всех команд редактирования, предоставляемых оболочкой Bash. Однако это основные функции, необходимые большинству пользователей для эффективной работы. Более подробный список функций редактирования можно найти в разделе HEADLINE страницы руководства оболочки Bash, для вывода которой необходимо ввести в командной строке man bash.
Хронологический список
Идея, положенная в основу этого средства, крайне проста. После ввода каждой команды (после нажатия Enter, а не Ctrl+C), последняя заносится в список, из которого команды можно извлекать в порядке, обратном вводу.
Простейший способ доступа к хронологическому списку - просмотр его записей нажатием клавиши со стрелкой вверх, пока не будет найдена нужная команда. У хронологического списка есть два основных назначения: поиск ошибочно введенных команд и повторный ввод команд.
Рассмотрим первое. Предположим, вы предприняли попытку просмотреть содержимое файла testf ile, для чего ввели команду
$ moer testfile
После нажатия Enter, на экране появится сообщение об ошибке.
bash: moer: command not found.
Для быстрого исправления ситуации достаточно вернуть команду в командную строку нажатием клавиши со стрелкой вверх, исправить moer на more (воспользовавшись функциями редактирования командной строки) и нажать Enter.
Другая ситуация - конфигурирование некоторой программы. При этом обычно приходится несколько раз подряд редактировать конфигурационный файл и запускать программу. А для таких повторов нет средства лучше хронологического списка.
Существует быстрый способ доступа к хронологическому списку - при помощи восклицательного знака (!). Если ввести восклицательный знак с несколькими следующими за ним начальными буквами одной из команд из хронологического списка, то эта команда будет выполнена (будет повторено последнее обращение к ней).
Например, если ранее была выполнена команда
$ ps aux | grep httpd | more
ее выполнение можно повторять вводом
$ !ps
если только после нее не вводилась другая команда, начинавшаяся с "ps". После ввода ! ps выполняется последняя команда из хронологического списка, начинающаяся с "ps".
Для хронологического списка также существует ряд полезных функциональных комбинаций клавиш. Некоторые из них перечислены в табл. 16.2.
Из перечисленных комбинаций наиболее интересна Ctrl+R. Это динамичный, интерактивный обратный поиск в списке. По мере набора строки Bash ищет в хронологическом списке команду с совпадающим фрагментом, введенную последней. Чем длиннее набранная строка, тем меньше область поиска нужной команды.
Предположим, необходимо ввести уже вводившуюся сложную поисковую команду. Включите режим поиска, нажав Ctrl+R. На экране появится строка интерактивного поиска.
(reverse-i-search)' ':
Табл. 16.2. Функциональные комбинации клавиш для хронологического списка
Комбинация клавиш |
Функция |
Ctrl+P Ctrl+N Esc, < Esc,> Ctrl+R
Ctrl+O |
Переход к предыдущей команде в хронологическом списке Переход к следующей команде в хронологическом списке Переход к началу хронологического списка (команде, введенной первой) Переход в конец хронологического списка (к команде, введенной последней) Поиск по списку в обратном направлении Выполнение текущей команды хронологического списка и вывод ( следующей для редактирования или выполнения |
По мере набора символов в этой строке Bash отыскивает в хронологическом списке команду с совпадающим фрагментом, введенную последней. Например, набор одной буквы "f" может дать следующий результат.
Наконец, после набора "fin", получаем то, что искали:
(reverse-i-search)`fin': find / -name 'foo' -print
Для ввода найденной команды достаточно нажать Enter.
Управление заданиями
Для многозадачной системы, каковой и является Linux, функция управления заданиями особенно важна, так как позволяет управлять несколькими программами, выполняемыми одновременно в одной оболочке.
Как правило, введенная команда выполняется в режиме переднего плана. Это означает, что подсказка командной строки возвращается на экран только после того, как завершится выполнение команды. Интерактивные программы, наподобие emacs, захватывают экран или окно, в котором запущена оболочка, и возвращают их командной строке только после завершения работы. Неинтерактивные программы, например find, не захватывают экран; тем не менее, и в этом случае подсказка командной строки возвращается на экран только после завершения программы.
Предположим, вы ввели следующую команду.
$ find / -name '*.tmp' -print > templist
Это команда поиска во всех каталогах системы Linux файлов с расширением . trap и вывода результатов поиска на стандартное устройство вывода. Вывод переадресован в файл templist для последующей обработки. Это означает отсутствие какого-либо вывода на экран. Тем не менее, ввести другую команду до окончания поиска не удастся.
Такая ситуация противоречит идее многозадачности. Необходим способ, с помощью которого можно было бы после ввода команды поиска, не дожидаясь ее завершения, запустить другую программу.
Решить задачу помогает запуск программ в фоновом режиме. Если запускать задания в фоновом режиме, подсказка командной строки будет оставаться на экране, а новые задания можно будет запускать, не дожидаясь завершения уже запущенных.
Простейший способ запуска задания в фоновом режиме - завершение команды запуска знаком амперсанда (&). Этот знак заставляет оболочку запускать команду в фоновом режиме с незамедлительным возвратом подсказки командной строки на экран. Приведенная ранее команда поиска, выполняемая в фоновом режиме, будет иметь вид:
$ find / -name '*.tmp' -print > templist &
Сразу после нажатия Enter на экран возвратится подсказка командной строки. Одновременно начнется выполнение команды поиска.
Чтобы получить список заданий, выполняемых в фоновом режиме, введите команду j obs оболочки Bash. Результат ее выполнения будет примерно следующим.
$ jobs
[1]+ Running find / -name ' *.tmp' -print >templist &
Итак, ответ команды показывает, что в системе выполняется одно задание, что выполняется оно в фоновом режиме (о чем свидетельствует знак "&"), и что это команда find / -name ' * . tmp' -print >templist &.
Если в фоновом режиме выполняется несколько заданий, то результат может выглядеть иначе.
[2]+ Running ls -1R / >dirlist &
Если программа запущена в режиме переднего плана, ее можно перевести в фоновый режим. Комбинация клавиш Ctrl+Z интерпретируется оболочкой Basfi как команда временной остановки текущего процесса. Например, если команду поиска из предыдущего примера запустить в режиме переднего плана, то после нажатия Ctrl+Z поиск временно прекращается. Если теперь ввести команду j obs, результат будет следующим.
[1]+ Stopped find / -name '*.tmp' -print >templist
Обратите внимание: теперь в столбце состояния указано Stopped (остановлено) вместо Running (выполняется). Это задание можно перевести в фоновый режим следующей командой,
$ bg 1
где единица указывает номер задания. Выполняя одно задание, его номер можно не указывать.
$ bg
После того, как остановленное задание переводится в фоновый режим его выполнение возобновляется, и команда j obs показывает его состояние как Running.
Иногда возникает необходимость приостановить задание без перевода в фоновый режим. К примеру, при работе в текстовом редакторе emacs (или любом другом) может понадобиться ввести одну или несколько команд, затем опять вернуться в редактор. Чтобы не выходить полностью из редактора, приостановите его работу, нажав Ctrl+Z, введите требуемые команды и вновь вернитесь к работе. Интерактивные программы плохо приспособлены к выполнению в фоновом режиме, поэтому лучше держать их остановленными до возврата к работе в режиме переднего плана.
Возврат остановленного или переведенного в фоновый режим задания в режим переднего плана происходит по команде fg. Так, остановленный в предыдущем примере редактор emacs возвращается к работе в режиме переднего плана командой
$ fg
При наличии нескольких остановленных или выполняемых в фоновом режиме заданий необходимо указать номер задания, переводимого в режим переднего плана. Если задание emacs имело номер 2, то команда его перевода в режим переднего плана будет следующей.
$ fg 2
Наконец, в некоторых случаях остановленное или фоновое задание приходится завершать либо уничтожать. Для уничтожения процесса, указанного его идентификатором (РШ), используется команда kill. Можно воспользоваться командой ps для определения идентификатора процесса (см. страницу руководства этой команды) либо уничтожать остановленные или фоновые задания непосредственно по их номерам.
Например, при наличии в системе двух фоновых заданий, когда команда j obs выводит на экран:
[3]+ Stopped emacs somefile
уничтожение задания ls производится командой $ kill %2
Обратите внимание на знак процента перед номером задания. Без него команда пыталась бы уничтожить процесс с идентификатором PID, равным 2. Необходимо различать номер процесса и идентификатор РШ, поскольку это вещи абсолютно разные.
Рассмотрим следующий пример. Имея один фоновый процесс, вы запускаете второе задание. Система тут же присваивает ему идентификатор PID, представляющий численное значение, например 100, 999 или 25 678. Малые значения PID. (особенно, меньше 100) применяются для обозначения всевозможных системных процессов, запускаемых одновременно с загрузкой Linux и выполняемых до выключения компьютера. Следовательно, совпадение идентификатора PID и номера задания весьма маловероятно.
Подстановочные символы
Одно из мощных средств современных оболочек (в том числе Bash) - подстановочные символы, позволяющие задавать несколько имен команд или файлов в одном выражении. Рассмотрим простой пример. Если ввести команду,
$ ls -1
ответом на нее будет полный список файлов текущего каталога. Предположим, что нам надо найти файл, о котором известно только то, что его имя начинается на букву "z". Введем команду,
$ Is -1 z*
в которой аргумент z * означает все файлы, имена которых начинаются на букву "z". Пользователям DOS или Windows такое применение звездочки, вероятно, знакомо. После ввода команды оболочка Bash составляет список всех файлов, имена которых начинаются на "z" и заменяет аргумент z * этим списком. Имена файлов из списка передаются в качестве аргументов команде Is -1. В оболочке Bash возможности подстановочного символа "*" значительно шире, чем в DOS или окне DOS системы Windows.
Подстановочные символы в обозначении каталогов и файлов
Одно из применений подстановочных символов - обозначение каталогов и файлов. Здесь, кроме звездочки, применяются еще два символа. Все символы, а также их значения, перечислены в табл. 16.3.
Табл. 16.3. Применение подстановочных символов в обозначении каталогов и файлов
Символ |
Описание |
? [...] [A-F] [ .. .] или [!...] [ A A-F] или [IA-F] |
Любой единичный символ Любой единичный символ, заключенный в скобки Любой единичный символ, попадающий в указанный диапазон Любой единичный символ, кроме заключенных в скобки Любой единичный символ, не попадающий в указанный диапазон |
Рассмотрим несколько примеров.
Предположим, надо составить список всех файлов с именами длиной в три символа, первый из которых "а", а последний - "z". Это можно сделать, введя команду
$ Is -1 a?z
Если заменить вопросительный знак звездочкой, получим список файлов, имена которых просто начинаются на "а" и оканчиваются "z".
$ Is -I a*z
Вопросительный знак обозначает один произвольный символ, звездочка - любое их количество, включая нуль.
Рассмотрим ситуацию, когда необходимо получить список файлов, имена которых начинаются на а, Ь, с или d._ Для этого можно воспользоваться следующей командой.
$ Is -1 а* Ь* с* d*
Однако такая форма несколько громоздка. Гораздо удобнее воспользоваться следующей: $ Is -I [abed]*
Выражение в квадратных скобках означает любую из перечисленных букв, звездочка - любое число следующих за ней произвольных символов.
Поскольку перечисленные буквы образуют непрерывную последовательность, команду можно упростить:
$ Is -I [a-d]*
Наконец, иногда необходимо исключить один или несколько символов, включив все остальные, Рассмотрим создание сжатого архива всех исходных каталогов системы. Предположим, нужно архивировать все каталоги кроме тех, имена которых начинаются с буквы "m". Для этого можно воспользоваться командой,
$ tar czvf home.tar.gz /home/[a-1]* /home/[n-z]*
но гораздо удобнее следующая форма этой же команды:
$ tar czvf home.tar.gz /home/[!m]*
Здесь выражение в квадратных скобках обозначает любой символ, кроме буквы "m".
Можно усложнить задачу, исключив архивирование каталогов, имена которых начинаются с букв m, n или о. Соответствующая команда будет иметь вид
$ tar czvf home.tar.gz /home/[^mno]*
или
$ tar czvf home.tar.gz /home/[!m-o]*
Фигурные скобки
Подстановочные символы в фигурных скобках имеют те же свойства, но применимы к именам, не обязательно связанным с существующими файлами или каталогами. Рассмотрим пример команды с выражением в фигурных скобках.
$ mkdir testdir{1,2,3,4}
По этой команде создаются четыре каталога с именами testdirl, testdir2, testdir3 и testdir4.
Обратите внимание, что элементы выражения в фигурных скобках разделены запятыми, и все они используются последовательно для образования нужных имен. Разделение элементов запятыми предполагает, что они, в отличие от элементов в квадратных скобках, могут содержать более одного символа, например:
$ mkdir testdir{01,02,03,04}
Следует учитывать, что выражение в фигурных скобках должно содержать минимум одну запятую.
Интересно, что в выражения в фигурных скобках можно вкладывать выражения с подстано вочными символами имен файлов и каталогов, а также другие выражения в фигурных скобках. Это следствие того, что первыми подставляются вложенные символы. Рассмотрим следующий пример.
$ mkdir newdir/{firstdir,firstdir/'dir<01,02}}
По этой команде создаются следующие кащлоги.
firstdir/dir02
В приведенной команде выражение {01,02} вложено в другое выражение в фигурных скобках.
Точно так же внутри фигурных скобок можно указывать выражения с подстановочными символами имен файлов и каталогов. По команде
$ chmod 644 testfile.{tx?,bak,0[0-9]}
происходит изменение разрешений доступа к серии файлов, в том числе ко всем файлам, соответствующим выражениям testfile. tx?, testfile.bak и от testfile.00 до testfile.09.
Подстановка команд
Еще один вариант применения подстановочных символов - подстановка команд, напоминающая конвейеризацию. При конвейеризации стандартный вывод одной команды переадресуется на стандартный ввод другой, при подстановке же он передается другой команде как аргумент или параметр.
Для примера, рассмотрим ситуацию, в которой необходимо сжать все файлы с расширением . bak. Список этих файлов можно получить, введя команду
$ find / -name '*.bak' -print
Этой же командой с флажком exec можно воспользоваться для сжатия всех файлов.
$ find / -name '*.bak r -exec gzip {} \;
Другой вариант - подстановка команды, как в следующем примере.
$ gzip "find / -name '*.bak' -print"
Здесь команда find заключена в обратные одинарные кавычки, указывающие, что ее результаты должны использоваться как часть командной строки - в данном случае, как аргументы команды gzip.
Существует альтернативная форма этой конструкции - без обратных кавычек:
$ gzip $(find / -name \*.bak -print)
Основное различие между двумя конструкциями - смысл обратной косой (\) в первой из них. Этот смысл сохраняется, если не указаны символы "$","'" или "\".
Примечание
Приведенный перечень подстановочных символов оболочки Bash не полон. Полный список, наряду с подробным описанием, можно найти на странице руководства Bash. Однако и то, что мы описали, рбеспечивает немалые возможности. Если вам понадобятся дополнительные средства- связанные с подстановочными символами, обратитесь к странице руководства, воспользовавшись командой man bash.
Что дальше
Итак, вы освоили работу с оболочкой и можете творить чудеса с Bash. Пора переходить к работе с реальными, практическими программами.
В следующей главе мы приступим к изучению важных задач системного администрирования. Среди них - управление пользователями и группами пользователей, составление расписания запуска заданий и управление способами загрузки Linux.
Глава 17. Общее администрирование системы
В этой главе рассмотрены некоторые основные задачи администрирования, необходимые для поддержании системы Linux в рабочем состоянии.
Одна из важнейших задач в Linux - будь-то сервер сети или домашний компьютер, совместно используемый членами семьи - управление пользователями. Последнее включает ряд задач - от смены пароля в учетной записи пользователя до контроля того, чтобы исходный каталог каждого пользователя соответствовал правилам, определенным администратором системы при создании его учетной записи.
Даже в относительно простых системах доступ к ресурсам предоставляется и отдельным пользователям, и группам пользователей. Группа - это некоторое количество пользователей, объединенных по определенному организационному принципу и обозначенных общим именем. Linux обладает средствами объединения пользователей в группы и.регулирования доступа к системным ресурсам для этих групп.
Еще одно средство администрирования - очень важное с точки зрения эффективного использования Linux - автоматизация выполнения заданий, запускаемых вручную либо по расписанию. Реализованный в Linux принцип рабочих уровней обеспечивает эффективный механизм определения того, что и в какой момент должно происходить при запуске системы (как и при ее выключении). Программа Сгоп из Unix - механизм составления расписания запуска заданий, а также регулярного (ежедневного, еженедельного, ежемесячного или ежегодного) выполнения определенных операций.
Наконец, в Linux реализованы сложные средства регистрации, позволяющие знать все, что происходит в системе. Естественно, эти средства требуют регулярного обслуживания. Файл регистрационного журнала с записями за целый год слишком велик, чтобы можно было эффективно использовать его для локализации текущих проблем.
Управление пользователями
В гл. 15 мы говорили об управлении пользователями, когда рассматривали панель управления Linux Red Hat 7.1. Однако панель управления входит не во все дистрибутивы Linux, так что для полного освоения задач администрирования следует научиться работать без нее.
Создание учетной записи пользователя
Для создания учетной записи пользователя в Linux применяется команда useradd (обычно в каталоге /usr/sbin/, в некоторых системах именуемая adduser). Версия команды useradd из комплекта Linux Red Hat 7.1 - в высшей степени сложный инструмент, превращающий создание учетной записи в исключительно простую операцию. Начнем с простейших примеров, чтобы затем
перейти к рассмотрению более сложных ситуаций. Простейший способ создания учетной записи пользователя - с параметрами, устанавливаемыми по умолчанию. Например, чтобы создать учетную запись для пользователя testuserl, достаточно ввести
# /usr/sbin/useradd testuserl
По этой команде выполняется следующая последовательность операций создания учетной записи.
Примечание
В Red Hat Linux 7.1 опции по умолчанию для создания учетной записи нового пользователя специфицированы в конфигурационных файлах /etc /login, defs и /etc/default/useradd.
При создании учетной записи по команде useradd задача предоставления пароля пользователю остается за администратором системы. Метод присвоения пароля рассмотрен далее в параграфе "Смена пароля".
Что произойдет, если поменять схему предоставления пользователю идентификатора? Представьте организацию, в которой идентификаторы пользователей в Linux Red Hat присваиваются по индивидуальным идентификационным номерам сотрудников. В этом случае придется указывать идентификатор в команде создания учетной записи, для чего служит флажок -и.
# useradd -и 10001 testuserl
По этой команде создается учетная запись пользователя testuserl с идентификационным номером 10001.
Что нужно сделать, чтобы добавить нового пользователя в определенную группу? Как добавить нового пользователя в группу (например, users) а не создавать для него отдельную группу? Для этого существует флажок -g.
# useradd -g users testuserl
Предположим, пользователь testuserl должен быть включен не только в группу users. но и в группы groupl и group2. Эту операцию можно отложить до более удобного времени (до изучения операций, рассмотренных в параграфе, посвященном управлению группами). Однако и это можно сделать, если при создании учетной записи указать в команде useradd флажок -G.
# useradd -g users -G groupl,group2 testuserl
Наконец, Чтобы определить пользователю другой исходный каталог, укажите в команде флажок -d.
# useradd -d /other/home/directory testuserl
Изменение параметров по умолчанию команды useradd
Иногда требуется изменить значения некоторых параметров, устанавливаемые по умолчанию в команде useradd. Например, может понадобиться установить исходные каталоги пользователей в каталоге /users, а не /home, или добавить новых пользователей в группу users автоматически, не создавая для каждого собственную группу.
Для установки новых значений параметров по умолчанию можно воспользоваться все той же командой useradd с флажком -D и несколькими дополнительными флажками. Флажок -D указывает, что команда вводится не для создания учетной записи пользователя, а для изменения установок по умолчанию.
Флажок -D используется в сочетании с несколькими дополнительными флажками. Рассмотрим применение флажков -b и -g для переустановки, соответственно, исходного каталога и группы по умолчанию.
Команда определения исходного каталога по умолчанию в каталоге /users следующая:
# useradd -D -b /users
Чтобы установить по умолчанию группу users для новых пользователей, введите команду
# useradd -D -g users
Обе команды можно объединить в одну.
# useradd -D -Ь /users -g users
Смена пароля
Для смены пароля применяется команда passwd. Любой пользователь может поменять свой пароль, введя эту команду в командной строке. Система потребует ввести старый пароль, затем -дважды новый (для подтверждения).
$ passwd
Changing password for test
(current) UNIX password: New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully
Смена пароля для test (текущий) пароль UNIX: Новый пароль UNIX: Повторить ввод пароля UNIX: passwd: Изменение всех аутентификационных признаков выполнено успешно
Во многих версиях Linux команда passwd проверяет, не слишком ли пароль короток, прост, напоминает имя пользователя или прежний пароль. Если пароль не удовлетворяет какому-либо из условий, выводится сообщение об ошибке наподобие следующего.
$ passwd
BAD PASSWORD: it does not contain enough DIFFERENT characters New UNIX password:
Смена пароля для test (текущий) пароль UNIX: Новый пароль UNIX:
НЕВЕРНЫЙ ПАРОЛЬ: недостаточное число РАЗЛИЧНЫХ символов Новый пароль UNIX: НЕВЕРНЫЙ ПАРОЛЬ: слишком короток Новый пароль UNIX: НЕВЕРНЫЙ ПАРОЛЬ: слишком прост passwd: Ошибка при попытке изменения аутентификационного признака
Предупреждение
Если в ранних версиях Red Hat Linux игнорировать предупреждение BAD PASSWORD, то можно использовать в качестве пароля слово из словаря. Начиная с версии Red Hat Linux 7.1, эта возможность доступна только для корневых пользователей.
Корневой пользователь может поменять пароль любого другого пользователя, указав его имя как параметр программы passwd. Нужно лишь дважды ввести новый парблъ.
passwd: all authentication tokens updated successfully
Новый пароль UNIX:
Повторить ввод пароля UNIX:
passwd: Изменение всех аутентификационных признаков выполнено успешно
Установка исходного каталога по умолчанию
В параграфе "Создание учетной записи пользователя" упоминались скелетные каталоги. По умолчанию каждому пользователю назначается исходный каталог (обычно в каталоге /home). При создании учетной записи пользователя, создается и соответствующий исходный каталог, в который копируется некоторый стандартный набор файлов из каталога /etc/skel, служащего скелетным каталогом для создаваемых исходных каталогов пользователей.
Чтобы добавить новый файл к записываемым в создаваемый каталог, поместите этот файл в каталог /etc/skel под тем именем, под которым он должен появиться в исходных каталогах пользователей.
Удаление учетной записи пользователя
Удаление учетной записи пользователя - процесс, обратный ее созданию. Удаление производится командой userdel. К счастью, по сравнению с командой useradd, ее применение гораздо проще. Чтобы удалить учетную запись с удалением соответствующих записей из системных файлов (например, из файла /etc/passwd), введите команду с именем пользователя в качестве аргумента.
# /usr/sbin/userdel username
При таком удалении учетной записи не удаляются файлы пользователя. Для одновременного удаления исходного каталога необходимо установить флажок -r.
# /usr/sbin/userdel -r username
Остается еще один вопрос: что делать, если у пользователя остались файлы в других каталогах системы? Здесь поможет команда find. Прежде чем удалять учетную запись, запишите идентификатор пользователя, чтобы затем указать его в команде find.
# fitad / -type f -uid 503 -print -exec rm {} \;
Разобьем эту команду на составляющие.
Предупреждение
Следует быть очень осторожным при вводе описанной команды. Поскольку она запускается корневым пользователем, ошибка в указании идентификатора пользователя может привести к утере важных данных. Не следует применять эту команду без крайней надобности.
Управление группами
Управление группами (объединениями пользователей) ничуть не сложнее управления пользователями. В Linux предусмотрены команды для автоматизации создания и модификации групп, аналогичные тем, которые применяются для управления пользователями.
Примечание
В разных системах работа этих команд может отличаться от описанного. Если у вас ус-тановлел Linux не с диска Red Hat, прилагаемого к книге, то сначала изучите документацию.
Создание группы
Новая группа создается командой groupadd (в некоторых дистрибутивах - addgroup). Чтобы создать группу, введите эту команду с именем создаваемой группы в качестве аргумента.
# /usr/sbin/groupadd groupname
Созданной группе присваивается идентификационный номер, равный минимальному значению, которое больше 500 и больше значений идентификационных номеров остальных групп. Некоторые другие дистрибутивы Linux по умолчанию включают новых пользователей в группу (100).
Можно присвоить создаваемой группе идентификационный номер по своему усмотрению, введя команду с флажком -д.
# groupadd -g 503 groupname
В файле /-etc/group должна появиться следующая запись:
groupname: :503: означающая пустую группу с идентификационным номером 503.
Примечание
Если вы забыли номер требуемой группы, его можно найти в списке идентификационных номеров существующих групп, хранящемся в файле /etc/group.
Добавление пользователя в группу
К сожалению, не существует программ, обеспечивающих простую процедуру включения пользователя в группу. Проще всего это делается редактированием файла /etc/group, каждая строка которого является определением группы.
groupname::password:groupid:userlist Элементы этой строки следующие.
Например, если в группу groupl с идентификационным номером 505 входят пользователи userl,user2 и user3, то строка этой группы в файле /etc/group будет следующей.
groupl::505:userl,user2,user3
Чтобы ввести в группу нового пользователя, откройте файл /etc/group в привычном текстовом редакторе и добавьте этого пользователя в конец строки соответствующей группы, отделив его имя от остальных пользователей запятой.
Удаление группы
Удаление группы происходит по команде groupdel. Это совсем простая команда без каких-либо флажков. Единственный параметр - имя удаляемой группы.
# /usr/sbin/groupdel groupname
При всей простоте команды процесс удаления группы связан с некоторыми тонкостями.
Первая проблема решается точно так же, как и при удалении учетной записи. Сначала записывается идентификационный номер группы (его можно найти в файле /etc/group), затем, после удаления группы, при помощи команды find меняется принадлежность всех файлов этой группы.
# find / -type f -gid 503 -print -exec chgrp newgroupname {} \;
По этой команде находятся все файлы, принадлежавшие группе с идентификационным номером 503, и при помощи команды chgrp передаются группе newgroupname.
Запуск системы
Есть процесс, который остается тайной для многих пользователей Unix (но не для администраторов систем). Это последовательность загрузки системы, когда по экрану пробегают таинственные сообщения.
Примечание
Сообщения, выводимые при запуске, записываются в файл системного журнала /var/log/ messages. Файлы журналов (регистрационные) рассмотрены далее в главе.
Что происходит при загрузке?
Цикл загрузки в действительности проще, чем можно судить по выводимым сообщениям. Он состоит из двух основных этапов.
Программа init
В этом параграфе подробно рассмотрена программа init, поскольку именно с ней связана возможность определения программ, запускаемых во время загрузки системы. Задача программы init - запуск новых процессов и повторный запуск завершившихся. Прекрасным примером может служить набор процессов, обеспечивающих в Linux виртуальные консоли-входа в систему. В большинстве версий Linux шесть таких консолей загружаются при загрузке системы. После выхода из окна консоли соответствующий процесс завершается, и программа init запускает новый. В системе постоянно доступны шесть консольных окон.
Правила, по которым действует программа init, записаны в файле /etc/inittab. В Linux Red Hat 7.1 этот файл выглядит следующим образом.
#
# inittab В этом файле описана установка процессом INIT
# системы на определенном рабочем уровне. #
# Автор: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
# Модифицировано для Linux Red Hat Марком Юингом
# (Marc Ewing) и Донни Барнсом (Dormie Barnes)
# Рабочий уровень по умолчанию. Рабочие уровни Linux Red Hat:
# 0 - останов (Не следует применять)
# 1 - Однопользовательский режим
# 2 - Многопользовательский, без NFS (Аналогичен уровню 3, но без сети)
# 3 - Полный многопользовательский режим
# 4 - не используется
# 5 - X11
# 6 - перезагрузка (Не следует применять) #
id:3:initdefault:
# Инициализация системы.
si::sysinit:/etc/re.d/rc.sysinit
10:0:wait:/etc/rc.d/rc 0
11:l:wait:/etc/re.d/rc 1
12:2rwait:/etc/re.d/rc 2
13:3:wait:/etc/re.d/rc 3
14:4:wait:/etc/re.d/rc 4
15:5:wait:/etc/re.d/rc 5
16 : 6 rwait: /etc/зге .d/rc 6
# Программы, запускаемые на всех уровнях, ud::once:/sbin/update
# Нажатие CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
# Когда источник бесперебойного питания сообщает об отключении
# питания, до окончательного прекращения питания остается
# несколько минут.
# Планируем выключение системы через 2 минуты.
# Конечно, предполагается, что питание, в том числе источник
# бесперебойного питания, установлены и работают нормально.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
# Если питание восстановлено до выключения системы, отменить выключение. pr:12345:powerokwait:/sbin/shutdown -с "Power Restored; Shutdown Cancelled"
# Запуск gettys на стандартных рабочих уровнях 1:2345:respawn:/sbin/mingetty ttyl
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
# Запуск xdm на рабочем уровне 5
# xdm представляет отдельную службу
х:5:respawn:/usr/bin/X11/xdm -nodaemon
Необязательно писать такой файл самостоятельно, но важно понимать то, что в нем написано.
В Linux реализована система рабочих уровней (run levels). Рабочий уровень - это число, соответствующее текущему состоянию системы. Для разных рабочих уровней\пределены процессы, которые программа init должна запускать и поддерживать в рабочем состоянии. В первой записи файла init tab указан рабочий уровень, устанавливаемый по умолчанию во время загрузки системы. В предыдущем примере это уровень 3, соответствующий многопользовательскому консольному режиму.
Во втором поле каждой из последующих записей указано, для каких рабочих уровней эта запись действительна (поля разделены двоеточиями). Таким образом, для уровня 3 действительны следуг ющие строки:
13:3:wait:/etc/rc.d/rc 3
1:2345:respawn: /sbin/mingetty ttyl
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
Последние шесть строк указывают установку шести виртуальных консолей Linux, по первой стартует сценарий запуска /etc/rc.d/rc 3. Это приводит к запуску всех сценариев, записанных в каталоге /etc/re.d/rc3 .d. Эти сценарии представляют программы, запускаемые при инициализации системы - sendmail, службы PCMCIA, демон принтера и crond. Они определяют поведение системы по умолчанию и, как правило, не редактируются.
Примечание
Рабочие уровни и их сценарии очень сильно различаются в разных дистрибутивах Linux. Многопользовательский консольный режим часто ассоциируется с уровнем, отличным от 3. Кроме того, может быть другим и каталог, хранящий необходимые для этого режима сценарии.
Обратите внимание: последний сценарий, запускаемый файлом rc3.d - S991ocal. По существу, это ссылка на файл /etc/re. d/rc. local, в котором можно указать запуск любых программ в процессе загрузки системы.
В каждой системе Linux может быть своя структура файла /etc/inittab и каталога /etc/ re. d. Однако во всех системах в файле /etc/re. d/rc. local можно указать запуск собственных программ при загрузке системы.
Использование файла re. local
Единственная роль файла re. local в Linux Red Hat 7.1 - установка формы командной строки.
if [ -f /etc/redhat-release ]; then R=$(cat /etc/redhat-release)
touch /var/lock/subsys/local
У страха глаза велики: на самом деле все не так сложно. Выполняется следующая последовательность операций.
Поскольку файл re.local- это стандартный сценарий оболочки, в него можно записывать все, что разрешено для такого сценария, в том числе команды установки переменных среды и запуска программ. Например, в одной из управляемых мною систем файл re. local запускает демон базы данных командой
# /usr/local/Minerva/bin/msqld &
Файл re. local можно использовать для запуска любых программ при загрузке системы. Например, чтобы получать электронную почту после загрузки какой-либо машины сети, добавьте в файл rс. local этой машины команду
# /bin/mail -s "Я загрузилась — машина такая-то" username@some .domain
Теперь при каждой загрузке этой машины будет отправляться сообщение электронной почты по адресу username@some. domain со строкой в поле темы: "Я загрузилась— машина такая-то".
Выключение системы
С загрузкой системы связано и ее выключение. В Linux, как и в других многозадачных операционных системах, важно, чтобы выключение системы проходило без повреждения данных на жестких дисках. Обычно выключение происходит по команде shutdown, введенной корневым пользователем.
# shutdown -h now
Аргумент now указывает, что система должна быть выключена немедленно, флажок -h - что после выключения должен произойти останов системы. После вывода сообщения System Halted система остановлена) можно выключать питание компьютера.
Аналогичный процесс - перезагрузка системы командой reboot, при которой после выключе-ния системы происходит ее загрузка. Перезагрузка производится нажатием клавиш Ctrl+Alt+Delete, если только вы не заблокировали эту возможность в упоминавшемся выше файле /etc/ ini ttab.
Примечание
Полезно заблокировать возможность перезагрузки по Ctrl+Alt+Delete в файле /etc/inittab. По умолчанию в Red Hat Linux 7.1 все пользователи могут использовать эту комбинацию клавиш для перезагрузки, однако при многопользовательской работе есть опасность утери данных всеми работающими пользователями в случае перезагрузки компьютера одним из них.
Расписание заданий в crond
Одно из важных достоинств многопользовательской операционной системы серверного класса, каковой является Linux, - возможность автоматизации многих процессов. Если использовать Linux как сервер электронной почты, Web- или FTP-сервер, то ему придется отвечать автоматически на все поступающие запросы. Кроме того, отдельные пользователи, как и администратор системы, могут составлять расписания для автоматического запуска заданий.
Автоматический запуск выполняется демоном crond. Это стандартный демон, устанавливаемый при каждой загрузке системы.
Как работает crond
Принцип работы демона crond на удивление прост. После запуска (как правило, при загрузке системы) демон просыпается каждую минуту и проверяет, не запланирован ли запуск в эту минуту каких-либо программ. Если такие программы находятся, демон запускает их и отправляет по электронной почте сообщения пользователям, запланировавшим запуск.
Поскольку crond ежеминутно проверяет даты модификации конфигурационных файлов, изменения в расписании не остаются незамеченными, и нет необходимости перезагружать систему.
Составление расписания заданий
Составление расписания - задача несложная. Расписание размещается в отдельном файле crontab. В каждой строке файла помещается задание, которое должно быть запущено в определенное время.
Рассмотрим формат записей файла crontab.
time-date command
Часть time-date (время-дата) состоит из пяти числовых полей, разделенных пробелами и определяющих время запуска задания. Это следующие поля (слева направо).
Для удобства заполнения указанных полей введены следующие правила.
Примеры времени-даты
Рассмотрим несколько примеров заполнения полей времени-даты.
0 1 Запуск задания ежедневно в 1.00 пополуночи
30 14 * * 0 Запуск задания по воскресеньям в 2.30 пополудни
Запуск задания в первый полдень каждого месяца
0.12 * 1. mоn Запуск задания в полдень каждого понедельника января каждого года
0 12 2 feb * Запуск задания в полдень второго февраля каждого года
Поле command
Поле command (команда) отделено от полей времени-даты одним или несколькими пробелами и простирается до конца строки. Команды обрабатываются оболочкой /bin/sh.
Например, следующая запись в файле crontab предусматривает ежедневный запуск программы /usr/local/bin/backupB 1.00 пополуночи.
0 1 * * * /usr/local/bin/backup
Некоторым командам (например, mail) требуется ввод информации с устройства стандартного ввода. Это указывается при помощи знака процента (%). Первый такой знак обозначает начало стандартного ввода, каждый последующий — смену строки.
Таким образом, следующая запись в файле crontab:
->богу, уже пятница%%Я.
предписывает отправлять сообщение электронной почты:
Слава богу, уже пятница Я по адресу armand@landegg. edu каждую пятницу в 2.10 пополудни.
Редактирование файла crontab
Файл crontab редактируется командой crontab -e. Возможны два подхода: создание нового файла со всеми записями, которые должны входить в файл crontab, с последующей его записью на диск под этим именем по команде crontab; или непосредственное редактирование файла по команде crontab -e.
Запись из файла
Для записи содержимого файла crontab из другого файла необходимо создать этот другой файл (в привычном текстовом редакторе) со всеми записями, из которых должен состоять файл crontab. Это могут быть, к примеру, следующие две записи.
->богу, уже пятница%%Я.
Созданному файлу следует присвоить подходящее имя, например сron jobs. После того, как указанный файл создан, его содержимое необходимо записать в файл crontab командой
$ crontab cronjobs
Содержимое файла cronjobs полностью заменит содержимое файла crontab данного пользователя. Используя этот метод, любой пользователь может редактировать свой файл crontab. Корневой пользователь обладает особым правом редактировать файлы crontab остальных
пользователей. Редактирование чужого файла указывается флажком -и. Например, по команде
# crontab -u username cronjobs
файл cronj obs записывается как файл crontab пользователя username.
Непосредственное редактирование файла crontab
Команда crontab позволяет избежать многоступенчатой операции с созданием отдельного файла. Если ввести команду crontab с флажком -е, можно редактировать файл crontab непосредственно.
По умолчанию по команде crontab с флажком -е файл crontab загружается в редактор vi. Редактор vi - мощный, хотя и сложный инструмент, популярный среди опытных пользователей Unix. Тот, кто предпочитает другой редактор, например xedit, может установить соответствующее значение переменной среды EDITOR.
$ export EDITOR=xedit
После этого ввод команды
$ crontab -е
приводит к открытию файла crontab в указанном редакторе (рис. 17.1).
Рис. 17.1. Редактирование файла crontab в редакторе xedit
Подобно тому, как обычный пользователь может редактировать собственный файл crontab, корневой пользователь может редактировать файлы crontab остальных пользователей. Для этого используется команда
$ crontab -u user-name -e
Просмотр файла crontab
Для просмотра содержимого файла crontab введите команду crontab с флажком -1.
$ crontab -1
30 14 * * frl /bln/mall -s "TGlF" armand@landegg.ес1и%Слава богу, уже пятница%%Я
Обратите внимание на строки комментариев, начинающиеся с символа "#". Корневой пользователь может просматривать файлы crontab остальных пользователей.
# crontab -u username -1
Удаление файла crontab
Чтобы удалить содержимое своего файла crontab, пользователь должен ввести команду crontab с флажком -r.
$ crontab -r
Корневой пользователь может удалять файлы crontab остальных пользователей.
# crontab -u user-name -r
Управление системными журналами
Одно из достоинств Llnux (и всех разновидностей Unlx) - наличие стандартизированного механизма регистрации активности всех демонов и запускаемых программ. Данные, записываемые в регистрационные журналы, можно использовать для поиска неисправностей в системе (будь-то нарушение безопасности или предупреждение о возможном отказе оборудования) либо отслеживания ее загрузки.
Например, в приведенном далее фрагменте файла главного системного журнала Llnux Red Hat 7.1 (/var/ log/messages) представлены многочисленные записи, сделанные в течение двух минут работы системы.
May .9 11:33:04 laptop71 xinetd[5598]: libwrap
May 9 11:33:04 laptop71 xinetd[5598]: options compiled in.
May 9 11:33:05 laptop71 xinetd: xinetd startup succeeded
May 9 11:33:21 laptop71 kernel: ethO: flipped to lObaseT .
generation=8
О чем можно узнать из этого файла? Программа network информирует вас о том, что сетевой интерфейс ethO был выключен и перезапущен в сети типа lObaseT, что xinetd отключил ряд сервисов перед перезапуском, и что имела место передача файла smb (Samba) с РГО равным 2190.
Что заносится в журнал
Очень важно понимать различия между журналами системы Linux. Существует два основных типа журналов: системные журналы и журналы приложений. В этом параграфе мы рассматриваем системные журналы, поскольку они есть в любой системе. Что касается журналов приложений, то каждое приложение (программа) может иметь (или не иметь) свой журнал, зависящий от конфигурации этой программы.
В системные журналы, как правило, записываются сообщения и предупреждения ядра системы, в том числе о загрузке модулей, данные от демона sendmail, отслеживающего сообщения, обрабатываемые системой, а также сообщения об успешных или неудачных попытках входа в систему.
Записи в системные журналы заносятся демоном syslogd, запускаемым при загрузке системы. Демон получает сообщения восьми уровней серьезности от различных процессов - ядра, системы электронной почты, пользовательских программ, конфигурированных на использование syslogd, а также аутентификационных программ, наподобие программы входа в систему.
Перечислим уровни серьезности сообщений в порядке возрастания:
По этим уровням, записанным в файле /etc/syslog. conf, демон syslogd определяет, в какие журналы заносить те или иные сведения. Файл /etc/ syslog. conf содержит множество записей - по одной на строку по два поля, разделенных пробелами, в каждой. Левое поле содержит список источников и уровней сообщений, правое - файл журнала, в который они заносятся.
Пары источник-уровень в левом поле перечисляются через точку с запятой. Источники указаны по именам — например, mail (электронная почта), kern (ядро системы), user (программы пользователей) или auth (аутентификационные программы). Примеры пар источник-уровень:
Рассмотрим файл / etc / sys log . conf, входящий в дистрибутив Linux Red Hat 7.1.
*.info;mail.none,news.none;authpriv.none /var/log/messages
В ней указана запись всех информационных сообщений, кроме сообщений от программ электронной почты, групп новостей и аутентификационных программ (обозначенных составляющими
mail .none;news .none; authpriv.none), в файл /var/log/messages. Далее следует строка
authpriv.* /var/log/secure
предписывающая запись всех аутентификационных сообщений в файл /var / log /secure.
В следующей строке указано помещать все сообщения от программ электронной почты в файл/var/log/maillog.
mail.* /var/log/maillog
Наконец, строка
uucp,news.crit /var/log/spooler
указывает, что определенные сообщения, связанные с работой программ электронной почты и новостей, записываются в файл /var /log/spooler.
Вероятно, вы обратили внимание, что сообщения распределяются по разным файлам. Это делается для ограничения объемов журналов, а также для частичной классификации сообщений. Если сваливать в один файл сообщения от всех источников и всех уровней серьезности, разобраться в этом файле будет невозможно.
Стратегию ведения регистрационных журналов можно поменять, изменив файл /etc/syslog. conf и заставив демон syslogd загрузить новые конфигурационные данные командой
# kill -HUP `cat /var/run/syslogd.pid"
Обратите внимание на применение обратных кавычек, указывающих, что стандартный вывод заключенной в них команды используется как аргумент команды kill -HUP. Флажок -HUP команды kill указывает, что процесс должен заново считать конфигурационные данные без завершения работы.
Ротация журналов
Чтобы не забивать журналы бесполезной информацией, ограничивая объем разумными пределами, необходимо регулярно проводить ротацию. Регулярная очистка журналов от устаревшей информации позволяет сэкономить место на диске.
Простейшая стратегия ротации журналов состоит в их удалении при запуске демона syslogd и создании новых, чистых журналов. Например, ввод следующих команд
# rm /var/log/messages
# kill -HUP `cat /var/run/syalogd.pid
приводит к удалению файла /var/ log/messages и созданию нового при перезапуске sys logd. Подобная стратегия хорошо работает только в однопользовательских и домашних системах, где нет большой надобности в хранении старых журналов. Что касается многопользовательских серверов, то здесь историческая информация имеет особую ценность, особенно при отслеживании возможных нарушений безопасности. В этом случае удобна иная стратегия ротации - сохранение одного поколения журналов, при котором при запуске syslogd журналы не удаляются, а переименовываются.
# mv /var/log/messages /var/log/messages.1
# kill -HUP `cat /var/run/syslogd.pid"
Если требуется сохранить два поколения журналов, то журналам первого поколения присваиваются имена журналов второго, а текущие журналы переименовываются в журналы первого поколения.
# mv /var/log/messages.1 /var/log/messages.2
# mv /var/log/messages /var/log/messages.1
# kill -HUP ` cat /var/run/syslogd.pid'
Эту процедуру следует автоматизировать, выполняя ее, к примеру, еженедельно в установленное время. Для этого надо написать сценарий процедуры ротации. На сервере Linux Red Hat 7.1 при сохранении одного поколения журналов сценарий будет выглядеть примерно так:
#!/bin/sh
mv /var/log/messages /var/log/messages.1
mv /var/log/secure /var/log/secure. 1
mv /var/log/maillog /var/log/maillog.1
mv /var/log/spooler /var/log/spooler.1 kill -HUP ` cat /var/run/syslogd.pid'
Файл сценария (например, /usr/local/bin/newlogs) создается в текстовом редакторе, затем преобразуется в выполняемый файл.
# chmod 755 /usr/local/bin/newlogs
Далее, требуется внести соответствующую запись в файл crontab, воспользовавшись одним из двух методов, описанных ранее. Запись для запуска сценария каждое воскресное утро в 12.01 имеет следующий вид:
1 12 * * sun /usr/local/bin/newlogs
Примечание
В Red Hat Linux 7.1 ротационный процесс автоматизирован с помощью файла /etc/logro-tate. conf. Первые две команды этого файла выполняют ротацию журналов каждую неделю с использованием четырех недельных журналов. Например, вы можете располагать пятью журналами: /var/log/messages И С /var/log/messages . 1 ПО /var/log/messages . 4.
Что дальше
В этой главе рассмотрен ряд полезных задач системного администрирования, связанных с пользователями, расписаниями и журналами.
Тема следующей главы - конфигурирование и работа с двумя наиболее популярными периферийными устройствами ПК - принтерами и модемами.
Мы рассмотрим конфигурирование принтеров PostScript и PCL, затем изучим принципы работы систем спулинга печати Linux/Unix.
Изучим конфигурирование модемов и программу minicom, предназначенную для тестирования и обеспечения работы мрдемов.
Глава 18 . Использование периферийных устройств
Эта глава посвящена конфигурированию двух наиболее распространенных видов периферийных устройств - принтеров и модемов. Мы изучим работу портов Linux, исследуем файлы, управляющие системой печати, ознакомимся с minicom - стандартным эмулятором терминала Linux, используемым для доступа к модему. Мы также познакомимся с различными средствами, необходимыми для конфигурирования мыши и клавиатуры с интерфейсом USB. Но чтобы понять, как происходит конфигурирование Linux-устройств, сначала следует разобраться в том, как Linux использует технологию самоконфигурирования Plug and Play.
Linux и самоконфигурирование Plug and Play
Linux не является операционной системой, в полной мере поддерживающей технологию самоконфигурирования Plug-and-Play (PnP). Но в состав Linux входят средства, обеспечивающие обнаружение и распознавание устройств, подключенных к системе. Это противоречие (по крайней мере, с первого взгляда) требует пояснений.
Plug and Play представляет собой технологию самоконфигурирования, призванную автоматически обнаруживать и конфигурировать подсоединенные к компьютеру устройства. Полностью соответствующая требованиям РпР система включает четыре разновидности компонентов: PnP BIOS, материнская плата РnР, PnP-устройства, и операционная система РnР.
Большинство современных BIOS и устройств удовлетворяют требованиям самоконфигурирования Plug and Play. Если у вас к тому же и материнская плата РпР, то BIOS установит каналы, порты и адреса для таких устройств, как накопители, мышь и клавиатура. Это конфигурирование завершается еще до начала загрузки операционной системы. Linux может использовать эти каналы для обнаружения и распознавания аппаратуры компьютера с разной степенью достоверности. Успех распознавания в частности зависит от типа устройства.
Каналы, адреса и порты
Технология самоконфигурирования Plug and Play устанавливает связь между устройствами и базовыми компонентами компьютера, такими как процессор и оперативная память. Устройства компьютера обмениваются, используя различные каналы, адреса и порты:
Типы используемых устройствами каналов, адресов и портов зависят от типов устройств и способа подключения этих устройств к компьютеру. Если у вас возникают сложности с такими устройствами, как модем или акустический адаптер, то вполне вероятной причиной может служить попытка системы Linux использовать несоответствующие данному устройству IRQ-порт, I/O-адрес или DMA-канал.
ISA
Многие периферийные устройства, используемые в устаревших моделях компьютеров, построены в расчете на работу через шину Industry Standard Architecture (ISA).
Технология самоконфигурирования Plug-and-Play ISA появилась в 1993 году, поэтому большинство ISA-устройств вполне удовлетворяет стандартам РпР. К сожалению, РпР ISA-устройства часто не располагают каналами, подходящими для операционной системы, поэтому процедуру указания каналов, портов и адресов для них приходится выполнять вручную.
Подобного рода проблемы часто имеют место для сетевых карт. Ручное конфигурирование сетевых карт детально рассматривается в гл. 28.
PCI
Интерфейсный стандарт Peripheral Component Interconnect (PCI) был разработан, в частности, с целью преодоления ограничений стандарта ISA. Шина PCI обладает большим быстродействием, и PCI-устройства могут совместно использовать отдельные IRQ-каналы. Некоторые РпР BIOS в своих настроечных меню предусматривают возможность задания IRQ, I/O и DMA-каналов для отдельных PCI-устройств.
Примечание
Видеоадаптеры Accelerated Graphics Card представляют собой специальную разновидность PCI-карт, оптимизированных для обмена графикой между видеоадаптером и процессором компьютера.
Внешние устройства
Внешние устройства зачастую проще конфигурировать, поскольку собственных специальных каналов у них нет. Внешние устройства, такие как модемы или принтеры, обычно подключаются к специальному физическому порту. Речь идет о параллельном или последовательном порте, для которого все необходимые каналы уже выделены. Именно эти каналы и используются внешним устройством.
Исключением из этого правила являются внешние устройства с интерфейсом USB.
USB
Шина Universal Serial Bus (USB) не является в полном смысле внешним интерфейсом компьютера. Каждый USB-хаб теоретически может обслуживать до 127 отдельных периферийных устройств. USB поддерживает технологию самоконфигурирования Plug and Play и "подключение на лету", т. е. возможность подсоединять устройства к компьютеру (и отсоединять их от него) без выключения компьютера. Операционная система автоматически распознает новую конфигурацию.
К сожалению, система Linux корректно поддерживает не все разновидности USB-устройств, Хотя система Red Hat Linux 7.1 поддерживает широкий спектр разновидностей USB-устройств, в него не входят, например, сетевые USB-карты. Linux плохо работает с пассивными USB-хабами и не поддерживает загрузку с USB-накопителей на дискетах. Но работу над проблемой поддержки USB-устройств в среде системы Linux продолжают многие разработчики. Последние сведения по этому вопросу собраны на сайте Linux USB по адресу http: / /www. linux-usb. org.
В версиях Red Hat Linux начиная с 7.1 поддерживается "подключение на лету". Но Linux не может распознать, что именно вы подключили, если необходимые для работы драйверы отсутствуют в базе данных /lib/modules/2 .4 .2-2. Более полные сведения по этому вопросу собраны на сайте Linux Hotplugging по адресу http: / / linux-hotplug. sourcef orge. net.
Примечание
Документация Linux USB на момент написания книги недостаточно полна. На первой странице руководства по Linux USB-подсистеме (http: //www. linux-usb. org/USB-guide/ bookl. html) прямо указано: "Данная Linux USB документация относится к сфере пред-положбний, в особенности для малораспространенных и дорогих устройств".
Принтеры
В гл. 15 вы узнали, насколько просто можно отконфигурировать принтер в системе Linux Red Hat 7.1, если воспользоваться утилитой Printconf. Но есть и две другие возможности. В этой главе рассмотрены основные приемы конфигурирования принтера вручную и с помощью системы Apsfilter. Подробная информация по этой теме приведена в руководстве Printing НО WTO (http: / / www.linuxdoc.org/HOWTO/Printing-HOWTO/index.html).
Как выбрать принтер
Прежде чем перейти к конфигурированию принтеров в Linux, посмотрим, какие принтеры могут работать в Linux и что для этого нужно.
Linux поддерживает следующие принтеры.
Принтеры PostScript. Большинство программ Unix выводит данные на печать в формате PostScript, поэтому такие принтеры подходят наилучшим образом. Конечно, дешевые лазерные и струйные принтеры не поддерживают язык PostScript.
Принтеры без поддержки PostScript, но поддерживаемые программой GhostScript. Если в принтере не обеспечена поддержка PostScript, но есть поддержка PCL (Printer Control Language - Язык управления печатью), то печать на этом принтере возможна при помощи программы GhostScript выполняющей функцию интерпретатора PostScript. Чтобы проверить, поддерживает ли эта программа конкретный принтер, обратитесь к странице Web GhostScript (http: / /www. cs. wise. edu/~ghost/). Неполный перечень принтеров, поддерживаемых программой GhostScript, дан в табл. 18.1.
Примечание
С системой Linux работают не все принтеры. Существуют принтеры, которые рассчитаны на получение данных только от Microsoft Windows. He поддерживаются пока также некоторые USB-принтеры. Документация Printer HOWTO, доступная по адресу http: //www. li-nuxprinting. org/, содержит ряд полезных рекомендаций, позволяющих использовать некоторые из этих принтеров. На том же веб-сайте расположен и более полный список принтеров, поддерживаемых системой Linux.
Табл. 18.1. Принтеры, поддерживаемые программой GhostScript
Canon BubbleJet BJ10e |
HP DeskJet 682C |
Canon BubbleJet BJ200 |
HP DeskJet 683C |
Canon BubbleJet BJC-210 (41) |
HP DeskJet 693C |
Canon BubbleJet BJC-240 (3.33, 43) |
HP DeskJet 694C |
Canon BubbleJet BJC-250 (5.10) |
HP DeskJet 850 |
Canon BubbleJet BJC-70 (5.10) |
HP DeskJet 855 |
Canon BubbleJet BJC-600 |
HP DeskJet 870Cse |
Canon BubbleJet BJC-4000 |
HP DeskJet 870Cxi |
Canon BubbleJet BJC-4100 |
HP DeskJet 890C |
Canon BubbleJet BJC-4200 |
HP DeskJet 672C |
Canon BubbleJet BJC-4300 |
HP DeskJet 680 |
Canon BubbleJet BJC-4550 |
HP DeskJet 1100C |
Canon BJC-210 |
HP DeskJet 500C |
Canon MultiPASS C2500 - цветной принтер/факс/копировальное устройство |
HP DeskJet 510 |
CanonBJC-240 |
HP DeskJet 520 |
Canon BJC-70 |
HP LaserJet 5 |
Canon BubbleJet BJC-800 |
HP LaserJet 5L |
Canon BubbleJet BJC-7000 |
HP LaserJet 6L |
HP DeskJet |
Oki OL410ex - светодиодный принтер |
HP DeskJet Plus |
NEC Superscript 860 |
HP DeskJet 500 |
HP PaintJet XL300 |
HP DeskJet Portable |
HP DeskJet 1200C |
HP DeskJet 400 |
HP DeskJet 1600C |
HP DeskJet 500C |
Ricoh 4081 - лазерный принтер |
HP DeskJet 540C |
Ricoh 6000 - лазерный принтер |
HP DeskJet 690C |
Epson Stylus Color |
HP DeskJet 693C |
Epson Stylus Color II |
HP DeskJet 550C |
Epson Stylus 500 |
HP DeskJet 560C |
Epson Stylus 600 |
HP DeskJet 600 |
Epson Stylus 800 |
HP DeskJet 660C |
|
Файл printcap
Файл printcap находится в каталоге /etc и является основой конфигурации печати в Linux. Он содержит сведения обо всех принтерах, установленных в системе. Когда загружается демон печати Ipd (обычно при загрузке Linux), он считывает из этого файла информацию о принтерах, которые предстоит обслуживать.
Основная запись файла printcap следующая:
Каждая запись состоит из нескольких полей, разделенных двоеточиями. Если запись занимает несколько строк, то продолжение на следующей строке указывается обратной косой чертой.
В приведенном примере указаны три возможных варианта имени принтера: djet500lp, dj и deskjet. Принтеру назначен каталогспулинга /var/spool/lpd/dj, в котором демон-Ipd может хранить временные файлы очереди печати. Принтер подключен к первому параллельному порту (/dev/ lp0), печать заглавных страниц не задана (sh). Все это может показаться довольно сложным, впрочем, это соответствует действительности. Файл printcap иногда содержит десятки различных полей, и все они описаны на странице руководства printcap, которая открывается командой
$ man printcap
Если бы этой информации было достаточно, чтобы заставить принтер работать, проблем с его конфигурированием не возникало бы. Но демон Ipd недостаточно сообразителен. Руководствуясь приведенной выше записью, Ipd без обработки отправляет все данные, предназначенные для печати, на принтер. Если принтер не в состоянии разобраться с этими данными, на выходе не получается ничего, кроме мусора. Рассмотрим возможные проблемы печати.
Это лишь часть проблем, возникающих при печати с примитивной записью в файле printcap. Такие проблемы решаются применением фильтров.
Фильтры печати
Фильтры печати - специальные программы или сценарии, предназначенные для обработки данных, направляемых на печать. Например, для принтера PCL можно написать один сценарий для преобразования формата текстовых АЗСП-данных и их отправки непосредственно на принтер, другой - для передачи данных программе GhostScript, откуда они переправляются на принтер уже в формате PCL. Если делать это вручную, придется вносить в файл printcap ряд записей - по одной на каждый фильтр.
:sh:\
Фильтры обеспечивают правильный формат данных, выводимых на печать, но усложняют процесс печати. Пользователю необходимо знать, в каком формате выполняет печать его программа (неформатированный текст, PostScript или PCL) и соответственно выбирать принтер. Следует помнить о возможной путанице из-за того, что в фильтрах предполагается наличие трех физических принтеров, хотя установлен только один.
Эти проблемы решаются применением магических фильтров. Магические фильтры, которые можно загрузить из Internet, обрабатывают всю конфигурационную информацию в файле printcap для большинства поддерживаемых принтеров и обеспечивают фильтрацию с определением типа данных, направляемых на печать. Безусловно, это повышает надежность фильтрации.
Система APS Print Filter
Основной пакет магического фильтра - система APS Print Filter. Последнюю версию APS Print Filter можно загрузить с узла http: //www.apsfilter.org. Во время написания этой книги последней версией являлась APS Print Filter 6.1.1. Мы рассматриваем версию 6.1.1, записанную на сервере в файл архива apsfilter-6.1.1.tar.gz. Все описываемые операции применимы к версии 6.1.1. При появлении вопросов обращайтесь к документу README, который cтановится доступен после загрузки и разворачивания файла архива на вашей системе Linux.
Для установки этой системы воспользуйтесь командой tar, которая позволяет извлекать файлы из сжатого архива и размещать в каталоге, например /usr/ local. Каталог для разархи-вированных файлов необходимо создать заранее. В следующем примере предполагается, что исходный архив загружен в каталог / trap.
Примечание
Для выполнения этих операций войдите в систему как корневой пользователь.
# cd apsfilter
Отконфигурируйте APS для работы с вашим принтером, запустив сценарий, входящий в его комплект.
# ./SETUP
APS Print Filter работает с пакетом Ghostscript. Если на вашем компьютере не установлена достаточно свежая версия Ghostscript, то программа установки SETUP сообщит-об этом. Несмот-ря на предупреждение, APS Print Filter 6.1.1 работает с версией Ghostscript 5.5, входящей в состав Red Hat Linux 7.1.
Примечание
Если вам необходимы последние версии принтерных драйверов, следует загрузить последнюю версию Ghostscript, доступную по адресу http://www.сs .wisc.edu/~ghost/. Если вы уже пользуетесь Ghostscript, обратите внимание на изменение имени: старое название - Aladdin Ghostscript, новое - APFL Ghostscript.
На экран выведется приветствие, показанное на рис. 18.1. Примите условия лицензии GNU General Public License для APS Print Filter, нажав клавишу у, а затем нажмите Enter. После ответа на запрос почтового адреса, программа SETUP выводит на экран окно инсталляции программы Installation Program, показанное на рис. 18.2.
Рис. 18.1. Запуск утилиты APS Print Filter
Рис. 18.2. Установка APS Print Filter
Для продолжения нажмцге Enter. Ознакомьтесь с содержимым следующего окна, в котором описаны функции сценария установки Apsfilter Setup, и нажмите Enter для продолжения установки. На следующем шаге задается конфигурационный каталог, в котором вы предполагаете хранить конфигурационные файлы (см. рис. 18.3). Поскольку задаваемое по умолчанию значение /etc/apsf liter наилучшим образом согласуется с другими настройками Red Hat Linux 7.1, следует выбрать именно этот каталог.
Рис. 18.3. Установка конфигурационного каталога
После нажатия Enter появляется подсказка. Сценарий установки продолжает свою работу: проверяется наличие прав доступа к используемым каталогам и выполняется сохранение конфигурационного файла текущего принтера в файле /etc/printcap. old.
После ответов на вопросы, на экране появляется главное установочное меню Apsfilter Setup
Main Menu, показанное на рис. 18.4. Для конфигурирования принтера следует выбрать опцию 1 или 2. Можно также с помощью опций 3—5 установить тестовую страницу, которую затем запустить с помощью опции Т.
Рис. 18.4. Главное меню Apsfilter Setup
Первые две опции меню - D и R - выводят список доступных драйверов устройств, соответствующих вашей установке Ghostscript и страницу документации Ghostscript-драйверов. Опции 1 и 2 конфигурируют принтер, как показано ниже.
Выбор драйвера принтера
Выберите из главного меню опцию 1. В состав утилиты APS Print Filter входят драйверы восьми различных типов, как показано на рис. 18.5. Современный принтер либо в самом деле представляет собой PostScript-принтер, либо нуждается в Ghostscript-драйвере определенного типа. Если вы точно не знаете, каков в этом отношении ваш принтер, попробуйте выбрать некоторые из приведенных опций. Если ваш принтер не относится к PostScript-принтерам (соответствующие сведения можно найти в его документации), он, вероятно, обнаружится в списках, открываемых одной из этих опций.
Примечание
Три из перечисленных опций (gimp-print, рс!3 и IBM Omni) обеспечены специальной поддержкой Ghostscript для перечисленных принтеров. Если после поиска во всех прочих категориях, вы по-прежнему не знаете, к какой категории относится Ваш принтер, обратитесь к документации Printing HOWTO, расположенной по адресу http://www.linuxdoc.org/HOWTO/Printing-HOWTO/index.html .
Рис. 18.5. Меню выбора драйвера принтера Apsfilter
Опция 1 позволяет выбрать PostScript-принтер с учетом его разрешающей способности. Разрешающая способность принтера (dpi) определяется числом точек, которые он может напечатать на одном квадратном дюйме. Red Hat Linux 7.1 включает PostScript-драйверы, ориентированные на разрешающую способность от 300dpi до 2880dpi. Опция 2 позволяет выбрать один из более чем 150 принтеров, поддерживаемых Ghostscript.
Опция 3 опирается на надстройку gimp-print, которая обеспечивает высококачественный вывод графики для различных моделей принтеров Canon, Epson, Lexmark и HP.
Опция 4 поддерживает в основном принтеры HP DeskJet и DeskJet color. Опция 5 представляет собой альтернативу опции 4. Поскольку она относится к категории "экспериментальных", качество печати такого драйвера может быть лучше стандартного, но иногда такой драйвер вообще не работает.
Опция 6 ориентирована на более чем 250 моделей принтеров, поддерживаемых драйвером IBM Omni.
Выберите опцию, наиболее близко отвечающую вашей модели принтера. В результате появится меню с опциями навигации по длинному списку. Нажимая Enter, прокручивайте список, пока не найдете имя вашей модели принтера. Запишите номер, соответствующий ей в списке, и введите его в ответ на соответствующий запрос. Кроме того, можно выбрать 0 и нажать Enter, чтобы вернуться в меню выбора драйвера принтера Printer Driver Selection.
Как только вы подтвердите свой выбор, сценарий вернет вас в главное меню установки Apsfilter Setup Main Menu, где будет указан результат выбора. Как показано на рис. 18.6, выбран принтер [ 1 j et4 ], что соответствует модели HP LaserJet 4L.
Рис. 18.6. Конфигурационное меню Apsfilter
Примечание
Для многих принтеров предусмотрено несколько разновидностей драйверов. Например, для модели HP LaserJet4L существует Ghostscript-драйвер и gimp-print-драйвер. Иногда для выбора лучшего драйвера, из числа доступных, приходится поэкспериментировать.
Совет
Проверьте в этом меню, какая разрешающая способность задана для вашего принтера. Если она отличается от указанной в документации на принтер, можете изменить установленное значение с помощью опции 4 (Print Resolution) конфигурационного меню.
Установка интерфейса
Можно определить или изменить указанный тип интерфейса принтера. Следующий шаг посвящен конфигурированию порта подключения принтера. Он может подключаться к яараллель-ному или последовательному порту. Кроме того, можно пользоваться удаленными принтерами, доступными через сеть. Для конфигурирования этого параметра, выберите опцию 2 из главного меню установки Apsfilter Setup Main Menu. В результате появится окно настройки интерфейса Apsfilter, Interface Setup, показанное на рис. 18.7.
Рис. 18.7. Окно конфигурирования интерфейса Apsfilter
В меню настройки интерфейса Interface Setup перечислено пять различных способов подключения принтера:
Local Parallel/USB (Локальный параллельный/USB). Параллельный порт обычно снабжен 25-контактным разъемом, выведенным на заднюю стенку компьютера. В Linux с такими портами ассоциируются устройства /dev/lp0 и /dev/lp1, как описано выше. Если у вас USB-принтер, способ его конфигурирования не отличается от конфигурирования принтера с параллельным портом.
Примечание
Некоторые USB-принтеры могут быть сконфигурированы на использование устройств параллельных портов Linux. Поскольку параллельные порты ассоциируются с устройствами /dev/lpO и /dev/lpl, USB-порты принтеров ассоциируются с устройствами /dev/ usb/lp0 и /dev/usb/lpl.
Local Serial (Локальный последовательный). Последовательный порт обычно снабжен 9-контактным разъемом, выведенным на заднюю стенку компьютера. В Linux с такими портами ассоциируются устройства /dev/ttyS0 и /dev/ttyS1, как описано далее в этой главе.
Unix/Network Printer (Unix/сетевой принтер). Позволяет подключаться к принтеру, подсоединенному к другому Linux- или Unix-компьютеру, доступному через локальную или другую сеть.
Windows/NT (Samba). Позволяет устанавливать принтер, подключенный к компьютеру с операционной системой Microsoft Windows 95/98/Me/NT/2000, доступному через локальную или другую сеть.
AppleTalk. Позволяет устанавливать принтер, подключенный к Apple-компьютеру, доступному через локальную или другую сеть.
Выбрав подходящую опцию, нажмите Enter для возврата в главное меню установки Apsfilter Setup Main Menu.
Создание тестовой страницы
Перед выходом из установки Apsfilter Setup, полезно проверить результаты настройки с помощью печати тестовой страницы. Чтобы напечатать такую страницу, следует задать размер листа бумаги, разрешающую способность принтера и тип принтера: цветной/монохромный.
Чтобы задать размер листа бумаги, выберите опцию 3 (Paper Format) в главном меню. Можно выбрать один из пяти форматов:
Выберите формат, наиболее близкий к формату листа-в вашем принтере и нажмите Enter.
Вернувшись в главное меню установки Apsfilter Setup Main Menu, выберите опцию 4 (Print Resolution) для установки разрешающей способности. Если заданная по умолчанию разрешающая способность вас удовлетворяет, то ничего менять не нужно. В противном случае это меню позволяет выбрать одну из стандартных величин или задать собственное значение. Выберите необходимую величину и нажмите Enter.
Если конфигурируется цветной принтер, может потребоваться изменение параметра глубины цвета печати. Для этого выберите опцию 5 (Toggle Monochrome/Color). Доступная в данной версии разновидность этого меню позволяет выбрать любое значение от 1 bрр (черно-белый) до 32bpp (true color). Выберите необходимое значение и нажмите Enter.
Тестирование конфигурации
Если конфигурирование Apsfilter завершено и кабели, соединяющие принтер с компьютером, подключены, можно попытаться протестировать результаты создания конфигурации. В главном меню установки Apsfilter Setup Main Menu нажмите Т и следуйте указаниям, выводимым на экран. Создание тестовой страницы, может потребовать времени, в особенности, если тестируется цветной принтер или принтер с высоким разрешением. Если тестовая страница успешно сформирована, то она выводится, и вы увидите тестовую картинку и образцы шрифта различного размера.
Если созданная конфигурация вас удовлетворяет, то в главном меню установки Apsfilter Setup Main Menu нажмите I, чтобы сохранить созданную конфигурацию. После ответов на ряд вопросов установки записываются в файл /etc/printcap. Дтя завершения конфигурирования нажмите Q в главном меню установки Apsfilter Setup Main Menu.
После конфигурирования
После конфигурирования в системе должен быть файл printcap. Пример такого файла:
: if =/etc/aps£ilter/basedir/bin/apsfilter: \
:sd=/var/spool/lpd/rawl: \
: lf=/var/spool/lpd/rawl/log: \
:af=/var/spool/lpd/rawl/acct: \
:mx#0:\
:sf :\
:sh: # APS1_END - не удаляете эту строку
Предупреждение
Если вы пользуетесь утилитой Apsfilter, то не обращайтесь к утилите Printconf, описанной в гл. 15; в противном случае конфигурация созданная в Apsfilter будет утрачена.
Независимо от типа конфигурированного в Linux принтера, система фильтрации APS позволяет создать следующие очереди печати.
lp | Printerl auto.
Автоматический фильтр, распознающий тип выдаваемого на печать файла и соответствующим образом его обрабатывающий.
raw — очередь без фильтрации для программ, которые выводят данные на печать в формате, соответствующем требованиям принтера.
Примечание
Основные конфигурационные файлы Apsfilter, обсуждавшиеся ранее, сохраняются в указанном вами при установке каталоге. По умолчанию каталогом Apsfilter является /etc/apsfilter. Для повторного запуска конфигурационной программы Apsfilter и использования каталога Apsfilter по умолчанию, выполните команду /etc/apsfilter/basedir/SETUP.
Печать
Итак, система готова к печати. Для ее выполнения можно воспользоваться командой 1рг. Флажок - Р указывает очередь печати. Например, по команде
$ Ipr -Praw /etc/printcap
файл printcap распечатывается из очереди неформатированных текстов, а по команде
$ Ipr -Pip /etc/printcap он же распечатывается через автоматический фильтр.
Примечание
Между ключом -Р и именем принтера в приведенной выше команде Ipr пробел не нужен.
Модемы
Модемы относятся к тому типу периферийных устройств, установка которых в Linux не составляет никакого труда. Обычно, Linux использует Plug-and-Play характеристики модема, чтобы , автоматически его сконфигурировать. Как правило, для установки внешнего модема достаточно подключить его к свободному последовательному порту, установка встроенного - немного сложнее.
Примечание
Linux поддерживает не все встроенные модемы. Если вы уже приобрели такой модем, попробуйте его установить, если же только собираетесь приобретать, не поскупитесь потратиться на внешний. Если вам придется все же приобретать встроенный модем, постарайтесь, чтобы это не был так называемый "win modem", для которого требуется специальное программное обеспечение Windows. Но следует иметь в виду, что для некоторых модемов класса winmodems есть Linux-драйверы; их можно поискать по адресу http://www.linmodems.org .
Мы рассмотрим применение специальной утилиты Red Hat Linux 7.1, предназначенной для распознавания аппаратуры - Kudzu. Но если эта утилита не распознает ваш модем, вам придется разобраться в том, как осуществляется управление портами в Linux, поскольку это важно для понимания работы модема. Ниже также описано несколько простых способов использования модема.
Распознавание модема
Ряд дистрибутивов Linux включает в свой состав инструментарий распознавания аппаратуры. В состав Red Hat Linux 7.1 входит утилита Kudzu, названная так в память о сорте восточно-азиатской лозы, которая может расти более чем на фут в день. Для запуска утилиты Kudzu следует перейти в режим корневого пользователя и выполнить следующую команду:
# /usr/sbin/kudzu
На время конфигурирования установленной аппаратуры Linux прекращает выдачу информации на экран, но через некоторое время возвращает подсказку командной строки. Фактически, в это время утилита Kudzu посылает сигналы устройствам, перечисленным в сохраненной конфигурации. Но если в состав устройств компьютера внесены изменения, то на экране появится окно.
Нажмите любую клавишу, чтобы ознакомиться с результатами работы утилиты Kudzu.
Если утилита Kudzu обнаружила новое оборудование (в нашем случае - модем), подсоединенное к определенному порту, вам необходимо решить, следует ли внести его в конфигурацию системы.
Когда утилита, подобная Kudzu, занимается поисками нового оборудования, она сравнивает найденные устройства с теми, которые уже внесены в базу найденных ранее устройств, которая сохранена в файле /etc/sysconfig/hwconf. Если этот файл еще не создан, утилита Kudzu сравнивает обнаруженные устройства с файлами конфигурации /etc/modules.conf, /etc/sysconf ig/network-scripts и /etc/Xll/XF86Configuratuon/etc/Xll/XF86Conf ig-4.
В большинстве случаев у вас появляется возможность обратиться к средствам подключения к Интернету, описанным в гл. 22. Но утилита Kudzu или другие аналогичные инструменты, включенные в состав дистрибутивов Linux, могут допускать ошибки. Иногда они не в состоянии распознать ваш новый модем или другое оборудование, или считают его подсоединенным к другому порту. В этом случае для работы с Linux-портами вам потребуются утилиты, описанные ниже.
Совет
утилита Kudzu запускается автоматически при запуске или перезагрузке Red Hat Linux 7.1. Если вы за это время не нажмете никакой клавиши, то Linux продолжит загрузку. Вы можете запустить утилиту Kudzu после завершения загрузки Linux.
Введение в порты Linux
В среде Linux каждому периферийному физическому устройству или порту подключения сопоставляется один или несколько файлов в специальном каталоге / dev. Это относится к жестким дискам, устройствам CD-ROM, параллельным и последовательным портам.
Основной принцип достаточно прост. Рассмотрим для примера жесткий диск.
В Linux каждому жесткому диску IDE присваивается имя hdx, где х принимает значения "а" (для первого диска на первичной шине IDE), "b" (для второго диска на первичной шине ШЕ), "с" (для первого диска на вторичной шине IDE) и т.д. Таким образом, имя главного вторичного диска - /dev/hdc.
Примечание
Жесткие SCSI-диски и SCSI-диски CD-ROM аналогичным образом обозначаются sdx.
В каталоге / dev имеется составляющая для каждого дискового раздела. Например, второму разделу первичного подчиненного диска присваивается имя /dev/hdb2, первому разделу вторичного главного- /dev/hdcl.
Параллельные порты в Linux
Рассмотрим параллельные порты. В DOS и Windows параллельным портам присваиваются имена LPT1:, LPT2 :, LPT3 : и т.д. Как правило, в ПК один параллельный порт с именем LPT1:.
В Linux параллельным портам сопоставляются файлы устройств 1рх, где х - номер порта. Это основное отличие от DOS и Windows: нумерация портов начинается не с единицы, а с нуля, так что LPT1: в Linux соответствует /dev/lp0, a LPT2 : - /dev/ lpl. В DOS возможна ситуация, когда единственный параллельный порт компьютера имеет имя, отличное от LPT1:; в Linux этому порту будет присвоено имя /dev/lpO, как первому доступному порту.
Теперь перейдем к последовательным портам, понимание принципов рабств которых важно для правильной установки модема.
Последовательные порты в Linux
В Linux каждому последовательному порту сопоставляется два файла устройств - для исходящих и входящих соединений. Файлы исходящих соединений называются ttySx, где х- номер, начинающийся с нуля. Таким образом, порту СОМ1: из DOS в Linux соответствует /dev/ttyS0, COМ2 : - /dev/ ttySl. В ранних версиях Linux последовательному порту сопоставлялся еще один файл устройства. Это файл сиах, где х - номер, начинающийся с нуля. Таким образом, в этих версиях СОМ1: соответствовали файлы /dev/ ttyS0 и /dev/cua0, COM4: - /dev/ttyS3 и dev/сuаЗ. Адреса портов сведены в таблицу 18.2.
Табл. 18.2. Последовательные порты в DOS и Linux
Имя DOS |
Файлы устройств Linux |
Унаследованные файлы устройств |
СОМ1: COM2: COM3: COM4: |
/dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3 |
/dev/cua0 /dev/cua1 /dev/cua2 /dev/cua3 |
Но запомнить эти имена устройств для большинства людей сложно. К счастью, при конфигурировании модема большинство Linux-дистрибутивов организует связь между файлом /dev/modem и реальным устройством. Это можно проверить, выполнив команду 1s -1 /dev/modem. Результат должен быть таким:
lrwxrwxrwx 1 root root 10 Feb 3 19:21 /dev/modem -> /dev/ttyS0
Примечание
В современных версиях Linux используется только файл /dev/ttySx, поддержка же /dev/cuax остается исключительно для обеспечения совместимости. Со временем надобности в поддержке этого файла не будет.
USB-порты в Linux
Теоретически, можно подсоединить до 32 USB-модемов к Linux-компьютеру. Чтобы использовать USB-модемы, необходимо убедиться в том, что соответствующие USB-модули включены в ядро (вопросы конфигурирования ядра обсуждаются в гл. 20). Некоторые USB-модули уже включены в состав последних дистрибутивов, включая Red Hat Linux 7.1.
Для USB модемов также необходим модуль Communication Device Class Abstract Control Module, кратко acm; о. Если он не входит в ядро, следует включить его в текущую конфигурацию. В Red Hat Linux 7.1 необходимо компилировать этот модуль в состав ядра. Более подробно вопросы модификации ядра рассмотрены в гл. 20. Покончив с формированием необходимого ядра, можно запускать следующую команду:
# /sbin/insmod /lib/modules/2.4.2-2/kernel/drivers/usb/acm.o
Если версия вашей команды insmod или ядра другая, задайте ее в команде соответствующим образом. Используемый в вашем Linux-дистрибутиве каталог может отличаться.
Соответствующие устройства уже должны существовать в каталоге /dev/usb. Проверьте это с помощью команды Is -I /dev/usb/ ttyACM*. Результат должен выглядеть приблизительно так:
crw-rw----- 1 root root 188, 0 Aug 24 09:00 /dev/usb/ttyACM1
crw-rw----- 1 root root 188, 0 Aug 24 09:00 /dev/usb/ttyACM2
crw-rw----- 1 root root 188, 0 Aug 24 09:00 /dev/usb/ttyACM3
Если у вас результат отличается от приведенного, выполните следующую команду: mknod /dev/usb/ttyACM0 с 166 0
Повторите эту команду, подставив ttyACM1, ttyACM2 и другие USB-порты по мере необходимости.
Подготовка модема к работе
Чтобы модем работал эффективно, он должен удовлетворять нескольким критериям.
Подключение модема к ПК
Подключение модема несложно. Внешний модем подключается к источнику питания и подсоединяется к одному из последовательных портов. Если все порты заняты, придется приобрести дополнительную плату, проконсультировавшись с поставщиком ПК или модема. Обычно в ПК используются два последовательных порта, к которым подключаются мышь и модем. Как правило, мышь подключается к первому порту (СОМ1:, /dev/ttyS0, /dev/cua0), модем - ко второму (COM2 :, /dev/ttySl, /dev/cual). В Red Hat Linux 7.1 затем обычно выполняется связывание его с файлом /dev/modem.
Если используется только один USB-модем, его устройство связывается с файлом /dev/modem. Например, если вы используете/dev/usb/ttyACM0, выполните команду In -s /dev/modem /dev/usb/ttyACM0.
Встроенный модем обычно устанавливается в разъем материнской платы ПК. Если сами вы не решаетесь на такую операцию, попросите об этом техника магазина, в котором вы приобрели ПК или модем.
Выбор последовательного порта
При установке внешнего модема выбор порта означает выбор разъема для его подсоединения. Убедитесь, что данный порт не используется каким-либо внутренним устройством. Если вы не устанавливали внутри ПК никаких устройств, можете проверить это по его документации. Конкурировать с модемом за обладание портом может только другой модем.
Установка встроенного модема несколько сложнее.
Примечание
Многие внутренние модемы старых моделей для нормальной работы требуют ручного конфигурирования подключения к определенному порту. В некоторых случаях приходится оперировать DIP-переключателями или джамперами (jumper) на плате модема, чтобы задать используемый последовательный порт. При необходимости обратитесь к документации за рекомендациями по установке переключателей.
Назначенный порт не должен использоваться другим устройством. Обычно встроенному модему назначается третий или четвертый последовательный порт. Помните, что первому последовательному порту соответствует /dev/ttyS0, второму - /dev/ttyS1 и т.д. Следующий раздел содержит дополнительные рекомендации по выбору последовательного порта.
IRQ и адрес ввода/вывода
Каждому порту соответствует запрос прерывания (IRQ) и адрес ввода/вывода. Это численные значения, по которым ПК и операционная система определяют физическое устройство, передающее данные или направляющее запрос системе.
В табл. 18.3 перечислены четыре порта с IRQ и адресами ввода/вывода.
Табл. 18.3. IRQ и адреса ввода/вывода последовательных портов
Имя DOS |
Файлы устройств Linux |
IRQ |
Адрес ввода/вывода |
СОМ1 : |
/dev/ttyS0 |
4 |
0x3 f 8 |
COM2: |
/dev/ttySl |
3 |
0x2 f 8 |
COM3: |
/dev/ttyS2 |
4 |
0x3e8 |
COM4: |
/dev/ttyS3 |
3 |
0x2e8 |
Обратите внимание: первый и третий порты, а также второй и четвертый используют один и тот же IRQ. Это вызывает определенные затруднения. Если порты 1 и 3 используют один IRQ, но разные адреса ввода/вывода, то они не могут работать одновременно. Следовательно, к этим портам (или портам 2 и 4) нельзя подключать устройства, используемые одновременно.
Например, нельзя одновременно использовать мышь, подключенную к первому порту, и модем, подключенный к третьему. Однако нелегко представить их раздельное использование в X Windows. Следовательно, при установке встроенного модема придется позаботиться о том, чтобы избежать конфликта IRQ. Если к первому порту подключена мышь, то встроенному модему следует назначить четвертый порт.
Наконец, еще один момент. Многим встроенным модемам можно назначать специальные IRQ и адреса ввода/вывода, отличные от тех, которые назначены по умолчанию соответствующему порту. Это делается лишь в тех случаях, когда наличие в системе множества устройств не позволяет установить модем иначе. Непременно загляните в документацию HOWTO (http: //www. linuxdoc. org/HOWTO/Serial-HOWTO.html). Подробные инструкции помогут вам сделать это сделать надежно и безопасно.
Самоконфигурируемые модемы
Появление (вместе с Windows 95) самоконфигурируемых (РпР) материнских и интерфейсных плат породило ряд проблем с их использованием в других системах. Многие самоконфигурируемые устройства (в том числе и модемы) ориентированы на Windows и конфигурируются при помощи специальных программ для различных операционных систем Microsoft Windows, отсутствующих в Linux. При наличии такой платы возможны четыре варианта действий.
Лучше обойтись без самоконфигурируемого модема, а еще лучше - установить внешний.
Примечание
Существует такая разновидность модемов, как winmodem, называемых иногда также программными модемами. Такие модемы ориентированы на работу с операционной системой Microsoft Windows и ее приложениями. Система Linux работает со многими типами модемов winmodem (см. подробности по адресу www. linmodems. org).
Программы для работы с модемом
В Linux есть разнообразнейшие программы, предназначенные для работы с модемом. Ниже перечислены некоторые из них.
minicom. Простой пакет эмуляции терминала текстового режима. seyon. Пакет эмуляции терминала для X Windows. pppd. Демон для установки РРР-соединений с Internet (гл. 22). efax. Набор программ для передачи и приема факсов (гл. 25).
Некоторые GUI-утилиты, предназначенные для соединения с Интернетом в коммутируемом режиме, также могут распознавать модемы. Мы поговорим о них в гл. 22. В следующем параграфе кратко рассмотрено применение minicom для проверки работы модема.
Применение minicom для проверки модема
Первый шаг в применении minicom - создание глобального конфигурационного файла. Для этого надо запустить minicom с флажком -s, войдя в систему как корневой пользователь.
# minicom -s По этой команде происходит запуск конфигурационной среды minicom (рис. 18.8).
Рис. 18.8. Конфигурирование minicom
Перемещение по меню осуществляется при помощи клавиш со стрелками вверх и вниз, выбор позиции меню - нажатием Enter.
Наиболее важные параметры скрываются за командой меню Serial Port Setup (Установка последовательного порта) в диалоговом окне Serial Port Setup (рис. 18.9).
Рис. 18.9. Конфигурирование последовательного порта
Чтобы изменить какое-либо значение, нажмите клавишу с соответствующей буквой. Прежде всего необходимо установить последовательное устройство, нажав клавишу "A" (Serial Device) и указав подходящий файл устройства. Если модем подключен ко второму последовательному порту, можно указать /dev/ ttyS1 ввиду использования minicom для исходящих соединений.
Примечание
Если последовательный порт уже подсоединен к /dev/modem, как показано на рис. 18.9, проверьте его связи с помощью команды ls -I /dev/modem. Если будет отображено подсоединение к определенному последовательному порту, то никакие изменения не нужны.
Необходимо также конфигурировать параметр Е (Bps/Par/Bits - Скорость/Четность/Стоп-биты) в соответствии с требованиями модема и системы, к которой предстоит подключаться (как правило, системы провайдера Internet). После нажатия клавиши "Е" откроется окно параметров связи (рис. 18.10).
Рис. 18.10. Конфигурирование параметров связи
Текущие значения параметров приведены в верхней части окна. Чтобы модифицировать какой-либо из них, нажмите клавишу с соответствующей буквой.
Для параметра Speed (Скорость) выберите значение, равное максимальной скорости модема при сжатии данных. Как правило, это значение в четыре раза превышает его номинальную скорость. Например, для модема со скоростью 14,4 Кбит/с следует установить значение 57 600 бит/с, для 28,8 Кбит/с - 115 200 бит/с. Для модема со скоростью 56 Кбит/с устанавливается 115 200 бит/с или 230 400 бит/с (если доступно).
Как правило, в современных системах бит четности не используется, используется 8 битов данных и один столовый бит (вариант Q). Правильные значения остальных параметров узнайте у администратора системы, к которой предстоит подключаться.
Вернитесь в окно Serial Port Setup, нажав Enter. Еще одно нажатие Enter приводит к возврату в главное меню.
Этой информации должно быть достаточно для тестирования модема. Сохраните модифицированный набор параметров как конфигурацию по умолчанию, выполнив команду меню Save Setup as Dfl (Сохранить параметры как Dfl). Выполнив команду меню Exit (Выход), завершите работу конфигурационной процедуры и продолжите работу в окне эмулятора терминала minicom (рис. 18.11) с установленными параметрами.
Рис. 18.11. Главное окно программы minicom
Сообщение "ОК" в окне свидетельствует о нормальной работе модема. Чтобы убедиться в этом еще раз, введите AT и нажмите Enter. Ответом должно быть сообщение "OK"
AT OK
Если вы получили именно такой результат, попробуйте набрать номер и соединиться с удаленной системой.
ATDT1234567
Если это сработает, могут послышаться гудки вызова, затем, возможно, на экране появится cообщение или подсказка командной строки от удаленной системы.
ATDT1234567
CONNECT 115200
Если на каком-то этапе возникнут проблемы, это будет означать неисправность физического соединения или неправильную конфигурацию модема. Обратитесь к справочнику HOWTO по модемам http: //www. linuxdoc.org/HOWTO/Modem-HOWTO.html. Там приведена подробная информация о том, как подготовить модем к работе в Linux.
Адаптеры ISDN
Применение в Linux адаптеров ISDN может оказаться несколько проблематичным. Трудности вызваны тем, что принцип действия встроенных и внешних адаптеров принципиально различен. Более того, нет технологического единообразия встроенных адаптеров. Стандартные ISDN-соединения обычно ограничены по скорости на уровне 128 или 144Кбит/с, в зависимости от национальных телефонных стандартов.
Дня Linux предпочтительнее внешние адаптеры ISDN из-за их сходства с внешними модемами и прозрачности для операционной системы.
Однако с установкой встроенных модемов могут возникать трудности. Некоторые встроенные модемы эмулируют стандартные последовательные модемы, другие - стандартные сетевые платы, но и те, и другие можно заставить работать в Linux. Впрочем, не всегда. Хорошее руководство по разрешению проблем, связанных с внутренними ISDN-адаптерами - isdn41inux FAQ, -расположено по адресу http: //www. isdn41inux.de/fag/. Доступен ряд утилит конфигурирования ISDN, включая и конфигурационный инструмент ISDN для Red Hat isdn-conf ig. Его можно запустить непосредственно из командной строки или из общего инструментария Red Hat internet-conf ig. Чтобы запустить эту утилиту в GNOME, щелкните на кнопке вызова главного меню и выберите Programs/System/Internet-config. В меню, которое появится (см. рис. 18.12), выберите ISDN в качестве коммутируемого устройства и нажмите Next.
Рис. 18.12. Установка ISDN-соединения с помощью internet-config
Более подробные сведения об использовании ISDN в Linux собраны на веб-странице ISDN Solutions for Linux, расположенной по адресу http: / /www.muc . de/~hm/linux/linuxisdn.html.
Прочие "Модемы"
Сегодня существует ряд технологий, обеспечивающих более быструю, чем ISDN, связь. Иногда их называют широкополосными сетями. Возможно, вам уже доступно подключение к такому сервису по телевизионным кабельным сетям, через службу Digital Subscriber Lines (DSL) посредством телефонной сети, через спутниковую связь, или беспроводные высокоскоростные соединения.
Многие фирмы, предоставляющие подобные услуги, называют соответствующее связное оборудование "модемами". Речь идет о кабельных модемах, DSL-модемах и спутниковых модемах, достаточно распространенных сегодня. С технической точки зрения такое название не совсем верно. Для доступа к Интернет через такие "модемы" используются программы mi'nicom, seyon, pppd, КРРР или Microsoft Dial-up Networking. Для этих устройств более подходит наименование "адаптер".
Эти адаптеры обычно подсоединяются к компьютеру через сетевые платы. Для конфигурирования подобного адаптера обратитесь к гл. 28.
USB мышь и клавиатура
Большинство последних дистрибутивов Linux поддерживают USB-мышь и USB-клавиатуру. В значительной мере такая поддержка была реализована в разных Linux-дистрибутивах даже до появления ядра Linux Kernel 2.4. Оба устройства описаны в гл. 12 и идентифицируются как интерфейсные USB-устройства для обмена с человеком: USB Human Interface Devices (HID).
Примечание
Ядро Linux, начиная с версии 2 .2.7, поддерживает USB-устроиства. для надежного оо-служивания USB необходимо ядро версии 2.2.18 или 2.4.2 либо более позднее.
Как правило, установочная программа системы Red Hat Linux 7.1 автоматически распознает USB-мышь и/или клавиатуру. Но иногда возникают трудности, поэтому полезно разобраться в том, как USB поддерживает мышь и клавиатуру.
Для начала выполните проверку сообщений ядра с помощью команды dmesg | less. Просмотрите сообщения и попытайтесь найти информацию, касающуюся загрузки USB или USB-устройств. Если ничего похожего нет, попытайтесь разобраться с изменениями в файле /proc/bus/ usb/devices. Время и дату последних изменений можно получить командой ls -l /proc/bus/ usb/devices.
Если по-прежнему ничего, касающегося вашего USB-оборудования, вы не нашли, то, вероятно, необходимые программы не входят в ядро. Можно либо скомпилировать их в состав ядра, либо добавить соответствующие модули. Для USB также необходима файловая система USB-устройств, которую можно смонтировать с помощью следующей команды (из режима корневого пользователя):
# mount -t usbdevfs none /proc/bus/usb
Для устройств USB HID, возможно потребуется рекомпиляция поддержки USB Human Interface Device в ядро. В равной мере это касается и поддержки мыши и клавиатуры в Input core support. В качестве альтернативного решения вы можете добавить модули input. о, hid. о, mousedev. о и keybddev. о. Для добавления модуля можно воспользоваться командой insmod. Детали процедуры рекомпиляции, обновления и добавления модулей рассмотрены в гл. 20.
Более подробные сведения об USB-мыши, клавиатуре и других устройствах собраны в документе Brad Hards "The Linux USB Sub-system," входящего в состав проекта Linux USB Project. Это документ доступен по адресу http: / /www. linux-usb. org/USB-guide/bookl. html.
USB-мышь
Если все установлено корректно, то USB обеспечивает поддержку нескольких манипуляторов мышь. Linux может сконфигурировать все USB-мыши с помощью одного драйвера /dev/ input/ mice. Если ваш дистрибутив Linux не распознал USB-мышь (или несколько мышей) в рамках описанной ранее процедуры, внесите необходимые изменения в ядро Linux. Если для этого вы хотите добавить модули, убедитесь в том, что среди прочих используется и модуль mousedev. о.
Если указанный драйвер мыши не существует, его необходимо создать. Создайте при необходимости каталог /dev/input, затем создайте узловое USB-устройство с помощью следующей команды:
# mknod /dev/input/mice с 13 63
Если вы предполагаете использовать USB-мышь или несколько мышей с X Window, то вам придется добавить конфигурационные данные об этих устройствах в соответствующий конфигурационный файл XF86Conf ig. Его положение и базовый синтаксис обсуждались в гл. 12. Для стандартной USB-мыши можно добавить следующий раздел InputDevice:
EndSection
Необходимо также связать это новое устройство ввода с экраном. В гл. 12 описано, что для этого следует воспользоваться разделом ServerLayout файла XF86Config. Если USB-мышь - единственная мышь системы, то она рассматривается как базовое устройство позиционирования, которое можно описать с помощью следующей строки в разделе ServerLayout:
InputDevice "USB Mice" "CorePointer"
Если используется также обычная (не-USB) мышь, необходима еще одна строка Input-Device:
InputDevice "USB Mice" "SendCoreEvents"
Описанные примеры ориентированы на XFree86 версии 4.0. В вашей системе синтаксис добавляемых строк может отличаться в зависимости от версии X Windows и дистрибутива.
USB-клавиатура
У многих современных компьютеров корневой USB-хаб размещен на материнской плате. Встроенный в нее BIOS должен в полной мере поддерживать USB-клавиатуру. В такой ситуации, вам, вероятно, не нужны никакие дополнительные сведения о USB для организации поддержки клавиатуры ядром Linux-системы.
Однако если на вашем компьютере установлена другая операционная система (не Unix/Linux), BIOS, который не выполняет конфигурирование USB, или специфическая клавиатура, то вам потребуется поддержка USB-клавиатуры. Если вы для решения этой задачи рекомпилируете ядро системы, избегайте клавиатурной поддержки средствами USB HIDBP, поскольку в системе Linux они мало что дают.
Предупреждение
Загрузчик Linux (LILO) запускается еще до того, как Linux получает возможность распознать USB-клавиатуру. Поэтому, если USB-поддержка не встроена в материнскую плату вашего компьютера и не определяется средствами BIOS, вы не сможете использовать клавиатуру для ответа на запрос boot:, выдаваемый LILO. Чтобы обойти эту проблему, воспользуйтесь услугами других загрузчиков, например, Partition Magic или System Commander.
Что дальше
В следующей главе рассмотрена тема, крайне интересная для многих пользователей. Это мультимедиа. Мы рассмотрим установку и конфигурирование периферийных мультимедийных устройств (например, звуковых адаптеров) и несколько мультимедийных программ для Linux.
Глава 19 . Средства мультимедиа в Linux
В этой главе рассмотрена та часть Linux, которая, к сожалению, развита меньше, чем соответствующие части соперничающих систем Windows или Mac OS. Это мультимедиа.
Мы рассмотрим встроенную поддержку плат Sound Blaster в Linux Red Hat 7.1 и их конфигурирование. Затем обсудим типичную мультимедийную программу XPlaycd и ряд других подобных программ.
К сожалению, полное овладение средствами мультимедиа в Linux - дело непростое. Подробные сведения о работе со звуком в Linux можно найти в справочнике Linux Sound НО WTO (http: / / www. linuxdoc.org/HOWTO/Sound-HOWTO. html). По вопросам поддержки мультимедийных приложений, обращайтесь к Linux Sound Playing HOWTO по адресу http: //www.linuxdoc.-org/HOWTO/Sound-Playing-HOWTO. html - там также рассмотрены многие вопросы работы со звуком в Linux.
Конфигурирование плат Sound Blaster
Поддержка звуковых плат в Linux оставляет желать лучшего. Обеспечена довольно основательная поддержка плат Sound Blaster и совместимых с ними на уровне аппаратных регистров. Другие платы, даже если они рекламируются как "совместимые", не работают со стандартными драйверами Sound Blaster.
Можно найти другие драйверы звуковых плат, но у каждого из них свои причуды и уникальные способы конфигурирования, поэтому мы ограничимся семейством плат Sound Blaster. Если вам придется устанавливать в системе Linux плату другого типа, нужную информацию можно найти в упомянутом справочнике Linux Sound HOWTO.
Со временем ситуация с поддержкой звуковых плат стала заметно лучше: Linux Red Hat 7.1 поддерживает обширный набор плат. Но до уровня поддержки, обеспечиваемой в Windows 98, пока далеко.
Иногда для реализации звуковых функций требуется рекомпиляция исходных текстов ядра системы. Это задача для опытных пользователей. Выбор правильного решения при компиляции ядра напоминает головоломку. Результатом ошибки может быть незагружаемая система, которую трудно вернуть в рабочее состояние.
По этой причине компания Red Hat разработала драйвер Sound Blaster в загружаемом модуле, который можно установить в системе Linux Red Hat 7.1 без ^конфигурирования ядра.
Примечание
Чтобы конфигурировать плату, необходимо знать установку параметров связанных -с ней элементов оборудования: портов ввода/вывода, IRQ и DMA. Их значения можно найти в документации платы.
Программа sndconfig
Для конфигурирования модуля Sound Blaster в Red Hat существует программа sndconfig, запускаемая командой
# /sbin/sndconfig
из командной строки консоли или окна xterm.
Исходное окно (рис. 19.1) сообщает, что программа sndconfig готова протестировать вашу систему на предмет наличия в ней Plug-and-Play (PnP) звуковых плат. Если ваша звуковая плата будет при этом корректно распознана, то ее IRQ-порты, I/О-адреса и DMA-каналы автоматически регистрируются. В противном случае появляется сообщение о том, что звуковая плата не найдена. После щелчка на ОК на экране появляется просьба указать тип вашей звуковой платы (рис. 19.2).
Рис. 19.1. Окно конфигурирования sndconfig
Рис. 19.2. Выбор платы Sound Blaster
Тип звуковой платы выбирается из списка стандартных, поддерживаемых системой. Если вы уверены в совместимости вашей звуковой платы с одной из стандартных, выберите эту стандартную плату из списка.
Вид следующего окна зависит от выбранного типа платы. Здесь требуется указать параметры оборудования - порт ввода/вывода, IRQ и DMA. На рис. 19.3 показано окно для обычной 16-битовой платы Sound Blaster.
Рис. 19.3. Установка параметров оборудования для 16-битовой платы Sound Blaster
Программа sndconfig записывает введенные параметры ,в файл /etc/modules . conf (сохранив его прежний вариант в резервной копии modules. conf. bak). Затем, после нажатия ОК, sndconfig устанавливает тестовый звуковой файл. После следующего нажатия OK sndconfig пытается его проиграть. Следующий экран предлагает вам подтвердить, что тестовый звуковой файл вами услышан.
Примечание
Старые версии Linux (до дистрибутива Rеd Hat Linux 7.0) используют файл /etc/conf .modules вместо /etc/modules.conf.
Далее sndconfig формирует MIDI-звук (струнный инструмент), как показано на рис. 19.4.
Если в ответ - тишина
Если программе sndconfig не удается проиграть тестовый файл, выполните следующие действия. Убедитесь, что плата надежно вставлена в гнездо материнской платы ПК, а динамики правильно подключены к плате, включены и подключены к питанию. Если с аппаратурой и соединениями все в порядке, остаются две вероятные причины неисправности.
Рис. 19.4. Проверка звучания MIDI
Использование XPIaycd
Наиболее популярное применение звуковой платы - проигрывание звуковых компакт-дисков. Именно для этого предназначена программа XPIaycd. Это программа X Windows, входящая в комплект Linux Red Hat 7.1 и предоставляющая простой графический интерфейс с устройством CD-ROM. Для получения доступа к этой программе достаточно в главном меню GNOME выбрать команду Programs/Multimedia/XPlaycd.
С программой XPlaycd сможет работать каждый, кто когда-нибудь работал с обычным проигрывателем компакт-дисков (рис. 19.5).
Рис. 19.5. Окно программы XPIaycd
Кнопки верхнего ряда в окне программы XPIaycd предназначены для выполнения следующих функций (слева направо).
Exit (Выход). Завершение работы XPIaycd.
Open/Close (Открыть/закрыть). Поочередное открытие и закрытие лотка устройства CDROM с программной реализацией этой функции.
Rewind (Перемотка). Переход назад в пределах записи с интервалом в 2 секунды. Play/Stop (Пуск/стоп). Попеременные запуск и останов проигрывания в текущей записи.
Fast Forward (Быстрая перемотка вперед). Переход вперед в пределах записи с интервалом в 2 секунды.
Pause/Continue (Пауза/продолжить). Попеременные пауза и продолжение проигрывания. Shuffle/Resort (Смешать/упорядочить). Попеременное проигрывание записей в случайном порядке и порядке их следования на диске.
Repeat (Повтор). Непрерывное циклическое проигрывание записей в порядке их расположения в списке.
Под кнопкой Rewind находится кнопка Back Track (Перемотка назад). Первый щелчок на этой кнопке приводит к переходу на начало текущей записи, каждый последующий - на одну запись назад. Под кнопкой Fast Forward находится кнопка Forward Track (Перемотка вперед) для перехода на начало следующей записи.
Третий ряд элементов управления предназначен для регулирования громкости. Можно регулировать каждый канал отдельно либо оба одновременно. Чтобы поменять уровень громкости одного канала щелкните на соответствующем регуляторе громкости слева или справа от текущего положения, переместив положение регулятора на одно деление. Для смены положения обоих регуляторов щелкните между ними.
Наконец, в самом низу окна находится список записей. Каждая запись представлена кнопкой. Кнопки первоначально расположены в порядке возрастания номеров записей. Кнопки начала и конца проигрывания обозначены стрелками, направленными, соответственно, вправо и влево.
Проигрываются все записи, расположенные между кнопками начала и конца, слева направо. Порядок кнопок можно менять, перетаскивая их мышью. На рис. 19.6. показано расположение кнопок, при котором проигрываются все записи, но не в исходном порядке.
Рис. 19.6. Измененный порядок проигрывания дорожек Перемещая кнопки начала и конца, можно исключить из проигрывания часть записей (рис. 19.7).
Рис. 19.7. Регулирование начала и конца проигрывания
Другие мультимедийные программы
По количеству качественных, увлекательных мультимедийных программ и игр Linux отстает от других операционных систем, однако и здесь есть немало интересного. На странице приложений для Linux по адресу http: / /www. linuxapps. com можно найти обширный список доступных аудио-, видео- и мультимедийных приложений для среды Linux. В этом разделе вкратце описаны только некоторые из них.
Проигрыватель компакт-дисков для GNOME
В комплект GNOME — диспетчера рабочих столов Linux Red Hat 7.1 — входит проигрыватель компакт дисков (рис. 19.8). Для получения доступа к этой программе достаточно в главном меню GNOME выбрать команду Programs/Multimedia/ CD Pjayer.
Рис. 19.8. Проигрыватель компакт-дисков для GNOME
В этом проигрывателе реализованы необходимые стандартные функции, приводимые в действие простыми графическими кнопками, аналогичными кнопкам большинства программ-проигрывателей для ПК, а также большей части автономных проигрывателей. В данной программе заслуживают внимания мощный редактор записей, позволяющий устанавливать порядок проигрывания, и элементы управления с клавиатуры, отсутствующие в других проигрывателях для Linux.
Проигрыватель MpegTV 1.0
Эта программа, распространяемая на условиях shareware (с отсроченной или частичной оплатой), стоимостью 10 долларов США - видео/аудио-проигрыватель реального масштаба времени стандарта MPEG. Предназначен для Linux и других платформ Unix. Простая и наглядная панель, позволяющая управлять проигрыванием файлов, переходить в любую позицию записи и регулировать громкость. Программу можно загрузить с узла Web http: / /www. mpegtv. com/.
Синтезатор речи Festival
В настоящее время эта система находится в стадии разработки. Ее назначение - многоязыковой синтез речи (сейчас есть поддержка английского, испанского и валлийского языков). Система преобразует текст в речь и обеспечивает средства разработки речевых программ. Текущую версию системы можно загрузить с Web-страницы http: //www.cstr.ed.ac.uk/projects/ festival/festival.html.
MiXViews
Цифровой звуковой редактор для X Windows, распространяемый бесплатно. Программа позволяет выводить на экран и редактировать одновременно несколько файлов, выполняя операции вырезания и вставки, а также сочетая звук и данные. MiXViews можно загрузить с Web-страницы http://www.ccmrc.ucsb.edu/ ~doug/htmls/MiXViews.html.
Grio и Krio
В результате развития индустрии портативных музыкальных плейеров с памятью интерес к программам, работающим с MPEG форматами существенно возрос. Есть немало приложений для обработки "входного" звука. Примером такой программы может служить Rio, располагающая версиями для GNOME и KDE оболочек. Эти версии называются, соответственно, grio и krio.
Оба приложения позволяют передавать данные программе и принимать от нее, стирать файлы, инициализировать плейер и менять порядок воспроизведения. Grio можно загрузить с узла http: / / kipper. crk. umn. edu/-gerla/grio/, a Krio - с узла http: / /krio. sourcef orge. net/ index.php.
RealPlayer
RealPlayer от RealNetworks - популярная программа для проигрывания файлов RealAudio и RealVideo в реальном масштабе времени при перекачке из Internet. Технология RealAudio и RealVideo применяется на многих Web-узлах, специализирующихся на радио, телевидении и музыке. Для просмотра или прослушивания этих узлов и предназначена программа RealPlayer. Бесплатную и усовершенствованную коммерческую версии RealPlayer можно загрузить с Web-узла по адресу http://scopes.real.com/real/player/unix/unix.html?src=rpbform .
FreePhone
FreePhone - инструмент проведения аудио-конференций в Internet. По принципу действия аналогичен программе Internet-телефонии для систем Windows и Macintosh. Однако это нечто большее, чем обычная программа для связи двух абонентов. Пользователь FreePhone может организовать односвязную или многосвязную аудио-конференцию. Программа FreePhone поддерживает ряд популярных схем сжатия аудиоданных и использует базовую мультимедийную сеть Internet Mbone. Загрузить ее можно с Web-узла http: / /www. inria .fr /rodeo/ f phone/obtain. html.
Что дальше
To, что мы рассмотрели, - лишь вершина мультимедийного айсберга. Реализация мультимедиа в Linux (и в Windows) - технически непростая задача, которую мы можем описать только в общих чертах.
Если у вас установлена плата, поддерживаемая Linux или по-настоящему совместимая, то в настоящее время она, по-видимому, находится в рабочем состоянии. Вам, должно быть, удалось загрузить и тестировать несколько мультимедийных программ, и вы нашли эти программы, как минимум, удобными.
В гл. 20 рассмотрена важная и сложная процедура рекомпиляции ядра Linux. Рекомпиляция может понадобиться по ряду причин: для обеспечения поддержки новых устройств, например, звуковых плат, или редких сетевых протоколов, или просто для уменьшения объема ядра. Мы рассмотрим процесс рекомпиляции и основные решения, принимаемые при этом.
Глава 20 . Рекомпиляция ядра Linux
Linux — одна из немногих операционных систем, позволяющих воздействовать на работу компьютера, модифицируя ядро системы. Поскольку Linux поставляется с полным набором исходных текстов, в нем можно опробовать любую новинку. Конечно, большинство предпочтет модифицировать ядро при помощи инструментов, входящих в комплект, а не компилировать тексты, написанные на языке С.
Тем не менее, сотни параметров можно установить при помощи утилит конфигурирования ядра. Вы ознакомитесь с применением этих утилит, затем изучите способы рекомпиляции ядра на основе модифицированных параметров.
При установке дистрибутива Red Hat исходные тексты не записываются на жесткий диск по умолчанию. Прежде чем приступить к запуску конфигурационных средств или рекомпиляции ядра, установите на диске исходные тексты, воспользовавшись командой rpm, рассмотренной далее.
Зачем изменять ядро
Новичок Linux может удивленно спросить: "А зачем это нужно - рекомпилировать ядро?" Тем более что процесс этот, в его представлении, далеко не прост.
В настоящее время Linux - система, намного более дружественная, чем два-три года назад. Усовершенствованная процедура установки, графические интерфейсы и поддержка оборудования сделали систему Linux доступной для тех, кто не является большим компьютерным знатоком. В действительности, описываемый процесс рекомпиляции управляется меню и единственной (длинной) командой запуска.
Linux - система в высшей степени "настраиваемая", так что ее вполне можно адаптировать "под себя". Однако многие ее функции в стандартном ядре просто не задействованы. Причин тому несколько.
Прежде всего, важно понять, что любому пользователю программного обеспечения постоянно приходится искать компромиссы. Например, при использовании программы сжатия это компромисс между скоростью и плотностью сжатия.
Немало компромиссных решений приходится принимать и в отношении ядра Linux. Например, можно предпочесть ядро меньшего объема либо поддерживающее большее число типов оборудования без дополнительного конфигурирования. А можно оптимизировать систему на передачу IP-пакетов или выполнение задач, обычных, для рабочей станции.
Терминология: частичная, полная и просто компиляция
В этой главе часто встречаются три термина, обозначающие, по существу, один и тот же провес: частичная (make), полная (build) и просто компиляция (Compile) ядра. Их можно рассматривать как синонимы, но попробуем все же разобраться в точном значении каждого.
При разработке программного обеспечения в Linux, как и во многих других операционных системах, схема объединения модулей исходного текста и многочисленных библиотек записывается в конфигурационном файле. Это файл называется Make file и используется утилитой make.
Дроцесс преобразования исходного текста проекта в нечто, чем может воспользоваться компьютер (двоичный файл), называют компиляцией. В Linux для компиляции исходного текста применяются стандартные компиляторы языка С дсс или egcs.
Как правшто, проект содержит десятки компонентов, поэтому утилита make проверяет дату и время модификации каждого, чтобы компилировать только те из них, которые были модифици-рованы после предыдущей компиляции. Тем самым достигается существенная экономия времени при компиляции пцоекта после частичной модификации исходного текста. Этот процесс называется частичной компиляцией.
При запуске утилиты make можно задать компиляцию всех компонентов проекта. Это полная компиляция.
Таким образом, все три варианта компиляция ядра - это, по существу, одно и то же. А при наличии нескольких сотен тысяч строк исходных текстов, процесс этот, как его ни назови, требует времени.
Ядро конфигурируется так, чтобы соотношение между его объемом, скоростью и поддержкой оборудования было приемлемым. Это соотношение выбирается с расчетом на среднего пользователя, каким его видит поставщик Linux. Мы научимся самостоятельно принимать решения о том, какие именно функции наиболее важны для конкретной вычислительной среды.
Введение в модули
Модули ядра - очень важная составляющая Linux. Такой модуль позволяет обеспечивать ядру новые функции без его рекомпиляции. Вы сможете убедиться, насколько это важно.
Например, если возникнет необходимость в новой плате интерфейса SCSI, можно загрузить модуль ядра вводом единственной команды - insmod. В прежних версиях Linux для обеспечения поддержки устройства SCSI пришлось бы рекомпилировать ядро системы.
Со временем число внешних устройств, поддерживаемых Linux, возросло. Появились модули ядра, позволяющие ядру осуществлять эту поддержку, оставаясь относительно небольшим по объему.
Примечание
Существенное отличие Linux от некоторых других операционных систем состоит в способности устанавливать или удалять поддержку оборудования, файловых систем, языков и т.п. даже без перезагрузки системы.
В табл. 20.1 дан перечень команд для работы с модулями ядра. Более подробную информацию о каждой можно найти на соответствующей странице руководства.
Примечание
Все упомянутые команды, за исключением Ismod, доступны только корневому пользователю. В Red Hat Linux 7.1 эти команды расположены в каталоге /sbin, не входящем в путь по умолчанию, поэтому для их запуска придется вводить полный путь, например, /sbin/Ismod, /sbin/insmod И Т.П.
Табл. 20.1. Команды для работы с модулями ядра
Команда |
Описание |
Ismod
insmod rmmod depmod modprobe |
Вывод списка всех модулей, установленных в данный момент в работающем ядре Установка модуля в работающем ядре. Необходимо указать имя модуля и, возможно, несколько дополнительных параметров, описывающих его поведение (например, IRQ и адреса устройств) Удаление модуля из работающей системы. Необходимо соблюдать осторожность, чтобы не удалить модуль, используемый другими модулями. О взаимозависимости загруженных модулей можно судить по результатам выполнения команды Ismod Создание файла зависимостей, который команда modprbbe использует для загрузки набора модулей Загрузка набора модулей, определенного командой depmod |
Дополнительную информацию о модулях конкретной системы Linux можно найти в некоторых системных файлах.
Поскольку модули ядра добавляются в код, который в это время выполняется, они записываются в виде объектного кода (уже компилированного). Имя файла каждого модуля имеет расширение .о.
Проверьте следующие файлы.
Примечание
В Red Hat Linux 7.1 ядро имеет версию 2.4.2. Если вы пользуетесь другой версией Linux, или обновили ядро, укажите в приведенных выше именах каталогов соответствующий номер.
Примечание
Версия любого ядра Linux задается тремя числами major.minor.patch (большая.малая.обновление). Крупные изменения в ядре соответствуют изменению номера major. Менее значимые изменения могут сопровождаться только изменением номера minor. Отлаженные и проверенные версии имеют четный номер minor. Версии, находящиеся в стадии доработки имеют нечетный номер minor. Пользователям, не имеющим опыта работы в Linux, не рекомендуется пользоваться такими версиями. Такие версии ядра не устанавливают на продаваемые компьютеры. По мере устранения ошибок и генерации обновлений появляются версии с очередными patch-номерами.
Причины рекомпиляции
Если вам непонятно, для чего может понадобиться рекомпиляция ядра Linux, загляните в табл. 20.2, в которой перечислены некоторые проблемы и способы их решения.
Конечно, для компиляции ядра достаточно и одного из перечисленных поводов, однако не-лишне рассмотреть их все, чтобы осознать всю гибкость Linux.
Табл. 20.2. Проблемы, решаемые рекомпиляцией ядра Linux
Проблема |
Решение |
Процессор имеет дефект, который может вызывать полный останов системы. В Linux есть компенсационная процедура, но ваша версия недостаточно новая |
Загрузите заплату (компенсационную процедуру) для ядра Linux и рекомпилируйте исходный текст. Так можно решить проблему за 20 минут |
Необходимо установить плату адаптера SCSI, для поддержки которой есть модуль ядра Linux, но систему невозможно загрузить с диска SCSI, пока модуль SCSI не станет составной частью ядра |
Рекомпилируйте ядро, добавив необходимую поддержку (именно встроенную, а не в виде отдельного модуля) |
Появилось сообщение о нарушении безопасности в драйвере файловой системы Linux. Заплату можно поставить через несколько часов |
Загрузите заплату и рекомпилируйте ядро, задействовав более новую систему безопасности |
В системе устанавливается новый драйвер сетевой платы. Исходный текст загружается с узла Web поставщика |
Выполните частичную рекомпиляцию всех модулей исходного текста, модифицированных для поддержки указанного драйвера |
Вы приобрели коммерческую систему Linux с ядром 2.2. 16, но теперь собираетесь установить более новое .ядро |
Загрузите исходные тексты ядра (довольно объемные, но не чрезмерно) и компилируйте их |
Пользователи системы жалуются, что доступ к некоторым файловым системам можно получить ; только после ввода последовательности странных команд (например, insmod) |
Рекомпилируйте ядро с поддержкой нужной файловой системы так, чтобы файловые системы этого типа можно было устанавливать без явной установки соответствующего модуля ядра |
Сведения об обновлении ядра
Изменения в ядре Linux могут происходить каждый день. Впрочем, если ваша система работает устойчиво, отслеживать все изменения нет смысла. Большинство изменений вносится на этапе разработки, поэтому немедленное внедрение каждого из них в рабочую систему неразумно. Чтобы быть в курсе всех событий, связанных с ядром Linux, необходимо регулярно посещать следующие два Web-узла, обновляемых несколько раз в день.
wwvw.linuxhq. com. Это огромное собрание сведений о ядре Linux с разделами, посвященными новейшим разработкам и классическим системам, со ссылками на другие источники информации и множеством полезных сведений о ядре Linux.
www.freshfimeat.net. Депозитарно-распределительный документационный центр с объявлениями о новых открытых источниках программного обеспечения и сопутствующей информацией. Имеется архив со средствами поиска. Ядро Linux не является главной темой узла Freshmeat, но здесь приведена информация о новых вариантах ядра.
www. linuxtoday. com. На этом сайте располагаются ежедневно обновляемые сведения о программном обеспечении, поставляемом с исходными кодами. Здесь же хранится архив информации о версиях, снабженный средствами поиска. Ядро Linux не является главной темой узла linuxtoday, но здесь приведена информация о новых вариантах ядра.
Проверка пакетов исходных текстов
Для рекомпиляции ядра необходимы его исходные тексты. В Red Hat исходные тексты ядра размещаются в одном rpm-пакете, но по умолчанию не устанавливаются. Имя этого пакета:
kernel-source-2.4.2-2.1386.rpm
Пакет устанавливается по команде rpm после установки устройства CD-ROM, rpm -UVh kernel-source-2.4.2-2.1386.rpm
Примечание
В дистрибутивах Red Hat исходные тексты ядра размещены в пакете rpm, который не помечен как "пакет исходных текстов" (source code package) расширением файлового имени .src.rpm. Помните об этом, чтобы избежать путаницы.
Пакет со сходными текстами ядра не входит в дистрибутив Linux Red Hat 7.1, прилагаемый к книге. Его можно загрузить из Web-узла http://www.redhat.com .
Проверка наличия инструментальных средств
Кроме исходных текстов, для рекомпиляции ядра нужен компилятор, состоящий из двух компонентов:
Разные системы могут содержать разные версии этих утилит. Естественно, лучше иметь последнюю версию компилятора - дсс 2.96 или egcs 1.1.2.
Для проверки этих утилит в системе воспользуйтесь следующими командами (их вывод соответствует стандартной установке Red Hat):
# rpm —q make
# rpm -q gcc gcc-2.96-81
Примечание
Такие команды работают в любой системе, в которой для управления пакетами применяется команда rpm.
Если этих средств в вашей системе нет, установите их, воспользовавшись фмандой rpm или aналогичной.
Совет
Устанавливая дсс, вы можете получить сообщение failed dependencies. В этом сообщении перечисляются другие rpm-пакеты, которые следует установить перед установкой дсс. Установите необходимые пакеты с CD-ROM.
Примечание
Если у вас еще нет загрузочного диска с используемым ядром, можете создать его из режима корневого пользователя с помощью команды /sbin/mkbootdisk -device /dev/fd0 2.4.2-2.,
Создание резервной копии прежнего ядра
Несмотря на то, что рекомпиляция ядра Linux по силам даже ребенку, все-таки следует предпринять некоторые меры предосторожности. Это означает создание резервной копии ядра и обеспечение способа ее загрузки при неудачной компиляции.
Создание резервной копии текущего ядра проводится в три этапа.
Создание резервной копии исходных текстов не составляет труда. Для этого воспользуйтесь командой ср для копирования каталога.
# cp*-r /usr/src/linux-2.4.2 /usr/src/linux-2.4.2.sav
Восстановление производится копированием в обратном направлении. Создание резервной копии самого ядра ничуть не сложнее (замените указанную в примере версию системы собственной).
# ср /boot/vmlinuz-2.4.2-2 /boot/vmlinuz-2.4.2-2.orig
Совет
При рекомпиляции ядра прежнее ядро записывается в файл с расширением . old. Однако эту копию ядра пока нельзя использовать для загрузки системы. Этим объясняется необходимость выполнения перечисленных выше операций.
Загрузчик операционной системы типа LILO, обычно применяемый для загрузки Linux, конфигурируется установкой ссылки на файл ядра в корневой файловой системе. Например, в файле
/etc/lilo . conf
можно найти запись
image = /boot/vmlinuz-2.4.2-2
указывающую на файл запускаемого ядра.
После создания резервной копии ядра добавьте в файл /etc/lilo. conf еще одну запись, позволяющую запустить Linux с прежним ядром.
Для этого выполните следующие действия.
При следующей перезагрузке системы вы увидите идентификатор нового ядра в графической подсказке загрузчика LILO. Если у вас дистрибутив, не использующий графический интерфейс загрузчика LILO, то, нажав клавишу Tab при появлении командной строки LILO во время следующей загрузки системы, вы вызовете на экран список дополнительных образов, определенных перед рекомпиляцией ядра.
Получение нового ядра
Существует несколько способов получения экземпляра нового ядра. Два основных способа ориентированы на использование архива Linux Kernel, расположенного по адресу http: / / www.kernel.org, или на использование Web-сайта вашего Linux-дистрибьютора. Если вас интересует rpm-версия ядра, то основным источником может послужить http: //www.rpm-f ind. net. Загрузка и установка rpm-пакетов уже рассматривалась в предыдущих главах, поэтому ниже мы уделим внимание загрузке ядра в формате tar . gz, в файлах, подобных linux-2.4.4.tar.gz.
Совет
Убедитесь в том, что создана резервная копия предыдущей версии ядра (см. выше).
Загрузив необходимый пакет ядра, поместите его в каталог /usr/src/. Ниже мы предполагаем, что уже создана резервная копия существующего ядра, как это описывалось выше в данной главе.
Чтобы извлечь ядро и связанные с ним файлы (общим числом более 8,000 в версии 2.4.4), перейдите в каталог /usr/src и выполните следующую команду:
tar zxpvf linux-2.4.4.tar.gz
Если у пакета вашего ядра имя другое, задайте его в данной команде. Теперь можно выполнять конфигурирование ядра, как это описано ниже.
Совет
Если вы обновляете ядро, убедитесь в том, что программное обеспечение вашей системы достаточно "свежее", чтобы воспринять обновление. Для ядер версий 2.4 соответствующие сведения о необходимых версиях программного обеспечения приведены в файле /usr/src/linux-2.4.x/Documentation/Changes.
Конфигурирование нового ядра
Самая интересная часть создания нового ядра - его конфигурирование. Именно здесь решается, какие функции включать в ядро, какие не включать и т.д. Можно выбирать между конфигурированием старого ядра и установкой/конфигурирование нового. Например, используя Red Hat Linux 7,1, вы можете изменить конфигурацию существующего ядра 2.4.2, задав новые параметры. Можно также загрузить и установить новое ядро версии 2.4.4. Несмотря на то, что детали конфигурирования в этих двух случаях различны, используемые утилиты и сама методика конфитерирования совпадают.
В Linux есть три отдельные конфигурационные утилиты, каждая из которых имеет свои особенности.
Утилита с интерфейсом командной строки. Пользователь последовательно отвечает на вопросы о функциях, которые необходимо включить в ядро. Эта утилита удобна для специалистов, умеющих работать с ядром, и для тех, у кого есть сценарии конфигурирования для этой утилиты. Утилиту командной строки можно рекомендовать пользователям с ограниченными возможностями управления экраном, не позволяющими запускать программу, управляемую меню. Один из самых больших недостатков утилиты командной строки - невозможность возврата к уже установленным параметрам для их просмотра или переустановки.
Утилита с меню текстового режима. Многоуровневое меню этой утилиты позволяет устанавливать и переустанавливать параметры ядра в любом порядке.
Утилита с графическим интерфейсом. Интерфейс этой утилиты практически аналогичен интерфейсу утилиты с текстовым меню, но имеет все преимущества графического режима. Это наиболее привлекательная утилита, но она запускается только в графической системе X Windows.
Перечисление утилиты создают один и тот же конфигурационный файл, используемый утилитой make при полной или частичной компиляции ядра.
Эти три утилиты обладают достаточно мощными справочными системами, позволяющими найти сведения об установке любого параметра.
Параметры ядра
Просматривая параметры в любой конфигурационной программе (командной строки, с текстовым или графическим интерфейсом), необходимо четко представлять влияние этих параметров на работу ядра.
Идентификация параметров в каждой программе своя, но во всех трех представлен один и тот же их набор. Параметры подразделяются на две основные группы:
Если программный блок, соответствующий данному параметру, не загружается как модуль ядра, он может быть одним из двух:
Символы в квадратных скобках (вместе со скобками) соответствуют отметкам параметров в меню конфигурационных программ (кроме утилиты командной строки).
Для модульных параметров возможны три варианта установки (в соответствии с их представлением в меню конфигурационных утилит).
Совет
Иногда значение какого-либо параметра не удается поменять до установки другого параметра. Например, установить поддержку определенного устройства SCSI можно только после общего разрешения поддержки этих устройств.
Когда в системе будут установлены необходимые средства (утилита make и компилятор дсс) и исходные тексты, можно запустить одну из конфигурационных утилит и приступить к конфигурированию ядра.
Обратите внимание: для конфигурирования ядра необходимо запустить лишь одну из утилит, описание которых дано ниже. Просмотрите все описания и выберите наиболее подходящую из них.
Совет
При первой установке и конфигурировании нового ядра, проверяйте каждый пункт конфигурации. При наличии у вашего компьютера специфических особенностей (например, один процессор, необходимость поддержки PC Card, необходимость поддержки USB), следует соответствующим образом изменить конфигурацию. Постарайтесь также задать для выбираемых опций минимальные значения, поскольку ядра, загруженные полностью, зачастую настолько велики, что сильно снижают быстродействие системы.
Конфигуратор командной строки
Для запуска утилиты командной строки выполните следующие действия.
# cd /usr/src/linux-2.4.2
Примечание
Если номер версии вашего ядра или используемый каталог другие, измените команду соответствующим образом.
#make config
Последует первый вопрос о конфигурировании ядра: по команде make config выводится последовательность таких вопросов.
/?]
*
* Loadable module support *
Enable loadable module support (CQNFIG_MODULES) [V/n/7]
Set version information on all module symbols (CONFIG_MODVERSIONS) [V/n/7]
Processor family (386, 486, 586/K5/5x86/6x86/6x86MX,
Pentium-Classic, Pentium-HM X,
Pentium-Pro/Celerbn/Pentium-II,
Pentium-Ill, Pentium-4,
K6/K6-II/K6-III, flthl on/Duron/K7,
Crusoe, Uinchip-C6, Uinchip-2,
defined CONFIG_MPENTIWIII Toshiba Laptop support (CONFIG_TOSHIBfl) [N/y/m/7] []
Примечание
Последовательность вопросов меняется в зависимости от вводимых ответов.
Чтобы оставить значение параметра по умолчанию достаточно нажать Enter. Вариант по умолчанию обозначен заглавной буквой. Например, вопрос о поддержке сета имеет вид:
Networking support (CONFIG_NET) [Y/n/7] Поддержка.сети (CONFIG_NET) [Д/н/?]
Нажатие Enter равносильно вводу Y (Да). Вопросы для параметров, обозначающих включение программных блоков в ядро или их использование как самостоятельных модулей, следующие:
Kernel support for ELF binaries (CONFIG_BINFMT_ELF) [Y/m/n/?] Поддержка ядром формата ELF (CONFIG_BINFMT_ELF) [Д/м/н/?]
На многие вопросы об устройствах предлагаются варианты ответов, например M/n, что означает "Модуль" или "не включать".
Один из .вариантов ответа на каждый вопрос - ввод вопросительного знака, после чего на экран выводится описание параметра (как правило, достаточно полное).
Совет
Во всех трех конфигурационных утилитах используется одна и та же справочная информация.
Недостатки этой конфигурационной утилиты следующие.
Меню текстового режима, описанное ниже, упрощает процесс конфигурирования, предоставляя возможность просмотра выбранных параметров конфигурации и создания файла конфигурации.
Примечание
Процесс конфигурирования можно прервать, нажав клавиши Ctrl+C. Тогда на экране появится сообщение об ошибке, а конфигурационный файл не будет создан.
Конфигуратор с текстовым интерфейсом
Для запуска этой утилиты выполните следующие действия.
# cd /usr/src/linux-2.4.2
Примечание
Если номер версии вашего ядра или используемый каталог другие, измените команду соответствующим образом.
# make menuconfig
Примечание
Для запуска конфигурационной утилиты, управляемой меню, необходим пакет ncurses, устанавливаемый по умолчанию почти во всех системах Linux. Если после ввода команды make menuconf ig появятся сообщения об ошибках, проверьте, установлен ли пакет ncurses-devel rpm.
Сразу после ввода команды по экрану пробежит ряд непонятных строк, свидетельствующих о компиляции конфигурационной утилиты. На них можно не обращать внимания. Через несколько минут откроется окно, показанное на рис. 20.1.
Рис. 20.1. Ядро можно конфигурировать при помощи утилиты с меню текстового режима
В этом окне приведено меню категорий конфигурационных параметров. Для управления меню используются следующие клавиши.
Перечисленные кнопки имеют следующие назначения.
Select Открытие подменю с параметрами выделенной категории.
Exit Выход в предыдущее меню или завершение работы (из меню высшего уровня).
Help. Вывод на экран справки о выделенном в меню параметре.
Пример справки показан на рис. 20.2.
Рис. 20.2. Справка по каждому параметру ядра выводится нажатием кнопки Help
Описываемые конфигурационные утилиты создают файл конфигурации ядра, используемый при его рекомпиляции. Этот файл можно сохранить для дальнейшего многократного использования. Для этого в меню предусмотрены две специальные команды: Save Configuration to an Alternate File (Сохранить конфигурационные параметры в отдельном файле) и Load an Alternate Configuration File (Загрузить конфигурационные параметры из отдельного файла). Пролистайте меню до этих команд клавишей со стрелкой вниз или Page Down.
Две последние команды главного меню позволяют сохранить набор конфигурационных параметров или загрузить существующий конфигурационный файл.
Предупреждение
Не создавайте копии конфигурационного файла до полного завершения процесса конфигурирования.
Строки меню, за которыми открываются следующие подменю, отмечены стрелками справа, как следующая строка главного меню.
USB Support
Строки меню, соответствующие конкретным параметрам ядра, отмечены слева символами, обозначающими установку этих параметров (см. также рис. 20.3).
Рис. 20.3. Параметры в меню утилиты menuconf ig с отметками их значений
Совет
Отдельные буквы некоторых строк меню выделены жирным шрифтом или цветом. Для перехода на такую строку достаточно нажать клавишу, соответствующую выделенной букве.
Примечание
Обратите внимание на простоту конфигурирования параметров поддержки USB. После выбора соответствующих параметров можно использовать для установки периферийных USB-устройств методику, описанную в гл. 18.
Текущее значение каждого параметра указано в квадратных или угловых скобках слева. Изменение значения производится нажатием следующих клавиш.
Совет
Нажатие клавиши пробела приводит к циклической смене значений выделенного параметра.
Завершив .просмотр и установку параметров, выполните команду Exit (Выход) главного меню. Откроется диалоговое окно с предложением подтвердить или отменить запись модифицированных конфигурационных параметров (рис. 20.4). Чтобы создать новый конфигурационный файл, щелкните на кнопке Yes (Да).
Рис. 20.4. При выходе из конфигурационной утилиты, управляемой меню, необходимо сохранить модифицированные параметры
Конфигуратор с графическим интерфейсом
Запуск конфигурационной утилиты с графическим интерфейсом выполняется в следующей последовательности.
# cd /usr/src/linux-2.4.2
Примечание
Если номер версии вашего ядра или используемый каталог другие, измените команду соответствующим образом.
#make xconfig
Примечание
Графической конфигурационной утилите требуется несколько инструментальных пакетов системы X Windows. Если после ввода команды make xconfig появляются сообщения об ошибках, проверьте, установлены ли в системе нужные инструментальные пакеты.
Как и при запуске предыдущей утилиты, на экране промелькнет несколько сообщений о компиляции утилиты, и через несколько минут откроется ее главное окно (рис. 20.6).
Рис. 20.5. Утилита конфигурирования ядра с графическим интерфейсом: меню и кнопки установки значений параметров
Совет
Любой графической программе требуется больше системных ресурсов, чем аналогичной программе текстового режима. При недостаточном объеме оперативной памяти графическая утилита может оказаться слишком медлительной. В таком случае воспользуйтесь конфигурационной утилитой с меню текстового режима, описанной в предыдущем параграфе
Графическая утилита не слишком отличается от утилиты menuconf ig. Здесь параметры также разбиты на категории; после щелчка на определенной категории открывается диалоговое окно со списком параметров, каждому из которых можно установить значение, определяющее, что соответствующее средство должно задействоваться как составляющая часть ядра, как загружаемый модуль или не задействоваться вообще. Такое диалоговое окно показано на рис. 20.6.
Рис. 20.6. В диалоговых окнах, подобных этому, устанавливаются конфигурационные параметры ядра
Совет
Ядро 2.4.2 в Red Hat Linux по умолчанию поддерживает симметричную мультипроцессорную архитектуру. Установите для соответствующей опции значение п, если в вашем компьютере всего один процессор.
Справа от каждого параметра находится кнопка Help (Справка), щелчком на которой открывается окно со сведениями о параметре (рис. 20.7). Сведения, предоставляемые справочными системами, совпадают во всех трех конфигурационных утилитах.
Рис. 20.7. В графической конфигурационной утилите справочные сведения выводятся в отдельном окне
Большое преимущество графической конфигурационной утилиты (особенно его оценят те, кто впервые конфигурирует ядро) - отражение в меню зависимости между различными параметрами. Например, в разделе Block Devices (Блочные устройства) нельзя установить поддержку систем RAID, встроенную в ядро, пока не будет включен параметр Multiple Device Driver Support (Поддержка драйверов для нескольких устройств).
Если в утилите menuconfig зависимость параметров друг от друга показана отступами имен параметров в меню, то в графической утилите установка неразрешенных сочетаний параметров просто невозможна. Работа с графической утилитой помогает понять зависимости между различными модулями.
В конце главного меню графической утилиты находятся команды, аналогичные соответствующим командам утилиты с меню текстового режима.
Save and Exit (Выход с сохранением). Создание файла конфигурации ядра и завершение работы утилиты.
Quit Without Saving (Выход без сохранения). Завершение работы утилиты без создания файла конфигурации ядра.
Предупреждение
Без создания файла конфигурации ядра при помощи одной из перечисленных утилит рекомпиляция ядра невозможна.
Load Configuration From File (Загрузка конфигурации). Загрузка конфигурационного файла, созданного ранее.
Store Configuration To File (Запись конфигурации). Запись конфигурационных данных в файл с указанным именем (для дальнейшего использования или передачи коллеге). Это не влияет на необходимость выполнения команды Save and Exit, создающей конфигурационный файл для рекомпиляции ядра.
Компиляция и запуск нового ядра
После завершения конфигурирования проверьте наличие нового конфигурационного файла (.conf ig), расположенного в каталоге /usr/src/linux-2 .4.2 (учитывайте номер вашей версии). Помните, что для отображения скрытых файлов необходимо использовать команду Is -а. Если конфигурационный файл .config на месте, можно использовать команду make для рекомпиляции ядра.
В разных системах Linux команды компиляции могут быть различными, но это не должно вызывать затруднений.
Завершив конфигурирование, вернитесь в режим командной строки и постарайтесь не сидеть у компьютера все время, пока идет компиляция.
Обычно рекомпиляция ядра длится от 15 минут до нескольких часов. Это зависит от скорости процессора, объема оперативной памяти и ряда других факторов, поэтому все команды, вводимые при компиляции, удобно объединить в одну, через точку с запятой, чтобы они выполнялись последовательно. Организовав процесс таким образом, можно заняться другими делами и вернуться к компьютеру после завершения компиляции.
Запуск процесса рекомпиляции
Приведенные ниже команды предназначены для создания нового ядра с рекомпиляцщй всех его модулей и их записью в соответствующие системные каталоги. (Там они будут доступны для команд ядра.)
Для рекомпиляции системы введите следующие команды.
# make dep; make clean; make bzlmage; make modules; make modules__install
Совет
Каждую команду make можно вводить отдельно, после завершения предыдущей. Если вы не планируете использовать модули, можете отбросить две последних команды. Более подробные рекомендации приведены в файле README, расположенном в каталоге /usr/src/linux-2.4.2.
После ввода этих команд на экране начнут мелькать строки с описанием каталогов, к которым обращается программа make, запуска компилятора gc.r. или едг.я для компиляции различных файлов исходного текста и компоновки различных блоков. Каждой из этих команд потребуется для выполнения несколько минут.
Если у вас в файле /etc/lilo. conf указан файл initrd, то следует создать новый файл initrd. Для начала, создайте резервную копию текущего файла initrd (в Red Hat Linux 7.1 это initrd-2 .4.2-2. img). Для этого выполните следующие команды:
# ср /boot/initrd-2.4.2-2.img /boot/initrd-2.4.2-2.orig.img
# /sbin/mkinitrd /boot/2.4.2-2.img 2.4.2-2
Теперь можно создать загрузочный диск для нового ядра с помощью команды
# make bzdisk
Перед выполнением этой команды следует вставить отформатированную дискету в накопитель. Готовый загрузочный диск необходимо испытать. Перезагрузите компьютер, не вынимая дискету из накопителя.
После выполнения команд компиляции ядра и возврата к командной строке создается новое ядро. Чтобы загрузить систему с новым ядром, его необходимо переместить в стандартный каталог, из которого оно будет запускаться. Это делается вводом команды
# ср /usr/src/linux-2.4.2/arch/i386/boot/bzlmage /boot/vmlinuz-2.4.2-2 В завершение, для обновления карты загрузки выполните команду lilo:
# /sbin/lilo
Совет
В имени копируемого образа ядра можно указать номер версии. Важно, чтобы имя этого файла совпадало с именем, указанным в файле /etc/liio.conf.
Тестирование нового ядра
После перемещения файла нового ядра в стандартный каталог (указанный в файле lilo. conf) систему можно перезагрузить с этим ядром.
Сразу после перезагрузки проверьте работу новых средств, ради которых и затевалась реком-пиляция. Можно выполнить следующие действия.
Может понадобиться проверка временной метки файла текущего ядра. Для этого введите команду uname. Это позволяет убедиться в том, что в данный моментсистема работает с реком-пилированным ядром. Метка времени и даты ядра должна совпадать со временем его рекомпи-ляции.
#uname -v
#1 Tue Mar 9 13:27:39 EST 2001
Примечание
Если ответ команды uname свидетельствует о том, что система загружена не с новым ядром, разберитесь с системным загрузчиком LILO. Проверьте, правильно ли указано имя загружаемого ядра в файле /etc/lilo.conf.
Что дальше
В следующей части книги рассмотрены основы сетей. Глава 21 посвящена ряду вопросов, связанных с подключением отдельного ПК к Internet, в том числе с механизмами создания РРР-соединения, просмотром World Wide Web или обменом сообщениями электронной почты в Linux.
В гл. 21 рассмотрены основные положения организации сетей и их реализации в Linux. Дан краткий обзор TCP/IP (основного протокола Internet) и большинства сетей на основе Linux и Unix.
Глава 21 . Работа в сетях Linux
Мы изучим тему, интересную для большинства пользователей. Это работа в сетях.
Глава начинается с рассмотрения основ работы в сетях Linux (в том числе TCP/IP) и основ маршрутизации. Вы ознакомитесь с основными принципами и компонентами конфигурации ТСРЛР. Узнаете, что такое IP-адреса, маски сети, порты и шлюзы. Затем вы ознакомитесь с сервисами, которые обычно используют ТСР/IР соединения стандартной системы Linux.
Основы TCP/IP
TCP/IP представляет собой язык взаимодействия компьютеров в Интернете. Исторически сложилось так, что разработка TCP/IP выполнялась в среде Unix. А поскольку система Linux -потомок системы Unix, то Linux прекрасно подходит для работы в Интернете.
Язык, подобный ТСРЛР, фактически представляет собой набор правил или протоколов, используемых для связи между компьютерами. Несмотря на то, что эти протоколы обеспечивают связь систем в реальных коммуникационных средах, они независимы от аппаратуры, посредством которой реализуются соединения.
На физическом уровне сегодняшние сети строятся с использованием разнообразных технологий, включая телефонные кабели, коаксиальные ТВ-кабели, оптоволоконные соединения и т.п. Протокол ТСРЛР, как и другие сетевые протоколы этого уровня, работает в любой коммуникационной среде.
Что такое TCP/IP
TCP/IP - составное имя. TCP означает Transmission Control Protocol - Протокол Управления Передачей, a IP означает Internet Protocol - Протокол Internet. Вместе они составляют наиболее распространенный сетевой протокол. Эта мощная комбинация позволяет Internet работать в качестве глобальной TCP/IP сети. Присоединение локальных TCP/IP сетей (ЛВС) к Internet осуществляется очень просто, поскольку одна и та же технология используется и во внутренней (ЛВС), и внешней сети (Internet).
Суть конфигурации TCP/IP
Для понимания процесса конфигурирования TCP/IP и проектирования сетей важно освоить некоторые фундаментальные понятия:
Рассматривая эти понятия, мы будем опираться на IP версии 4 (IPv4)_B настоящее время выполняется переход на IP версии 6 (IPv6), но основные принципы старой версии IPv4 входят в новую схему IP-адресации.
IP-адреса
В мире TCP/IP каждый компьютер (или хост), соединенный с сетью, получает уникальный адрес, известный как W-адрес. IР-адрес - это состоящее из четырех частей число, которое однозначно идентифицирует хост-компьютер.
IP-адреса состоят из четырех целых чисел, каждое величиной от 0 до 255, разделяемых точками. Каждый компьютер, непосредственно подсоединенный к Интернету, имеет свой уникальный IP-адрес. Соединяясь с Internet через провайдера услуг Internet (Internet Service Provider, ISP), на время своего соединения удаленный компьютер получает и использует уникальный IP-адрес, который присваивается ему ISP.
Компьютеры оперируют двоичными кодами: нулями (0) и единицами (1). При этом, например, IP-адрес 192.168.0.34, будучи преобразованным в двоичный код, имеет вид:
11000000 10101000 00000000 00100010 Каждая из этих 32 цифр представляет собой один бит (двоичный разряд). В IР,-адресе 32 бита.
Общее количество доступных IP-адресов - 2 32 или 4 294 967 296. Может показаться, что это огромное количество адресовано при той скорости, с которой Internet растет в последние годы, IP-адреса быстро становятся дефицитом.
В настоящее время предлагается новая структура IP-адреса -IP версия 6 (IPv6) - состоящая из 128-битовых целых чисел и позволяющая сформировать 340282366920938463463374607431768-211456 адресов. Такое число можно получить при возведении в четвертую степень общего числа адресов, доступных сейчас.
Очевидно, что IP-адреса непросто равномерно распределить среди пользователей. Особенно с учетом того, что они назначаются сразу целым сетям - для использования организациями, провайдерами Internet и другими группами, которым необходим IP-адрес для работы с Internet.
Существует три используемых типа TCP/IP сетей: класса А, класса В и класса С.
Вы, наверное, заметили, что первое и последнее из возможных значений (0 и 255) в полном диапазоне не используются. Это связано с тем, что первое значение используется для адреса сети целиком, а последнее - для широковещательного адреса. Например, упомянутая сеть класса А имеет адрес 98.0.0.0, а ее широковещательный адрес - 98.255.255.255.
Вы, вероятно, также обратили внимание на то, что в качестве первого числа в IP-адресах не используются такие значения, как 0, 127 и 224-255. Кроме того, существует ряд адресов, зарезервированных для приватного использования (см. примечания в следующем разделе).
Работа подсетей и маски сетей
Часто для организаций, нуждающихся в большом количестве ГР-адресов, необходимо получить адрес сети класса В и разделить эту сеть (сегментировать) на 256 сетей класса С. Прекраеный пример - крупные ISP, которым необходимо организовать сети класса С для своих корпоративных клиентов, используя сеть класса В. Например, если провайдер имеет сеть класса В с адресом 165.65, он может поделить ее на 256 подсетей, с адресами от 165.65.0 до 165.65.255. Каждая из этих подсетей будет иметь 254 доступных адреса, подобно тому, как это имеет место в сети класса С.
Но это может привести к неоднозначности адресации. Как компьютер узнает, к какой сети он принадлежит? Если машина имеет IP-адрес 19.148.43.194, то совсем не очевиден способ определения - находится ли он в 19-ой сети класса А, 19.148-ой сети класса В или 19.148.43-ей сети класса С.
Проблема решается использованием масок сетей (или масок подсетей). Маска сети - это набор разделенных точками однобайтовых целых чисел, который определяет какая часть IP-адреса идентифицирует сеть.
Существует три разновидности масок: 255.0.0.0, 255.255.0.0 и 255.255.255.0. Если вам известен IP-адрес и сетевая маска, вы сможете определить IP-адрес сети и диапазон доступных адресов в сети.
Рассмотрим ЕР-адрес 19.148.43.194. Если маска сети 255.0.0.0, то сетевой адрес 19.0.0.0, а диапазон доступных адресов в этой сети от 19.0.0.1 до 19.255.255.254. Если маска сети 255.255.0.0, то сетевой адрес 19.148.0.0, а диапазон доступных адресов в этой сети от 19.148.0.1 до 19.148.255.254. Если маска сети 255.255.255.0, то сетевой адрес 19.148.43.0, а диапазон доступных адресов в этой сети от 19.148.43.1 до 19.148.43.254.
Когда компьютер отправляет сообщение, он использует соответствующий IP-адрес. Если ему известна сетевая маска, то он знает, как распорядиться этим адресом.
Примечание
Возможны и более сложные маски сетей, но здесь мы их рассматривать не будем. Существует множество способов подразделения и комбинирования адресных пространств. Более подробные сведения по этому вопросу можно найти в IP Sub-networking mini-HOWTO по адресу http://www.linuxdoc.org/HOWTO/mini/IP-Subnetworking.html или в гл. 2 руководства Linux Network Administrators Guide no адресу http : //www . linuxdoc.org/LDP/nag2/index.html. Если вы проектируете собственную ТСР/IР-сеть, не забудьте уделить особое внимание вопросу приватных адресов.
IP версия 6 (IPv6)
В настоящее время мировое информационное сообщество осуществляет переход на схему адресации IPv6, обеспечивающую до 2 различных адресов. Конечно, этот переход представляет собой не моментальный акт и поэтому в течение некоторого времени аппаратура и программное обеспечение сетей должны поддерживать обе версии адресации: IPv4 и IPv6. В рамках огромного диапазона адресов IPv6 можно разместить все адресное пространство IPv4. Ваш теперешний IP-адрес (IPv4) будет работать и в адресном пространстве IPv6.
На практике процесс конвертирования адреса из старой схемы в новую весьма прост. Так IРv4-адресу:
192.168.33.54
соответствует IPv6-aapec
: :192.168.33.54
После завершения перехода на новую схему адресации, адреса в IPv6 будут записываться в шестнадцатеричной нотации. В ней существует 16 "цифр": 0, 1,2, 3, 4, 5, 6, 7, 8, 9, а, b, с, d, e, f. Типичный 1Ру6-адрес может выглядеть, например, так
3dfe:0b80:0al8:1def:0000:0000:0000:0287
В схеме IPv6 разрешается отбрасывать ведущие нули, поэтому приведенный выше адрес эквивалентен следующему
3dfе:b80:а!8:Idef:0:0 : 0 : 287
Чтобы записать приведенный выше IPv4-адрес 192.168.33.54 в новой нотации, переведем сначала его составляющие в двоичный код
11000000 10101000 00100001 00111000
После перевода в шестнадцатеричную форму он выглядит так
с0а8:2138 Полный IPv6-anpec будет выглядеть так
0000:0000:0000:0000:0000:0000:с0а8:2136
или
0:0:0:0:0:0:с0а8:2136
или
::192.168.33.54
Широковещательные адреса
Широковещательный адрес - это специальный адрес, который можно использовать при передаче информации всем хост-компьютерам сети. Вместо того, чтобы отсылать отдельные пакеты каждому хост-компьютеру, можно отослать единственный пакет для всех компьютеров (подобно радио- или телевизионному сигналу).
В основе широковещательного адреса лежит адрес сети, но часть адреса, задающая хост-компьютер, заменена на 255. Для сети класса В 174.148 широковещательный адрес- 174.148.255.255, а для сети класса С 194.148.43 - 194.148.43.255.
Адреса шлюзов
В параграфе, посвященном маршрутизации, отмечено, что сконфигурированные для локальной сети или подсети компьютеры не знают, как связываться с компьютерами, принадлежа-щими внешней сети (например, Internet).
Шлюзы - это компьютеры, которые обеспечивают связь с внешним миром. Они имеют как минимум два сетевых интерфейса: один - для соединения с локальной сетью и другой - с внешним миром. Шлюз пересылает пакеты в локальную сеть из глобальной или обратно.
Для соединения хост-компьютера с внешней сетью шлюзу необходимо знать IP-адрес хотя бы одного шлюза вне локальной сети.
Серверы имен
Если вам необходимо получить доступ к сайту издательства Sybex, вы можете ввести 63.99.19,8.12 в адресное поле вашего браузера. Но гораздо проще запомнить символический WWW-адрес http: / /www. Sybex. com. Эта проблема решается использованием Системы Доменных Имен (Domain Name System, DNS). DNS реализует механизм преобразования доменных имен (например, bahai. org) и имен хост-компьютеров (www. bahai. org) в IP-адреса.
Каждый компьютер, подключенный к Интернету или другой глобальной сети, нуждается в сервере имен. Поэтому, конфигурируя TCP/IP на хост-компьютере большой сети, не забудьте о сервере имен.
Провайдеры предоставляют сервер имен для выхода пользователя в Интернет. На практике, при коммутируемом соединении вам в большинстве случаев даже не нужно знать IP-адрес сервера имен. Соответствующие настройки выполняются автоматически в ходе подключения. Коммутируемые соединения подробно рассмотрены в гл. 22.
TCP/IP порты
Когда два компьютера используют для связи TCP/IP, они определяют адресат по комбинации IP-адреса и порта. Например, доступ к World Wide Web выполняется через порт 80. Для реализации соответствующего подключения после ввода адреса http: / /www. mommabears . com, ТСРЯР
ищет строку www и автоматически преобразует этот адрес в http: / /www. mommabears. com: 8 0. Доступно 65,536 (=2 16 ) различных портов. Первые 1,024 порта и часть остальных выделены
для специальных TCP/IP-сервисов, наподобие www, FTP и др. Широко используемые сервисы, такие как TCP/IP, Web, РТРи e-mail имею собственные порты. В табл. 21.1 приведен список общих портов ТСР./IР..
Табл. 21.1. Общие TCP/IP
Название сервиса |
Порт |
Тип |
Описание |
FTP |
21 |
TCP |
Протокол передачи файлов - File Transfer Protocol |
Telnet |
23 |
TCP |
Соединения Telnet |
SMTP |
25 |
TCP |
Простой протокол передачи почтовых сообщений - Simple Mail Transfer Protocol |
Name |
42 |
TCP |
Сервисы Системы доменных имен - Domain Name System services |
HTTP |
80 |
TCP |
Протокол передачи гипертекста - Hypertext Transfer Protocol (World Wide Web) |
POPS |
110 |
TCP |
Почтовые клиенты РОРЗ |
IМАР |
143 |
TCP |
Протокол доступа к электронной почте Internet -Internet Message Access Protocol |
Более полный список сервисов и портов TCP и UDP можно найти в Internet на странице http://www.isi.edu/in-notes/iana/assignments/port-numbers .
Вернемся к нашему примеру. Если порт 80 - порт по умолчанию для Web, то Web-демон будет прослушивать порт 80 для входящих соединений. Web-клиент инициирует запрос документа через порт 80. Если вы пытаетесь обратиться к Momma Bears' Bears с помощью адреса
http://www.moiranabears.com , соответствующий Web-сервер получает сообщение и возвращает страницу сайта Momma Bears' в качестве сообщения вашему компьютеру.
Но веб-сервер Momma Bears' отвечает не через порт 80. Если он попытается ответить на это порт, то канал порта 80 будет заблокирован для других желающих обратиться к сайту Momma Bears. Именно поэтому Web-клиент динамически назначает собственный порт и отсылает его демону через Web. Тогда Web-демон может возвращать запрошенный документ на порт клиента, оставляя порт 80 свободным для других входящих запросов. Так Web-демон может обрабатывать большое количество входящих запросов, прослушивая только один порт.
Концепция маршрутизации
При обсуждении шлюзов мы упоминали термин "маршрутизация". Маршрутизация - это механизм, благодаря которому становится возможной работа в, казалось бы, абсолютно хаотичном Internet.
Используя Netscape Communicator для соединения с Web-сайтом Yahoo, компьютер ничего не знает о действительной физической локализации Web-сервера Yahoo. Однако запрос каким-то образом попадает на Yahoo, а ответ Yahoo находит обратный путь к компьютеру, пославшему запрос;
Для начала рассмотрим простой пример маршрутизации. Ваш компьютер входит в небольшую локальную сеть (ЛВС), которая имеет выход в Internet. Связь с Internet проходит через маршрутизатор, соединяющий ЛВС и вашу компанию по выделенной линии с провайдером Internet Servise Provider (ISP).
Поскольку ваша ЛВС имеет только одно соединение с внешним миром через маршрутизатор, принцип маршрутизации прост. Каждый компьютер в Internet сконфигурирован со шлюзом, определяемым по умолчанию, который указывает на маршрутизатор. Когда хост-компьютер ЛВС устанавливает соединение с компьютером вне локальной сети, он посылает пакеты маршрутизатору, и маршрутизатор отвечает за перенаправление информации.
Таким образом, внешний мир является "черным ящиком": вся информация, которая направляется во внешний мир, просто посылается маршрутизатору, поскольку он представляет сеть, находящуюся за пределами ЛВС. Маршрутизатор решает простую задачу. При поступлении пакета он анализирует адрес получателя. Если пакет адресован в ЛВС, маршрутизатор отсылает его в ЛВС; если пакет имеет внешний адрес, маршрутизатор просто отсылает его по выделенной линии ISP.
Рассмотрим локальную сеть ISP. Вы видите два маршрутизатора: маршрутизатор А, который соединяет по выделенной линии ЛВС ISP с удаленной ЛВС пользователя, и маршрутизатор В, соединяющий ЛВС ISP по выделенной линии с Internet.
Поскольку для каждой сети необходим шлюз, заданный по умолчанию, то маршрутизатор В выполняет функции такого шлюза: когда хост-компьютер ЛВС ISP устанавливает соединение с хост-компьютером, не принадлежащим удаленной ЛВС, маршруты к которому неизвестны, он передает информацию маршрутизатору В.
Но если ISP выделяет только маршрутизатор В как шлюз, заданный по умолчанию для компьютеров в своей ЛВС, то информация, предназначенная провайдеру удаленной ЛВС реально посылается маршрутизатору В.
Постоянный маршрут определяет, какая информация от сети или хост-компьютера должна быть отправлена на различные шлюзы после шлюза, определенного по умолчанию. Постоянный маршрут может быть определен для пересылки всего трафика от провайдера Internet в удаленную ЛВС через маршрутизатор А. Для хост-компьютеров ЛВС ISP есть три правила маршрутизации.
Теперь процесс должен быть понятен. Когда прибывает входящий пакет, адресованный в вашу ЛВС, он идет из Internet к маршрутизатору В. Маршрутизатор В анализирует адрес пакета, определяет адресат в ЛВС, и по постоянному маршруту отсылает пакет маршрутизатору А. Маршрутизатор А анализирует адрес пакета, определяет адресат в удаленной ЛВС и отсылает пакет прямо к адресату.
Чрезвычайно сложна маршрутизация в большой корпорации с множеством сайтов, множеством ЛВС и большим количеством выходов в Internet. В этих случаях для обеспечения более эффективной пересылки информации разрабатываются способы безопасной маршрутизации. Например, два удаленных компьютера могут соединяться по выделенной линии и иметь собственные выходы в Internet. He имеет смысла пересылать пакеты между этими двумя компьютерами по Internet. Такая пересылка неэффективна и не обеспечивает необходимого уровня безопасности.
Маршрутизация в больших сетях в книге не рассмотрена. Мы лишь попытались изложить основы стандартных способов маршрутизации, при помощи которых общается большинство пользователей Linux.
Что дальше
Мы рассмотрели основные концепции сетей ТСРЯР и маршрутизации.
Эти знания понадобятся нам при чтении гл. 22. Они помогут нам понять, как организовать связь компьютеров, работающих под управлением Linux, с Internet посредством коммутируемого соединения Dial-up PPP (наиболее часто реализуемого провайдерами Internet).
В последующих главах также рассмотрено, как под управлением Linux организовать использование таких сервисов Internet, как World Wide Web и e-mail.
Глава 22 . Соединение Linux с Internet
Соединение системы, работающей под управлением Linux (или любой компьютерной системы), с Internet - непростая задача, решение которой требует использования всех сведений о сетевом окружении этой системы.
Но для многих пользователей задача упрощается, поскольку для установления первого соединения из Linux они используют среду X Windows.
Эта глава начинается с краткого обзора РРР и его роли в мире Internet. Сформулированы требования к техническому и программному обеспечению соединения с Internet и проанализирован процесс ручной настройки РРР-соединения. В конце главы рассмотрен способ автоматизации такого соединения.
Что такое РРР
Большинству пользователей Internet, вероятно, сокращение РРР знакомо просто потому, что именно этот тип соединения обеспечивает их ISP. В действительности, многие пользователи не понимают, что же скрывается за РРР.
РРР обозначает Point-to-Point Protocol (Протокол точка-точка). Разработан для работы ТСРЯР с соединениями, которые поддерживаются аналоговыми модемами. Таким образом, при подключении к Internet с использованием РРР вы становитесь частью сети вашего ISP, действующим компьютером Internet, и получаете свой IP-адрес.
Традиционно удаленный доступ к Internet реализуется с использованием программного обеспечения терминала. В качестве центрального сервера предполагается система, работающая под управлением Unix. В такой среде программное обеспечение терминала на системе-клиенте выполняет исключительно поддержку дисплея для сервера, и только сервер реально существует как узел Internet. Такое соединение отличается от сегодняшней реализации РРР-соединения, приближающего Internet прямо к модему пользователя.
Значительная гибкость технологий связи с Internet приводит к большому разнообразию типов РРР-соединений. РРР-соединение может устанавливаться с выделением постоянного IP-адреса или с динамическим назначением IP-адреса. Соединения могут использовать специальные протоколы аутентификации, например PAP (Password Authentication Protocol), или стандартные текстовые механизмы запрос-ответ. Соединения устанавливаются вручную или, если необходимо, автоматически.
В главе рассмотрен наиболее общий сценарий связи с Internet: соединение посредством модема с провайдером ISP, на основе РРР-соединения с динамическим выделением IP-адреса.
Примечание
Термины "РРР" и "ISP-подключения" в этой главе рассматриваются как синонимы. Хотя возможности РРР-подключения и не ограничиваются подключением к Интернету через провайдеров ISP. Фактически РРР также представляет собой стандартный способ подключения к корпоративной сети или сети учебного заведения.
Требования к аппаратному и программному обеспечению
Для правильной работы РРР необходимы некоторые приготовления. До установки РРР-сое-динения необходимо настроить аппаратное и программное обеспечение:
Модем
Поскольку РРР разработан для удаленного доступа, модем является необходимым элементом, обеспечивающим соединение РРР.
В гл. 18 рассмотрены модемы, способы их инсталляции и тестирования, работа с ними. В ней можно узнать, как подключается и работает модем, как протестировать соединение и быть уверенным, что все в порядке.
Для конфигурирования РРР необходимо знать скорость модемного соединения и устройство в Linux, которое использует модем (возможно, /dev/modem или /dev/ttyS0, а может быть /dev/ttyS3).
РРР в ядре
Ядро Linux в высшей степени гибкое. Оно может обеспечивать (или исключать) поддержку ряда технологий: от стандартной мыши до возможностей работы в сети, например РРР.
Чтобы осуществить РРР-соединение, необходимо включить в ядро Linux поддержку РРР. Чтобы узнать, поддерживает ли ядро Linux РРР-соединение, обратите внимание на сообщения, которые выдаются при загрузке системы. Если имеется ряд строк, наподобие следующих:
РРР generic driver version 2.4.0
РРР Deflate Compression module registered
PPP BSD Compression module registered
значит, РРР встроен в ядро. Если сообщения выводятся слишком быстро, можно использовать команду dmesg для просмотра части системных сообщений, которые содержат сообщения РРР.
$ dmesg | more
Примечание
Если вы обнаружите, что для поддержки РРР необходимо перекомпилировать ядро, то обратитесь к гл. 20, в которой рассмотрена рекомпиляция ядра.
Инсталляция программного обеспечения РРР
Red Hat Linux 7.1 инсталлирует программное обеспечение РРР при полной инсталляции или инсталляции по умолчанию.
Для установки РРР-соединения используются две программы: /usr/sbin/pppd и /usr/sbin/chat. В Red Hat Linux 7.1 входит часть пакета ррр-2 .4. 0-2. Чтобы убедиться в его установке, используйте команду rpm:
$ rpm -q ppp
ррр-2.4.0-2
Для использования pppd или chat надо проинсталлировать дополнительный набор программного обеспечения РРР.
Прежде всего, необходимо монтировать Red Hat CD-ROM (например, /mnt/cdrom) и инсталлировать пакет ppp-2 . 4 . 0-2 .1386 .rpm.
$ rpm -i /pnt/cdrom/RedHat/RPMS/ppp-2.4.0-2.i386.rpm
Можно также загрузить последнюю версию РРР с домашней страницы pppd зеркала загрузочного сайта Samba по адресу ftp: //ftp.samba.org/pub/ppp/. Там доступна версия РРР 2.4.1 в файле ррр-2.4.1. tar. gz.
Для распаковки архива используется команда
$ tar xzvf ррр-2.4.1.tar.gz.
Полезно прочитать файл README. linux. Инсталляция нового пакета РРР подразумевает не только компилирование программного обеспечения, но и обновление ядра Linux и его рекомпи-ляцию для соответствующей версии программного обеспечения РРР.
Описание подробностей этого процесса потребует целой главы, поэтому лучше обратиться к документации.
Примечание
Обширные архивы загружаемого программного обеспечения для Linux можно найти на многих веб-сайтах, как принадлежащих фирмам-изготовителям вашего дистрибутива, так и на узле Tucows, расположенном по адресу http://www.tucows.com . Если вы предпочитаете работать с rpm-пакетами, то сможете найти большой архив таких пакетов
ПО адресу http: //www.rpmfind.net.
РРР-соединение с графическим интерфейсом
В Linux существует два инструмента, .которые могут помочь установить РРР-соединение вашего компьютера с Internet: RP3 для GNOME и КРРР для KDE. RP3 в системе Red Hat Linux 7.1 исповедует принцип предельного упрощения пользовательского интерфейса. КРРР дает возможность сконфигурировать все компоненты Internet-подключения.
Ниже рассмотрены базовые подключения к Internet, в рамках которых специальные настройки почти не понадобятся. Следует, однако, помнить, что некоторые провайдеры ISP требуют установки ряда специальных параметров соединения. Как RP3, так и КРРР допускают необходимую настройку и выполнение диагностических операций. Дополнительные сведения о такой настройке приведены ниже в разделах, посвященных pppd и minicom.
RP3
RP3 представляет собой графический инструмент управления РРР в системе Red Hat. Если вы работаете с провайдером ISP, способным поддерживать Linux-подключения, то процедура установки и подключения к Internet сведется для вас к трем простым шагам. Более тонкую настройку можно будет выполнить позже; можно даже установить терминал для упрощения диагностики и устранения проблем, возникающих при соединении. Но главное преимущество RP3 состоит в простоте. Конфигурирование этой утилиты выполняется из режима корневого пользователя, что дает в дальнейшем возможность любому штатному пользователю системы подключиться к Internet.
Конфигурирование RP3
По умолчанию, доступ к средствам конфигурирования возможен с рабочего стола. Для запуска RP3 выполните двойной щелчок на значке Dialup Configuration (Конфигурирование коммутируемого доступа), расположенном на рабочем столе, или просто выполните команду /usr/bin/rрЗ -config в окне терминала X Window.
Dialup Configuration
Введите пароль корневого пользователя, если необходимо. Если вы запускаете RP3 впервые, то стартует мастер создания нового Internet-подключения Add New Internet Connection Wizard. Щелкните на кнопке Next для продолжения. Если модем еще не сконфигурирован, на экране появится диалоговое окно Select Modem (Выбор модема). Подключите модем к телефонной линии. Щелкните на кнопке Next для продолжения. На рис. 22.1 показано, как затем RP3 проверяет каждое из устройств, которое может быть одключено к модему.
Рис. 22.1. Поиск модемов
Совет
Если окно мастера создания нового Internet-подключения Add New Internet Connection Wizard не появилось, но появилось окно internet Connections (Internet-подключения), щелкните на кнопке Add (Добавить). Если и это окно отсутствует, то, вероятно, пакет RP3 просто не установлен.
Как только RP3 находит подходящее устройство, автоматически проверяется наличие сигнала телефонной станции. После проверки всех файлов устройств, выдается результат.
Если ни один модем не найден. В этом окне можно задать ряд параметров, которые помогут системе Linux найти и использовать модем. Даже если модем обнаружен системой самостоятельно, доступ к этому окно можно получить, выбрав опцию Modify This Modem Manually... (Модифицировать этот модем вручную...) в окне.
Примечание
Приведенная в таблице скорость в бит/с (baud) не равна скорости обмена модема. Она должна быть приблизительно в четыре раза больше скорости обмена, вплоть до 115,200 бит/с. Но можно установить и меньшую скорость для уменьшения потерь данных от внешних помех и шумов.
Сконфигурировав модем, щелкните на кнопке Next. Следующий шаг посвящен установке основных параметров Internet-соединения, как показано на рис. 22.2.
Phone Number (Номер) - местный телефонный номер провайдера ISP.
Рис. 22.2. Конфигурирование модема вручную
Рис. 22.3. Параметры доступа к провайдеру ISP
Щелкните на кнопке Next, введите ваше регистрационное имя и пароль, необходимые для доступа к провайдеру ISP и еще раз щелкните на кнопке Next. В окне Other Options (Прочие параметры) выберите Normal ISP (Обычный провайдер) или AT&T Global Network Services (Глобальная сетевая служба AT&T) и щелкните на кнопке Next. После щелчка на кнопке Finish в следующем окне, все готово к подключению.
Использование RP3
После того, как РРР-соединение сконфигурировано, любой штатный пользователь вашей системы может обратиться к нему. Из кнопки главного меню GNOME Main Menu выберите Programs/Internet/RH PPP Dialer (Программы/Интернет/Номеронабиратель RH РРР). Открывается окно Choose (Выбор), показанное на рис. 22.4. Выберите имя, заданное для провайдера ISP при конфигурировании, щелкните на кнопке ОК, и Linux подключится к Internet через вашего провайдера ISP.
Рис. 22.4. Выбор провайдера ISP
КРРР
Другая утилита Linux с графическим интерфейсом, обеспечивающая доступ в Internet, называется КРРР - номеронабиратель KDE РРР. Если вы находитесь на рабочем столе КDЕ, щелкните на кнопке вызова главного меню KDE Main Menu, а затем выберите Internetflnternet Dialer (Internet/ Номеронабиратель Internet). На другом рабочем столе, например, GNOME, откройте окно командной строки и введите команду /usr/bin/kppp. В результате откроется окно КРРР, показанное на рис. 22.5.
Рис. 22.5. Инструментарий настройки утилиты КОЕ РРР
Щелкните на кнопке Setup (Установить) в этом окне. В появившемся окне КРРР Configuration (Конфигурирование КГГР) выберите, если необходимо, вкладку Accounts (Счета) и щелкните на кнопке New (Новый). В результате откроется окно Create A New Account... (Создание нового счета), ориентированное преимущественно на европейских провайдеров ISP. Если подходящего провайдера ISP в Европе или Новой Зеландии нет, щелкните на Dialog Setup (Диалог установки).
На экран выводится окно New Account (Новый счет), показанное на рис. 22.6. В этом окне вы можете задать параметры подключения к вашему провайдеру ISP. В большинстве случаев необходимо задать только параметры, показанные на рис. 22.6.
Рис. 22.6. Установка параметров провайдера ISP
Если при соединении с провайдером возникают проблемы, вернитесь в это окно. Здесь можно сконфигурировать ряд опций, расположенных на нескольких вкладках, показанных на рис. 22.7:
Dial (Номер). Кроме телефонного номера можно задать способ аутентификации пароля, а также указать, какие программы надлежит выполнить в ходе подключения.
IP (IP-адрес). Если ваш провайдер ISP выделяет вам статический IP-адрес, укажите этот адрес здесь.
Gateway (Шлюз). Если ваш провайдер ISP не устанавливает для вас в своей сети шлюз в Internet автоматически, можете задать соответствующий IР-адрес шлюза здесь. DNS (Служба имен доменов). Если ваш провайдер ISP не предоставляет вам автоматически услуги своих серверов имен (DNS-серверов), можете задать соответствующий IP-адрес DNS-сервера здесь.
Login Script (Сценарий входа). Если ваш провайдер ISP требует специального сценария входа, можете задать соответствующие команды здесь.
Execute (Выполнить). Здесь можно указать программы и команды, подлежащие выполнению на различных этапах подключения.
Accounting (Оплата). Если вы платите за местные телефонные переговоры в соответствии с повременным тарифом, можете задать здесь правила для подсчета подлежащих выплате сумм.
После того, как конфигурирование выполнено, щелкните на кнопке ОК, чтобы вернуться в окно КРРР Configuration, показанное на рис. 22.7.
Примечание
Для читателей в США непривычным является часто применяемый в других странах режим повременной оплаты местных телефонных звонков. Такой режим оплаты порождает другие стратегии выбора провайдера.
Рис. 22.7. Опции конфигурации КРРР
Если возникают проблемы установки модема, то вернитесь в это окно. На его вкладках доступно множество полезных инструментов:
Accounts (Счета). Кроме имени вашего счета у провайдера ISP, на этой вкладке предусмотрены средства доступа к файлам протоколов, которые зачастую содержат ценные сообщения, упрощающие диагностику причин неудачных соединений. Device (Устройство). Здесь задаются параметры аппаратуры, имеющие отношение к модему,
Modem (Модем). С помощью этой вкладки можно тестировать или наблюдать модем различными способами.
Misc (Прочие). Определяет поведение РРР-демона в момент подключения, отключения и выключения X Window.
Если необходимо разрешить доступ штатным пользователям, можно задать suid-разрешения, которые позволят всем штатным пользователям запускать любые программы без предоставления кому бы то ни было полного доступа. Если вы измените разрешения файла /usr/sbin/kppp следующим образом
# chmod u+s /usr/sbin/kppp
то все штатные пользователи смогут выполнять команду /usr/sbin/kppp для вызова данной утилиты.
РРР-соединение со строчным интерфейсом
Утилиты RP3 и КРРР предоставляют достаточный для большинства пользователей сервис. Но если у вас возникают проблемы при подключении или появляется желание понять внутреннюю механику РРР-подключений в Linux, то следует разобраться в том, как работает РРР-демон (pppd) и прочие связные утилиты.
В Linux РРР-соединение выполняется и поддерживается командой pppd. Но pppd начинает работать, когда соединение между модемом пользователя и модемом, ISP уже существует, необходимая регистрация выполнена, и система ISP пытается установить РРР-соединение с использованием этого же модемного соединения.
Практически у всех провайдеров процесс соединения одинаков и состоит из следующих этапов.
Программа pppd требует обязательного выполнения пунктов 1 и 2 перед пунктом 3. Таким образом, необходимо установить соединение модемов до выполнения программы pppd. При наличии соединения модемов РРР-соединение устанавливается с использованием pppd.
Создание РРР-соединения
К счастью, программное обеспечение pppd спроектировано так, что позволяет объединить
все операции - и работу с программой chat, и обработку всего процесса соединения. Перед попыткой установить соединение необходимо собрать некоторую информацию.
Примечание
Все примеры в параграфе предполагают работу в режиме корневого пользователя (root). Поскольку процесс соединения через РРР требует манипуляций с интерфейсом и создания или удаления сетевых маршрутов, используемые программы запускаются в режиме пользователя root.
Совет
Сведения об используемых IP-адресах и аутентификационных протоколах также могут помочь вам сконфигурировать RP3 или КРРР. Обратитесь к своему провайдеру ISP, если у вас нет достоверных сведений в этой области.
Соединение с обычной текстовой подсказкой
Начнем с обычных текстовых подсказок - наиболее простых в использовании.
Так как pppd может брать управление модемом, но не может установить удаленное соединение или зарегистрироваться, необходим способ задания модему команд и обеспечения необходимой регистрационной информацией. Для установки соединения и регистрации используется программа chat. Она предназначена для организации обмена информацией в диалоговом режиме.
Обычно процесс удаленной связи на модеме запускается редактором терминала и в пустом окне терминала печатает команду набора номера, например ATDT12345678. В ответ выдается строка соединения, такая, как CONNECT 115 200, на которую пользователь не отвечает.
Примечание
Если вы ожидаете ответа на команду ATDT, подключите модем. Вмето приведенного в примере произвольного номера 1234567 задайте номер вашего провайдера ISP или сервера, обрабатывающего терминальные запросы.
Этот обмен можно преобразовать в простой сценарий chat.
"" ATDT1234567 CONNECT ""
Данный сценарий состоит из двух пар строк вида "ожидать-ответить": "" ATDT1234567 и CONNECT "". Пара "ожидать-ответить" содержит две порции информации, разделенных пробелом. В первой паре сценария программе chat указывается, что не следует ничего "ожидать", а в ответ необходимо отослать строку ATDT123 45 67. Как только сценарий запустит процесс, первое действие - отправка строки дозвона. Когда выполняется вторая пара, chat указывается необходимость ожидать строку CONNECT, а в ответ не отсылать ничего. Если на этом сценарий завершен, работа chat будет окончена.
Конечно, сценарий chat должен быть длиннее. Для полного сценария chat необходимо точно знать, что представляет собой регистрационная сессия в данном конкретном случае. Можно сформировать такой сценарий, используя для регистрации программное обеспечение терминала, такое как minicom.
Строка подсказки у большинства провайдеров Internet имеет следующий вид:
Username: Password:
или
Login: Password:
или даже
ogin: ssword:
Для примера рассмотрим первый случай. При иной регистрационной подсказке необходимо внести соответствующие изменения, как показано в следующем параграфе.
Примечание
Возможно, необходимо удалить первую букву подсказки в задании сценария. Это обусловлено тем, что различные операционные системы обращаются с первой буквой по-разному, и при работе с некоторыми ISP неизвестно, какая операционная система выдает подсказку при регистрации. При ожидании ogin: или as sword: сценарии работают, не воспринимая первую букву подсказки.
Итак, какова же следующая пара "ожидать-ответить"? После соединения пользователь представляется с помощью подсказки Username:, в ответ на которую вводится имя пользователя (пусть имя пользователя будет "testuser"). Пара "ожидать-ответить" для такого взаимодействия будет Username: testuser.
Когда имя пользователя определено, выводится подсказка Password:, в ответ на которую надо ввести пароль (предположим, "testpas sword"). Получается пара "ожидать-ответить": Password: testpassword.
Для большинства провайдеров Internet этого достаточно: РРР запускается на системе провайде-ра после корректного ввода пароля. Существует незначительное количество разновидностей систем ISP, которые при представлении пользователя выводят на экран подсказку, в которой следует напечатать команду для запуска РРР. В таком случае в сценарии необходимо создать дополнительную пару.
Для этого примера полный сценарий chat выглядит следующим образом:
"" ATDT1234567 CONNECT " " Username: testuser Password: testpassword
Для использования этого сценария с программой chat (которая обычно находится в /usr/ sbin) достаточно задать сценарий как параметр chat.
/usr/sbin/chat ' " ATDT1234567 CONNECT " " Username: testuser Password: tes tpassword
При отсутствии интеграции с программой pppd и доступа к модему chat пытается устано вить диалог посредством консоли. Это можно использовать для проверки сценария. Просто вве дите команду в командной <строке. Когда на экране появится ATDT1234567, напечатайте
CONNECT и введите Username: В ответ на экран должно быть выведено testuser. Затем напечатайте Password: и в ответ должно появиться testpassword.
Примечание
Если необходимо исправить ошибки в сценарии chat, добавьте ключ -v к команде chat. Результат выполнения сценария записывается в системный файл протокола, который позже можно проанализировать для выявления ошибок.
После того, как сценарий написан, необходимо соединить его с pppd. Для этого можно исполь-зовать некоторые параметры pppd (приложение pppd имеет много дополнительных параметров, о которых можно узнать в руководстве по pppd). Мы будем использовать следующие параметры.
connect. Применяется для определения программы или команды, при помощи которой устанавливается соединение по обычной линии связи. Данная опция определяет программу chat и ее сценарий.
noipdefault. Работа pppd го-умолчанию - это определение IP-адреса локального компьютера на основании его имени. Но если ISP выделяет IP-адрес динамически, то noipdefault используется для сообщения pppd о том, что надо получить IP-адрес от удаленного компьютера, с которым осуществлено соединение.
defaultroute. Эта опция сообщает pppd о необходимости добавить маршрут по умолчанию в системную маршрутную таблицу, используя удаленную систему как шлюз по умолчанию. Запись удаляется при разрыве соединения.
Команда pppd имеет следующую структуру.
$ pppd device-name device-speed options
Если модем имеет максимальную скорость передачи сжатой информации 115200bps (модем 56Kbps), то при соединении с устройством /dev/modem для соединения с использованием chat сценария используется следующая команда:
$ pppd /dev/modem 115200 connect '/usr/sbin/chat "" ATDT1234567 CONNECT "
Username: testuser Password: testpassword' noipdefault defaultroute
При вводе данной команды модем начнет звонить, а после установления связи пользователь будет аутентифицирован и установится РРР-соединение. Если этот процесс пройдет успешно, будет выполнено следующее:
Во-первых, вызов команды /sbin/if conf ig без ключей и параметров вернет список интерфейсов, в том числе РРР интерфейс. Этот список выглядит примерно так:
ррр0 Link encap:Point-to-Point Protocol
inet addr:194.209.60.101 P-t-P:194.209.60.97
Mask:255.255.255 UP POINTOPOINT RUNNING MTU:1500 Metric:!
RX packets:10 errors:0 dropped:0 overruns:0 TX packets:11 errors:0 dropped:0 overruns:0
Во-вторых, в таблицу маршрутизации будут добавлены элементы для создания стандартного маршрута через удаленную машину (проверьте результат, использовав команду /sbin/route без ключей и параметров).
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
dul.paus.ch * 255-. 255.255,255 UH 0 00 ppp0
default dul.paus.ch 0 UG 0 0 0 ppp0
В этом примере dul .paus .ch - удаленный компьютер в РРР-соединении, назначенный шлюзом по умолчанию.
Соединение с аутентификацией РАР
Соединение с аутентификацией РАР основано на тех же принципах, что и соединение с текстовой подсказкой, но метод подачи имени пользователя и пароля отличаются.
Первое основное отличие в том, что имя пользователя и пароль не вводятся с командной строки как часть РАР сценария. Имя пользователя и пароль хранятся в специальном файле secrets, который используется при аутентификации РАР. В Red Hat Linux 7.1 это файл /etc/ppp/pap-secrets.
Доступ к данному файлу для чтения и записи имеет только пользователь root. У других пользователей нет права на чтение содержимого файла.
Формат записи файла secrets:
username servername password
При подключении к серверу через модем и телефонную линию второй параметр не нужен Например, при использовании имени пользователя и пароля из предыдущего параграфа, запись должна иметь вид:
testuser * testpassword
Символ * обозначает, что этот пароль можно использовать для соединения с любым интерфейсом.
Когда имя пользователя и пароль записаны в файл, необходимо создать новый сценарий chat Для большинства провайдеров, как только модемное соединение устанавливается, начинается, аутентификация РАР. Поэтому сценарий chat прост:
"" ATDT12345678 CONNECT ""
Данный сценарий звонит ISP и убеждается, что сообщение connect получено перед окончанием работы программы chat и началом аутентификации.
В завершение необходимо ввести еще один параметр для pppd: user. Этот параметр указывает, какой пользователь РАР из файла pap-secrets аутентифицируется. В результате получаем следующую команду pppd:
$ pppd /dev/modem 115200 connect /usr/sbin/chat ""
ATDT1234567 CONNECT noipdefault defaultroute user testuser
Как и в предыдущем примере с текстовой регистрацией, можно проверить, все ли в порядке при помощи команд if conf ig и route.
Соединение установлено
Если соединение установлено, необходимо убедиться в наличии полного доступа к Internet. Для этого надо проверить правильно ли DNS-сервер указывает на сервер имен ISP.
Такая проверка выполняется для двух файлов: /etc/host .conf и /etc/resolv.conf (гл. 28). В этом параграфе даны основные понятия вышеназванных файлов для того, чтобы чита-тель мог быстро приступить к работе. .
Файл /etc /host. conf должен содержать следующие две строки.
order hosts,bind multi on
Эти две строки существуют по умолчанию.
Файл /etc/resolv. conf должен содержать следующие две строки.
search
nameserver 100.100.100.100
Пользователю необходимо заменить IP-адрес 100.100.100.100 IP-адресом сервера имен сво-ег о провайдера Internet. Эту информацию предоставляет ISP. Если провайдер имеет более одного сервера имен, необходимо создать отдельную строку для каждого сервера, используя следующий шаблон:
search
nameserver 100.100.100.100
nameserver 200.200.200.200
После настройки DNS-сервера можно считать, что доступ к Internet получен. Далее необходимо запустить специальные программы: Netscape и FTP (гл. 23).
Завершение связи
После работы в Internet необходимо повесить телефонную трубку, чтобы завершить использование (и оплату) телефонного канала и оплату доступа к Internet. Для этого необходимо уничтожить процесс pppd.
Прежде всего, надо выяснить ID процесса, который запущен программой pppd. Для этого пользователь root использует команду ps.
$ ps x | grep pppd
Информация о pppd выглядит на экране следующим образом:
1316 ttyS0 S 0:00 /usr/sbin/pppd' /dev/modem 115200 connect /usr/sbin/chat "" AT
Первый номер - это ID процесса. Теперь можно уничтожить процесс командой kill.
$ kill 1316
После уничтожения pppd модем вешает трубку.
Автоматизация соединения с Internet
Если РРР-соединения с Internet используются часто, то необходимость ввода длинных команд pppd для каждого соединения будет ограничивать практическое использование Linux для связи с Internet.
Чтобы исключить необходимость ввода длинных команд, можно создать два сценария: для дозвона и для окончания связи. Эти сценарии называются dial и hangup. Соответствующие файлы надо поместить в каталог пользователя, например /usr / local /bin.
Ниже приведено краткое описание сценариев dial и hangup. Оно позволит вам использовать их в дальнейшем на любом компьютере пользователя. Эти сценарии можно создать в любом текстовом редакторе. Важно, чтобы строки, которые выглядят как одна строка, оставались одной строкой и в файле пользователя.
Для сценария dial предполагаем, что при соединении с Internet используется РАР, пример которого рассмотрен ранее в главе.
Если сценарии dial и hangup созданы, их выполнение обеспечивается командой chmod.
$ chmod 700 dial hangup
Параметр 700 позволяет считывать, записывать и выполнять сценарий только пользователю root. Все будет работать прекрасно, но выполнять эту команду должен только пользователь root при установлении РРР-соединения. Если вы хотите разрешить использование сценария всем пользователям в вашей группе, задайте 750 вместо 700. Если вы хотите разрешить использование сценария всем пользователям, имеющим доступ к вашей системе Linux, задайте 755 вместо 700.
Совет
Создавать эти сценарии целиком своими руками нет необходимости. Если в Red Hat Linux 7.1 установлен пакет ррр rpm, то уже сконфигурированные сценарии доступны в каталоге /usr/share/doc/ppp-2.4.0/scripts. Например, можете настроить сценарии ррр-on и ppp-of f так же, как и описанные ниже dial и hangup.
Сценарий Dial
Сценарий dial выглядит следующим образом.
#!/bin/sh
/usr/sbin/pppd /dev/modem 115200 connect \ ' /usr/sbin/chat "" ATDT1234567 CONNECT' \ noipdefault defaultroute user testuser
Первая строка указывает Linux обрабатывать сценарий с использованием оболочки Bourne Shell, которая находится в /bin/sh. Остальные строки обсуждались ранее. Не забудьте задать вместо произвольного номера 1234567 реальный номер вашего провайдера ISP. При необходимости задайте имя вашего файла устройства модема вместо /dev/modem и скорость обмена вместо 115200.
Обратите внимание: команда pppd разбита на три строки. Это улучшает восприятие сценария пользователем и укорачивает строки. Обратная косая черта в конце первой и второй строк показывает, что команда продолжается в следующей строке файла.
Сценарий Hangup
Сценарий hangup выглядит следующим образом.
#!/bin/sh
kill `cat /var/run/ppp0.pid"
Как ы в случае сценария dial, n наняле укячыпяетея, что сценарий должен обрабатываться оболочкой Bourne Shell. Далее процесс уничтожается способом, немного отличным от описанного ранее.
Предположим, что процесс pppd записывает свой Ш процесса в файл, который в большинстве современных систем Linux находится в /var/run. Имя файла состоит из имени устройства и следующего за ним расширения .pid. Если имеется только один модем и одно активное соединение РРР, то модем считается устройством ррр0 и в сценарии следует указать /var/run/pppO. pid.
Команда cat просто выводит содержимое файла ррр0 .pid на стандартное устройство вывода. Команда cat заключается в обратные апострофы для того, чтобы передать результат ее выполнения (который является ID процесса pppd) команде kill.
Примечание
Обратная одинарная кавычка (обратный апостроф) на стандартной американской клавиатуре (С кириллицей) расположена в левом верхнем углу на клавише с тильдой (~).
Как поступать в случае множества РРР интерфейсов, если необходимо завершать каждый из них отдельно? Изменим сценарий hangup следующим образом.
#!/bin/ph
kill `cat /var/run/$l.pid
Здесь ррр 0 заменили $1. $1 указывает, что здесь должно находиться значение первого параметра сценария. Теперь можно передавать имя интерфейса как параметр сценария. Команда
$ hangup pppl
повесит трубку модема, использующего интерфейс pppl. Помните, что первый модем имеет имя ррр0, поэтому вместо приведенной может потребоваться команда hangup ррр0.
Что дальше
Материал этой главы имеет большое значение, для установки РРР-соединения с внешним миром системы под управлением Linux.
В следующей главе показаны преимущества такого соединения. Мы рассмотрим Netscape Communicator в качестве одного из лучших Web-браузеров и клиентов Internet для платформ, работающих под управлением Linux.
В гл. 24 дан обзор разнообразного программного обеспечения для электронной почты, доступного при работе в Linux. Пользователь сможет выбрать лучший инструментарий поддержки собственного стиля работы с e-mail.
Глава 23 . Использование World Wide Web
Теперь, после установки соединения системы под управлением Linux с Internet, рассмотрим наиболее существенный для пользователя вопрос - как выйти в сеть и освоить навигацию в World Wide Web.
В главе дан краткий обзор многочисленных Web-браузеров для Linux и подробно описаны два из них - Netscape 6 и Lynx.
Netscape 6 - последняя версия некоммерческого Web-браузера и Internet-клиента фирмы Netscape. Netscape 6 - полнофункциональный пакет, разработанный для Windows, Macintosh и почти всех вариантов Unix, включая Linux.
Примечание
Если в загрузочном разделе веб-узла Netscape доступна более свежая версия, то следует иметь в виду, что команды управления для этой версии могут несколько отличаться от описываемых в данной главе.
Далее в главе рассматриваются почтовые средства. Большинство домашних пользователей Internet имеют удаленные почтовые ящики, расположенные на серверах их провайдеров ISP. Но если они читают почту с помощью таких программ, как Eudora или встроенная утилита чтения почты Netscape б, то принимаемые сообщения постоянно копируются в локальный почтовый ящик, создаваемый на их машине почтовой программой.
Существует и альтернативный подход, в рамках которого выполняется чтение почты в режиме диалога (online). В этом случае почтовый ящик остается на сервере и доступ к нему поддерживается почтовой программой без создания локального почтового ящика во время чтения почты.
В конце главы рассмотрен Lynx - стандарт де-факто для текстовых браузеров в Linux. Lynx имеет более длинную историю, нежели Netscape. Эта история началась еще тогда, когда технологии Web были реализованы с использованием простых гипертекстовых систем, работавших с небольшими объемами научной информации. В настоящее время Lynx продолжает развиваться и входит практически во все дистрибутивы Linux. Несмотря на отсутствие прекрасной графики и дружественности интерфейса Netscape 6, для быстрого доступа в on-line, проверки некоторой информации и выхода в off-line вам не найти более удобного браузера, чем Lynx.
Обзор браузеров Linux
Есть несколько браузеров, поддерживающих среду X Windows и работающих в Linux. Эти браузеры очень различны - от тестовой платформы Amaya, разработанной World Wide Web Consortium (W3C), до полнофункциональных браузеров, таких как Netscape. В этом параграфе предлагается краткий обзор некоторых браузеров, чтобы пользователь мог получить представление о программном обеспечении Web для Linux.
Amaya
Amaya - Web-браузер, разработанный W3C для тестирования новых протоколов и форматов данных Web. W3C - международная организация, основанная Тимом Бернерс-Ли (Tim Berners-Lee) в целях координации разработки World Wide Web. Тима Бернерс-Ли часто упоминают, как создателя World Wide Web, поэтому вполне можно объяснить, почему консорциум W3C разработал собственный браузер, как элемент создаваемых стандартов.
Amaya - сочетание Web-браузера и авторского инструмента. Этот браузер предполагает поддержку CSS, HTML и новых форматов графики, например PNG. Amaya имеет собственный мощный редактор математических формул.
Хотя в Amaya реализована поддержка самых современных технологий, он все же не осуществляет поддержку всех возможностей Web, обеспечиваемых коммерческими браузерами (как Netscape).
Домашняя страничка Amaya на Web-http: //www.w3 .org/Amaya/. Последняя его версия - 4.2.3.
Lynx
Lynx - это стандарт .де-факто для текстовых браузеров World Wide Web. Разработаны версии Lynx для Unix, Windows 95, MS-DOS и OS/2. Домашняя страница Lynx находится по адресу http://lynx.browser.org/ .
Вероятно, вы удивитесь, если узнаете, что может сделать простой текстовый браузер! К сожалению, далеко не все располагают необходимым оборудованием для работы графического браузера. И не всем доступны подключения, способные поддерживать графику. Например:
Именно поэтому Lynx является идеальным текстовым браузером со средствами, поддерживающими большинство самых современных возможностей Web, включая способ просмотра сайтов с использованием фрэймовых структур.
Opera
Одним из наиболее компактных загружаемых браузеров для Linux является Opera, Он был разработан под девизом "чем меньше, тем быстрее". На странице с описанием его параметров разработчики отмечают: "Opera претендует на звание самого быстрого браузера в мире". Последняя версия - Opera 5 — может быть загружена в виде файла размером в десять раз меньше чем соответствующий файл Netscape 6.
Несмотря на малый размер, Opera поддерживает большинство режимов, характерных для крупных браузеров, включая следующие:
Браузер Opera можно загрузить с веб-узла, расположенного по адресу http: / / www. opera . com. Поскольку серверы загрузки в настоящее время расположены только в Норвегии, скорость загрузки может сильно различаться в разных странах.
Mosaic
Браузер Mosaic был первым коммерческим графическим веб-браузером. Появление Mosaic от лаборатории National Center for Supercomputer Applications было первым сигналом о том, что Web-технологии могут стать более чем простой альтернативой вездесущему Gopher, который работал с гипертекстовыми документами до 1980-х годов.
Первые версии Mosaic разрабатывались для среды X Windows популярных систем Unix, таких, как Sun. Пользователи появившегося World Wide Web были ошеломлены страницами Mosaic, содержащими графику и текст, а также легким в использовании интерфейсом программы. Один из разработчиков браузера Mosaic, Марк Андреесен (Marc Andreesen), занялся разработкой Netscape, опираясь на стандарт Mosaic Godzilla (или Mozilla). К прошлому возврата нет.
Хотя сейчас Mosaic не является активно развивающимся приложением, последняя версия (версия 2.6 для X Windows) браузера все еще доступна на домашней странице Mosaic Университета штата Иллинойс: http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/ .
Netscape 6
Пакет Netscape 6, который содержит и Web-браузер, может претендовать на роль ведущего браузера World Wide Web. В Netscape Communicator были впервые реализованы многие возможности браузеров, впоследствии ставшие стандартными. Хотя в отношении продаж Web-браузеров Netscape уже не является лидером продаж, но доступность исходного кода, а также способность работать в среде Linux помогает ему одерживать победу среди поклонников Linux.
Netscape 6 привлекателен, прежде всего, поддержкой подавляющего большинства существующих платформ, в том числе и Linux. С первого взгляда интерфейс этой программы подобен интерфейсу ее соперника от фирмы Microsoft.
Netscape Communicator для Linux подробно рассмотрен далее в этой главе.
Инсталляция и использование Netscape
На CD-ROM, распространяемом с этой книгой, записан пакет Netscape Communicator 4.76. Версию 6 этого пакета фирмы Netscape можно загрузить с Web-сайта http: / /home. netscape . com/. В главе рассматривается в основном версия 6.
Мы дадим краткий обзор инсталляции Netscape Communicator и Netscape 6 в Linux. Введение в программное обеспечение предназначено не для полного описания Communicator, а для предоставления информации, достаточной для использования Netscape Communicator в on-line. Справочная система этого браузера предоставляет сведения, необходимые для его полномасштабной эксплуатации.
Инсталляция с CD-ROM
Netscape Communicator 4.76 является частью Red Hat Linux 7.1 и, как правило, инсталлируется по умолчанию. Если все же Netscape отсутствует в системе, то можно инсталлировать его с CD-ROM.
Прежде чем инсталлировать Communicator, необходимо выполнить монтирование CD-ROM, например /mnt/cdrom. Для инсталляции пакетов Netscape Communicator используется команда rpm.
$ rpm -i/nmt/cdrom/RedHat/RPMS/netscape-ccaranon-4.76-11.1386.rpm
$ rpm -i/mnt/cdxom/RedHat/RPMS/netscape-cammunicator-4.76-11.1386.rpm
Эти команды инсталлируют полную версию Netscape Communicator.
Инсталляция из Web
Если решено загрузить новую версию Netscape с weo-саита, то процесс инсталляции будет несколько отличаться. Во время работы над книгой последней версией Netscape была версия 6.0. Она распространялась как архив tar с названием netscape-i686-pc-linux-gnu-sea_tar. gz.
Совет
Загружаемый файл Netscape 6 имеет размер около 30 Мбайт. Если загрузить такой файл затруднительно для вас, можете загрузить инсталлятор Netscape, который догрузит и установит только выбранные вами необходимые'программы. Для такой процедуры загрузите файл размером 64 Кбайт netscape-i686-pc-linux-gnu-installer.tar.gz.
Примечание
Пакет Netscape, включающий браузер, почтовую программу и программу проектирования веб-страниц, известен как Netscape Communicator, начиная с версии 4.76. Когда фирма Netscape разработала новый пакет, то присвоила ему сразу же номер версии 6; пакетов Netscape версии 5 не существует.
Этот архив необходимо загрузить в каталог временного хранения, например / trap/. Для распаковки архива используется команда
$ tar xzvf /tnp/netscape-i686-pc-lin.ux-gnu-sea_tar.gz
Эта команда создает несколько файлов в каталоге netscape-ins taller, в том числе файл README и сценарий netscape-installer. Продолжить инсталляцию можно, перейдя в это каталог командой cd /tmp/netscape-installer и запустив выполнение сценария из окна терминала X Window.
$ ./netscape-installer
С этого момента процесс инсталляции с Web управляется с помощью ряда меню, в которых выбираются подлежащие установке пакеты Netscape.
Примечание
При загрузке других версий Netscape возможно изменение процедуры инсталляции. В этом случае проверьте наличие в файлах инсталляции файлов README или INSTALL и прочитайте инструкции в этих файлах, используя команду more. Если при инсталляции возникают вопросы, используйте параметры по умолчанию - это позволит нормально завершить инсталляцию.
Приложения Netscape
В пакет Netscape 6 входит пять основных приложений:
В этой главе рассматриваются веб-навигация и основы конфигурирования почтовой программы. Глава 24 посвящена использованию утилиты Netscape Mail.
Доступ к World Wide Web
Доступ к Web с использованием Netscape 6 не требует дополнительных приготовлений. Достаточно соединиться с Internet (как описано в гл. 22) и использовать команду (предполагаем, что Netscape 6 по умолчанию установлен в каталоге /usr / local /netscape):
$ /usr/local/netseape/netscape
Начиная с появления стартового окна, основные принципы работы с Netscape в большинство своем такие же, как на компьютерах Windows или Macintosh.
Примечание
Если вам нужен только веб-браузер, можете загрузить пакет Netscape Navigator 4.76 с узла http: /уhome. netscape. com. Этот пакет, к сожалению, не включен в состав дистрибутива Publisher's Edition of Red Hat Linux 7.1, поставляемого с этой книгой.
Для доступа к любому из пяти основных приложений Netscape достаточно щелкнуть на соответствующем значке в левом нижнем-углу окна Netscape. Слева направо там расположены значки Navigator (веб-браузер), Mail, Instant Messenger, Composer и Address Book.
Панели Netscape
Основной новинкой Netscape 6 являются специальные панели (sidebar) в окне Netscape, функционирующие как миниатюрный браузер. Для наиболее часто решаемых задач (поиск, новости и т.п.) предусмотрены стандартные панели.
Для выбора подходящей панели можно обратиться на сайт My Sidebar Directory по адресу http: //search.netscape. com/mysidebar. tmpl. Панели можно адаптировать под свои потребности. Можно даже создавать собственные панели для себя, своей группы или организации.
Netscape Communicator browser window© 1999 Netscape Communications Corporation. Used witb permission Netscape Communications has not authorized, sponsored, endorsed, or approved this publication and is not responsible for its content.
Search Sidebar (Панель поиска)
Панель поиска Netscape Search, позволяет получить доступ к стандартным поисковым Internet-машинам без блокировки текущего содержимого главного окна браузера. По умолчанию в Netscape 6 используется поисковая машина Lycos; вы можете выбрать другую в окне Preferences (Настройки). Выберите в меню Edit/Preferences (Правка/Настройки). В открывающемся окне Preferences (Настройки) выберите Navigator/Internet Search (Navigator/Inter-net-поиск). Далее можно выбрать одну из ряда доступных поисковых машин.
Пример, иллюстрирует поиск "Grateful Dead Bears." Результаты поиска в поле Search Results панели поиска демонстрируют список найденных ссылок. Если щелкнуть на ссылке, Netscape перейдет непосредственно на адресуемую веб-страницу.
What's Related Sidebar (Дополнительные ссылки)
Панель дополнительных ссылок What's Related позволяет разыскать дополнительную информацию по заданным ранее критериям. Например, если вам нужны сайты, имеющие отношение к сайту Momma Bears' Bears, то данная панель предлагает ряд дополнительных вариантов поиска. Скажем, Momma Bears' Bears - дилер. Вы можете выполнить поиск других дилеров этого типа, щелкнув на ссылке Recreation: ...: Dealers.
Buddy List Sidebar (Приятельская панель)
Если вы пользуетесь службой AOL Instant Messenger (IM), вы можете в реальном времени связаться с другими пользователями AOL IM (buddy), пока они в эфире. Можно построить список этих пользователей на панели Buddy List. Если вы не пользовались службой Instant Messaging до Netscape 6, то на этой панели расположен мастер, который поможет построить такой список.
Stocks Sidebar (Биржевая панель)
Используемая по умолчанию биржевая панель содержит последние индексы U.S. Dow Jones, NASDAQ, S&P 500 и AOL. Если вы хотите добавить к панели другие биржи, щелкните на кнопке Edit (Правка) и следуйте выдаваемым инструкциям.
News Sidebar (Новости)
На панели новостей собраны заголовки последних американских новостей в области бизнеса, спорта и политики. Чтобы просмотреть сообщение полностью, щелкните на его заголовке.
Today's Tips Sidebar (Свежие советы)
Эта панель обеспечивает выход на службу советов Netscape's Tips and Tricks и ряд дополнительных панелей. Например, панель, В результате щелчка на ссылке Health News (Новости медицины) или Home Improvement (Домашние заботы) на этой панели, Netscape добавит эти опции в качестве новых панелей в конфигурацию браузера.
Netscape Communicator browser window® 1999 Netscape Communications Corporation. Used with permission. Netscape Communications has not authorized, sponsored, endorsed, or approved this publication and is not responsible for its content.,
Открытие Web-страницы
Помимо использования панелей, Web-страницу можно открыть несколькими способами. Первый - путем ввода URL требуемой страницы непосредственно в поле адресов Search в главном окне. При нажатии Enter Netscape 6 попытается загрузить содержимое с указанного URL.
Другой способ открыть новую страницу - выбрать команду Open Web Location (Открыть страницу) в меню File (Файл). Откроется диалоговое окно Open Web Location. Просто введите необходимый URL и выберите окно, в котором вы хотите открыть данную веб-страницу.
Возврат на предыдущую страницу
Возврат на предыдущую загруженную страницу выполняется щелчком на кнопке Back (Назад) панели инструментов Netscape 6.
Можно перейти на предыдущую страницу, используя пункт Back меню Go. Меню Go содержит историю документов, которые были просмотрены; для возврата к любому из этих документов выберите его в меню Go.
Печать страниц
При наличии инсталлированного и настроенного принтера можно распечатать Web-страницу из Netscape 6 (см. гл. 15 и 18).
Для печати изображенной на экране страницы щелкните на кнопке Print (Печать) панели инструментов (она справа сверху) или выберите команду Print в меню File.
Это окно можно использовать для печати в файл или отправки в очередь на печать принтера, который установлен в системе.
Печать в файл
Печать в файл в Netscape осуществляется при помощи генерации PostScript образа страницы. Полученный файл можно просмотреть в программе для просмотра PostScript, например GhostScript, или использовать с программным обеспечением для обработки файлов PostScript (включая текстовые процессоры, графические редакторы и другие приложения) и их отправки на принтер.
Для печати в файл выберите в верхней части диалогового окна на переключателе Print To (Печать в) положение File и укажите полный путь и имя файла, в котором Netscape должен сохранить полученный файл.
Установка в очередь на печать
Для -установки страницы в очередь на печать необходимо выбрать в верхней части диалогового окна на переключателе Print To положение Printer (Принтер). Цведите полную ко-манду печати для установленного принтера. Например, если печать производится на принтере laserjet51, введите команду Ipr -Plaserjet51. Иногда приходится для команды задавать полный путь, что в рассматриваемом случае будет выглядеть, как usr/bin/lpr -Plaserjet51. манда Ipr подробно описана в гл. 18.
Примечание
Обычно, команды Linux требуют пробела между ключом, подобным -р, и его значением, laser jet51. Команда Ipr с ключом -р одна из немногих, где этот пробел не нужен.
Выбор для печати First Page First (Первые страницы вперед) или Last Page First (Последние страницы вперед) определяет порядок, в котором страницы выходят из принтера. Обычно, если они выходят лицевой стороной вниз, выбирают First Page First; если лицевой стороной вверх -Last Page First.
Также важен правильный выбор опции Grayscale (Градации серого) или Color (Цветной). Если печать производится на черно-белом принтере, необходимо указать GrayScale. Некоторые черно белые принтеры плохо печатают в режиме Color, поскольку все цвета-выводятся на печать как черные, в результате документ невозможно использовать. Для цветного принтера надо выбрать параметр, зависящий от того, какой документ желательно получить в результате - цветной ИЛУ. черно-белый.
Укажите размер бумаги для установленного принтера, величину полей и щелкните на кнопке Print.
Использование Справки
Netscape 6 включает полную справку по программному продукту. Она выбирается в режиме on-line командой Help Contents (Содержание справки) меню Help (Справка). Система помощи подразделяется на шесть главных разделов.
Конфигурирование Netscape Mail
В дополнение к Web-браузеру Netscape 6 содержит интегрированный почтовый пакет, Netscape Mail, который можно использовать для чтения почты на серверах POP или IMAP или отправки почты на них. Прежде чем использовать Netscape Mail, необходимо настроить, этот пакет, чтобы сообщить программе, где брать почту и как отсылать сообщения. Но сначала следует разобраться в том, как POP и IMAP серверы выполняют функции локальных и удаленных почтовых ящиков.
Сравнение локальных и удаленных почтовых ящиков
На первый взгляд, различие между локальными и удаленными почтовыми ящиками незначительно, но именно оно является основой для понимания различных типов почтовых программ Unix/Linux.
В большинстве сетей Unix/Linux почта пользователей хранится в локальном почтовом ящике в формате Berkeley Mail Folders (в честь Калифорнийского университета в Berkeley, в котором он был разработан). Почтовые системы Unix/Linux, которые отвечают за маршрутизацию входящих и исходящих сообщений (например, Sendmail), автоматически помещают новые сообщения в персональные почтовые ящики пользователей в этом стандартном формате. Пользователи могут использовать любое стандартное почтовое приложение Unix для просмотра своих сообщений, создания новых сообщений и организации своих почтовых ящиков.
В мире Linux работают все используемые в Unix почтовые инструменты. При обсуждении небольших коммерческих сетей вы увидите, что Berkeley Mail Folder с Sendmail и почтовый клиент Unix - это типичные решения для предоставления пользователям возможностей электронной почты.
Но для пользователей домашних компьютеров почта обычно находится в почтовом ящике на удаленном сервере ISP. Доступ программного обеспечения к этим удаленным папкам реализуется так же, как и к локальным в формате Berkeley Mail Folders. Но в этом случае необходимо использовать почтовые программы, работающие с протоколом РОРЗ или МАР4. Эти протоколы обеспечивают различные способы доступа к удаленным почтовым ящикам.
Примечание
POP - сокращение от Post Office Protocol (Почтовый Протокол). РОРЗ - второй основной POP-стандарт; РОР2 был популярен в 1980-х годах. IMAP - сокращение от Internet Message Acceefe Protocol (Протокол Доступа к Сообщениям Internet). IMAP4 впервые был реализован в 1995г.
Почтовые серверы РОРЗ
Большинство пользователей, которые работают на компьютерах под управлением Windows или на Macintosh и получают почту с почтового сервера ISP, вероятно, используют протокол РОРЗ.
В модели РОРЗ пользователи устанавливают связь с Internet, загружают новое сообщение из своих почтовых ящиков, и затем, как правило, удаляют исходную копию из почтового ящика на удаленном сервере. Тем самым создается локальный почтовый ящик, содержащий точную копию исходного почтового ящика на сервере. Пользователи могут просматривать почту, писать ответы и новые сообщения, организовывать почту в режиме off-line и при установлении связи отправлять подготовленные сообщения и проверять наличие новых сообщений.
РОРЗ - простой и наиболее доступный для большинства пользователей протокол. Он является идеальным решением при вышкой стоимости времени в режиме on-line или при ограниченной ширине доступной полосы частот. Поскольку протокол РОРЗ разрабатывался для работы в режиме off-line, он наиболее подходит пользователям с ограниченным доступом к сети. Но простота протокола приводит к некоторым серьезным ограничениям.
Предположим, пользователям необходим доступ к удаленному почтовому ящику с двух или более компьютеров. Это несложно организовать при условии, что копии всех загруженных сообщений остаются на удаленном сервере, использующем протокол РОРЗ. Тогда можно было бы загружать все сообщения с использованием почтовых программ на двух различных, находящихся в разных местах компьютерах. Но как узнать, отправлен ли ответ с другого компьютера? Кроме того, если письмо удалено с сервера до его загрузки на оба компьютера, то один из компьютеров будет иметь неполный почтовый ящик.
Подобный сценарий имеет отношение к пользователям, которые работают на двух персональных компьютерах - один дома, и один, например, мобильный. Оба персональных компьютера для просмотра почты из одного почтового ящика используют почтовую программу, работающую по протоколу РОРЗ. Утром на домашний компьютер загружается дневная почта. Допустим, получено 50 сообщений, в том числе 33 ненужных. Пользователь немедленно удаляет ненужные сообщения, отвечает на 7 сообщений и подшивает 10 сообщений для дальнейшей обработки.
Днем тот же пользователь получает доступ к почтовому ящику с портативной системы. Он получает почту. Число сообщений теперь — 58. Это 33 ненужных сообщения, которые были удалены на домашней машине, 7 - на которые уже отправлен ответ и 10 сохраненных для дальнейшей обработки сообщений. Кроме того, получено 8 новых сообщений.
Описанная ситуация обычна и приводит к огромному количеству неизбежных повторений при попытке работать с почтой с двух или более мест.
Почтовые серверы IMAP4
Единственным решением этой проблемы является почтовый сервер IMAP4. В модели IMAP почтовые ящики существуют на удаленных серверах и только там. Пользователи открывают и осуществляют доступ к своим почтовым ящикам посредством клиентских приложений. Но вместо того, чтобы копировать сообщения в локальный почтовый ящик, пользователи просто работают с даленным почтовым ящиком, не создавая локальной копии.
IMAP имеет несколько преимуществ по сравнению с системами РОРЗ. Прежде всего, это организация работы и обслуживания единственного почтового ящика из множества мест и с различных компьютеров. Почта остается в единственном удаленном почтовом ящике вместо копирования во множество локальных почтовых ящиков. Если пользователь удаляет сообщение в почтовом ящике из одного места и затем обращается к почтовому ящику из другого места, то этого сообщения там уже не будет.
Именно эта особенность IMAP4 - манипулирование удаленным почтовым ящиком - делает необходимой работу в режиме on-line для просмотра, ответа и обработки почты. IMAP4 наилучшим образом подходит для ситуаций, когда имеется выделенное сетевое соединение либо оплата за соединение невысока. Например, в случае абонентской (не повременной) платы за связь с Internet и абонентской (не повременной) платы за индивидуальный телефонный канал, стоимость почтовых абединений РОРЗ и IMAP4 будет одинаковой. Но если пользователь платит за Internet и телефон юминутно, то IMAP4 обойдется гораздо дороже, чем РОРЗ.
Кроме того, далеко не все провайдеры Internet предоставляют пользователям доступ к их почтовым ящикам через серверы DVLAP4. Системы IMAP4 чаще используются в корпорациях и позволяют пользователям осуществлять доступ к их почтовым ящикам на работе и из дома без проблем, характерных для систем РОРЗ.
Теперь, разобравшись с различиями между почтовыми серверами РОРЗ и IMAP4, можно приступать к конфигурированию Netscape 6 для работы с электронной почтой.
Настройка Netscape для E-mail
Сначала откройте Netscape Mail. Дня этого можно либо выбрать команду меню Tasks/Mail Задачи/Почта), либо щелкнуть на значке Mail (Почта) в левом нижнем углу окна. При первом от-крытии окна Netscape Mail запускается Мастер счетов Account Wizard. помощью этого Мастера можно создать счета четырех типов: ISP Or Email Provider (Провайдер ISP или почты), Netscape WebMail, AOL Account (Счет AOL) и Newsgroup Account (Счет новостей).
Примечание
Если Мастер Account Wizard не появился, значит у вас уже есть почтовый счет. В этом случае в окне Netscape Mail выберите Edit/Mail/News Account Settings (Правка/Настройка счета почты и новостей). В окне Account Settings (Настройка счета) щелкните на кнопке New Account (Новый счет), чтобы вызвать Мастера счетов Account Wizard.
Большинство пользователей располагает, по крайней мере, счетом провайдера ISP Or Email Provider. Необходимые для его организации шаги аналогичны шагам организации счета новостей Newsgroup Account. Если у вас есть счет Netscape WebMail или AOL, то вам нужен только почтовый адрес для системы. Выберите тип ISP Or Email Provider и щелкните на Next для продолжения.
В следующем окне Мастера Account Wizard введите ваше имя и адрес e-mail. Имя, введенное вами, будет использоваться в создаваемых вами почтовых сообщениях
как подпись. Введенный вами адрес e-mail также будет присоединяться к создаваемым сообщениям в качестве обратного адреса. Если получивший ваше письмо адресат щелкнет на кнопке Reply to (Ответить), то ответ по умолчанию будет отправлен на ваш адрес e-mail.
Примечание
Если создается счет новостей Newsgroup Account, необходимо указать имя и почтовый адрес e-mail, которые будут указываться в ваших сообщениях, отправляемых в телеконференции (группы новостей).
Совет
Чтобы избежать нежелательной почты, рассылаемой почтовыми роботами, например, разнообразной рекламы, попробуйте добавить nospam к своему почтовому адресу e-mail. Например, если ваш почтовый e-mail адрес mike@mike.mke, задайте mike@nospam. mike.mke. Любой компьютер, регистрирующий обратный почтовый e-mail адрес из вашего письма, не сможет послать по такому адресу ненужную вам почту. При этом ваши друзья вполне смогут к вам обратиться, удалив nospam из адреса e-mail, доступного им в создаваемом (ответном) почтовом сообщении.
Задав имя и почтовый e-mail адрес, щелкните на кнопке Next. В следующем окне можно сконфигурировать серверы, предназначенные для работы с входящей (incoming) и исходящей (outgoing) почтой e-mail.
Сервер входящей почты может быть одного из двух типов: РОРЗ или IMAP4. Ранее мы разбирали, что РОРЗ-серверы обычно используются провайдерами ISPs и другими почтовыми службами Internet. IMAP4 - более совершенный сервер, позволяющий выполнять поиск среди сообщений перед выполнением загрузки на локальный компьютер. В любом случае следует указать имя сервера входящей почты (его вам сообщат в фирме, предоставившей вам почтовый e-mail адрес). Этот адрес может выглядеть, например, так pop. emailprovider. net.
Исходящая почта отправляется через SMTP-сервер провайдера ISP, который управляет всеми отсылаемыми сообщениями. Узнайте у вашего провайдера ISP имя этого сервера: оно может выглядеть, например, так smtp .yourISP .net. Задав имена серверов входящей и исходящей почты, щелкните на кнопке Next для продолжения конфигурирования.
Введите имя пользователя, определенное для вас провайдером почтовых услуг. В большинстве случаев речь идет о части почтового e-mail адреса, расположенной перед символом @. Если вы забыли это имя, обратитесь к провайдеру почтовых услуг. Задав имя пользователя, щелкните на кнопке Next для продолжения конфигурирования.
В следующем окне, называемом Account Name (Имя счета) необходимо ввести имя счета. Задав имя счета, щелкните на кнопке Next для продолжения конфигурирования.
Последнее окно Мастера, отображает часть заданных вами параметров конфигурации счета. Можно щелкнуть на кнопке Back (Назад) для возврата к предыдущим шагам конфигурирования с целью внесения изменений в параметры. Для завершения конфигурирования щелкните на кнопке Finish (Готово).
Изменение конфигурации Netscape Mail
Любой счет, созданный в рамках Netscape Mail, можно изменить. Определяя почтовый e-mail адрес, вы можете задать пять дополнительных параметров. Каждый альтернативный адрес, допускает задание трех конфигурационных параметров, обеспечивающих его настройку. Чтобы открыть первое окно настройки, щелкните на Edit/Mail/News Account Settings (Правка/Настройка счета почты и новостей). В результате откроется окно Account Settings (Настройка счета).
На рис. 23.22 показаны пять доступных опций. Три из них связаны с определенным e-mail адресом. Сам по себе e-mail адрес представляет первый параметр, иногда называемый Account Name (Имя счета). Второй параметр - Server (Сервер). Copies And Folders (Копии и папки) - третий параметр. Первые два параметра конфигурируются в ходе задания почтового e-mail адреса. Параметр Copies And Folders определяет положение используемых файлов почты и редко меняется. Значение этих параметров в определенной мере зависит от типа сервера, используемого для получения почты (РОРЗ или IMAP4). Другие вкладки позволяют вносить изменения в остальные параметры конфигурации, но значения этих параметров (за исключением имени SMTP-сервера исходящей почты) не оказывают существенного влияния на основные почтовые операции.
Панель Account Settings
Панель Account Settings используется для указания информации (такой, как e-mail адрес пользователя, имя и организация), которая будет добавляться во все отправляемые сообщения e-mail.
Первое поле необходимо заполнить обязательно. Содержимое поля Account Name (Имя счета) должно соответствовать действительному почтовому e-mail адресу, выделенному вам почтовым провайдером.
Обязательно заполните поле Your Name (Ваше имя), которое должно содержать полное имя пользователя в таком виде, в каком будет видеть его получатель почтовых сообщений, и поле Email Address (E-mail адрес), которое должно содержать полный e-mail адрес, указываемый в строке From (От) сообщения.
Заполнять поле Reply-To Address (Отвечать по адресу) необходимо в том случае, если адреса людей, которые получают ответы на письмо, отличаются от адреса в строке From исходящего сообщения. Заполнять поле Organization (Организация) также необязательно. Содержимое этого поля включается в заголовок всех отправляемых сообщений e-mail и отображается в некоторых почтовых клиентах, включая Netscape 6.
Поле Attach This Signature File (Подпись) указывает файл, содержащий сигнатуру, которая добавляется в конце всех отсылаемых сообщений e-mail. Сигнатура - это текст, который может включать имя пользователя, адрес, номер телефона и др. Не забудьте установить флажок Attach This Signature, если требуется добавление сигнатуры в исходящие сообщения.
Кнопка Advanced (Дополнительно) позволяет изменить имя SMTP-сервера исходящей почты, заданное в этом счете.
Для данной панели параметры серверов РОРЗ и IMAP4 одинаковы.
Панель Server Settings
Панель Server Settings (Почтовый сервер) используется для указания Netscape Mail, как найти почтовый ящик пользователя и отправить составленное сообщение.
На панели Server Settings приведены четыре основных параметра, не зависимо от того, используете вы сервер РОРЗ или IMAP4. Во-первых, на панели указан тип сервера (РОРЗ или IMAP4). Далее задано полное имя SMTP-сервера Server Name вашего ISP-провайдера с учетом домена. Третий параметр - User Name (Имя пользователя) - должно соответствовать указанному в вашем почтовом адресе e-mail (это имя может не совпадать с именем вашего счета у провайдера ISP). Последний параметр - Port (Порт) - номер коммуникационного канала, используемого для отправки сообщений, по умолчанию для РОРЗ это 110, а для IMAP4 - 143.
Прочие параметры панели Server Settings не критичны для работы приложения Netscape Mail и не оказывают влияния на функционирование до тех пор, пока не установлен соответствующий флажок. Набор доступных параметров конфигурирования зависит от типа используемого почто вого сервера: РОРЗ или IMAP4. Обычно из названия параметра можно понять его назначение. Некоторые из параметров зависят от персональных установок или конфигурации провайдера ISP.
Инсталляция и использование Lynx
Последним браузером, рассмотренным в главе, является Lynx. Это наиболее распространенный текстовый браузер в мире Unix и Linux. Lynx включен в большинство дистрибутивов Linux, в том числе и дистрибутив Red Hat, которому посвящена эта книга.
Чтобы проверить, инсталлирован ли Lynx, выполните следующую команду.
$ rpm -q lynx
Если обнаружится, что Lynx не инсталлирован, выполните команду rpm для инсталляции
lуnх-2 .8.4-9.1386 .rpm из подкаталога RedHat/RPMS на CD-ROM.
$ rpm -i lynx-2.8.4-9.i386.rpm
После инсталляции Lynx будет находиться в /usr /bin/ lynx.
Загрузка новых версий
К книге прилагается версия 2.8.4 Lynx. Более новые версии можно получить с домашней страницы Lynx http: / / lynx. browser. org/. Во время работы над данной книгой, наиболее часто используемой версией Lynx была 2.8.4.
Можно загрузить Lynx в формате архива tar. gz. который использовался ранее в этой главе для загрузки Netscape 6. В этом случае процедура установки также выглядит аналогично.
Запуск Lynx
Lynx необходимо запускать в окне xterm или на символьной консоли. При запуске Lynx без аргументов, загружается страница, заданная по умолчанию. В двоичной версии, распространяемой с Red Hat Linux 7.1, страницей по умолчанию является HTML-страница документации, инсталлируемой вместе с операционной системой. Если компиляция выполнялась самостоятельно, то этой страницей, вероятно, будет http: / / lynx. browser .org/.
Вид экрана после запуска Lynx показан на рис. 23.1 Экран содержит локальный файл справки, инсталлированный в Red Hat.
Если при запуске Lynx нужно сразу открывать конкретную страницу или файл, то укажите URL страницы или имя файла как аргумент для Lynx.
$ lynx http://www.yahoo.com/
или команду
$ lynx /tmp/ filename
Lynx также имеет многочисленные флаги, которые изменяет поведение программы. Полный список флагов Lynx можно получить, указав -help как аргумент.
$ lynx -help
При навигации по Web с Lynx нет необходимости использовать эти аргументы командной строки.
Рис. 23.1. Lynx с файлом справки Red Hat
Открытие новой страницы
Обратите внимание: нижняя строка экрана Lynx содержит основные команды, используемые при навигации по Web. Чтобы открыть новую страницу, когда Lynx уже запущен, используйте команду Go (Переход), нажав клавишу G.
Lynx запросит адрес страницы.
URL to Open: Если вы подключены к Internet, просто введите URL и нажмите Enter для открытия страницы.
Движение по ссылкам
Ссылки в документе выделены жирным текстом в окне xterm и голубым - в окне консоли в цветном режиме. Выбрать ссылку можно при помощи Tab или клавиш управления курсором (со стрелками вверх-вниз). Текущая выбранная ссылка выделяется обратным цветом в окне xterm или красным в окне консоли.
Для следования по выделенной ссылке нажмите Enter или клавишу со стрелкой вправо. Для возврата на предыдущую страницу используется клавиша со стрелкой влево. Ряд команд Lynx приведен в таблице 23.1.
Табл. 23.1. Команды Lynx
Команда |
Описание |
Enter |
Переход по текущей активной ссылке, выделенной красным цветом |
Tab |
Переход к следующей ссылке вперед |
Стрелка влево |
Возврат к предыдущей странице |
Стрелка вправо |
Переход по текущей активной ссылке, выделеной красным цветом |
Стрелка вверх |
Переход по ссылке обратно |
Стрелка вниз |
Переход по ссылке вперед |
Н |
Вызов справки Lynx |
0 |
Обращение к меню конфигурирования Lynx |
Р |
Обращение к меню опций печати |
G |
Обращение к полю адреса веб-страницы |
М |
Переход к домашней странице |
Q |
Выход из Lynx |
/abc |
Поиск текстовой строки abc |
Delete |
Отображение списка просмотренных веб-страниц |
Просмотр рисунков
Если Lynx запущен в окне xterm, можно настроить его так, чтобы просматривать встроенные в страницы рисунки в отдельном окне с помощью, например, программы gqview.
Для просмотра встроенных рисунков необходимо конфигурировать Lynx так, чтобы он использовал программу gqview для вывода рисунков. Нужная настройка выполняется при редактировании файла /etc/ lynx. с f g в текстовом редакторе в режиме корневого пользователя.
В файле /etc/lynx, cfg есть две строки, которые начинаются с #XLOADIMAGE_COMMAND. Одна строка появляется под заголовком VMS, а другая - под заголовком Unix. Необходимо" изменить строку под заголовком Unix следующим образом.
XLOftDIMAGE_COMMAND:/usr/bin/gqview '%s &
Заметьте:-знак комментария (#) в начале строки отсутствует. Строка не является комментарием, следовательно, Lynx будет обрабатывать ее при загрузке.
После изменения строки сохраните измененный файл и запустите Lynx. Браузер должен работать в режиме Images-As-Links. Переход в этот режим выполняется с использованием звездочки (*). При нажатии ее, если появляется сообщение
Links will be included for all images! Reloading...
всё страницы будут отображать рисунки с помощью программы, указанной в файле /etc/ lynx.. с f g. Если же появится сообщение
Standard image handling restored! Reloading...
просмотр встроенных иллюстраций в отдельном окне отменяется.
Что дальше
После того, как мы изложили основные принципы установления связи и навигации по Web с использованием Linux, можно рассмотреть разнообразные возможности другой не менее важной функции Internet: e-mail.
Мы уже описали одно из популярных приложений для чтения почты - Netscape 6. Но Netscape 6 это лишь одна из многих альтернатив.
Linux поддерживает множество почтовых клиентов, как коммерческих, так и бесплатных. Наряду с мощными (но сложными) системами, ориентированными на запрос, есть компттексные, легкие в использовании символьные (всем известные пакеты Pine и Elm) и графические (например, Xmail) почтовые клиенты.
В следующей главе дан обзор программ чтения почты, работающих под Linux. Наиболее распространенные из них рассмотрены подробно.
Глава 24. Просмотр E-mail
В главе рассмотрены различные подходы и программы, использующиеся в Red Hat Linux 7.1 для просмотра, создания и отправки сообщений e-mail. Вначале мы рассмотрим утилиту Netscape 6 Mail, использующую протокол РОРЗ для получения почты и просмотра ее в off-line. Далее мы обратимся к текстовой утилите pine, используемой в Linux в качестве on-line программы чтения писем, в которой реализован протокол получения сообщений e-mail - IMAP4. Оба протокола РОРЗ и IМАP4 обсуждались в гл. 23.
Почтовые программы, работающие в режиме off-line
Для большинства пользователей более приемлема работа с почтовым ящиком посредством протокола РОРЗ. Такое решение позволяет использовать многочисленные почтовые приложения для Linux, в том числе Netscape Communicator (см. CD-ROM, прилагаемый к книге) или Netscape 6, доступное для загрузки с узла http: / /home. netscape ..com/download.
Примечание
Приложения Netscape, используемые в этой главе, загружены с узла ftp: //ftp.netscape.com/pub/netscape6/english/6.0/unix/linux22/sea/. К моменту, когда ВЫ читаете эту книгу, последние версии этих программ могут быть доступны в других каталогах этого узла.
Этот параграф посвящен обзору Netscape 6 Mail, поскольку сегодня именно этот пакет является наиболее популярным графическим почтовым клиентом. Кроме того, пользователи, которые с Windows и Macintosh перешли на платформу Linux, должны уже хорошо знать продукты Netscape. В Linux могут работать многие другие почтовые клиенты POP и IMAP. Перечень альтернативных пакетов приведен в списке Linux Applications Page в категории Mail на странице http://www.linuxapps.com .
Примечание
Netscape можно использовать также как on-line программу просмотра почты, если ваш почтовый сервер использует протокол IMAP для получения почты.
Netscape 6
Настроить Netscape 6 для работы с удаленным почтовым ящиком РОРЗ достаточно просто. Использовать этот пакет для создания сообщений в режиме off-line и формирования очереди на отправку также несложно. Для запуска Netscape 6 введите в окне xterm следующую команду.
$ /usr/local/netscape/netscape
Предполагается, что Netscape инсталлирован в каталог, заданный по умолчанию (инсталляция Netscape 6 описана в гл. 23).
Примечание
Утилита Netscape Messenger 4.76, входящая в состав Red Hat Linux 7.1, в этой главе не рассматривается. Хотя отличия в деталях между этими утилитами налицо, но основные процедуры получения и отправки почты мало различаются.
Настройка Netscape 6 для E-mail
После запуска Netscape 6 можно приступить к конфигурированию его почтового клиента, используя диалоговое окно Preferences (Настройка) (см. гл. 23).
Просмотр почты с помощью Netscape Mail
После того, как Netscape Mail настроен на доступ к почтовому ящику, пользователь может просмотреть почту. Но прежде, чем получить доступ к почтовому ящику, необходимо выполнить две операции.
По умолчанию Netscape 6 загружается с открытым окном Web-браузера. Открыть окно почтового ящика можно двумя способами.
Окно почтового ящика разделено на четыре прямоугольных области (панели). Панель Mail Folders (Почтовые папки), расположенная в левом верхнем углу, отображает дерево почтовых лапок данного счета e-mail. В число отображаемых папок входят:
Панель List (Список), расположенная в правом верхнем углу, отображает список сообщений, содержащихся в выбранной папке.
Панель Message (Сообщение), расположенная в правом нижнем углу, отображает содержимое сообщения, выбранного на панели List.
Поскольку Netscape Mail поддерживает формат HTML для почты, то почтовые сообщения, сформатированные средствами HTML, отображаются на панели Message как Web-страницы. Гиперссылки выделены цветом, и реагируют на щелчки. Щелчок на гиперссылке открывает запрошенный документ в окне браузера.
Панель List (Список), расположенная в правом верхнем углу, отображает список сообщений, содержащихся в выбранной папке.
Панель My Sidebar (Моя панель), расположенная в левом нижнем углу, по умолчанию включает все спецпанели браузера Netscape Navigator, кроме Search (Поиск) и What's Related (Дополнительно).
Создание сообщений в Netscape Mail
Другой функцией почтовой программы является создание нового сообщения. Составить новое письмо очень просто. Достаточно щелкнуть на значке New Msg (Новое сообщение).
Для указания адреса письма необходимо заполнить поле, следующее за надписью То: (Кому). Нажатие Enter после введенного адреса открывает новое пустое поле То; в следующей строке. Так можно отправлять письмо нескольким адресатам. Если необходимо, чтобы некоторые адресаты получили письмо как машинописную копию (поле Сс) или слепую машинописную копию (поле Вес), щелкните на кнопке со стрелкой вниз рядом с полем То: выбранного адресата. Откроется меню поля адресов, в котором можно выбрать требуемую опцию.
Для того чтобы присоединить к сообщению файл или Web-страницу щелкните на кнопке Attach (Присоединить) панели инструментов.
Откроется окно Enter File To Attach (Присоединяемый файл), в котором отображен список всех файлов вашего базового каталога. Вы можете перейти в любой каталог системы.
Тему сообщения следует указать в поле Subject (Тема). Собственно текст письма вводится в области редактирования текста.
По окончании работы с письмом щелкните на кнопке Send (Отправить), чтобы отправить сообщение (конечно, если установлена связь с Internet).
Формирование очереди сообщений
Обычно пользователи почты РОРЗ стараются создавать свои сообщения в режиме off-line, помещая их в очередь на отправку, которая будет выполнена при установлении соединения с ISP. Поместить сообщение в очередь на отправку очень легко. После того, как сообщение создано, нужно не щелкать на кнопке Send панели инструментов окна нового сообщения, а выбрать Send Later (Отправить позже) в меню File (Файл). Сообщение будет поставлено в очередь на отправку позже.
Если все сообщения созданы, следует установить связь с Internet и из главного окна Netscape Mail выбрать Send Unsent Messages (Отправить не отправленные сообщения) в меню File. Все сообщения, находящиеся в очереди, будут отправлены.
Ответы на сообщения и переадресация писем
Создание ответного сообщения и переадресация письма очень похожи на создание нового сообщения.
Рассмотрим создание ответа на сообщение, поскольку это одна из наиболее популярных операций. Чтобы создать ответ на сообщение, выделите последнее в окне Netscape Mail и щелкните на кнопке Reply (Ответить) панели инструментов.
Откроется переадресованное окно нового сообщения. По умолчанию Netscape Mail настроен так, что на панели Message сообщения будет содержаться текст письма-оригинала.
Netscape WebMail© 2000 Netscape Communications Corporation.
Аналогично, для переадресации сообщения следует выделить его и щелкнуть на кнопке Forward (Переадресовать).
Откроется окно нового сообщения без указания адресата, но с содержимым переадресуемого сообщения. Обратите внимание: в строке subject указано, что письмо будет переслано.
Почтовые программы, работающие в режиме on-line
В этом параграфе описаны почтовые программы, основной целью которых изначально был просмотр локальных почтовых ящиков Unix/Linux; некоторые из них работают и с серверами IMAP4. Особенностью таких программ является то, что они разрабатывались для отправки сообщения сразу после его создания, а не для работы с очередью сообщений на отправку.
Pine U elm
В мире Unix и Linux наиболее часто используются почтовые программы pine и elm. Обе они работают с символьным экраном, поэтому их можно использовать для работы в консоли или окне xterm. Обе программы разработаны для просмотра локальных почтовых ящиков Berkeley. Программы имеют широкий спектр настроек и гибкое управление.
Примечание
Интересный исторический факт: программа elm - предшественник pine. Pine (pine - аббревиатура английского названия "Pine Is Not Etm", т.е. pine - это не elm) была написана для того, чтобы сделать некоторые возможности elm более доступными для пользователя. При этом pine может читать почту с серверов IMAP, a elm не может.
И elm, и pine обычно используются в университетах, в которых студенты имеют свободный доступ к e-mail. Поскольку объем книги ограничен, в этом параграфе дан лишь краткий обзор программы pine. Выбор pine, а не elm весьма субъективен, и многие пользователи Linux и Unix скажут, что следовало бы дать небольшой обзор возможностей именно программы elm. К сожалению, elm более не поддерживается в достаточной степени. Последняя версия elm имеет номер 2.5.5, а наиболее свежая документация, доступная на домашней странице elm по адресу http: //www.math. fu-berlin. de/~guckes/elm/, касается версии 2.5.3.
Логика автора такова: elm и pine - мощные пакеты, и не уступают друг другу своими возможностями. Большинство современных пользователей для управления почтой предпочитает пользоваться графическими пакетами, такими как Netscape 6. Сегодняшний персональный компьютер, безусловно, способен выполнять графические приложения типа Netscape 6, требовательные к производительности процессора. Излагая смысл этих традиционных (и популярных) почтовых программ Unix, автор выбрал pine, поскольку эта программа более дружелюбна к пользователю-новичку в Linux. Кроме того, в университете, где автор работал системным администратором, в качестве почтового приложения все пользователи использовали pine, что можно считать подтверждением удачного выбора программы.
Использование pine
Вначале pine кажется достаточно сложной программой, но в действительности это не так. Для обычного пользователя, которому необходимо отправлять и получать почту, pine совершенно проста в работе.
Большинство систем, работающих под управлением Linux, имеют инсталлированную программу pine, если при инсталляции был указан полный набор сетевых приложений. Если в вашей системе программа pine не инсталлирована, обратитесь на страничку http: / /www. Washington . edu/pine/. Red Hat Linux 7.1 поставляется с pine версии 4.33-8.
Для запуска программы введите следующую команду:
$ pine
Настройки по умолчанию должны работать с большинством систем Linux. При первом запуске программа pine выведет свое главное меню (рис. 24.1). Экран pine содержит четыре главных области.
С (COMPOSE MESSAGE - Создание письма) . Используется для того, чтобы создать и отправить новое письмо; доступна при просмотре содержимого почтовой папки.
I (MESSAGE INDEX - Индекс папки). Используется для просмотра содержимого текущей папки (название которой выведено в верхней строке экрана).
L (FOLDER LIST - Список папок). Предназначена для просмотра списка доступных папок. A (ADDRESS BOOK - Адресная книга). Используется для работы с адресной книгой.
Рассмотрим три опции: FOLDER LIST, MESSAGE INDEX и COMPOSE MESSAGE. Все опции полностью документированы в on-line справке pine, загружаемой при выборе в главном меню команды HELP (ключ ?).
Рис. 24.1. Главное меню pine
Открытие Списка папок и работа с ним
Чтобы открыть список папок, нужно кнопками со стрелками вверх-вниз выбрать опцию FOLDER LIST и нажать Enter. В качестве альтернативы можно ввести L, Откроется список папок, j как показано на рис. 24.12.
Рис. 24.2. Список папок
Список папок отображает доступные в данный момент папки: в рассматриваемом случае -INBOX, sent-mail и saved-messages.
Открытие Индекса папки и работа с ним
Из списка папок выберите необходимую и нажмите Enter. В результате станет доступен список сообщений в выбранной папке, подобный показанному на рис. 24.3. В верхней строке Индекса папки показано текущее выделенное сообщение, количество сообщений в папке и статус сообщения (например, NEW - для нового, не просмотренного сообщения или ANS для ответного сообщения).
Рис. 24.3. Список сообщений в папке
Каждое сообщение в почтовом ящике представлено единственной строкой, в которой справа налево указаны: статус сообщения (N - для нового, А - для ответного, D - для удаленного), номер сообщения, дата получения сообщения, отправитель сообщения, размер сообщения в байтах и строка темы сообщения.
Чтобы выделить сообщение, следует использовать кнопки со стрелками вверх или вниз, пока необходимое сообщение не будет выделено подсветкой. Можно использовать ключ Р для перехода к предыдущему сообщению или ключ N для перехода к следующему сообщению.
Чтобы удалить текущее выделенное сообщение, нажмите D. Статус этого сообщения изменится, сообщение будет отмечено, как подготовленное к удалению. Такие сообщения не удаляются до тех пор, пока не будет осуществлен выход из программы pine. До этого момента сообщение в почтовом ящике можно восстановить, выделив его и нажав U .
Если индекс папки не помещается полностью на экране, то для быстрой прокрутки используются клавиши "Пробел" - для перемещения списка вверх на размер экрана и "Дефис" - вниз. Кроме того, можно перейти на определенное письмо, используя его номер. Для этого надо нажать J, после подсказки ввести но'мер сообщения и нажать Enter.
Для просмотра сообщения в папке выделите сообщение и нажмите Enter или V . Сообщение будет отображено.
Чтобы после просмотра текущего сообщения продолжить работу с другими сообщениями, нажмите клавишу Р или N. Для удаления или восстановления удаленного сообщения используются клавиши D и U.
Если сообщение занимает больше одного экрана, используются клавиши "Пробел" и "Дефис" (соответственно, для перемещения на экран вверх и вниз по сообщению) или клавиши со стрелками вверх/вниз для построчного перемещения.
Чтобы из индекса папки или режима просмотра сообщения вернуться в главное меню, нажмите М .
Создание нового сообщения
В режим создания нового сообщения можно перейти из главного меню, из индекса папки или из режима просмотра сообщения. Для этого достаточно нажать С (из главного меню, можно также выбрать опцию COMPOSE MESSAGE и нажать Enter). Экран в режиме создания нового сообщения показан на рис. 24.4.
Рис. 24.4. Экран создания нового сообщения
Этот экран состоит из двух частей, одна - выше разделяющей строки Message Text, вторая -ниже. В верхней части экрана указана информация о получателе письма, тема письма и проч., в нижней части вводится собственно текст сообщения. Для перемещения между верхней и нижней частями экрана используются клавиши со стрелками вверх и вниз.
Поля То и Сс могут содержать любое количество адресов, разделенных запятыми. Когда курсор покидает поле, изображение обновляется, и каждый адрес помещается в отдельную строку (рис: 24.5).
Рис. 24.5. Несколько адресатов сообщения
Если необходимо отправить слепую машинописную копию, можно расширить доступные поля заголовка сообщения, нажав Ctrl+R, когда курсор находится в верхней части экрана (но не в тексте письма). Будут выведены дополнительные поля заголовка сообщения (рис. 24.6).
Рис. 24.6. Дополнительные поля заголовка сообщения
Среди дополнительных полей заголовка сообщения есть поле Вес, которое используется для отправки слепых машинописных копий сообщений электронной почты. Другие поля используются при задании таких функций, как определение альтернативного местоположения для сохранения копии исходящего сообщения или копирование сообщения в группу новостей.
Под строкой Message Text вводится собственно текст письма (рис. 24.7).
После создания нового сообщения его можно отправить или уничтожить. Для отправки сообщения нажмите Ctrl+X. Будет выведена подсказка для подтверждения отправки сообщения, в ответ на которую надо ввести соответственно у или п (для подтверждения или отказа от отправки сообщения). Для уничтожения сообщения нажмите Ctrl+C; программа вновь запросит подтверждения действий. После того, как сообщение уничтожено, восстановить его невозможно.
Рис. 24.7. Созданное сообщение
Редактор pico
При редактировании сообщений в программе pine используется встроенный редактор pico. Для эффективной работы с редактором pico используются следующие команды.
Подробнее рассмотрим операции вырезания и вставки текста. При нажатии Ctrl+K вырезается строка текста и помещается в буфер памяти. Если нажать Ctrl+K для вырезания нескольких последовательных строк (расположенных одна за другой в тексте), то все строки будут скопированы в буфер. Ctrl+U копирует содержимое буфера в место текущего положения курсора, но не очищает буфер. Другими словами, можно вставить множество копий вырезанного текста в различные места сообщения.
Создание ответа на сообщение и пересылка сообщения
Создание ответа на сообщение и пересылка сообщений другим адресатам очень похожи на создание нового сообщения. Чтобы ответить на сообщение, выделите нужное сообщение и нажмите R (при работе с индексом папки или в режиме просмотра сообщения). На экране появятся один или два вопроса.
Include Original Message in Reply? (Добавить исходное сообщение в ответ?) Если программа получит утвердительный ответ на этот вопрос, то содержимое сообщения, на которое создается ответ, появится в создаваемом ответном сообщении.
Reply to All Recipients? (Ответить всем адресатам?) Этот вопрос появится в том случае, если адресатов исходного сообщения (или в поле То или в поле Сс) больше одного. При ответе Y (Да) ответное сообщение будет разослано всем, кто получил исходное сообщение. При ответе N (Нет) ответное сообщение направляется только отправителю исходного сообщения.
Экран создания сообщения содержит список адресатов, строку с темой сообщения и, при необходимости, исходный текст в области текста письма. На рис. 24.8 показан экран с ответным сообщением.
Рис. 24.8. Создание ответного сообщения
Как и при создании нового письма, нажатие Ctrl+X отправит ответ, а нажатие Ctrl+C - уничтожит его.
Пересылка сообщения очень похожа на отправку: достаточно выделить сообщение и нажать F. Окно создания сообщения (рис. 24.9) содержит текст сообщения в соответствующей области и строку темы, указывающую, что сообщение пересылается.
Что дальше
Итак, мы рассмотрели наиболее типичные функции Internet: навигацию в Web, получение и отправку e-mail. Но есть еще одна не менее популярная возможность использования модемов: отправка и прием факсов.
В гл. 25 дан обзор программного обеспечения, которое позволяет отправлять, получать и распечатывать факсы в системе, работающей под управлением Linux. Также в следующей главе рассказано, как отправлять факсы способом, который используется для печати документов, и как установить систему на автоматическое получение факсов.
Рис. 24.9. Пересылка сообщения
Глава 25 . Работа с факсом в Linux
Мы уже изучили использование модемов для связи между компьютерами, в основном, для доступа к Internet. В этой главе рассмотрена другая, не менее популярная возможность использования модемов: отправка и получение факсов
Для работы с факсом в Linux существует несколько программ, которые (как все программы в мире Linux и Unix) изначально ориентированы на работу с командной строкой. Эти программы являются мощнйми средствами, могут работать с самыми разнообразными документами и полностью автоматизировать услуги факса.
В основе работы с факсом в Linux - способность многих программ предоставлять свой сервис, используя встроенные средства печати документов или возможность отправлять факсы способом, аналогичным отправке e-mail.
В главе дан обзор основных принципов организации работы с факсом в Linux и рассмотрены существующие программные решения. Подробно изучена работа наиболее распространенной программы efax, входящей в дистрибутив Red Hat Linux 7.1, прилагаемый к книге.
Примечание
Программа efax не входит в состав диска CD-ROM, который поставляется с книгой. Если вы располагаете стандартным дистрибутивом Red Hat Linux 7.1, то сможете найти эту программу на втором инсталляционном CD. Можно также загрузить RPM-пакет с узла http://www.redhat.com или http://www.rpmfind.net .
Программное обеспечение для работы с факсом в Linux
В мире Linux и Unix есть несколько основных программ для отправки и получения факсов: efax, NetFax, mgetty+sendfax и HylaFax.
Программа efax считается самой простой в инсталляции и конфигурировании, поскольку она идеально подходит для системы с единственным пользователем. Для многих домашних пользователей Linux efax будет удачным выбором.
Как базовый пакет efax, конечно, не решает многих сложных задач, которые делают HylaFax и NetFax идеальным выбором для многопользовательских сетевых конфигураций. Тем не менее, в efax реализована поддержка наиболее часто используемых функций, с которыми работают все пользователи, но в основном - отдельные пользователи или сотрудники небольших офисов.
Efax для Linux
Efax — почти стандарт de facto программного обеспечения для работы с факсом в Linux, поскольку эта программа поставляется со многими дистрибутивами Linux. Эта глава посвящена использованию efax для Linux.
Совет
Чтобы ознакомиться с другими пакетами для работы с факсом в Linux, обратитесь к списку Linux Applications на странице http://www.linuxapps.com/ . Мы предполагаем, что в системе инсталлирован факс-модем. В гл. 18 описано, как настроить модем для использования в Linux. Чтобы быть уверенным в правильной настройке модема, следуйте приведенным рекомендациям.
Примечание
Программа efax, рассматриваемая в этой главе, не имеет отношения к приложениям efax.com. Название efax, по сути, представляет собой сокращение от "Ed's fax program," указывая, что автором программы является Эд Касас (Ed Casas). Дополнительные сведения о программе efax можно получить на узле http: //www.cce.com/efax.
Инсталляция Efax в Linux
В начале работы с факсом следует инсталлировать программное обеспечение efax. Если на компьютере инсталлирована версия Linux (прилагаемая к книге), то в системе наверняка установлена программа efax. Проверьте ее наличие с помощью команды rpm.
$ rpm -q efax
Еслиейх инсталлирована, то rpm выводит на экран название пакета efax, например efax-0.9-8. Если пакет не инсталлирован, то rpm выводит сообщение, подобное следующему:
Package efax is not installed.
Если efax не инсталлирована, можно использовать две возможности:
Инсталляция Efax с Red Hat CD-ROM
Если у вас Red Hat Linux инсталлирован со стандартного дистрибутива CD-ROM (а не с прилагаемого к книге) и необходимо инсталлировать версию efax из этого дистрибутива, то следует монтировать второй дистрибутивный CD-ROM в его стандартное местоположение (обычно /mnt/cdrom), используя команду mount. (Предполагается, что CD-ROM является устройством /dev/cdrom).
$ mount /dev/cdrom /mnt/cdrom
После того, как CD-ROM смонтирован, используйте команду rpm для инсталляции пакета еfах-0.9-8.1386.rpm:
$ rpm -i /mnt/cdrom/RedHat/RPMS/efax-0.9-8.1386.rpm
Загрузка и инсталляция Efax из Internet
Последнюю версию efax можно получить по FTP с узла ftp: / /metalab. unc. edu/pub/ Linux/apps/serialcomm/faxA Во время написания книги последней версией программы была версия 0.9, а файл, который необходимо было загрузить, назывался efax- 09 . tar. gz.
Загрузив файл, используйте команду tar для распаковки архива во временный каталог.
$ tar xzvf efax-09.tar.gz
Смените рабочий каталог на временный, в котором содержатся распакованные файлы инсталляции. Следующая команда выполняется в режиме пользователя root.
$ make
Программное обеспечение efax будет полностью скомпилировано.
Предположим отсутствие ошибок в процессе компиляции (безопасное предположение, поскольку efax - простая программа). Для инсталляции efax в каталог по умолчанию используется следующая команда.
$ make install
Полный перечень инструкций по компиляции и инсталляции программного обеспечения efax приведен в файле README дистрибутива,
Примечание
Для Red Hat Linux 7.1 придется изменить Makefile перед тем, как выполнять команду make install Откройте сценарий Makefile в каком-нибудь текстовом редакторе. Этот сценарий расположен в том же каталоге, в котором вы распаковывали архив ef ax-09. tar. gz (например, /trap/ef ax-0.9). В разделе install: сценария вторая команда выглядит как
ср fax.1 efox.l efix.l $ (MANDIR)/monl. Измените ее к виду ср fax.l еfаx 1 efix 1 /usr/ghare/man/manl, как показано на рис. 25.1.
Рис. 25.1. Отредактированный Makefile-сценарий для efax
Конфигурирование Efax для Linux
Перед отправкой первого факса необходимо определить несколько параметров, обеспечивающих правильную работу программы efax. Чтобы настроить программу, отредактируйте файл /usr/bin/fax и введите следующую информацию.
При редактировании файла обратите внимание на то, что строки, начинающиеся с символа #, являются комментариями и при конфигурировании не учитываются. Можно сделать строкой комментария существующую строку и добавить свою собственную строку. Тогда легко будет зернуться назад - к конфигурации по умолчанию. Совет
Если вы работаете, например, не в Северной Америке, найдите в конфигурационном файле /usr/bin/ f ax переменную TELCVT и снимите комментарий только с той строки TELCVT, которая соответствует стандартам телефонных служб вашей страны.
Отправка первого факса
Пакет ef ах содержит три основных программы: ef ax, ef ix и fax.
При изучении процесса отправки и получения факсов с помощью efax остановимся на программе fax, поскольку именно она предоставляет нам необходимые функции.
Отправка факсов
Программа fax позволяет легко отправлять факс из текстового файла или файла PostScript. Синтаксис команды для отправки факса:
$ fax send options number file
Команда предусматривает три опции, используемые при отправке факса:
Номер телефона должен быть в той же форме,- в которой проводится его набор. Например, если необходимо дозваниваться по внутреннему телефону 555-1212, то следует указать 5551212 или 5 5 5 -1212. Если необходимо набирать 9 для выхода на внешнюю линию, то следует указать 95551212 или 9-5551212, или 9-555-1212.
Предположим, имеется тестовый файл с именем textf ile в каталоге /trap. Необходимо отправить этот файл как факс низкого разрешения по номеру 123-4567, используя 9 для выхода на внешнюю линию. Для отправки данного факса используется команда $ fax send -I 9-123-4567 /tmp/textfile
Пусть текстовый файл содержит следующий текст.
This is a test of the efax package. Using the fax command, we can send text files as faxes.
Полученный факс показан на рис. 25.2.
Рис. 25.2. Типичный факс, созданный программой efax
Оправка нескольких файлов как один факс
Кроме отправки отдельного файла как факса, можно отправлять несколько файлов как один факс. Если необходимо отправить содержимое /tmp/textf ile после содержимого другого текстового файла /tmp/textf ile2, то используется команда
$ fax send 9-123-4567 /tmp/textfile /tmp/taxtfile2
которая отправит файлы в заданном порядке.
Примечание
Так можно комбинировать только несколько текстовых файлов. Для объединения файлов PostScript с текстовыми файлами или другими файлами PostScript приведенная команда не работает.
Но как поступить при необходимости отправить страницы не в том порядке, в котором они находятся в файле, или отправить только некоторых страниц из файла? Для этого нужно преобразовать файл в факс-форматированный файл TIFF. Каждая страница факса будет помещена в отдельный файл и можно будет указать конкретные страницы для отправки.
Таким образом, используются возможности создания программой fax факс-форматированных файлов. Например, если имеется файл PostScript с именем /tmp/psfile, занимающий три страницы, можно преобразовать его в три факс-форматированных TIFF-файла следующей командой.
$ fax make /tmp/psfile
В результате будут получены страницы, помещенные в три отдельных файла с именами
/tmp/psfile.001, /tmp/psfile.002 и/tmp/psfile.003.
Страницы, которые получаются после преобразования файла в факс-формат, имеют то же имя, что и исходный файл, с тремя цифрами, упорядочивающими расширения файлов. Например, файл test. txt породит страницы факса с именами test. txt .001, test. txt. 002 и т.д.
Единственная опция, доступная для пользователя при использовании команды fax make, это выбор режима низкого разрешения -1.
$ fax make -1 /tmp/psfile
Вернемся к преобразованному ранее трехстраничному документу. Если необходимо' отправить третью страницу, за ней - первую, не отправляя вторую, используется следующая команда.
$ fax send /tmp/psfile.003 /tmp/psfile.001
Отправка факса с использованием печати
Хотя это замечательно - отправлять факсы с использованием специальной команды fax, -пользы от нее немного, если факсы приходится отправлять из таких приложений как Netscape, WordPerfect или Applix Words.
Примечание
Конечно, если имеется всего один модем, и он используется для навигации по Internet с Netscape, то отправить факс с помощью Netscape невозможно, поскольку модем используется для связи с Internet.
Рассмотрим, Netscape. Существует возможность печатать из Netscape в файл, получая в результате файл в формате PostScript. Но отправка такой страницы как факса связана с дополнительным действием - переключением в командную строку для отправки файла как факса.
К сожалению, передавать факс из Linux не так просто, как из Windows или приложений Macintosh, где этот процесс столь же прост, как печать документа.
Однако в Linux возможно создание специального печатающего устройства, которое будет использовать efax для отправки файла, распечатанного как факс.
Опишем этот процесс. В системе печати Ipd есть специальные фильтры для передаваемых документов. Если входной фильтр предназначен для очереди на печать, то файл, отправленный в очередь на печать, передается входному фильтру перед размещением в очереди. Если фильтр не возвращает никаких данных, а отправляет файл как факс, то этот файл никогда не поступит на принтер.
Для настройки очереди печати для печати на факс-модем необходимо выполнить три действия.
Эти действия выполняет пользователь root вашей системы.
Конфигурирование очереди на печать
Для настройки очереди на печать следует отредактировать файл /etc/printcap. local. После-перезапуска демона Line Printer Daemon (Ipd), эта информация будет включена в стандартный конфигурационный файл принтера /etc/printcap. Откройте файл /etc/printcap.local в каком-нибудь текстовом редакторе и добавьте следующие строки.
:if=/usr/bin/faxlpr:
Эти строки определяют имя очереди как fax, устанавливают каталог спулинга /var / spool / fax, снимают ограничения на размер задания mxttO, объявляют устройство принтера /dev/null и назначают входной фильтр /usr /bin/ f axlpr.
Примечание
Если вы используете только утилиту Apsfilter, описанную в гл. 18, и не будете использовать утилиту Printconf, описанную в гл. 15, можете редактировать непосредственно файл /etc/printcap.
Настройка сценария faxlpr
Программа fax - очень гибкий сценарий оболочки. Когда сценарий называется его обычным именем (fax), предполагается, что команда выполняется из командной строки и ведет себя соответственно. Если сценарий называется альтернативным именем (f axlpr), то предполагается, что сценарий будет запрашивать разрешение на отправку факса через очередь принтера Ipd.
Прежде всего, необходимо создать связь с конфигурационным файлом факса. Например, если это файл . ef ахгс в каталоге /home/mj, используйте команду:
$ In /home/irrj/.ef axrc /usr /bin/ f axlpr
Если файл . ef axrc в вашем базовом каталоге создан не был, можно непосредственно связаться с факсом:
$ In /usr/bin/fax /usr/bin/faxlpr
В завершение перезапустите демон Ipd. В Red Hat Linux 7.1 для этого используйте команд) /etc/re.d/init.d/lpd restart. Другие дистрибутивы могут хранить демон Ipd в другом каталоге.
Отправка факсов с использованием очереди на печать
После того, как соответствующие настройки установлены, можно отправлять первый факс с использованием системы Ipd. Аналогично печати файла по команде 1рг, можно отправить факсом текстовый файл или файл PostScript. Единственная особенность состоит в том, что следует использовать аргумент - J команды 1рг для указания номера телефона, по которому будет отправлен факс.
Например, если имеется файл /tmp/ test file, который надо отправить факсом по номеру 555-1212 при помощи очереди на печать с именем fax, можно использовать следующую команду.
$ Ipr -Pfax -J 5551212 /tnp/testfile
Демон Ipd проводит файл через входной фильтр (f axlpr), который пытается отправить факс. После этого f axlpr отправляет пользователю, передающему факс, сообщение e-mail с оповещением об успешном (или неудачном) завершении процесса.
Так можно печатать из любой программы, которая позволяет настроить опции команды Ipr и формирует вывод в формате PostScript (в том числе Netscape 6, WordPerfect for Linux и StarOffice).
Получение факсов
Получение факсов - это совсем несложный процесс. Получить факс можно тремя способами: вручную, автоматически по определенному входящему звонку или автоматически для всех входящих звонков.
Эта команда запускает программу fax, программа ожидает телефонный звонок и отвечает после второго гудка. Как и при использовании команды fax receive, входящий факс сохраняется в файле с именем, по умолчанию содержащим дату получения факса. Входящий факс можно просмотреть и распечатать командами fax view и fax print.
Автоматическое получение всех входящих факсов
Если факс-модем соединен с телефонной линией, по которой принимаются факсы, можно настроить программу efax для постоянного слежения за этой линией, не запрещая исходящих звонков.
Использование опции -w команды fax переводит команду в режим демона, ожидающего входящих звонков на факс-модем. Примером такой команды efax для указанной телефонной линии может служить:
$ efax -d /dev/modem -w -iSO=5
Ключ -d сообщает утилите efax имя файла устройства /dev/modem. Ключ -w заставляет efax ожидать запроса ("звонка", если речь идет о стандартных телефонных линиях США). Ключ -iSO задает для efax режим ожидания пяти (в данном примере) гудков перед снятием трубки.
Если необходимо, чтобы система принимала факсы все время, можно поместить команду наподобие efax -d /dev/modem -w -iSO=5 в файл автозапуска /etc/re.d/rc.local, чтобы этот демон запускался каждый раз при загрузке Linux.
Примечание
Место хранения файла автозапуска re. local в каждом дистрибутиве Linux свое.
Для прекращения работы демона используется команда $ efax stop
Демон будет уничтожен. Как только появится сообщение, что efax отключен, все автоматические ответы прекращаются.
Что дальше
Теперь вы знаете, как отправлять и получать факсы средствами системы Linux.
Следующая часть книги посвящена другой теме: использованию Linux в малых (или домашних) офисах (SOHO). Мы рассмотрим, как инсталлировать Linux в сетевое окружение и проверить основную сетевую конфигурацию. Будут описаны сервисы Linux, которые можно использовать в окружении SOHO, среди которых почтовый сервер, локальный Web-сервер, файл-сервер для сетей UNIX, Windows и Novell.
Глава 26 . Использование Linux в SOHO
В этой главе мы рассмотрим использование Linux на отдельной рабочей станции в небольшой фирме или на домашнем компьютере в качестве операционной системы для доступа к Internet, навигации по Web, работы с сообщениями e-mail и т.п.
Лучше всего Linux проявляет себя в мире сетей. Можно организовать небольшой офис с сетью из двух персональных компьютеров дома. Linux позволяет создать файл-сервер и сервер печати в практически любой сети. Можно организовать бизнес на основе технологий Intranet. Linux обеспечивает недорогую поддержку для ведения бизнеса в среде Intranet с помощью мощного Web-сервера и сервера баз данных.
Если необходимо соединить сеть персональных компьютеров с Internet, Linux может быть прекрасным маршрутизатором. Во многих случаях намного дешевле использовать компьютер под управлением Linux в качестве маршрутизатора, чем приобретать специальную аппаратуру для поддержки связи с внешним миром.
Если кажется, что компьютер под управлением Windows работает недостаточно эффективно или стабильно, возможно, имеет смысл поменять операционную систему дома или в сети офиса на Linux. Как операционная система рабочей станции Linux может решить многие проблемы. На компьютере, работающем под управлением Linux, можно запускать приложения Windows и Unix. Такой компьютер можно объединять в сеть с системами Unix, Windows и Novell и разделять файлы и данные, не беспокоясь о возможных сбоях.
В главе дан краткий обзор использования операционной системы Linux в малых или домашних офисах (называемых SOHO), где дорогие коммерческие решения экономически невыгодны.
Linux как файл-сервер
Как правило, в малых сетях необходим файл-сервер. Файл-сервер организует общее место для хранения данных, поддерживая разделение файлов, доступных всем пользователям, и обеспечивая централизованное создание резервных копий (следовательно, исчезает необходимость ежедневного создания резервных копий на каждой рабочей станции сети).
В сети Windows или Novell подобные задачи решаются одним из следующих способов.
Выделенные файл-серверы
Выделенный файл-сервер является системой, которая не используется в качестве рабочей станции, но настраивается как центральный файл-сервер сети. Пользователи различных рабочих станций или компьютеров сети могут получать доступ к каталогам на файл-сервере так, как если бы эти каталоги или дисковое пространство находились на их собственных компьютерах.
Выделенные файл-серверы предоставляют преимущество централизованного управления разделяемыми данными и возможности резервного копирования. Стоимость сети с таким сервером выше, чем стоимость одноранговой сети. Выделенные файл-серверы обеспечивают эффективное управление доступом к конфиденциальным, системным или разделяемым данным, гарантируя, что несанкционированный пользователь не сможет получить доступ к информации.
Linux идеален для использования в качестве дешевого файл-сервера небольшой сети. Linux может работать как файл-сервер для сетей Unix, Windows и Novell, причем это будет легко управляемый универсальный файл-сервер для сети, содержащей различные типы компьютеров и рабочих станций. Кроме того, стабильность и подлинная многозадачность Linux делают его наилучшим выборам, по сравнению с некоторыми другими хорошо известными системами (такими как Windows 95/98/Ме), когда необходимо устойчивое решение для файл-сервера.
В гл. 29 рассмотрено, как настроить файл-сервер под управлением Linux.
Разделение файлов в одноранговой сети
В одноранговой сети нет центрального файл-сервера. Каждый пользователь определяет каталог или логический диск на своем персональном компьютере, который будет разделяться между пользователями сети, и указывает уровень доступа к данным. В таком случае каждая рабочая станция или компьютер сети становится небольшим файл-сервером.
Наряду с гибкостью этого подхода - пользователи сами решают, какие данные и с кем будут совместно использоваться - существуют также и недостатки. Во-первых, это отсутствие централизованного управления разделением файлов и политики управления доступом. Во-вторых, отсутствие централизованного места хранения для резервирования важных данных. И последнее: снижение эффективности рабочей станции, когда другие пользователи сети обращаются за файлами на данном компьютере.
Поскольку Linux может одновременно использоваться сетями различных типов, то он может функционировать как одноранговый файл-сервер. Кроме того, истинная многозадачность Linux делает менее ощутимым снижение эффективности в те моменты, когда многие пользователи обращаются к файлам компьютера, используемого для другой работы.
Низкая стоимость установки выделенного файл-сервера на базе Linux для небольших сетей делает выделенный файл-сервер более привлекательным из-за централизованного управления ресурсами и резервирования данных.
Linux как сервер печати
Серверы печати, как и файл-серверы, являются компонентами сети. Часто выделенный файл-сервер выполняет функции сервера печати в сети.
Не является редкостью одновременное обеспечение сервиса печати и в централизованном, выделенном режиме, и в одноранговом виде на той же сети. Пользователи, которые часто используют принтер, могут иметь собственные принтеры на рабочих станциях. Пользователи, которые обращаются к принтерам редко, могут разделять общий принтер. Часто пользователь с выделенным принтером разделяет его в сети так, что остальные пользователи могут печатать документы, предназначенные для его внимания, непосредственно на выделенном принтере, а не на принтере общего пользования.
Linux поддерживает множество принтеров, в том числе большинство PostScript и HP-совместимых PCL-принтеров. Кроме того, опции Linux для разделения принтеров предоставляют возможность разделения принтеров в сетях Unix/Linux, Windows и Novell.
Настройка Linux как сервера печати рассмотрена в гл. 29.
Linux как сервер баз данных
Подобно большинству платформ Unix, для Linux имеется широкий выбор некоммерческих пакетов баз данных, включая PostgreSQL и mSQL.
В 1998 г. основные разработчики коммерческих баз данных придали дополнительное ускорение рынку баз данных, анонсировав и реализовав версии своих продуктов для Linux. Например:
Если раньше Linux обеспечивал лишь эффективную альтернативу для файл-сервера и Web-сервера организации, то теперь Linux может разворачиваться как устойчивая, масштабируемая платформа для баз данных организации с применением стандартных систем реляционных баз данных.
Сочетание поддержки баз данных в Linux с Web-сервером, работающим под управлением Linux, позволяет рассматривать эту операционную систему как завершенное решение для Intranet-сервера.
Linux как сервер Intranet
Если следить за современным направлением развития компьютерных технологий, то несомненное внимание обращают на себя сети Intranet: внутренние корпоративные сети, которые используют технологии Internet, такие как TCP/IP, Web-браузеры и электронную почту Internet, для разделения информации и приложений внутри организации.
Сетям Intranet, их аппаратному и программному обеспечению посвящено множество статей. Технологии Intranet представляются дорогими, подходящими лишь для больших корпораций. Это не соответствует истине.
Даже в малых офисах сеть Intranet обеспечивает публикацию информации, которую могут получать все служащие через Web-браузер. В скором будущем некоторые бумажные документы в офисе будут преобразованы в электронные Web-формы: от просьб о разрешении на уход с работы до серьезных отчетов о расходах.
Если в организации имеются небольшие базы данных, каждая из которых испрльзуется ежедневно различными пользователями, Intranet может обеспечить общие средства для случайных пользователей данных. Эти пользователи могут получить информацию из базы данных, но не будут иметь инструментов для полного доступа - для создания, поддержки и модификации данных. При интеграции базы данных с Web-сервером Intranet для формирования запросов к данным можно использовать Web-формы.
Linux, предлагая богатство мощных и гибких Web-серверов наряду с полнофункциональными реляционными базами данных, обеспечивает создание Intranet-сервера без больших затрат, необходимых для разворачивания Windows NT/2000, коммерческих баз данных, таких как Oracle, и дорогих инструментов интеграции баз данных Web. Существуют даже некоторые свободно распространяемые инструменты для Linux, которые облегчают создание программ для Intranet и приложений, позволяющих использовать корпоративную базу данных.
В гл. 32 рассмотрены основы разработки и поддержки сервера Intranet под Linux.
Linux как сервер приложений
По своей природе Linux предназначен для работы в качестве файл-сервера, сервера печати или сервера Intranet и является полнофункциональным сервером приложений. При работе с сервером приложений, приложения в действительности выполняются на сервере и лишь отображаются на терминале или рабочей станции, используя протокол X Windows или связь с терминалом, например Telnet. В типичных сетях Windows приложения выполняются на рабочей станции, а данные сохраняются на сервере и передаются с сервера на рабочую станцию.
Централизованное выполнение ряда приложений более эффективно. Кроме того, сервер приложений позволяет легко осуществлять контроль за работой программ. В сетях Windows или Novell система под управлением Linux может работать как сервер приложений, выполняя следующие функции.
Если Х-сервер инсталлирован на рабочей станции под управлением Windows, можно осуществлять централизованное управление приложениями X Windows с рабочей станции, в то время как сами приложения выполняются на сервере приложений Linux.
Linux поддерживает развитые сети с графическим интерфейсом пользователя (GUI) без программного обеспечения Windows 95/98/Ме или NT/2000. Подобное решение представляет интерес для организаций с небольшим бюджетом. Например, автор развернул сеть из 10 рабочих станций, работающих исключительно под Linux. Рабочие станции представляли собой машины типа IBM PC AT 486 с 8 Мбайт RAM. Запуск Windows с Microsoft Office на таких компьютерах был проблематичным, а стоимость необходимого лицензионного программного обеспечения составила бы более 300 $ на рабочую станцию.
Но с Linux на старом аппаратном обеспечении эти системы могут работать как простые X-терминалы, отображая приложения, которые выполняются на единственном сервере приложений. В этом случае сервером приложений может быть система Pentium 200 МГц с 96 Мбайт RAM. Единственное, за что надо заплатить в лицензионном программном обеспечении, - это офисный пакет программ Unix для того количества-дюльзователей, которые будут его использовать.
Сеть, подобная этой, может организовать эффективную работу пользователя, подобно системе Pentium с 32 Мбайт RAM под управлением Windows 95/98/Ме. Все управление программным обеспечением, счетами пользователя, резервированием данных и сопровождением системы может выполняться централизованно на одном или двух серверах.
Конечно, это решение подразумевает основное стратегическое правило: не использовать популярные приложения Windows. Когда существенна стоимость или недоступны современные аппаратные решения, Linux становится сильным кандидатом для организации распределенной компьютерной платформы.
Linux как маршрутизатор
Концепция маршрутизации проста: когда необходимо соединить две или более сети используется маршрутизатор - устройство, которое делает возможным общение между этими сетями.
Маршрутизаторы представлены самыми разными типами и размерами, от программных средств маршрутизации, выполняемых на серверах Windows NT/2000, до аппаратных платформ маршрутизации от известных производителей, например, фирмы Cisco. Маршрутизаторы могут соединять сети различными способами, используя ряд технологий - от обычных модемов и сетевых карт Ethernet и до соединений ISDN.
Рассмотрим пример: офис с небольшой сетью, которая соединена с Internet посредством высокоскоростного соединения, наподобие DSL или кабельного модема. Небольшая компания имеет одно высокоскоростное соединение с Internet, но сеть из двух или более компьютеров разделяет связь между пользователями.
Маршрутизатор в этой ситуации поддерживает единственное соединение Ethernet с локальной сетью и высокоскоростное соединение с телефонной линией. Все компьютеры в сети отправляют пакеты маршрутизатору. Маршрутизатор решает - адресован ли пакет в другую точку такой сети.
Все локальные пакеты отправляются маршрутизатором через Ethernet-соединение в локальную сеть. Если пакет адресован во внешний мир, информация сразу же отправляется. Поскольку речь идет о постоянном подключении, пакеты не ожидают, пока модем подключится к Internet.
Типичная маршрутизация подразумевает соединение двух отдельных сетей Ethernet через маршрутизатор, который имеет два или более соединений Ethernet (рис. 26.2). Базовая конфигурация высокоскоростных сетей, таких как Fast Ethernet (100 Мбит/с), Gigabit Ethernet (1000 Мбит/с) или Asynchronous Transfer Mode (155 Мбит/с и более) аналогична.
Linux имеет все необходимое для того, чтобы работать как маршрутизатор.
Фактически, для небольших Ethernet-Ethernet взаимодействий или для маршрутизации Ethernet-высокоскоростное соединение с Internet, решения, основанные на Linux, значительно дешевле, чем специализированные аппаратные маршрутизаторы. При правильной настройке маршрутизация Linux будет функционировать надежно.
Использование Linux как маршрутизатора рассмотрено в гл. 31.
Linux как рабочая станция
И последнее направление использования Linux в небольшом офисе - операционная система рабочей станции. Если ваше любимое офисное приложение существует в версии для работы под Linux, то рабочая станция под управлением Linux обеспечит следующие преимущества.
Если не думать о финансах, то высокопроизводительные рабочие станции Linux часто составляют конкуренцию по быстродействию более дорогим системам Windows. Linux поддерживает одноранговые сети, более устойчивые и часто более производительные, по сравнению со многими системами, особенно с системами Windows 95/98/Ме.
Linux позволяет системам на базе устаревшего аппаратного обеспечения, которые не могут работать с современным программным обеспечением Windows, стать вполне работоспособными X-терминалами. При этом обеспечивается производительность устаревшего аппаратного обеспечения рабочих станций на уровне близком к малым Pentium-системам.
Что дальше
В этой главе кратко описано, как используется Linux дома и в сетях небольших офисов. В следующих главах эта тема рассмотрена подробнее. Начнем с изучения того, как инсталлировать Linux в сетевой среде Ethernet, перейдем к изучению различных возможностей Linux - как
файл-сервера, сервера печати, маршрутизатора и сервера Intranet. Рассмотрим методы администрирования системы, которые можно использовать для большинства офисных систем Linux. Гл. 27 посвящена отдельным моментам инсталляции Linux в сетевой среде.
Глава 27 . Инсталляция Linux Red Hat 7.1 для SOHO
В этой главе мы перейдем от рассмотрения принципов, которые относятся к Linux как к изолированной домашней рабочей станции, к исследованию другого типичного применения Linux: в качестве операционной системы рабочей станции или сервера в локальной вычислительной сети (ЛВС).
Linux играет все более важную роль в небольшом офисе (SOHO), обеспечивая поддержку корпоративных сетевых решений, используя часть от стоимости коммерческих решений под управлением Unix.
Операционная система Linux легко настраивается для работы с большинством ЛВС. Система имеет широкий спектр инструментов, включая Web-серверы, почтовые серверы, серверы новостей и другие неотъемлемые компоненты Intranet.
Выбор пакетов для инсталляции ЛВС
Выбор программного обеспечения, устанавливаемого на сетевую систему под управлением Linux, играет важную роль при конфигурировании сети.
Если невозможно установить полный комплект программного обеспечения Red Hat Linux 7.1 на компьютер (см. гл. 4), следует внимательно ознакомиться с основными принципами выбора пакетов для инсталляции, приведенными в табл. 27.1.
Перечисленные для каждого типа системы пакеты не являются обязательными; например, нет необходимости устанавливать серверный пакет NFS, если это единственный Unix/Linux-компьютер в вашей сети. На практике пакеты сторонних изготовителей могут создавать дыры в системе защиты; например, если вы установили NFS, но не используете, посторонний пользователь может попытаться проникнуть в вашу систему через NFS.
Конфигурирование поддержки сети при инсталляции
В процессе инсталляции Linux предоставляется возможность конфигурировать поддержку ЛВС для системы Linux. В гл. 28 показано, как настроить существующую систему Linux для работы в сети, но выполнить такую настройку совсем просто еще при инсталляции.
Для конфигурирования и эксплуатации ЛВС на вашем компьютере должен быть установлен сетевой адаптер еще до установки Linux. Это важно, поскольку инсталляционная программа будет пытаться установить контакт с адаптером в ходе конфигурирования сети.
Табл. 27.1. Предлагаемые пакеты для различных типов сетевых инсталляций
Тип системы |
Пакеты для инсталляции |
Сетевая рабочая станция |
Mail/WWW/News tools Networked workstation NFS server (для соединения с другими Unix/Linux-компьютерами в вашей сети) SMB (Samba) connectivity (для соединения с Windows-компьютерами в вашей сети) |
Сетевая управляющая рабочая станция Сервер сети |
Все для сетевой рабочей станции плюс: IPX/NetWare connectivity (если вы подсоединяетесь к сети Novell или сети, использующей протоколы Novell) Network management workstation Все для сетевой рабочей станции плюс: |
|
Anonymous FTP/Gopher server |
|
Print server (предполагается, что принтер подключен к даннрму компьютеру) |
|
News server (если необходимо реализовать рассылку новостей в вашей сети) |
|
Web server (если необходимо обслуживать Web-страницы с этого компьютера) |
|
ApacheDNS nameserver (если в вашей сети более десяти компьютеров) |
|
PostgreSQL server (если необходима поддержка базы данных в вашей сети) |
Возможность конфигурировать сетевое окружение имеется всегда, независимо от того, какой носитель выбран для инсталляции (CD-ROM, раздел жесткого диска или сетевой диск). Обычно выбирается опция конфигурирования сети после инсталляции файлов Linux. В гл. 4 мы рекомендовали не настраивать поддержку локальной сети при инсталляции системы. В Red Hat Linux 7.1 вы можете сконфигурировать подключение вашего компьютера к ЛВС в ходе инсталляции. Если инсталлятор распознал сетевую карту, на экране появится окно, показанное на рис. 21 Л.
Примечание
Большая часть инсрормации, необходимой при конфигурировании сети, приведена в гл. 21 и 28. В этих главах можно найти определения таких терминов, как IP-адрес, маска сети и сервер имен.
В окне, изображенном на рис. 27.1, видны три области, соответствующие трем базовым шагам конфигурирования компьютера в ЛВС Linux. Рассмотрим их подробнее.
Выбираем сетевую интерфейсную плату
Большинство современных Linux-дистрибутивов, включая Red Hat Linux 7.1, распознает практически любые сетевые платы. Когда Linux распознает сетевую карту, он назначает ей имя, в данном случае, eth0. демонстрирует одну сетевую плату. Если у вас их больше, то в окне будет более одной вкладки, с именами, наподобие eth1, eth2 и т.д.
Основы сетевого конфигурирования
В ходе установки сетевой конфигурации можно воспользоваться одним из двух методов. Можно сделать все вручную или адресовать свой компьютер серверу, который выполнит все конфигурирование автоматически.
Если ваша сеть уже подключена к DHCP-серверу, то автоматическое конфигурирование проще. В окне, изображенном на рис. 27.1, необходимо только выбрать опцию Configure Using DHCP (Конфигурировать, используя DHCP). Linux, обратившись к DHCF, установит для выбранной сетевой платы все необходимые конфигурационные параметры, включая IP-адрес и IP-адрес шлюза и DNS-сервсра.
Но если вы не знаете, доступен ли DHCP-сервер, то вам придется установить IP-адрес вручную, как описано ниже.
Примечание
Некоторые дистрибутивы Linux располагают опцией конфигурирования, разрешающей использовать протокол ВООТР. Этот протокол позволяет DHCP-серверу, расположенному вне вашей сети задать сетевые параметры вашего компьютера.
Ручное конфигурирование адресов сети
При конфигурировании настроек сети вручную необходимо работать с двумя.группами параметров. Во-первых, необходимо установить базовый контакт между вашим компьютером и другими компьютерами сети. Затем можно установить связь между вашим компьютером и внешними сетями.
Первая часть процедуры ручного конфигурирования сети сводится к заданию IP-адреса. Но сам по себе IР-адрес не достаточен для построения конфигурации; необходим также сетевой адрес и сетевая маска для идентификации вашей сети компьютерами, расположенными вне вашей сети.
Чтобы дать возможность вашему компьютеру распознавать другие компьютеры вашей сети, также необходим широковещательный IP-адрес. На рис. 27.1 соответствующие опции называются так:
Если не имеется точной информации, уточните ее у администратора сети или провайдера ISP. Следует позаботиться о том, чтобы назначаемые IP-адреса не совпадали с уже использованными для другого компьютера. Более подробные сведения об IP-адресации приведены в гл. 21 (особенно см. раздел, касающийся IP version 4 (IPv4)).
Ручное конфигурирование сети
Для любого соединения локальной сети с Internet необходима информация о шлюзе по умолчанию и первичном сервере имен. Для изолированных сетей эти данные необязательны, и поля могут остаться пустыми (если администратор сети не возражает).
Во второй группе данных указывают дополнительную информацию по конфигурации сети:
Примечание
Некоторые дистрибутивы Linux также запрашивают имя домена в ходе инсталляции. В качестве примеров таких имен можно привести Sybex.com, linux.net и mommabears.com. Не используйте стандартное имя домена, если вы не являетесь его владельцем.
Примечание
DNS-серверы в Linux часто называют серверами имен.
После завершения работы с данными окнами можно считать, что сеть инсталлирована и сконфигурирована. Перезагрузив систему, проверьте корректность настроек при работе в ЛВС.
Инсталляция по сети
Если система подключена к локальной сети на протяжении процесса инсталляции, то инсталлировать Red Hat Linux 7.1 можно с источника, находящегося на сервере сети. Далее рассмотрены примеры инсталляции с NFS, инсталляции с FTP и даже с Web (HTTP) сервера.
Для инсталляции по сети необходим загрузочный диск, отличный от того, который использовался в гл. 4. Такой загрузочный диск создается с помощью файла образа диска bootnet. img в каталоге images Red Hat Linux 7.1 CD-ROM. Создание загрузочного диска с Linux CD-ROM описано в гл. З. Загрузив компьютер с диска bootnet. img, вы попадаете в диалоговое окно, отличное от описанного выше.
Другие дистрибутивы Linux хранят аналогичные дисковые образы на установочных дисках CD-ROM. Некоторые дистрибутивы Linux даже не требуют такого загрузочного диска; сетевая инсталляция у них считается одним из вариантов инсталляции, выбираемым после загрузки с дистрибутива CD-ROM.
Инсталляция с NFS
Образы дисков в сети Unix/Linux, как правило, находятся на сервере NFS (Network File System -Сетевая файловая система), который используется для общих ресурсов в операционных системах Unix и Linux.
Если установочные файлы CD-ROM Red Hat Linux 7.1 доступны с сервера NFS сети, можно использовать загрузочный инсталляционный диск, чтобы инсталлировать с этого источника.
Для выполнения инсталляции с NFS-сервера, необходимо указать сетевой адрес, как описано ранее. Эту операцию можно автоматизировать, если в вашей сети есть DHCP-сервер.
Если ваш компьютер конфигурируется для работы в вашей сети, необходимо идентифицировать NFS-сервер, хрзнящий инсталляционные файлы Linux, которые нужны для установки.
Соответствующее диалоговое окно Red Hat Linux 7.1. В нем необходимо вести два параметра: IP-адрес (или имя хоста) NFS-сервера и путь к каталогу, хранящему инсталляционные файлы Red Hat Linux 7.1.
Например, если CD-ROM Red Hat Linux 7.1 монтирован на сервере NFS в /mnt/cdrom и IP-адрес сервера NFS 10.10.10.1, необходимо ввести 10.10.10 .1 как имя сервера NFS и /mnt/cdrom как каталог Red Hat.
Далее процедура инсталляции аналогична инсталляции с локального устройства CD-ROM.
Инсталляция с FTP
Как альтернативный способ, можно запускать процесс инсталляции Linux с FTP-сервера. При использовании этой возможности имеется два выбора.
Если вы хотите выполнять FTP-инсталляцию, следует выбрать опцию FTP в окне. Затем следует задать ваш сетевой адрес, как описано выше. Эту операцию можно автоматизировать, если в вашей сети есть DHCP-сервер.
Когда сеть сконфигурирована, будет выведено окно FTP Setup. В этом окне следует ввести три порции информации.
FTP Site Name (Имя FTP-узла)— имя FTP-сервера, который планируется использовать. Если инсталляция проводится с Red Hat FTP-сервера, введите ftp , reflhat, com.
Red Hat Directory (Red Hat каталог) - каталог FTP-сервера, в котором находятся исходные файлы Red Hat. Чтобы инсталлировать Red Hat Linux 7.1 с FTP-сервера, хранящею инсталляционные файлы в каталоге /pub/mirrors/redhat/i386/RedHat, укажите /pub/mirrors/redhat/1386, (Обратите внимание, что завершающее имя "RedHat" опущено).
Use Non-Anonymous FTP or Proxy (Использовать неанонимный FTP-доступ или Proxy). Данную опцию следует выбрать, если необходимо использовать пароль для входа на выбранный FTP-Сервер. Выбрав эту опцию, вам придется вести имя и пароль, используемые для неанонимного доступа к РТР-серверу.
Инсталляция с Web-cepeepa
Некоторые прокси-серверы ire разрешают доступ к FTP, но допускают обращение к Web-серверам, используя HTTP. Некоторые пользователи считают, что процедура загрузки необходимой для установки Linux информации с Web-сервера значительно проще.
Примечание
Если у вас нет быстрого выделенного подключения к Internet, лучше не пытаться выполнить инсталляцию с HTTP-сервера Internet. Такая инсталляция может занять несколько дней Любое прерывание процедуры может потребовать повторного запуска всей инсталляции с самого начала.
Чтобы выполнить HTTP-инсталляцию, следует выбрать опцию HTTP в диалоговом окне. Затем следует задать ваш сетевой адрес, как описано выше. Эту операцию можно автоматизировать, если в вашей сети есть DHCP-сервер.
Далее появляется диалоговое окно установки HTTP Setup. В этом окне следует задать адрес сайта, с которого вы собираетесь загрузить инсталляционные файлы Linux и соответствующий каталог.
Например, пусть инсталляционные файлы Red Hat Linux 7.1 расположены на HTTP-сервере в каталоге /pub/mirrors/redhat/1386/RedHat. Предположим также, что HTTP-сервер имеет имя www. redhafc. com. В этом случае необходимо ввести www. redhat. com в качестве имени сайта в поле Web Site Name и /pub/mirrors/redhat/1386 в качестве имени каталога в поле Red Hat Directory.
Далее процесс инсталляции не отличается от инсталляции с локального дистрибутива CD-ROM.
Что дальше
После инсталляции сетевого варианта системы Linux, можно перейти к деталям конфигурирования Ethernet под Linux. Эта информация позволит инсталлировать существующую вне сети систему Linux в локальную сеть Ethernet или, если необходимо, изменить конфигурацию существующей сети.
Оставшаяся часть книги посвящена месту Linux в малых сетях Intranet. Мы рассмотрим следующие вопросы.
Глава 28 . Конфигурирование Linux Red Hat 7.1 для сети Ethernet
В гл. 27 мы описали процесс инсталляции Linux и подключение компьютера, работающего под управлением Linux, к сети TCP/IP Ethernet в процессе инсталляции. Мы также рассмотрели основные этапы конфигурирования сетевой платы во время инсталляции Linux.
В этой главе рассмотрено, как конфигурировать уже инсталлированную систему Linux для работы в сети Linux. Мы изучим процесс подготовки персонального компьютера к работе в сети, конфигурирование и тестирование сети.
Примечание
Сеть Ethernet, более корректно обозначаемая как сеть стандартов IEEE 802.2 и 802.3, это только один из наиболее популярных представителей огромного мира сетевых технологий. Можно сконфигурировать Linux для работы с другими сетевыми стандартами, включая Token Ring, ARCNet, Fast Ethernet, Gigabit Ethernet, и Asynchronous Transfer Mode (ATM). Несмотря на различия между ними, процедура инсталляции практически одна и та же, если выполнять установку из командной строки. Дополнительная информация (в особенности о различных Ethernet-опциях и об ATM) доступна во втором разделе документа Ethernet-HOWTO, расположенного ПО адресу http://www.linuxdoc.org/HOWTO/Ethernet-HOWTO-2.html .
Эта глава ориентирована на использование традиционных сетевых команд ядра Linux 2.2.x, доступных также и в Red Hat Linux 7.1. В ядре Linux 2.4 предусмотрен ряд новых сетевых команд. Дополнительные сведения по этому вопросу приведены в документе Linux 2.4 Networking HOWTO, расположенном по адресу http: //www. ds9a.nl/2.4Networking/HOWTO//cvs/ 2.4routing/output/2.4networking.html.
Подготовка и конфигурирование сети
Существует две важных задачи, которые необходимо решить до начала работы в сети.
В главе рассмотрены возможности конфигурирования операционной системы Linux после ее инсталляции. Изложенный материал может использоваться при подключении к сети новых персональных компьютеров или для изменения текущей конфигурации компьютеров, уже работающих в сети.
Инсталляция и настройка сетевой платы
Процесс инсталляции и настройки сетевой платы зависит от типа самой платы. В гл. 27 приведена информация, которая поможет вам выбрать и правильно сконфигурировать плату. После выбора платы (предполагается, что читатель выбрал плату класса Novell-equivalent 2000, обычно используемую по умолчанию для большинства "no name" Ethernet-плат) необходимо установить аппаратное обеспечение в соответствии с инструкциями по штате. После этого в некоторых случаях нужно перезапустить компьютер и загрузить Linux (для загрузки драйвера). В ряде случаев Red Hat Linux 7.1 автоматически распознает, конфигурирует и устанавливает сетевую.плату. Чтобы определить, активна ли сетевая плата, перейдите в режим корневого пользователя и запустите команду /sbin/if conf ig. Если результат подобен следующему
eth0 Link encap:Ethernet HWaddr 00:50:56:85:00:23
inet addr:192.168.0.135 Beast:192.168.0.255
Mask:255.255.255.0 UP BROADCAST
RUNNING MULTICAST MTU:1500 Metric:!
RX packets:50 errors:0 dropped:0.
overruns:0 frame:0 TX packets:0
errors:0 dropped:0 overruns:0 carrier:0 collisions:0
txqueuelen:100 Interrupt:9 Base address:0x1000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:!
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions :0 txgueuelen: 0
значит, Linux имеет одну сетевую Ethernet-плату (ethO) и петлю обратной связи (1о). которые корректно установлены. В остальной части главы приведены сведения об инструментарии, который поможет вам управлять сетевой платой.
Если вы установили сетевую плату, но сведения о ethO на экран не выведены, значит Linux не распознал сетевую плату. Кроме того, если у вас не одна сетевая плата, а сведения выведены только о eth0, значит Linux не распознал остальные платы. Ниже в этой главе описано, как установить и сконфигурировать сетевые платы.
Примечание
Мы предполагаем, что используется сетевая Ethernet-плата. Другие сетевые платы обозначаются иначе, например, первая ARCNet-плата будет обозначена агсо.
Если Linux не распознал вашу сетевую плату автоматически, соответствующие указания вампсридется дать вручную. Начните с запуска Linuxconf. Эту утилиту можно запустить из командной строки, введя в окне xterm в ответ на подсказку команду:
$ linuxconf-auth
Если вы не корневой пользователь, Red Hat Linux 7.1 запросит перед запуском Linuxconf корневой пароль. Если Linux не поймет команды, значит утилита не установлена, и ее следует установить (см. главу 15).
Запустив Linuxconf, перейдите в раздел NetworkinglClient TaskslHost Name And IP Network Devices (Сеть|Клиентские задачи|Имя хоста и адреса сетевых устройств). Вы увидите окно, подобное показанному на рис. 28.1.
Раздел Host Name And IP Devices (Имя хоста и адреса сетевых устройств) в этой версии утилиты Linuxconf включает шесть вкладок. Вкладка Host Name (Имя хоста) задает имя хоста, ассоциируемое с вашим компьютером. Пять других вкладок позволяют сконфигурировать сетевые платы и адаптеры.
Рис. 28.1. Окно сетевого конфигурирования Linuxconf
Одна из типичных проблем - обнаружение второй сетевой платы. Если вы хотите использовать компьютер для работы одновременно в двух разных сетях, то вам потребуется две сетевые платы. Щелкните на вкладке Adaptor 1 (Адаптер 1). Если Linux распознал первую сетевую плату, соответствующие конфигурационные сведения будут выведены на этой вкладке. Для конфигурирования второй платы щелкните на вкладке Adaptor 2 (Адаптер 2). Допустим, что она пуста, как показано на рис. 28.2.
Рис. 28.2. Добавление сетевой платы
Здесь расположен ряд параметров конфигурации сетевой платы. Некоторые существенны для работы адаптера, другие - нет:
Enabled (Включен). Установите этот флажок для активизации платы.
Config Mode (Режим конфигурирования). Если в вашей сети нет DHCP-сервера, выберите Manual (Ручной). Если в локальной сети есть DHCP-сервер, выберите опцию Dhcp, чтобы дать серверу возможность сконфигурировать вашу плату. Если DHCP-сервер расположен в смежной сети, выберите опцию Bootp, чтобы дать серверу возможность сконфигурировать вашу плату.
Primary Name + Domain (Первичное имя и домен). Введите имя вашего компьютера и его домен. Например, если имя вашего компьютера linuxVl в сети mommabears.com, введите linux71. moramabears . com в это поле. Но это поле можно оставить пустым и задать соответствующие параметры позже в файле /etc/hosts.
Aliases (Алиасы). Если у вашего компьютера кроме имени есть и псевдонимы, введите их в это поле. Если псевдонимов несколько, они разделяются пробелом.
IP Address (IP-адреса). В гл. 21 мы выяснили, что IP-адрес состоит из четырех чисел, каждое из диапазона от 0 до 255, разделенных точками. Если в опции режима конфигурирования выбран режим Manual (Ручной), введите IP-адрес этой сетевой платы в данное поле.
Netmask (Сетевая маска). Сетевая маска. Несмотря на метку "opt", сетевую маску придется задавать для каждой сетевой платы. В гл. 21 мы выяснили, что сетевые маски позволяют компьютеру определить, какие еще компьютеры подключены к локальной сети. В разворачивающемся меню представлен ряд типовых сетевых масок.
Net Device (Имя адаптера). Имя, которое Linux использует для данной сетевой платы. В Ethernet-сети, сетевые платы именуются eth0, ethl, eth2 и т. д. В данном случае речь идет о второй сетевой Ethernet-плате (ethl).
Kernel Module (Драйвер). Здесь задается драйвер, используемый для управления этой сетевой платой. В разворачивающемся меню приведен список драйверов. Если нужный драйвер там отсутствует, и он установлен в каталоге /lib/modules/2 . 4 . 2-2/kernel/drivers/net (или подкаталогах этого каталога), можно ввести имя соответствующего модуля в данное поле. Можно оставить это поле пустым и использовать команду insmod, описанную ниже.
Совет
Если вы не знаете, какой модуль драйвера нужен для вашей платы, обратитесь к документу Ethernet-HOWTO по адресу http://www.linuxdoc.org/HOWTO/Ethernet-HOWTO.html . Необходимые сведения также могут находиться на драйверных дисках сетевой платы и/или на Web-странице ее изготовителя.
I/O Port (Порт ввода/вывода). Адрес ввода/вывода, приписываемый сетевой плате. Red Hat Linux 7.1 обычно задает соответствующий адрес автоматически. Если при последующем конфигурировании появляются проблемы, задайте в этом поле стандартный адрес ввода-вывода данной сетевой платы.
Irq (Код прерывания). Номер прерывания, приписываемый данной сетевой плате. Red Hat Linux 7.1 обычно задает соответствующий номер автоматически. Если при последующем конфигурировании появляются проблемы, задайте в этом поле стандартный IRQ-номер данной сетевой платы.
Задав необходимые значения в полях этой вкладки, можно переходить к тестированию. Щелкните на кнопке Accept (Применить), расположенной в нижней части вкладки, а затем выберите в левом верхнем углу окна Linuxconf в меню File (Файл) команду Act/Changes (Изменить).
Когда появится диалоговое окно Status Of The System (Состояние системы), показанное на рис. 28.3, Linuxconf сообщит, что необходимо для реализации заданной конфигурации. В данном примере, утилита предлагает выполнить перезапуск сетевого демона и повторно загрузить файлы конфигурации. Щелкните на кнопке Do It (Выполнить), чтобы соответствующие операции были отработаны.
Рис. 28.3. Linuxconf активизирует изменения конфигурации
Повторно выполните команду /sbin/ifconf ig, которую мы рассматривали выше. Если теперь Linux распознает вашу сетевую плату, продолжайте читать главу, чтобы ознакомиться со средствами обслуживания сети.
Проверка загрузки модулей
Проверка конфигурации - не самая простая задача. Пока в сети не выполнена работа, описанная в следующем параграфе, определить, корректно ли сконфигурирована плата Ethernet, невозможно. Но можно вручную проверить загрузку модуля командой insmod, чтобы установить загружаемый модуль ядра.
Пользователь root в командной строке консоли или в окне xterm должен изменить текущий каталог на следующий:
$ cd /lib/modules/2.4.2-2/kernel/drivers/net/
Эта команда предполагает, что Red Hat Linux 7.1 инсталлирован с дистрибутива, прилагаемого к книге, и обновление ядра не проводилось. Тогда версия ядра будет 2.4.2-2 - как и отражено в наименовании каталога.
В указанном каталоге загрузите желаемый модуль (в нашем случае - для серии плат Novell) командой insmod.
$ insmod ne.o
Обратите внимание: имя файла этого модуля имеет расширение . о.
При правильном конфигурировании загружается драйвер платы и генерирует ряд сообщений. Эти сообщения для драйвера платы Зс59х будут примерно следующими:
3c59x.c:v0.46C 10/14/97 Donald Becker
http://eesdis.gsfc.nasa.gov/linux/drivers/vortex.html loading device 'ethO
etho: 3Com 3c905 Boomerang 100baseTx at 0x1440,
00:60:08:71:ad:8c, IRQ 111 8k word-wide RAM 3:5 Rx:Tx split,
autoselect/MII interface.
eth0: MII transceiver found at address 24.
eth0: Overriding PCI latency timer (CFLT) setting of 64, new value is 248.
Но они могут быть и совсем простыми:
Using /lib/modules/2.4.2-2/kernel/drivers/net/pcnet32.о
Если ошибки не появились, значит модуль успешно загружен и плата правильно сконфигурирована. В случае выявления проблем конфигурирования обратитесь к Ethernet HOWTO на странице
http://www.linuxdoc.org/HOWTO/Ethernet-HOWTO.html .
Установка параметров TCP/IP
Следующий этап - установка параметров TCP/IP при помощи утилиты конфигурирования сети. Чтобы его выполнить, откройте окно терминала, перейдите в режим корневого пользователя, и введите команду:
$ netcfg
В результате будет открыто окно конфигурирования сети, как показано на рис. 28.4.
Рис. 28.4. Диалоговое окно конфигурирования сети Network Configurator
В этом окне следует задать системную информацию о сети, к которой присоединен компьютер. Это следующая информация.
Примечание
Если создается соединение с существующей сетью, большую часть необходимой информации можно получить у администратора сети. Если же планируется развернуть новую сеть, то вам будет полезно ознакомиться с основами работы в сетях TCP/IP и этапами проектирования сетей.
Неплохим источником сведений по этому вопросу является руководство Linux Network Administrator's Guide, доступное ПО адресу http : / /WWW. linuxdoc.org/LDP/nag2.
Установка имен
Первое действие - конфигурирование имени компьютера и сервера имен. Эта операция выполняется на панели Names (Имена), которая появляется по умолчанию при открытии диалогового окна конфигурирования сети. На рис. 28.4. показана именно эта панель. В панели Names необходимо ввести три основных параметра.
Полное имя компьютера: имя компьютера плюс полное имя домена. Оно должно быть уникальным в сети
Домен, в котором установлен компьютер. Например, если полное доменное имя вашего компьютера linuxl. Sybex. com, то имя домена сети Sybex. com. Доменное имя не является необходимым, в частности, для компьютеров в локальной сети, которые не являются Internet-серверами, например, Web-серверами.
Серверы имен: список компьютеров (по одному в строке), обеспечивающих сервис доменных имен в сети. Сервис доменных имен позволяет осуществлять поиск во внутренних и внешних сетях (например, Internet) имен систем, не используемых во всех сетях. Если необходимо ввести список серверов имен, следует перечислить их IP-адреса. Работа сервера имен состоит в преобразовании доменных имен в IP-адреса. Система не сможет соединиться с сервером имен, если в списке серверов имен указаны доменные, а не IP-адреса.
Задание хостов
На следующем этапе на экран 'Выводится хост-таблица данного компьютера. Хост-таблица, находящаяся в файле /etc/hosts, представляет собой простейшую форму для просмотра имен. Файл таблицы содержит список имен и связанные с ними IP-адреса. В небольших сетях, не имеющих собственного сервера доменных имен, такие таблицы содержат адреса всех компьютеров в сети. Компьютеры, соединенные в локальную сеть, должны иметь хотя бы две записи.
Чтобы добавить запись в список, щелкните на кнопке Add (Добавить). Откроется диалоговое окно, показанное на рис. 28.5.
В этом окне необходимо заполнить три поля. Следует указать IP-адрес и полное имя конфигурируемого компьютера (например, linuxl .mommabears . com). В поле Nicknames (Псевдоним) можно указать альтернативные имена компьютера, разделенные пробелами. Часто системные администраторы вводят в это поле явное имя компьютера (в случае linuxl. mommabears. com это имя - linux1). Затем щелкните на кнопке Done (Готово).
Рис. 28.5. Добавление хост-компьютера
Редактирование записей в хост-таблице напоминает добавление новых записей. Достаточно указать существующую запись и щелкнуть на кнопке Edit (Изменить). Откроется диалоговое окно показанное на рис. 28.5. В этом окне имеются те же три поля, которые мы заполнили при добавлении новой записи в хост-таблицу. После редактирования записи щелкните на кнопке Done для внесения изменений в хост-таблицу. Пример результата приведен на рис. 28.6.
Рис. 28.6. Типичная хост-таблица
Управление интерфейсами
Следующая панель предназначена для конфигурирования сетевых интерфейсов системы. Щелкните на кнопке Interfaces (Интерфейсы). Это модемные РРР-соединения, соединения Ethernet посредством платы Ethernet и даже соединения Token Ring. По умолчанию таблица включает хотя бы одну запись, называемую 1о (запись локальной обратной связи для работы Linux при отсутствии сети). Каждому интерфейсу соответствует IP-адрес.
Чтобы добавить новый интерфейс, щелкните на кнопке Add. В диалоговом окне (рис. 28.7) выберите тип добавляемого интерфейса.
Для локальной сети выбирается тип устройства, выбранный при установке модуля для сетевой платы. Вероятно, это интерфейс Ethernet.
Рис. 28.7. Диалоговое окно выбора типа интерфейса
После щелчка на кнопке ОК появится диалоговое окно, в котором указываются свойства интерфейса. Такое окно для Ethernet показано на рис. 28.8.
Рис. 28.8. Конфигурирование интерфейса Ethernet
Как минимум, необходимо указать IP-адрес интерфейса и маску сети. Если есть только один интерфейс сети, то IP-адрес должен совпадать с адресом, указанным для данного компьютера в панелях Names и Hosts. Перечислим доступные опции.
Activate Interface at Boot Time (Активизировать интерфейс во время начальной загрузки).
Указывается, если желательно иметь доступ к сети в любое время после загрузки компьютера. Если данная опция не установлена, то доступ к сети необходимо осуществлять вручную.
Allow Any User to (De)activate Interface (Позволить любому пользователю (де)активизировать интерфейс). Обычно только пользователь root может активизировать или деактивизировать сетевой интерфейс. Любой пользователь может выполнять эти действия лишь для интерфейсов dial-up, например РРР (когда пользователь может сам установить и разорвать сетевое соединение). Если речь идет только о ЛВС с Ethernet-соединениями и интерфейс активизируется при начальной загрузке, то имеет смысл отключить данную опцию.
Interface Configuration Protocol (Протокол конфигурации интерфейса). Если сеть располагает доступом к локальному или удаленному (через ВООТР) DHCP-серверу, нет необходимости вводить IP-адрес или сетевую маску для данного компьютера. Если DHCP-сервера нет, выберите опцию None (Нет). В противном случае выберите один из DНСР-серверов, соответствующих вашей сети.
Установив интерфейс, щелкните на кнопке Done (Готово). В окне, показанном на рис. 28.9, вы можете немедленно активизировать интерфейс, выбрав его и щелкнув затем на кнопке Activate (Активизировать).
Настройка маршрутов
Заключительный этап конфигурирования сети - настройка маршрутов. Щелкните на кнопке Routing (Маршрутизация) и в верхней части окна появится панель таблицы маршрутизации (рис. 28.10). Таблица маршрутизации используется для того, чтобы сообщить компьютеру, как направлять данные, предназначенные для различных участков сети.
Если в сети используется шлюз по умолчанию, достаточно указать IP-адрес этого шлюза. Если у компьютера не одна сетевая плата, следует выбрать ту из них, которая подключена к шлюзу (например, eth0 или ррр0) в качестве Default Gateway Device (Устройство шлюза по умолчанию). Другое устройство используется при этом в статическом (постоянном) маршруте локальной сети.
Рис. 28.9. Активизация Ethernet-интерфейса
Рис. 28.10. Панель таблицы маршрутизации
Предположим, что в компьютере две платы Ethernet: одна соединяет его с главной сетью корпорации (eth0), а другая - с небольшой сетью, используемой для тестирования некоторого программного обеспечения (ethl). Щелкните на кнопке Add (Добавить), чтобы вызвать диалоговое окно Edit Static Route (Изменить постоянный маршрут), показанное на рис. 28.11. Задайте в этом окне внутренний постоянный маршрут, используйте для него плату ethl, и щелкните на кнопке Done.
Маршрутная конфигурация включает шлюз по умолчанию, подключенный к плате eth0, и постоянный маршрут для тестовой сети, подключенный к плате ethl, как показано на рис. 28.12.
Постоянный маршрут для локальной сети Ethernet, к которой подключен компьютер, используется достаточно часто.
Рис. 28.11. Использование постоянного маршрута
Рис. 28.12. Несколько маршрутов
Тестирование сети
Чтобы убедиться в работоспособности сетевого соединения, необходимо его протестировать. В первую очередь проверяется возможность передачи информации в сети. Для этого используется команда ping, которая позволяет отправить запрос на конкретный адрес для определения, есть ли по данному адресу в сети какой-нибудь работающий компьютер. Существует пять основных способов проверки сети с помощью ping; описываемые ниже команды следует выполнить в приведенном порядке.
Для начала, откроем окно команд и введем:
$ ping 127.0.0.1
Это обсуждавшийся ранее адрес петли обратной связи. Если программное обеспечение сети установлено правильно, вы увидите на экране поток сообщений наподобие следующего:
PING 127.0.0.1 (127.0.0.1) from 127.0.0.1 : 56(84)
bytes of data. 64 bytes from localhost.localdomain (127.0.0/1):
icmp_seq=0 ttl=255 time=164 usec
64 bytes from localhost.localdomain (127.0.0.1):
icmp_seq=l ttl=255
time=124 usec 64 bytes from localhost.localdomain (127.0.0.1):
icmp_seq=2 ttl=255
time=167 usec
Эти сообщения будут выводиться, пока вы не нажмете Ctrl+C. Если ничего не выводится, возможно, вам придется переустановить сеть, но эта тема выходит за пределы данной книги. Далее следует ввести команду:
$ ping ipaddress
где ipaddress представляет собой IP-адрес вашего компьютера. Подставьте во вводимую команду реальный IP-адрес вашего компьютера. Приведенные ниже результаты работы команды были получены на компьютере с IP-адресом 192.168.4.65.
PING 192.168.4.65 (192.168.4.65) from 192.168.4.65 :
56(84) bytes of data. 64 bytes from localhost.localdomain (192.168.4.65):
icmp_seq=0 ttl=255
time=169 usec 64 bytes from localhost.localdomain (192.168.4.65):
icmp_seq=l ttl=255
time=214 usec 64 bytes from localhost.localdomain (192.168.4.65):
icmp_seq=2 ttl=255
time=146 usec
He забудьте нажать Ctrl+C. Если данная команда отработала верно, значит вы корректно назначили IP-адрес вашей сетевой карте. Если ожидаемый результат не получен, проверьте раздел Interfaces в netcfg .
Далее следует ввести команду:
$ ping mycomputer
где mycomputer представляет собой хост-имя вашего компьютера. Подставьте во вводимую команду реальное хост-имя вашего компьютера.
PING mycomputer (192.168.4.65) from 192.168.4.65 :
56(84) bytes of data. 64 bytes from mycomputer.localdomain (192.168.4.65):
icmp_seq=0 ttl=255
time=163 usec 64 bytes from mycomputer.localdomain (192.168.4.65):
icmp_seq=l ttl=255
time=124 usec 64 bytes from mycomputer.localdomain (192.168.4.65):
icmp_seq=2 ttl=255
time=216 usec
Если эта команда работает, значит вы корректно связали хост-имя с IP-адресом вашей сетевой платы. Если нет, проверьте раздел Hosts в netcfg или файле /etc/hosts.
Если команда ping в локальной сети выполняется без ошибок, можно переходить к проверке функционирования шлюза. Например, если IP-адрес вашего шлюза 192.168.4.244, выполните команду:
$ ping 192.168.4.244
Подставьте во вводимую команду реальный IP-адрес шлюза вашей сети. Если команда отработает успешно, то результат будет похож на приведенный выше. Но по результатам этой команды нельзя сделать заключение о том, работает ли в действительности шлюз.
Чтобы выполнить такую проверку, введите следующую ping-команду:
$ ping 63.86.158.42
Предполагается, что ваш шлюз имеет выход в Интернет. Эта команда запрашивает веб-сайт фирмы Sybex, имеющий указанный IP-адрес. Если эта команда отработает корректно, то вы получите результат, подобный приведенному выше. Можете попробовать запросить другой сайт аналогичной командой.
Заключительный этап тестирования - проверка работы поисковых таблиц имен. Для поиска имени хост-компьютера на сервере DNS, используемом по умолчанию, выполните комам; rislookup. Например, попробуем найти www. yahoo. com.
$ nslookup www.yahoo.com
При правильной работе поисковых таблиц имен команда ns lookup выдаст следующий результат:
Server: dul.paus.ch Address:
194.209.60.97
Name: www5.yahoo.com Address:
204.71.177.70 Aliases: www.yahoo.com
Обратите внимание: на экране отображены имя и адрес используемого сервера имен (это значит, что сервис DNS сконфигурирован корректно), а затем - результаты поиска имени.
Если тик и происходит, то сетевое соединение правильно сконфигурировано и полностью готово к работе. В противном случае обратитесь к документу HOWTO на странице http: / / www.linuxdoc.org/HOWTO/Networking-HOWTO.html.
Ручное конфигурирование сети
В параграфе описана последовательность действий, выполняемых для конфигурирования сети. При этом предполагается, что модуль платы Ethernet загружен.
Настройка интерфейса
В первую очередь активизируйте тот сетевой интерфейс, который будет использоваться. Если будет активизироваться eth0 как IP-адрес 100.100.100.10, то следует использовать команду
ifconfig.
$ ifconfig ethO 100.100.100.10 netmask 255.255.255.0 up
Эта команда указывает системе назначить IP-адрес 100.100.100.10 и маску сети 255.255.255.0 устройству eth0, после чего аргумент up активизирует интерфейс.
Для проверки успешной активизации интерфейса используется команда /sbin/ifconfig без параметров и аргументов. Она выводит на экран список доступных интерфейсов.
ethO Link encap: Ethernet HWaddr 00:CO:FO:OD:76:5A
inet addr:100.100.100.10 Beast:100.100.100.255
->Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:11239889 errors:0 dropped:0 overruns:0
TX packets:16384520 errors:3 dropped:0 overruns:0
Interrupt:9 Base address:0x300
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3584 Metric:1
RX packets:2142848 errors:0 dropped:0 overruns:0
TX packets:2142848 errors:0 dropped:0 overruns:0
collisions:0 txgueuelen:0
Этот список обычно содержит устройство обратной связи (устройство 1о) плюс все доступные сетевые устройства. В нашем случае в списке содержится устройство eth0. Red Hat конфигурирует устройство обратной связи во время начальной загрузки.
Чтобы сохранить устойчивость работы системы, необходимо отконфигурированное устройство локальной обратной связи. Если lо не установлено, то для его конфигурирования используется следующая команда if conf ig.
$ ifconfig lo 127.0.0.1 up
Настройка сервера имен
Следующий этап - настройка сервера имен. Настройка сервера имен осуществляется редактированием файла /etc/resolv. conf в любом текстовом редакторе. Этот файл содержит всю необходимую системную информацию для поиска адресов имен хост-компьютеров.
В файле resolv. conf содержится как минимум две строки.
domain landegg.edu nameserver 194.148.43.194
В строке domain указано доменное имя локальной системы. Если.компьютер находится в сети, доменное имя которой - foo.bar, то эта строка будет содержать: domain fob.bar. Вторая строка определяет IP-адрес первичного сервера имен. Это может быть компьютер в локальной сети, сервер провайдера услуг Internet (ISP) или общедоступный сервер имен Internet. Эту информацию предоставляет администратор сети.
Многие сайты используют несколько серверов имен. Если один из них по каким-то причинам недоступен, пользователи могут провести поиск имен, используя альтернативный сервер. Чтобы указать несколько серверов имен, в файл resolv.conf включается нужное количество соответствующих строк.
domain landegg.edu nameserver 194.148.43.194
nameserver 194.148.43.196
nameserver 194.148.8.10
nameserver 194.148.1.10
В такой ситуации первый в списке сервер пытается найти имя. Если эта попытка не удается, то Linux перейдет ко второму компьютеру в списке и так далее. Если все перечисленные серверы имен не могут ответить на запрос, Linux сообщает о неудачном завершении попытки поиска имени.
Настройка локального файла хостов
Теоретически можно использовать сервер имен DNS для поиска любого имени, включая имена хостов в локальной сети, но в действительности это чрезвычайно неэффективно. Вариант, альтернативный использованию сервера имен, - поиск имен компьютеров в относительно небольших сетях с использованием локальных файлов хостов, поддерживающих поисковые таблицы.
Локальный файл хостов находится на компьютере пользователя и содержит список соответствия IP-адресов и имен компьютеров. Для доступа к файлу локальных хостов необходимо отредактировать файл /etc/host. conf в текстовом редакторе. Этот файл сообщает системе Linux как осуществлять поиск имен. Чтобы файл локальных хостов был доступен, host. conf должен содержать следующие две строки:
order hosts,
bind multi on
Первая строка сообщает, что когда осуществляется поиск имени, следует проверить файл локальных хостов (hosts), а затем - DNS (bind заменяет Berkeley Internet Name Daemon), следуя инструкциям в файле /etc/resolv. conf.
Затем необходимо открыть файл локальных хостов /etc/hosts. Этот файл также можно редактировать в любом текстовом редакторе. Для каждого хост-компьютера следует создать запись (в одну строку), которая должна иметь следующую форму:
IР_адрес ИмяХоста Псевдоним Псевдоним Псевдоним ...
Между разделами в строке (IP-адрес, ИмяХоста и Псевдоним) должен быть хотя бы один пробел. Строки комментариев начинаются со знака диеза (#) и могут использоваться для структурирования и пояснения записей в больших файлах хостов.
Рассмотрим пример. Следующие четыре записи взяты из файла хостов.
194.148.43.194 servl.landegg.edu
194.148.43.195 apps.landegg.edu apps
194.148.43.196 serv3.landegg.edu serv3
www.landegg.edu 194.148143.215
officel5.landegg.edu office15
Обратите внимание: все строки начинаются с IP-адреса, затем указано имя хоста и псевдонимы для хоста. Псевдонимы не обязательны. Заметим, что для многих компьютеров псевдонимы -это короткая форма имени хоста без полного доменного имени. В таком случае можно обращаться к компьютерам в локальной сети без указания полного имени хоста с доменным именем. Например, к компьютеру с именем apps . landegg.edu можно обратиться как к apps, а к компьютеру с именем officelS . landegg. edu - как к office15.
Настройка маршрутов
Заключительный этап - настройка необходимых маршрутов, которые позволяют передавать информацию по сети и всему миру. В первую очередь, для каждого интерфейса необходима маршрутизирующая запись, которая сообщает Linux, какая сеть соединена с этим интерфейсом. Также необходима запись, определяющая шлюз по умолчанию, если сеть соединена через шлюз с другими нелокальными сетями.
Начнем с устройства обратной связи. Команда route используется для указания того, что к локальному компьютеру обращаются через устройство обратной связи.
$ /sbin/route add -host 127.0.0.1 lo
Эта команда указывает, что хост 127.0.0.1 (локальный компьютер) доступен через устройство 1о. Рассмотрим устройство eth0, упоминавшееся ранее в параграфе. Это устройство подключает персональный компьютер к сети с сетевым адресом 100.100.100.0 и маской сети 255.255.255.0. Чтобы Linux передавал всю информацию для локальной сети через интерфейс eth0, используется команда route.
$ /sbin/route add -net 100.100.100.0 netmask 255.255.255.0 eth 0
Следует еще раз использовать команду route, чтобы определить шлюз по умолчанию, который можно использовать для доступа к удаленным сетям. Если этот шлюз — компьютер с IP-адресом 100.100.100.1, то используется следующая команда.
$ /sbin/route add default gw 100.100.100.1 eth0
Эта команда указывает, что шлюзом по умолчанию (gw) является адрес 100.100.100.1 и к нему можно обращаться при отправке информации, предназначенной для передачи "наружу", через интерфейс eth0.
Осталось проверить все записи маршрутизации с помощью команды route без параметров и аргументов. Эта команда возвращает таблица маршрутизации, подобную следующей:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
100.100.100.0 * 255.255.255.0 U 0 0 317 eth0
127.0.0.1 * 255.0.0.0 U 0 0 6 lo
default 100.100.100.1 0 UG 0 0 2605 eth0
Автоматическое конфигурирование сети во время загрузки
Теперь сетевое соединение полностью работоспособно. Однако вводить все перечисленные выше команды каждый раз при запуске системы Linux - занятие для трудолюбивых пользователей.
К счастью, все необходимые команды if conf ig и route можно поместить в один системный сценарий, выполняемый при запуске системы, например /etc/re . d/rc . local. В нашем примере можно добавить в файл re. local следующие строки:
/sbin/ifconfig ethO 100.100.100.10 netmask 255.255.255.0 up
/sbin/ifconfig lo 127.0.0.1 up
/sbin/route add -host 127.0.0.1 lo
/sbin/route add -net 100.100.100.0 netmask 255.255.255.0 eth0
/sbin/route add default gw 100.100.100.1 eth0
Совместное использование файлов в сети Unix
Теперь, когда система Linux может работать совместно с другими компьютерами в локальной сети TCP/IP, рассмотрим одну из основных задач, возникающих при работе в сети: совместное использование файлов. В мире Unix и Linux эта задача обычно решается с использованием NFS (Network File System - Сетевая файловая система).
Совместное использование файлов имеет два аспекта.
Совместное использование каталогов в сети
Прежде чем другие пользователи смогут получить доступ к вашим файлам/каталогам, вы должны сделать эти каталоги доступными для совместного использования в сети. Экспорт каталогов с NFS предполагает использование двух демонов, /usr/sbin/rpc .nfsd и /usr/sbin/rpc .mountd, и одного файла конфигурации /etc/exports. Файлы rpc.mountd и rрс. nfsd устанавливаются на большинстве систем. Если эти файлы отсутствуют, установите их из RPM-файла nf s-utils-0.3.1-5.1386. rpm прилагаемого компакт-диска.
NFS и брандмауэры
Если в ходе установки Red Hat Linux 7.1 вы установили брандмауэр по умолчанию, он заблокирует совместное использование каталогов в NFS. Если ваш компьютер входит в локальную сеть и не имеет выходов в другие сети, можно отключить брандмауэр на нем. Брандмауэр действительно необходим только на компьютере, имеющем выход во внешние сети (например, на компьютере, играющем роль шлюза).
Большинство брандмауэров Linux отключается либо командой /etc/re, d/init.d/ipchains stop либо командой /etc/re .d/init. d/iptables stop. Но такое отключение действует только до следующей перезагрузки. Совсем отключить брандмауэр можно с помощью меню ntsysv. Выполните команду /usr/sbin/ntsysv. Как только возникнет меню Services (Сервисы), сбросьте флажки сервисов ipchains и iptables, как показано на следующей иллюстрации.
Если каталог, который вы хотите разрешить для совместного использования, расположен На компьютере-шлюзе, подключенном к вашему компьютеру и Интернету, то брандмауэр необходим. Даже работая с брандмауэром, лучше не использовать NFS из соображений безопасности. Но если вам все-таки необходимо использовать NFS для предоставления доступа к каталогам на компьютере-шлюзе, воспользуйтесь утилитой конфигурирования брандмауэра, описанной в гл. 31, чтобы открыть порты 111 и 2049. Таким образом будут открыты каналы, необходимые для Network File System.
Первый шаг к совместному использованию каталога в сети - редактирование файла /etc/ exports в текстовом редакторе и добавление по одной записи для каждого каталога, который вы планируете использовать совместно. Запись должна быть следующей.
/каталог хост (параметры)
Ниже приведен пример типичного файла /etc/exports.
# sample /etc/exports file
/ master(rw). trusty(rw,no_root_squash)
/projects proj* . local ..domain (rw)
/usr *.local.domain(ro)
/home/joe pcOOl(rw,all_squash,anonuid=150,anongid=100)
/pub (ro,insecure,all_sguash)
/pub/private (noaccess)
Рассмотрим этот файл построчно.
Строка 1. Строка комментариев, обозначенная знаком диеза (#), игнорируется. Строка 2. Двум компьютерам даны различные уровни доступа к каталогу /: master - с правом чтения и записи (опция rw), trusty - с правом чтения и записи и правом полного доступа ко всем файлам и подкаталогам для пользователя root (опция no_root_squash). Пользователь root компьютера trusty имеет те же права, что и пользователь root локальной системы.
Строка 3. Любому хост-компьютеру, имя которого начинается с символов proj и который является частью домена local. domain, предоставляются права чтения и записи в каталоге /projects.
Строка 4. Любому хост-компьютеру в домене local. domain предоставляется право на чтение (опция го) каталога /usr.
Строка 5. Хост-компьютер рс 0 01 получает права на чтение и запись в каталог / home / j oe. Все пользователи, использующие эту точку монтирования с компьютера pc001, считаются анонимными пользователями (опция all_squash) с ID пользователя 150 и ID группы 150 (опции anonuid=150 и anongid=150).
Строка 6. Всем хост-компьютерам предоставлено право доступа к каталогу /pub. Все пользователи считаются анонимными и получают право чтения. Опция insecure позволяет клиентам, которые не используют зарезервированный порт ТСР/IР для NFS, осуществлять доступ к этой точке монтирования.
Строка 7. Всем хост-компьютерам запрещен доступ к каталогу /pub/private (опция noaccess).
С другими опциями для файла /etc/exports можно ознакомиться в руководстве, используя команду
$ man exports
Если каталог для экспорта определен как /etc/exports, необходимо перезапустить процессы rpc. nf sd и rpc . mountd (обычно они выполняются во время начальной загрузки). Сначала используется команда ps для проверки ID каждого процесса.
$ ре aux | grep rpc.nfsd
root 15-03 0.2 0.8 872 508 ? S 22:25 0:00 /usr/sbin/rpc.nfsd
$ ps aux | grep rpc.mountd
root 1105 0 0.7 836 500 ? S 22:25 0:00 /usr/sbin/rpc.mountd
Затем следует уничтожить и перезапустить процессы.
$ kill 1103 1105; /usr/sbin/rpc.nfsd; /usr/sbin/rpc.mountd
Предупреждение
Выполните на вашем компьютере указанные выше команды ps aux. С учетом параметров вашего компьютера, числа, выдаваемые командами ps aux, должны отличаться от 1103 и 1105.
Теперь для доступа удаленных пользователей сети работают новые правила экспорта.
Совет
В некоторых дистрибутивах Linux для перезапуска rpc.nfsd и rpc. mountd необходимо перезапустить демон nfs. Например, в Red Hat Linux 7.1 следует выполнить команду /etc/re.d/init.d/nfs restart в режиме корневого пользователя.
Доступ к удаленным файловым системам
Доступ к удаленным файлам и каталогам выполняется с помощью команды mount. $ mount remote-directory-name local-directory
Удаленный каталог remote-directory-name указывается как hostname: /directory-name, a local-directory- это существующий каталог, желательно пустой, через который осуществляется доступ к удаленному каталогу.
Рассмотрим пример. Предположим, пользователю необходимо обратиться к каталогу / test /dir на компьютере fоо. bаr в локальной сети; каталог доступен для удаленного монтирования через NFS. На компьютере пользователя есть пустой каталог / fоо, который станет точкой монтирования для удаленного каталога.
Для определения этого каталога используется команда mount.
$ mount foo.bar:/test/dir /foo
Эта команда указывает монтировать каталог /test/dir на компьютере foo.bar в локальный каталог / foo. После выполнения этой команды пользователь может обращаться к файлам и подкаталогам удаленного каталога в соответствии с назначенными файлам правами доступа. Распечатка содержимого каталога / foo - это список содержимого каталога / test/dir на компьютере
foo.bar.
Предупреждение
Существует одно неудобство в системе NFS. На локальной системе пользователь root имеет абсолютные права на открытие, чтение или удаление файла в любом месте файловой системы, независимо от того, кто создал или кто является владельцем файла. Но в монтированном удаленном каталоге пользователь root имеет серьезные ограничения при работе с моделью NFS: он может осуществлять доступ лишь к тем файлам и каталогам, для которых ему предоставлены явные права.
Монтирование удаленных каталогов во время начальной загрузки
Часто используемые удаленные каталоги (если таковые существуют) удобно монтировать автоматически при начальной загрузке. Для этого используется программа LinuxConf, которая запускаегся с помощью команды linuxconf-auth. После запуска программы следует выбрать Config (Конфигурация), File Systems (Файловые системы), Access NFS Volume (Доступ к NFS-тому) в списке окон конфигурации. Это окно содержит список текущих точек монтирования NFS, если они существуют. Щелчок на кнопке Add (Добавить) отобразит окно NFS Volume Specification (Спецификация NFS-тома), показанное на рис. 28.13.
Рис. 28.13. Диалоговое окно NFS Volume Specification
Для реализации описанного примера введите laptop7lB поле Server (Сервер), /home/mj в поле Volume (Том) и /home/mj/testl в поле Mount Point (Точка монтирования). Если монтирование должно происходить автоматически при начальной загрузке, то выберите вкладку Options (Параметры) и убедитесь, что опция Not Mount at Boot Time (He монтировать при загрузке) не установлена. Для завершения конфигурирования автоматического монтирования щелкните на кнопке Accept (Принять).
Эта процедура добавит следующую запись в файл /etc/ f stab.
laptopVl:/home/mj /home/mj/testl nfs exec,dev, ro 1 1
Можно вручную создавать автоматические точки монтирования во время начальной загрузки. Для этого в любом текстовом редакторе добавьте подобную запись в файл /etc/ f stab.
Основы безопасности в сети
Вопросы безопасности весьма актуальны при соединении с сетью и доступе к ее ресурсам многих пользователей. К счастью, в Linux существует механизм, позволяющий контролировать, какие компьютеры в сети пытаются соединиться для получения услуг конкретной системы Linux.
Этот базисный механизм безопасности обеспечивается двумя файлами: /etc/hosts . allow и /etc/hosts. deny. Они являются лишь звеном в цепи безопасности, которая состоит из трех звеньев.
По умолчанию записи в hosts. allow и в hosts. deny отсутствуют, то есть по умолчанию любой пользователь может установить соединение с системой. Конечно, это не запрещает индивидуальным сервисам, например Telnet и FTP, требовать дальнейшей аутентификации. Это также не исключает те начальные попытки соединения, которыми начинаются многие хакерские атаки через неизвестные системы.
Создать записи для hosts. allow и hosts . deny просто.
Список_демонов Список_клиентов
Любая запись, подобная этой, указывает, какие демоны сети (f tpd, in. telnetd, in. rshd) могут разрешить соединение с конкретным хост-компьютером (в файле hosts .allow) или отказать в установлении соединения с каким-то хост-компьютером (в hosts . deny). В списке может быть указан любой демон сети. Например, запись
ftp: host1
в файле hosts. allow позволяет установить входное FTP-соединение с указанным компьютером hostl по его инициативе.
Несколько специальных ключевых слов облегчают задачу, исключая необходимость в поимен-.ном списке всех демонов и клиентов. Ключевое слово ALL может соответствовать любому клиенту или любому демону. Например, запись
ALL: ALL
в файле hosts. allow позволяет осуществить любой тип доступа любому клиенту, в то время как аналогичная запись в hosts . deny запрещает все возможные соединения.
Ключевое слово EXCEPT указывает исключения в сети, в которой разрешены все возможные соединения с помощью ключевого слова ALL. Например, запись
ALL EXCEPT ftpd: ALL
в файле hosts. deny запрещает доступ всем клиентам ко всем сервисам, исключая FTP. Аналогично
ALL: .local.domain EXCEPT foo.local.domain
в hosts . allow разрешает доступ ко всем сервисам для любого компьютера в домене local, domain (обратите внимание на "." перед local .domain), исключая foo. local . domain.
Наконец, ключевое слово LOCAL позволяет легко указать доступ для всех машин в локальном домене
ALL: LOCAL
в hosts . allow, предоставляя любой тип доступа с компьютеров в локальном домене.
Файлы hosts. allow и hosts. deny могут содержать разнообразные записи, что позволяет осуществлять более тонкий контроль, чем необходимо для большинства пользователей. С деталями настроек можно познакомиться на странице руководства для hosts . allow:
$ man hosts.allow
Что дальше
В этой главе рассмотрены принципы подключения персонального компьютера, работающего под управлением Linux, к сети Ethernet, использующей протокол TCP/IP. Читатель мог убедиться, что Linux легко соединяется в сети с системами Unix, включая и другие Linux-системы.
Однако полная интеграция системы Linux с сетями Windows и Novell требует больших усилий. В следующей главе мы рассмотрим основы взаимодействия системы Linux с Windows и Novell.
Глава 29 . Работа Linux Red Hat 7.1 в сетях Windows и Novell
В этой главе рассмотрены возможности Linux, благодаря которым эта операционная система стала привлекательным обеспечением для многих существующих сетей Intranet.
Если в организации развернута стандартная сеть Windows, то Linux может усовершенствовать эту сеть и выполнить в ней роль эффективного, квалифицированного и мощного файл-сервера и сервера печати. С более низко» ценой, чем у Windows NT/2000, и устойчивостью работы, превосходящей Windows 95/98/Me, Linux может стать идеальным файл-сервером и сервером печати для организаций с ограниченным бюджетом, в которых необходимо организовать совместное использование файлов рабочими станциями.
Также Linux может получать доступ к файлам, хранящимся на файл-сервере Windows, как будто они находятся на локальном жестком диске системы Linux. Эту возможность можно использовать в самых различных целях. Например, если на вашем компьютере работает Web-сервер Linux, но разработки для Web выполняются в системе Windows. В таком случае, Linux Web-сервер может автоматически устанавливать связь с предопределенным каталогом в системе разработки Windows и копировать новые файлы на Web-сервер. Тогда ручное обновление содержимого Web-сервера становится ненужным. -
Мы рассмотрим возможность интеграции системы в сеть Novell. Хотя инструментальные средства для интеграции системы Linux в сети Novell не так хорошо развиты и устойчивы, как источники информации по этому вопросу.
Совместное использование файлов и принтеров Linux сетями Windows
Типичным способом объединения сети Linux-Windows является настройка системы Linux для работы в качестве файл-сервера и сервера печати для клиентов Windows в сети. Такой тип интеграции осуществляется при помощи Samba. Samba - это набор программного обеспечения, поддерживающего протокол 8MB (Server Message Block - Блок сообщений сервера) в Linux. Протокол SMB является основой совместного использования файлов и печати в сети Windows. Клиентами для SMB-сервера под управлением Linux могут быть LAN Manager, Windows 95/98/Me, Windows NT/2000, OS/2 и различные системы Linux.
Инсталляция Samba
Если вы используете версию Red Hat Linux, прилагаемую к книге, то, скорее всего, пакет Samba будет проинсталлирован при инсталляции Linux. Чтобы убедиться, что Samba проинсталлирован, выполните команды:
$ rpm -q samba
$ rpm -q samba-client
$ rpm -q samba-common
Если Samba не установлен в системе, инсталлируйте его с Red Hat CD-ROM. Как обычно, следует предварительно монтировать CD-ROM (например, в /mnt/cdrom), а затем использовать команду rpm для инсталляции файла samba-2 .0.3-8.1386 .rpm.
# rpm -i /mnt/odrom/RadHat/RPMS/samba-a.0.7-36.1386.rpm
# rpm -i /mnt/cdrom/RedHat/RPMS/samba-client-2.0.7-36.1386.rpm
# rpm -i /mnt/cdrom/RedHat/RPMS/samba-common-a.0.7-36.1386.rpm
Примечание
Только пакеты samba-client и samba-common включены в состав диска Publisher's Edition CD-ROM, включенного в книгу. Этого достаточно для подключения к разделяемым ресурсам из Microsoft Windows в локальной сети (см. команду smbmount ниже), но недостаточно для предоставления ресурсов вашего Linux-компьютера в совместное использование другим компьютерам, использующим Microsoft Windows в локальной сети.
Инсталляция Samba из Internet
Если необходимо использовать последнюю версию Samba, загрузите ее исходный код или пакет RPM. Следуйте инструкциям на странице узла Samba http: / /www. samba. org, чтобы найти ближайший сайт-зеркало. В США одно из зеркал имеет адрес http:./ /usl. samba. org/samba/ ftp/.
После загрузки файла распакуйте архив и прочтите инструкции по компиляции и инсталляции Samba из исходного кода. Эта процедура меняется от версии к версии, поэтому мы ее не описываем.
Если вы не хотите заниматься компиляцией и не имеете двухдискового инсталляционного набора Red Hat 7.1, то простейший способ инсталляции Samba состоит в загрузке RPM-файлов с узла ftp. redhat. com или www. rpmf ind. net с последующей инсталляцией командой rpm -i.
Что инсталлируется
При установке Samba инсталлируются следующие файлы.
/usr/sbin/smbd: сервер Samba, который управляет соединениями с клиентами.
/usr/sbin/nmbd: сервер NetBIOS, который позволяет клиентам определять местонахождение серверов в сети Windows.
/usr/bin/smbclient: базовый клиент Samba для доступа к серверам SMB. /etc/smb.conf: файл конфигурации Samba.
Конфигурирование Samba
Записи конфигурации Samba находятся в файле /etc/smb. conf. Файл smb. conf состоит из множества записей, которые содержат заголовок и ряд параметров. Например, следующая последовательность позволяет совместно использовать в сети каталог / trap.
[temp]
comment = Temporary file space path = /tmp read only = no public = yes
Заметьте: заголовок помещен в квадратные скобки ([temp]), каждый параметр записан в отдельной строке, имеющей жестко заданную структуру: параметр = значение.
Секция [global]
Большинство файлов smb. conf начинаются с секции [global], в которой указываются некоторые важные параметры, определяющие общее поведение Samba. Обычно секция [global] содержит следующие параметры:
printing - указывает на используемый тип системы печати; для последних версий систем Linux - это Iprng.
printcap name - указывает местоположение файлаprintcap; обычно это /etc/printcap. load printers - указывает, будут ли совместно использоваться принтеры. guest account - задает, какой пользователь Linux используется для установки гостевых соединений. Большинство администраторов Linux указывают nobody из-за сильного ограничения привилегий. workgroup - указывает, к какой рабочей группе или домену принадлежит сервер Samba.
security - предписывает, как аутентифицировать пользователей для доступа к ресурсам системы. Доступны четыре значения: user, server, domain и share.
user - если для данного параметра установлено значение user, то Samba проводит аутентификацию с использованием файла локальных паролей Unix. Это наиболее часто используемый способ (и самый простой).
server - если для параметра установлено значение server, Samba проводит аутентификацию при помощи доменного сервера Windows NT/2000, заданного параметром password server. Другой Samba-сервер может работать в режиме эмуляции доменного сервера Windows NT/2000.
domain - требует задания NetBIOS-имени для Samba-сервера доменного контроллера Windows. NetBIOS-имя обычно совпадает с хост-именем, если имеет длину не более 15 символов.
share - для установки Linux как части одноранговой сети (peer-to-peer network) на уровне рабочей группы Microsoft Windows.
Рассмотрим следующую секцию [ global ] в файле smb. conf сервера Landegg Academy:
[global]
printing = Iprng
printcap name = /etc/printcap
load printers = yes
guest account = nobody
workgroup = testgroup
security = user
В этой секции определен тип системы печати, для гостевого доступа указан пользователь Linux nobody, сервер объявлен членом рабочей группы Windows testgroup и указано, что Samba использует для аутентификации локальный файл паролей Unix / etc/passwd.
Секция [homes]
Секция [homes] предписывает, как совместно использовать домашние каталоги пользователей в сети Windows. Если такая секция отсутствует, необходимо индивидуально разделять домашние каталоги пользователей, как описано ниже.
Рассмотрим следующую секцию [homes] файла smb. conf.
[homes]
comment = Home Directories browseable = no
read only = no preserve case = yes
short preserve case = yes create mode = 0750
Параметр comment содержит дополнительную информацию о секции, но не влияет на ее выполнение. Параметр browseable используется для определения того, могут ли другие пользователи просматривать каталог; указание по разрешает доступ к каталогу только пользователям с соответствующими правами. Для параметра read only задано значение по, следовательно, пользователи могут и читать, и записывать файлы в свои домашние каталоги. Параметры preserve case и short preserve case гарантируют, что нечувствительные к изменению регистра символов системы Windows не будут изменять буквы в именах файлов, поскольку Linux различает регистр. Завершающий параметр create mode определяет, какие права доступа давать файлам, созданным пользователями, работающими через Samba; 0750 определяет, что файлы доступны для чтения, записи и выполнения для владельца, доступны для чтения и выполнения для файловой группы, для всех остальных пользователей доступ к файлам запрещен.
Для доступа пользователя из системы Windows к домашнему каталогу в качестве имени разделяемого каталога используется пользовательское имя. Например, для пользователя username обращение к домашнему каталогу на smbserv означает обращение к совместно используемому \\smbserv\username.
Секция [printers]
В секции [homes] домашние каталоги предназначены для совместного использования. Аналогично, в секции [printers ] все принтеры Linux предназначены для совместного использования в сети Windows.
В табл. 29.1 описаны типичные параметры секции [printers ].
Табл. 29.1. Параметры секции [Printers]
Параметр |
Описание |
comment path browseable
printable
public
writable
create
mode |
Содержит информацию о секции, но не влияет на ее выполнение Указывает путь спуллинга spool; пользователь может создать свой собственный каталог spool для Samba (например, Red Hat Linux создает Как и для домашних каталогов, значение по гарантирует, что пользоваться принтерами могут только пользователи с правом доступа Этот параметр должен иметь значение yes, иначе печать не будет работать (как можно печатать на непечатающем принтере?) Если установлено значение yes, то гостевые подключения смогут пользоваться услугами печати; во многих сетях для этого параметра задают значение по для предотвращения чрезмерной загрузки принтера гостевыми пользователями Принтеры не допускают запись, поэтому данный параметр должен иметь значение по Определяет разрешения для файлов spool, созданных при печати; обычно для этого параметра задают значение 0700 |
Все эти параметры используются для написания типичной секции [printers]. Приведем пример секции [printers ], заданной по умолчанию в Red Hat Linux.
[printers]
comment = All Printers path = /var/spool/samba
browseable = no printable = yes public = no
writable = no create mode = 0700
Доступ к принтерам Linux с рабочих станций Windows осуществляется так же, как и к каталогам. Разделяемое имя - это имя принтера Linux в файле printcap. Например, чтобы получить доступ к принтеру printername на smbserv, пользователи Windows должны обратиться к
\\smbserv\printername.
Совместное использование каталога для общего доступа
Иногда необходимо создать общедоступный каталог, который будет использоваться всеми пользователями только для чтения. Рассмотрим следующую запись.
[public]
path = /public/directory public = yes read only = yes printable = no
Эта запись создает каталог для совместного использования с именем public, который доступен для всех пользователей (public = yes), но только для чтения (read only = yes).
Рассмотрим другой пример: каталог для совместного использования с именем / tmp - общедоступный временный каталог, который используется для чтения и записи всеми пользователями. Такой каталог создается при помощи следующей записи.
[temp]
path = /tmp read only = no public = yes
Совместное использование каталога для персонального доступа
Кроме совместного использования каталогов для общего доступа, иногда необходимо создавать совместно используемые каталоги, доступные для ограниченного количества пользователей.
Рассмотрим случай совместного использования каталога /private/directory как разделяемого ресурса с именем private. Предположим, что этот каталог доступен лишь трем пользователям: user1, user2 и user3. Такой каталог создается следующей записью.
[private]
path = /private/directory valid users = user1 user2 user3
public = no writable = yes printable = no create mask = 0765
Обратите внимание на использование нового параметра: valid users. Этот параметр в качестве значения имеет список пользователей, которым разрешен доступ к ресурсу. Имена пользователей разделены пробелами.
Также обратите внимание на то, что параметр public имеет значение по для предотвращения нежелательного просмотра информации, а параметр writable - значение yes. Следовательно, это ресурс с полноценными возможностями записи.
Полная конфигурация
Разместим все рассмотренные секции в файле smb. conf .При этом необходимо учитывать два момента.
Приведем пример такого файла.
; Пример smb. conf
; Общие установки [global]
printing = bsd
printcap name = /etc/printcap
load printers = yes ; Установить гостевого пользователя - nobody
guest account = nobody
workgroup = testgroup
security = user
; Экспортировать все домашние каталоги в сеть [homes]
comment = Home Directories
browseable = no
read only = no
preserve case = yes
short preserve case = yes
create mode = 0750
; Сделать все принтеры доступными для сети [printers]
comment = All Printers
path = /var/spool/samba
browseable = no
printable = yes public = no writable = no create mode = 0700
; Создать общедоступный каталог только для чтения [public]
path = /public/directory
public = yes
read only = yes
printable = no
; Предоставить общедоступный временный каталог [temp]
path = /tmp read only = no public = yes
; Экспортировать личную рабочую область userl, user2 и изегЗ [private]
path = /private/directory
valid users = userl user2 user3
public = no
writable = yes
printable = no
create mask = 0765
Выполнение Samba
Если сеть работает с TCP/IP, то конфигурирование сети завершено и можно запускать Samba. Но при работе в сети NetBIOS необходимо дополнительно проверить, имеются ли в файле /etc/services следующие строки (если этих строк в файле нет, добавьте их).
netbios-ns 137/tcp # NETBIOS Name Service
netbios-ns 137/udp
netbios-dgm 138/tcp # NETBIOS Datagram Service
netbios-dgm 138/udp
netbios-ssn 139/tcp # NETBIOS session service
netbios-ssn 139/udp
Теперь конфигурирование Samba полностью завершено и можно запустить программное обеспечение. По умолчанию версия Samba для Red Hat Linux запускается при начальной загрузке, поэтому доступ к Samba есть всегда. Кроме того, для запуска и останова Samba вручную можно использовать системный сценарий /etc/re.d/init.d/ smb.
Например, следующая команда запускает Samba,
# /etc/re.d/init.d/smb start
а следующая - останавливает:
# /etc/re, d/init.-d/smb stop
Для одновременного останова и запуска smbd и nrabd используйте команду
# /etc/re.d/init.d/smb restart
Следующими двумя командами пользователь root системы запускает Samba вручную.
/usr/sbin/smbd -D
/usr/sbin/nmbd -D
Доступ к файлам и принтерам сети Windows из систем Linux
Особенность совместного использования ресурсов для Linux - возможность доступа SMB к разделяемым файлам и принтерам. Такой доступ можно осуществить несколькими способами. Самый простой из них - использование двух программ-клиентов из инсталляционного пакета Samba: smbclient и smbprint.
Этот способ связан с некоторыми ограничениями, особенно для доступа к файлам. Smbclient обеспечивает FTP-подобный доступ к совместно используемым удаленным файлам. Конечно, тогда для работы с файлами не применяются обычные команды Unix (например, ср и rnv), и доступ к совместным ресурсам из других приложений ограничен (в отличие от работы с NFS-монтированной удаленной файловой системой, которая выглядит как локальная файловая система для приложений Linux). Альтернативой является использование пакета smbf s, позволяющего 8MB монтировать совместно используемые файловые системы в Linux, подобно файловым системам NFS и локальным файловым системам.
Использование smbclient
Программа smbclient обычно инсталлируется в /usr/bin. Она используется для перемещения файлов,с разделяемых ресурсов SMB-сервера и обратно посредством FTP-подобного интерфейса.
Первый этап использования smbclient - установление соединения с ресурсами SMB-сервера Простейшая форма команды такова:
$ srnbclrient \\server\resourcename
Конечно, в действительности все сложнее. Если необходимо указать пароль для получения доступа к защищенному ресурсу, то команда становится более громоздкой:
$ smbclient \\server\resourcename password
Имеется несколько флагов, позволяющих изменить характер соединения программы smbclient с сервером. Основные флаги перечислены в табл. 29.2.
Табл. 29.2. Основные флаги программы smbclient
Флаг |
Действие |
-L host
-I IP_address -N -U usemame
-W workgroup -Т tar options |
Флаг выводит на экран список сервисов, доступных на сервере, заданном параметром host; при использовании этого флага нет необходимости указывать ресурс Флаг полезен, если не может быть найден адрес по имени; smbclient полагает, что компьютер расположен по указанному ГР-адресу Флаг подавляет приглашение password. Особенно полезен, когда доступ к ресурсу осуществляется без пароля. Если этот флаг не установлен, а пароль не требуется, пользователь все же получает приглашение для ввода и должен нажимать клавишу Enter для ввода пустого пароля Используя этот флаг, можно указать username для установки соединения с ресурсом. Без этого флага сервер использует содержимое переменных среды USER или LOGNAME; и если они пустые, сервер не получает username. Отправить пароль к серверу можно, введя знак процента (%) после username, а затем введя пароль: -U username%pas sword Определяет, какая рабочая группа используется при соединении с сервером Позволяет перемещать данные в tar-файл локальной системы Linux и обратно. Например, -Тх backup . tar восстанавливает файлы из backup . tar на удаленном ресурсе, в то время как -Тс backup . tar создает tar-файл с именем backup . tar, содержащий все файлы и каталоги удаленного ресурса |
Команда smbclient с использованием приведенной информации:
$ smbclient \\server\resourcename -U username%password -W workgroup
Эта команда пытается установить соединение с удаленным ресурсом resourcename на сервере SMB server, в рабочей группе с именем workgroup, в качестве пользователя username, используя пароль password.
Операции для работы с файловыми ресурсами
Установив соединение с файловыми ресурсами, можно выполнять операции перемещения данных, используя специальные команды. Они перечислены в табл. 29.3.
Табл. 29.3. Команды операций с файлами
Операция |
Описание |
cd directory |
Переход в другой каталог 8MB совместно используемого ресурса |
del file |
Удаление указанного файла с сервера (также используется команда rm) |
dir |
Отображение содержимого текущего каталога сервера (также используется команда Is) |
get file |
Получение указанного файла с удаленного сервера и сохранение его с тем же именем в текущем каталоге локальной системы; можно задать другое имя для файла на локальной системе: get file localfilename |
lcd directory |
Переход в указанный каталог на локальной системе |
mget filemask |
Получение всех файлов на удаленном сервере, удовлетворяющих указанной маске файла |
mkdir directory |
Создание указанного каталога на удаленном сервере (также используется команда md) |
триt f i1 ema sk |
Копирование всех файлов локального каталога, удовлетворяющих указанной маске файла, в текущий каталог удаленного сервера |
prompt |
Включение/выключение подсказки для операций с несколькими файлами (mput и mget). При задании значения on пользователи получают подсказку при копировании каждого файла |
put file |
Копирование указанного файла из текущего локального каталога в текущий каталог на удаленном сервере, имя файла остается прежним. Имя файла на удаленном сервере можно изменить: put file remote filename |
quit |
Выход из программы smbclient (также используется команда exit) |
recurse |
Включает/выключает доступ к подкаталогам для операций с несколькими файлами (mput и mget). Когда задано значение on, команда при копировании файлов осуществляет поиск по всем подкаталогам текущего каталога |
rmdir directory |
Удаление каталога с удаленного сервера (также используется команда rd) |
Рассмотрим некоторые примеры.
Переход из локального каталога в подкаталог f оо осуществляется командой led f оо.
Переход из удаленного каталога в каталог . . / f оо осуществляется командой cd . . / f оо.
Операции для работы с ресурсами принтера
Для работы с принтером при помощи программы smbclient для связи с ресурсами печати используются следующие команды:
print file - печать указанного файла через текущий ресурс в режиме, определенном параметрами команды printmode;
printmode option -установка режима печати, определяемого значением option; доступны следующие значения - graphics или text, причем режим graphics подразумевает любые двоичные данные;
queue - отображение текущего состояния очереди на удаленную печать; quit (или exit) - выход из программы smbclient.
Конечно, это немного громоздко. Если нужно напечатать текстовый файл, нельзя просто напечатать его из приложения способом, используемым в Unix для установки в очередь на печать. Необходимо установить связь с принтером при помощи программы smbclient и использовать команды printmode text и print filename. Печать файлов в других форматах еще сложнее.
Как происходит печать, если удаленным принтером является принтер PCL и используемое программное обеспечение генерирует файлы только в формате PostScript (что часто происходит в мире Unix)? В этом случае пользователь должен выполнить печать в файл, преобразовать его командой gs в формат PCL, соединиться с принтером посредством программы smbclient, установить режим печати и отправить файл в очередь на печать. Безусловно, это дополнительные затраты времени.
К счастью, smbprint помогает решить эту проблему.
Использование smbprint
Сценарий smbprint - это инструмент, который делает возможным печать с использованием smbclient через стандартную очередь печати Unix. Он выполняет печать на удаленном принтере SMB.
Сценарий smbprint в большинстве инсталляций Samba находится в /usr /bin/srnbprint.
Чтобы использовать этот сценарий, необходимо создать запись printcap для удаленного принтера и файл конфигурации, в котором указано расположение принтера.
Запись printcap:
gueuename:\
:sd=/var/spool/samba:\
:af=/var/spool/samba/accountingfile:\
:if=/usr/bin/smbprint:\
:mx=0:\
:lp=/dev/null:
Проанализируем приведенную запись.
sd=/var/spool /samba - указывает каталог спуллинга.
af=/var /spool/ 8eanba/a.ccowntingf He - указывает файл счетов. Этот файл должен находиться в том каталоге, что и файл конфигурации, возможно, в каталоге spool.
if =/usr/bin/smbprint - задает входной фильтр (smbprint).
lp=/dev/null - определяет, что принтер физически не соединен с компьютером, на котором находится файл printcap.
Затем необходимо создать файл конфигурации с именем . conf ig в том же каталоге, что и файл accounting. Этот файл содержит три записи.
sеrvеr=ИмяСервера
password= "пароль "
После создания записи и файла конфигурации большинство файлов можно будет печатать, используя команду 1рг.
$ 1pr -P ИмяОчереди ИмяФайла
Поскольку этот способ печати используется в приложениях, подобных Netscape Communicator, данная конфигурация работает для большинства принтеров и приложений.
Использование smbfs
Пакет smbfs обеспечивает непосредственное монтирование удаленных ресурсов 8MB в Linux таким же образом, как тома NFS монтируются в Linux. Использовать smbfs после инсталляции крайне просто. Если вы используете Red Hat Linux 7.1, то smbfs должен устанаативаться в ходе инсталляции пакета samba -2 .0.7-36. 1386 .rpm.
Использование smbmount
Основой пакета smbfs является программа smbmount. Программа smbmount - это инструмент, который используется для монтирования совместно используемых ресурсов 8MB в системе Linux. В наиболее общем виде команда smbmount имеет форму: # smbmount / / servername/resourcename mountpoint
Как и в команде mount, точка монтирования mountpoint представлена существующим каталогом в локальной системе (который может быть, а вероятно, и должен быть, пустым). Прямые косые черты (/) используются вместо обратных (\) в спецификации разделяемых ресурсов 8MB во избежание проблем, связанных с использованием обратных косых черт в некоторых оболочках.
Предупреждение
Здесь имеется одна тонкость: smbmount не использует NetBIOS для поиска имени сервера. Если имя сервера SMB отличается от имени TCP/IP сервера, команда smbmount работать не будет. В такой ситуации используется хост-имя Unix для сервера.
Полная документация по команде smbmount приведена на странице руководства smbmount (man smbmount).
Присоединение Linux к сети Novell
Взаимодействие NetWare-Linux гораздо менее устойчиво, чем взаимодействие Windows-Linux. По этой причине мы рассмотрим доступные опции без деталей их реализации.
Примечание
В области свободно распространяемого программного обеспечения существует клиентский пакет Novell NetWare, называющийся ncpf s. Этот пакет реализует ограниченное количество функций. Существует также бета-версия сервера NetWare с именем mars_nwe. Оба продукта работают лишь с определенными версиями NetWare и продуктов, взаимодействующих с NetWare. Оба пакета входят в Red Hat Linux 7.1. Может возникнуть необходимость установки IPX на вашем компьютере. Пакет утилит IPX доступен на диске Red Hat Linux 7.1 CD-ROM, включенном в книгу, в подкаталоге /RedHat/RPMS, в файле ipxutils-2.2.0.18-3.1386. rpm.
Вместе ncpf s и mars_nwe обеспечивают полное бесплатное решение для взаимодействия Linux-NetWare. Пакет ncpfs можно загрузить с узла ftp.gwdg.de/pub/linux/misc/ncpfs, а пакет mars_nwe - с узла http: / /www. compu-art. de/download/mars_nwe.html. Большая часть документации, в особенности для mars_nwe, составлена на немецком языке, но неплохие руководства доступны в IPX-HOWTO по адресу http: / /www. linuxdoc. org/ HOWTO/ IPX-HOWTO.html.
Однако оба пЯкета имеют ограничения.
Что дальше
Мы рассмотрели интеграцию Linux в Intranet сети Windows и возможности совместного использования файлов в Linux и Windows.
В следующей главе дан обзор важной для современного корпоративного мира темы: возможности выполнять программы DOS и Windows на компьютерах под управлением Linux.
Как ни удивительно, система Linux способна поддерживать приложения DOS при помощи своего программного обеспечения dosemu. Кроме того, усилия разработчиков направлены на создание эмулятора Windows (Wine), выполняющего 16-ти и 32-разрядные приложения Windows. Wine еще не готов для использования в качестве повседневного инструмента в корпоративном окружении, но уже поддерживает Microsoft Word и другие популярные приложения Windows. В гл. 30 рассмотрены возможности совместного использования этих двух пакетов.
Также в следующей главе изучен пакет VMware - коммерческое приложение, позволяющее установить виртуальную машину, на которой можно выполнять необходимую вам операционную систему, в том числе практически любую версию Microsoft Windows и Linux.
Глава 30 . Linux Red Hat 7.1 и DOS/Windows
Один из главных аргументов против использования Linux в качестве ежедневной операционной системы для работы с текстовыми документами - недостаточное количество приложений для Linux. Добавьте к этому невозможность выполнения приложений Windows, и Linux превратится всего лишь в прихоть, еще один пример великой технологии и плохого маркетинга.
В действительности, Linux может выполнять большинство приложений DOS и многие приложения Windows, и в будущем предполагается еще большая совместимость с Windows. Существует два коммерческих продукта, позволяющих реализовать такие предположения: VMware и Win4Lin. Оба они дают возможность запускать Microsoft Windows в Linux. Возможности Win4Lin ограничены Microsoft Windows 95/98, но VMware способен выполнять все версии Microsoft Windows в Linux. Для VMware существует программный продукт, позволяющий также запускать все версии Linux в Microsoft Windows NT/2000. В этой главе мы рассмотрим базовую инсталляцию VMware Workstation для Linux.
Сегодня Linux поддерживает DOS, а ряд популярных приложений DOS может выполняться под Linux с минимальными усилиями.
Кроме того, предпринимаются попытки обеспечить полную совместимость Windows с Linux. Вероятно, лидером в этой области можно назвать Wine. Полностью следуя основной парадигме Linux, команда разработчиков Linux реализовала Wine как свободно-распространяемый, а не коммерческий Windows-совместимый продукт. С помощью заинтересованных коммерческих разработчиков Wine был включен в набор продуктов, опираясь на который фирмы, распространяющие программное обеспечение, могут быстро переносить свои приложения из среды Microsoft Windows в среду Linux.
Выполнение приложений DOS в Linux
Поддержка приложений DOS в Linux наиболее существенна и включена в большинство дистрибутивов Linux.
В среде DOSEmu можно инсталлировать и выполнять DOS, (в том числе и последние версии, например DOS 6.2, и даже версии, поставляемые в составе Windows 95/98), а также запускать большинство приложений DOS. Конечно, существуют ограничения, влияющие на графику и операции со шрифтами, но в целом DOS и ее приложения работают хорошо.
Среда DOS может выполняться внутри отдельного окна X Windows, тогда приложение DOS будет, по сути, одной из программ Linux.
Основные возможности DOSEmu следующие:
Установка DOSEmu
Поскольку DOSEmu не является частью стандартного дистрибутива Red Hat Linux 7.1, вам придется его загрузить. На момент написания книги последней версией дистрибутива была версия 1.0.1, доступная как в виде сжатого архива (tar. gz), так и в RPM-формате на домашней странице DOSEmu по адресу http: / /www. dosemu. org/stable.
Если вы работаете с Red Hat Linux 7.1 (или любым дистрибутивом, использующим RPM-пакеты), загрузите и установите DOSEmu. Например, загрузив его в каталог / trap, вы можете установить эмулятор из режима корневого пользователя с помощью команды:
rpm -i /tmp/dosemu-1.0.1-1.1386.rpm
Конфигурирование DOSEmu
Существует ряд конфигураций, используемых для выполнения DOSEmu в Linux. Перечислим их.
Чтобы упростить задачу и пояснить работу программного обеспечения, в главе рассмотрена только загрузка DOS с образа диска. Более сложные конфигурации, включая загрузку с других носителей, хорошо описаны в документации, которая после установки DOSEmu находится в каталоге /usr/doc/dosemu/.
Примечание
Подробная информация и документация для DOSEmu находится в http: / /www. dosemu. org. Полезные сведения включены в файлы HOWTO на сайте http://www.dosemu.org/docs/ HOWTO/. С этого сайта можно загрузить последнюю версию DOSEmu с полными инструкциями по инсталляции!
Чтобы запустить DOS, необходимо иметь файл конфигурации /etc/dosemu.conf. Это очень сложный файл, который имеет обширную документацию.
Пакет DOSEmu облегчает эту задачу, поскольку имеется предварительно сконфигурированный файл образа диска и файл dosemu. conf для загрузки с образа диска. Сам образ диска находится в /var/lib/dosemu/hdimage. Он содержит бесплатный вариант DOS FreeDOS и множество полезных команд и утилит, среди которых fdisk, format, unix2dos и Iredir (утилита переадресации каталогов Linux в символы дисков DOS).
Чтобы пояснить, что понимается- под конфигурированием среды DOSEmu, приведем содержимое включенного по умолчанию в Red Hat Linux 7.1 файла dosemu. conf:
$_term_char_set = " # Глобальная кодовая страница и выбор |
t * |
К счастью, в глубоком реконфигурировании нет необходимости. Работая с текущей версией DOSEmu (I.O.I), вы должны будете установить образ диска и загрузочный каталог и затем скопировать ряд стандартных загрузочных MS-DOS файлов в этот каталог.
Для установки образа диска (hdimage. first) и загрузочного каталога (/var/ lib/dosemu/ bootdir. first) можно воспользоваться следующими командами, расположенными в каталоге
$ /var/lib/dosemu/setup-hdimage
$ /var/lib/dosemu/setup-bootdir
К сожалению, FreeDOS не поддерживает управление Linux-файлами и каталогами из эмулятора DOS. Для реализации такого управления вам потребуются три базовых файла конфигурации DOS. Например, если вы располагаете любым загрузочным диском MS-DOS или PC-DOS, скопируйте файлы COMMAND.COM, IO.SYS и MSDOS.SYS в созданный каталог /var/lib/dosemu /bootdir.first.
Допустим, что эти файлы расположены на несмонтированном гибком диске, который находится в накопителе /dev/ f d0 (аналог DOS-устройства А:). Поскольку Linux учитывает регистр, необходимо использовать следующие команды, чтобы заменить FreeDOS-версии этих файлов:
$ mcopy a:io.sys /var/lib/dosemu/bootdir.first/io.sys
$ mcopy a:command.com /var/lib/doseim/bootdir.first/cofflmand.com
Примечание
Упомянутые системные файлы можно скопировать с любой системной дискеты MS-DOS версии 4.0.1 или более свежей. Этот метод применим даже для некоторых других версий DOS, равно как и для загрузочных дисков Windows 95/98.
В завершение создайте или отредактируйте конфигурационный файл . dosemurc в своем каталоге. В этом файле должна быть одна строка, указывающая системе Linux расположение соответствующих конфигурационных файлов DOS:
$_hdiraage = "bootdir.first"
Запуск DOS
Простейший способ запуска DOSEmu состоит в использовании команды dos в консоли или окне xterm. По команде
$ dos
загружается и запускается DOSEmu с устройства начальной загрузки, определенного в /etc/dpsemu. conf. По умолчанию в Red Hat Linux 7.1 это означает загрузку с указанного файла образа диска.
Вопреки выданному сообщению, запущен эмулятор версии 1.0.1. После запуска DOS можно использовать стандартные команды и синтаксис DOS для запуска программ с дискет или запуска приложений, находящихся в переадресованных каталогах.
Загрузка DOS в отдельном окне X
DOS можно запускать как в текущем окне, так и в своем собственном окне при выполнении X Windows. Для запуска DOS в собственном окне X Windows используется команда
$ xdos
Фактически, эта команда является ссылкой на основной двоичный файл dos. Выполнение программы через ссылку xdos имеет тот же эффект, что и команда
$ dos -X
Выполнение DOS в ее собственном Х-окне
Полезные команды DOSEmu
Образ диска, распространяемый с DOSEmu, содержит несколько полезных команд и утилит (некоторые из них приведены в табл. 30.1). Эти и многие другие команды находятся в каталогах с: \bin и с: \dosemu. Для этого запустите DOSEmu, используя образ диска, заданный по умолчанию.
Табл. 30.1. Некоторые команды DOSEmu
Команда |
Описание |
eject . com emumouse . com exitemu . com lredir.com unix . com |
Выдвигает дисковод CD-ROM Настраивает драйвер мыши DOSEmu Выход из DOSEmu Переадресует каталог Unix в символ диска DOS Выполняет команду Linux из DOSEmu |
Монтирование каталогов с lredir
Чтобы DOSEmu была полезной, она должна работать не только с образами дисков или дискетами. Необходим доступ к частям файлового дерева Linux, как к дискам DOS. Эта возможность позволит среде DOS осуществлять доступ к данным и приложениям, сохраненным в любом существующем разделе DOS, Linux или жестком диске системы.
Работа с DOSEmu начинается еще до ее загрузки: необходимо убедиться, что разделы, к которым будет осуществляться доступ, монтированы в структуру каталога Linux. Например, если имеется раздел DOS, можно монтировать его в /dos.
После того, как организован доступ к нужным каталогам и разделам, запустите среду DOS командой .
$ dos
или *
$ xdos
После запуска DOS используется команда Iredir для переадресации каталогов Linux в символы дисков DOS. Синтаксис команды Iredir следующий:
$ Iredir символ диска: \fs/каталог linuх
Команда Iredir делает нужный каталог Linux доступным в DOS с использованием указанною символа диска. Например, чтобы сделать раздел DOS, монтированный в Linux как /dos, доступным в среде DOSEmu как диск D:, используйте команду
$ Iredir D: linux\fs/dos
Примечание
При работе с образом диска, заданным по умолчанию в Red Hat, команда Iredir находится в каталоге с: \dosemu. Если этот каталог в пути отсутствует, то следует использовать полный путь для команды (с: \dosemu\lredir) или сделать с: \dosemu текущим каталогом.
Другим полезным приложением команды Iredir является поддержка доступа пользователей к их домашним каталогам на указанном символе диска DOS. Для этого используется следующая вариация команды Iredir:
$ Iredir E: linux\fs\${HOME}
В этой команде информация о домашнем каталоге пользователя извлекается из переменной НОМЕ среды Linux, в которой Red Hat сохраняет домашний каталог текущего пользователя.
Если начальная загрузка происходит с образа диска, но всю загрузку желательно выполнить с использованием файла conf ig. sys, находящегося в другом месте (например, в монтированном разделе DOS), то выполняется два действия.
Перед выполнением остальных команд из conf ig. sys и autoexec. bat образ диска будет размонтирован, а раздел DOS - перенаправлен на С: в среду DOS.
VMware
VMware (www. vmware. com) - технология виртуальных машин. Речь идет о создании виртуального компьютера, использующего все существующие ресурсы данного персонального компьютера. Выполнение виртуального компьютера обеспечивается в отдельном окне, в котором можно инсталлировать любую операционную систему, обычно выполняющуюся на аппаратном обеспечении персонального компьютера.
Версия VMware Workstation, доступная на момент написания книги, поддерживает DOS, Windows 3.1, Windows 95/98, Windows NT/2000 и популярные Unix-дистрибутивы для персональных компьютеров, например FreeBSD и Linux. Ведутся работы над обеспечением поддержки Windows ХР. Поскольку речь идет об установке и выполнении реальной операционной системы, в рамках которой доступна вся аппаратура PC ("виртуальная машина"), то вопросы совместимости практически никогда не возникают. Таким образом, в Linux реализуется способ запуска различных операционных систем для разработки, тестирования и достижения совместимости. Можно одновременно запускать множество экземпляров VMware, каждый из которых выполняет свою операционную систему.
Конечно, необходимо мощное аппаратное обеспечение. Чтобы получить приемлемую эффективность, нужен быстрый процессор Pentium II или Pentium III и большой объем памяти, поскольку Linux и любая клиентская операционная система, выполняющаяся с VMware, будут совместно использовать доступную память. Объем 96 Мбайт представляет собой минимум, необходимый для работы VMware под Linux, любые расширения оперативной памяти (даже до 256 Мбайт и более) пойдут только на пользу.
Получение VMware
VMware отнрсится к категории коммерческого программного обеспечения и не подчиняется лицензии GNU General Public License. Но вы можете попробовать стандартную версию VMware в течение 30 дней без нарушения лицензионного соглашения. Загрузить VMware можно с корпоративного сайта http: / /www. vmware. com.
На момент написания книги были доступны две версии VMware. VMware Workstation позволяет запускать любую из перечисленных выше операционных систем на виртуальной машине. VMware Express позволяет запускать только Windows 95/98 под Linux. В зависимости от выбранной вами версии VMware для настольного компьютера, лицензия для коммерческого использования обойдется вам от 59 $ до 329 $. В этой главе мы рассматриваем загрузку и установку версии VMware Workstation 2.0.4 (build 1142) для Linux. Для других версий VMware процедура может несколько отличаться.
Установка VMware
Можно загрузить VMware в формате tar. gz или RPM-формате. Для всех версий VMware, доступных на момент написания книги, процедура установки выглядела одинаково. Если вы устанавливаете версию VMware, отличную от 2.0.4, используемые команды могут несколько отличаться. Последние указания по этому поводу доступны на сайте http: / /www. vmware. com.
Например, если вы загружаете файл tar. gz в каталог / trap, то необходимо будет развернуть архив, перейти в созданный установочный каталог и запустить сценарий установки в режиме корневого пользователя с помощью следующих команд:
$ tar xzvf VMvmware-2.0.4-1142.tar.gz $ cd vmware-distrib $ ./vniware-install.pl
А если вы загрузили RPM-файл в каталог / trap, то необходимо будет его развернуть, перейти в созданный установочный каталог и запустить сценарий установки в режиме корневого пользователя с помощью следующих команд:
S rpm -i vmware-2.0.3-799.1386.rpm $ /usr/bin/vmware-config.pl
После распаковки базового программного обеспечения из файла tar. gz или RPM-файла, дальнейшая процедура в обоих случаях выглядит одинаково. Как правило, большинство подсказок требуют однозначных ответов^ Но если вы уже установили Samba (см. главу 29), то необходимо ответить "по" на следующий вопрос:
Do you want this script to automatically configure your system to allow
your virtual machines to access the host file system? (Должен ли данный сценарий автоматически сконфигурировать вашу систему, чтобы позволить виртуальным машинам получить доступ к файловой системе хоста?) В противном случае VMware сконфигурирует Samba, причем вовсе не так, как вам нужно.
Примечание
Если вы установили оценочную версию VMware, обратитесь на сайт http: / /www. vmware. com за оценочной лицензией. Следуйте полученным от VMware no e-mail инструкциям установки оценочной лицензии на вашем компьютере.
Установка операционной системы в VMware
Необходимо запустить VMware в X Window. Откройте интерфейс командной строки, например, терминал GNOME, Konsole в GNOME или KDE. Запустите VMware Workstation с помощью следующей команды:
$ /usr/bin/vmware
Когда VMware запустится, появится меню с тремя базовыми опциями. Простейший способ установки операционной системы в VMware предполагает выбор опции Run The Configuration Wizard (Запустить мастер конфигурирования) и щелчок на ОК.
Рис. 30.1. Запуск VMware Затем VMware предложит вам ряд опций, среди которых можно выбрать следующие.
Operating System (Операционная система): В VMware Workstation можно установить Windows 3.1,95, 98, NT 4.0,2000, Linux или другой известный Unix-клон FreeBSD.
Disk Type Setting (Тип диска): Можно установить новую операционную систему на новый виртуальный диск или существующий физический.
New Virtual Disk (Новый виртуальный диск): Позволяет создать виртуальный диск в файле Linux. Этот файл может быть достаточно большим; максимальный размер по умолчанию составляет 2000МВ.
Existing Physical Disk (Существующий физический диск): Если вы уже установили другую операционную систему на данный компьютер, можете задать доступ к ней через VMware. Ниже мы будем полагать, что создается новый виртуальный диск.
CD-ROM Access (Доступ к CD-ROM): Можно разрешить виртуальной машине доступ к существующему в системе накопителю CD-ROM.
Floppy Access (Доступ к гибким дискам): Можно разрешить виртуальной машине доступ к существующему в системе накопителю гибких дисков.
Networking (Работа с сетью): Предусмотрены две базовых сетевых опции. Если на компьютере установлен работающий сетевой Ethernet-адаптер, можно выбрать опцию Bridged Networking, что обеспечит доступ к локальной сети. Выбор опции Host-only Networking позволит создать двухмашинную сеть, включающую ваш компьютер и операционную систему на виртуальной машине.
После завершения выбора опций, VMware подтвердит сделанные установки. Например, на рис. 30.2 показаны типичные параметры для установки Windows 2000 на Linux-компьютер.
Рис. 30.2. Конфигурирование VMware
Подтвердив выбор, вы фактически завершаете создание виртуальной машины внутри своего компьютера. Щелкнув на кнопке Power On (Включение питания) на пустом экране VMware, вы "включаете" виртуальную машину. Теперь можно приступать к установке программ с гибких дисков или компакт-дисков CD-ROM.
Совет
Поскольку Red Hat Linux 7.1 включает ядро Linux версии 2.4.2, то она не будет работать с VMware версий, предшествующих 2.0.4.
Другой способ запуска Microsoft Windows 95/98 под Linux основан на использовании Win4Lin фирмы NeTraverse, которая доступна на сайте http: / /www. netraverse. com.
Почему не Wine?
Пакет Wine совершенно отличается от VMware по двум причинам: он не является коммерческим продуктом и его цель - обеспечить в системах Linux полностью бесплатную среду, в которой выполняются приложения Windows.
Последнее особенно важно. Пока разрабатываемые версии Wine ориентированы на инсталляцию некоторых системных файлов Windows, цель проекта - достичь альтернативы: если на системе Linux инсталлирован Wine, то для выполнения Windows-приложений нет необходимости инсталлировать сам Windows.
Как и многие приложения Linux, Wine находится в постоянной разработке и изменении, и рассматривается как предварительная версия программного обеспечения. В документации по Wine указано, что данное программное обеспечение не должно рассматриваться как окончательный готовый код и должно использоваться с осторожностью. Домашняя страница Wine - http : / / www. winehq. com/; новые версии Wine выпускаются часто и с этого сайта всегда можно загрузить последнюю версию пакета.
Компиляция, конфигурирование и инсталляция Wine отражают фазу раннего развития продукта. Но даже в этом случае возможна надежная поддержка приложений Windows, включая Word 6 (25 процентов этой книги были написаны именно так).
Будущее Wine
Команда разработчиков Wine имеет грандиозные планы развития проекта. Перечислим некоторые пункты этого плана.
Официально Wine - альфа-код разработчиков, не предназначенный для использования сторонними пользователями. Несмотря на это, многие пользователи находят его полезным для выполнения различных приложений Windows в Linux, некоторые версии Wine поддерживают удивительно широкий диапазон приложений Windows.
Множество пользователей проверяли тысячи приложений для Microsoft Windows на Wine, публикуя полученные результаты. Чтобы просмотреть отчет о проверке интересующего вас приложения, обратитесь к поисковой странице Wine-базы данных: http://www.winehq.com/ Apps/query.cgi.
Успех Wine
Даже несмотря на незавершенность, Wine следует признать успешным проектом. Сторонние разработчики программ используют инструментарий Wine для переноса своих продуктов из Windows в Linux. Другими словами, они применяют Wine, чтобы позволить своим программам работать под Linux, не переписывая код.
Corel - фирма, поддерживающая комплект офисных программ WordPerfect, - начала работать с Wine в 1998 году В этой фирме разработан собственный вариант инструментария Wine для поддержки версий WordPerfect для Linux, начиная с версии 7, включая все последующие вплоть до последней -WordPerfect Office 2000 для Linux. Фирма Corel также перенесла комплект CorelDraw Graphics, используя Wine.
Хотя фирма Corel разработала инструментарий Wine независимо от группы разработчиков проекта Wine, они позже объединили усилия в соответствии с лицензией GNU General Public License.
Фирма Deneba - один из лидеров в области графики и САПР - предприняла усилия по переносу своих высокоэффективных приложений Canvas в среду Linux. Поставленная задача переноса была решена средствами Wine в течение шести месяцев. Фактически, большая часть работы (пре-бета) была завершена с минимальными доработками библиотек Wine за два месяца.
Указанные приложения работают сами по себе. Никакой эмуляции наподобие VMware не нужно. Такой подход составляет основу Wine. Кстати название Wine расшифровывается как Wine Is Not an Emulator (Wine - не эмулятор).
Что дальше
Мы рассмотрели возможные способы запуска существующих приложений Windows и DOS в Linux. Поддержка приложений Windows и DOS под Linux постоянно совершенствуется, скоро большинство современных приложений Windows будет успешно выполняться на хорошо конфигурированной системе Linux.
Следующая глава посвящена использованию Linux в качестве недорогого маршрутизатора. Как устойчивая сетевая операционная система, Linux идеально подходит для поддержки маршрутизации в небольших сетях, связанных C.Internet через обычный модем или ISDN-соединение, или для связи локальных сетей.
В главе рассмотрен типичный пример для многих малых офисов: связь всей LAN с Internet с использованием коммутируемого соединения, которое обеспечивает лишь один IP-адрес.
Глава 31. Безопасность и Linux Red Hat 7.1 как эффективный маршрутизатор
Эта глава посвящена двум взаимосвязанным темам: безопасность и связь сетей с Internet.
Мы проанализируем несколько уровней безопасности Linux. Рассмотрим, как сохранить надежность автономных систем Linux и обсудим более широкие проблемы обеспечения безопасности ЛВС, которые имеют выход в Internet. Мы также разберем, как построить брандмауэр для защиты системы в ходе установки и после нее.
Мы ознакомимся с работой Linux Router Project (Проект Маршрутизатора Linux), который позволяет использовать простую дискету со специальным дистрибутивом Linux для создания Linux-маршрутизатора, работающего как шлюз между локальной сетью и соединением с Internet.
Проблемы базовой безопасности
Тема компьютерной безопасности обширна и не подлежит адекватному рассмотрению в одной главе книги. Фактически, все книги посвящены только некоторым аспектам компьютерной и сетевой безопасности.
Мы поговорим о компьютерной безопасности вообще и тех базовых концепциях, которые можно применить в конкретных условиях.
Безопасность автономной системы
При работе с автономной системой Linux необходимо обеспечить самую общую безопасность. Поскольку система не соединена с локальной сетью, а связь с Internet, предположим, осуществляется лишь в короткие промежутки времени по модему, то требования к безопасности системы относительно невысоки.
Некоторые фундаментальные принципы должны соблюдаться уже на этом уровне безопасности.
Следует убедиться, что пароли достаточно сложны и не могут быть легко отгаданы или подобраны. Пароль представляет собой комбинацию букв, чисел и других символов, которая не должна быть словом с точки зрения грамматики человеческого языка. Пароли необходимо часто менять. Особенно важно, чтобы эти требования соблюдались для пароля администратора (пользователя root). (Сложный пароль - это комбинация больших и малых букв, цифр и знаков пунктуации, что делает его сложным для отгадывания.)
Примечание
Существует ряд программ, предназначенных именно для разгадывания паролей. Если пароль представляет собой просто слово из словаря, то его можно распознать в течение нескольких минут, даже располагая всего лишь ресурсами обычного персонального компьютера. Пароль, состоящий из смеси букв разных регистров и цифр потребует для разгадывания на таком же компьютере уже нескольких недель. Один из простых способов построения сложных (но не забываемых!) паролей основан на использовании базовой фразы. Например, устойчивый к угадыванию пароль OM15lftP легко построить как аббревиатуру по первым буквам слов фразы "On March 15, I'm flying to Paris."
Безопасность систем Linux в ЛВС
Новые аспекты безопасности возникают в момент соединения системы Linux с локальной сетью. Даже если следовать всем приведенным правилам для автономной системы (которые необходимо соблюдать и в случае, когда система находится в локалвной сети), для хакера остается возможность получения доступа к системе Linux благодаря слабости сетевой защиты.
Две простых ограничения помогут уменьшить существующую опасность.
Совет
Если вы используете файл /etc/inetd. conf, обычный для других версий Linux (включая Red Hat Linux 6.x), можете сконвертировать его в формат Red Hat 7.1 xinetd с помощью команды /usr/sbin/inetdconvert.
Если вы пользуетесь другой версией Linux, в которой нет файла /etc/xinetd.conf, убедитесь, что для демона нет записи в файле /etc/inetd. conf (запись можно закомментировать символом [#] в первой позиции соответствующей строки).
xinetd
В Red Hat, начиная с версии Red Hat Linux 7.0, входит расширенный демон сервиса Internet xinetd, заменяющий inted. "Суперсервер" inetd управляет Internet-доступом access к Unix/Linux-компьютерам через порт. Чтобы дать возможность неопытным пользователям быстро запускать сервисы, подобные Telnet, FTP, POP e-mail и другие, inetd изначально устанавливается с несколькими открытыми портами. Как описано выше, вы можете использовать файлы hosts . allow и hosts . deny, чтобы управлять доступом к своему компьютеру. К сожалению, разрешая стороннему компьютеру доступ только к FTP для выполнения загрузки, вы тем самым разрешаете доступ ко всем службам на вашем компьютере.
Демон xinetd позволяет управлять доступом с помощью сервиса. Другими словами, если вы хотите предоставить кому-либо доступ к вашему FTP-серверу, вы не обязаны предоставлять ему доступ к другим сервисам, подобным Telnet или NFS. Единственный способ проникновения в компьютер будет в этом случае лежать через открытый вами FTP-сервис.
Другое достоинство xinetd состоит в том, что он способен защищать вас от атак типа отказ в обслуживании (DoS - Denial of Service). DoS представляет собой ситуацию, в которой некто посылает на ваш сервер поток сообщений (возможно, совсем простых, наподобие ping), но настолько интенсивный, что другие пользователи не могут получить доступ к вашему серверу.
Более подробные сведения о xinetd доступны по адресу http: / /www. xinetd. огд. На этом сайте хранится документация и примеры необходимых конфигурационных файлов.
Сохранение безопасности в сети
Даже если отдельная система Linux в локальной сети хорошо защищена, в случае, когда ЛВС имеет выход в Internet, оставшаяся часть локальной сети открыта для самых разнообразных атак.
Защита сети - сложная работа, требующая детальных знаний о сетевой безопасности. В основе обеспечения минимальной безопасности сети лежат две технологии (и их вариации).
Напомним, что сеть соединена с Internet посредством некоторого маршрутизатора, который перемещает данные из локальной сети и обратно. Маршрутизатор может обеспечить некоторый уровень защиты и гарантировать, что большинство атак злоумышленников не проникнут в локальную сеть.
Защита на уровне маршрутизатора обычно выполняется одним из двух способов.
Использование брандмауэра (firewall), фильтрующего пакеты. Фильтрация пакетов - это задача, которую способен выполнить любой маршрутизатор. Каждый раз, когда маршрутизатор получает пакет информации из Internet, предназначенный для компьютера в ЛВС, IP-адрес отправителя, IP-адрес адресата и порт соединения проверяются и сравниваются с таблицей, чтобы проверить может ли ЛВС получить пакет. Если пакет получить нельзя, он уничтожается. В рамках этого подхода соединения указанных хост-компьютеров с указанными хост-компьютерами или для специфических портов (а также их комбинаций) можно разрешить или запретить.
Использование прокси-брандмауэра. Прокси-брандмауэр (Proxy firewall) - другой подход, основанный на предотвращении прямых соединений между компьютерами с внутренней стороны брандмауэра и со стороны Internet. Если хост-компьютер локальной сети соединяется с хост-компьютером Internet, то он соединяется с прокси-системой. Прокси-система выполняет соединение с системой в Internet, осуществляя переключение для всех передающихся данных. Proxy играет аналогичную роль посредника тогда, когда разрешены любые входящие соединения с ЛВС. Для защиты локальной сети и полного отделения от Internet прокси-бранд-мауэр имеет возможность фильтрации пакетов. Его можно сконфигурировать для поддержки определенных типов трафика через брандмауэр в каждом направлении или для запрета соединений на основе различных переменных, включая IP-адрес отправителя, IP-адрес адресата и используемый порт соединения.
Чтобы понять основы безопасности в сети, ознакомьтесь с Linux Security НОWTO на http: / / www.linuxdoc.org/HOWTO/Security-HOWTO.html.
Систему Linux легко сконфигуриронать как маршрутизатор между локальной сетью и Internet С поддержкой соединения через стандартный аналоговый телефонный модем или линии ISDN. Этот маршрутизатор можно сконфигурировать как фильтр пакетов или прокси-брандмауэр. Установка маршрутизатора на основе Linux дешевле, чем покупка полного аппаратного решения для обеспечения маршрутизации и предлагает больше опций защиты, чем многие аппаратные маршрутизаторы.
Конфигурирование брендмауэра в ходе установки
Если вы не собираетесь подключать свой компьютер к локальной сети и не собираетесь получать доступ в Internet, то вам брандмауэр не нужен. Если вы подключаетесь к Internet изредка на короткое время, то риск и, соответственно, потребность в брандмауэре невысока. Но если ваш компьютер подключен к локальной сети, которая часто выходит в Internet, вы можете подвергнуться атакам всем разновидностей. Если ваш компьютер непосредственно подключен к Internet по выделенному каналу, наподобие DSL или кабельного модема, то опасность стать объектом атаки максимальна.
В ходе инсталляции Red Hat Linux 7.1 можно сконфигурировать брандмауэр для устанавливаемой системы Linux. Позже мы разберем, как пользоваться утилитой lokkit для создания новой конфигурации брандмауэра. В завершение вы познакомитесь с простым брандмауэром и оцените его возможности.
Вообще, брандмауэр блокирует весь трафик, за некоторыми исключениями. К исключениям относятся настраиваемые шлюзы, позволяющие определенные виды входного и выходного трафика на специальном порте или канале.
В TCP/IP — языке Internet - предусмотрено ди 65 536 портов. Каждый из этих портов подобен "двери", через которую осуществляются определенные разновидности обмена данными. Для выполнения базовых коммуникаций вашему компьютеру потребуется ряд таких дверей. Программа инсталляции Red Hat Linux 7.1 позволяет устанавливать брандмауэры с высоким или средним уровнем защиты, причем вы можете настраивать порты, открываемые для обмена.
Примечание
В TCP/IP все 65536 портов делятся на три категории. Полностью определенные порты (от О до 1023) используются для сервисов, подобных Web-страницам, e-mail и чатам Internet. Зарегистрированные порты (от 1024 до 49151) включают прочие сервисы, подобные Internet-телефонии и NIFS. Можно использовать и другие порты (от 49152 до 65535) в специальных
целях. Официальный список доступен через Internet Assigned Numbers Authority no адресу www. iana. org/assignments/port-numbers. Многие из ЭТИХ портов перечислены в файле /etc/services.
Надежные устройства
Все обнаруженные сетевые платы перечислены в окне Firewall Configuration (Конфигурирование брандмауэра). На рис. 31.1 показаны две сетевых платы eth0 и eth1. Предположим, что компьютер выполняет функции маршрутизатора между двумя сетями. Адаптер eth0 подключен к локальной сети, a ethl подключен к Internet. Если вы определите одну из этих плат как надежное устройство (trusted device), установив соответствующую опцию, то брандмауэр для этого адаптера будет отключен.
Если вы доверяете всем пользователям всех компьютеров в локальной сети, выберите опцию Customize (Настройка). Это позволит вам определить eth0 как надежное устройство.
С другой стороны, доверять кому бы то ни было подключение к Internet нельзя и выбор ethl недопустим. В противном случае брандмауэр не сможет защитить вас от атак из Internet.
Высокий уровень защиты
Брандмауэр с защитой наивысшего уровня вообще не подключен к внешним сетям. Но поскольку большинство пользователей хотят иметь, по крайней мере, выход в Internet, на практике такая защита нереализуема. Следующим приемлемым вариантом можно считать односторонний брандмауэр: выходной трафик разрешен, но входной трафик блокируется брандмауэром. Теоретически это неплохой вариант, но он лишает пользователя возможности выполнять навигацию в Internet.
Кроме запрашиваемых объектов, наподобие Web-страниц, установленный по умолчанию брандмауэр Red Hat Linux 7.1 с высоким уровнем защиты допускает две разновидности входного трафика: адресные сведения с DNS-серверов и конфигурационные сведения с DHCP-серверов.
DNS. В гл. 21 мы разбирали, что сервер имен, известный также как Domain Name Service (DNS), представляет собой базу данных доменных имен Web-сайтов, наподобие www. Sybex. com, и соответствующих им IP-адресов, наподобие 192.168.0.131. Компьютеру нужен IP-адрес, чтобы сообщить в Internet, где искать необходимый вам Web-сайт. Если вы задали IP-адрес хотя бы одного DNS-сервера в ходе инсталляции (проверьте файл /etc/resolv. conf), брандмауэр оставит для вас порт 53 открытым.
DHCP. В главе 4 мы разбирали, что сервер Dynamic Host Configuration Protocol (DHCP) конфигурирует IP-адресную информацию в локальной сети. Если вы пользуетесь внешним DHCP-сервером, вы должны дать ему возможность обращаться к компьютерам локальной сети через брандмауэр. Если вы разрешили DHCP в разделе Allow Incoming (Разрешить вход) на рис. 31.1, то брандмауэр оставит для вас порты 67 и 68 открытыми.
Брандмауэр с высоким уровнем защиты не допускает никакого другого трафика. Вы не сможете пользоваться обычными Internet-утилитами, наподобие RealAudio, и большинством чат-программ. Вы даже не сможете разделять NFS-файлы через такой брандмауэр. Если на вашем компьютере установлен Web-сервер, никто не сможет найти ваши Web-страницы.
Средний уровень защиты
При среднем уровне защиты число открытых каналов в брандмауэре больше. Открываются полностью определенные порты (от 0 до 1023), а также порты для NFS (2049), X Server (6000-6009) и X Fonts (7100). Открываются порты, необходимые для обслуживания DNS и DHCP, как описано выше. Другими словами, при среднем уровне защиты большинство зарегистрированных портов остаются открытыми, что автоматически позволяет вам получать доступ к множеству спец. услуг, подобных передачам RealAudio.
Если вас смущает наличие слишком многих открытых портов при среднем уровне защиты, выберите высокий уровень, и настройте брандмауэр вручную (ем. ниже). Если вы знаете, какие сервисы вам нужны, можете изменить настройки, чтобы открыть только те порты, которые вам нужны.
Настройка конфигурации
ЕСЛИ вы считаете, что и высокая и средняя степень защиты слишком ущемляют ваши интересы, можете установить исключения для выбранных портов. В окне, показанном на рис. 31.1, выберите опцию Customize (Настроить). Это позволит вам открыть в брандмауэре каналы для необходимых данных. Список Allow Incoming включает типовые трафики, которые могут потребоваться для доступа к Internet. Текстовое поле Other Ports (Другие порты) позволяет открыть другие порты по выбору.
Входной трафик
В списке Allow Incoming (Разрешен входной трафик) шесть типов портов. Они соответствуют разновидностям данных, которые вы собираетесь получить при подключении к Internet, или когда к вашему компьютеру подключаются другие, а он играет роль Web-, e-mail- или FTP-сервера:
DHCP. Разрешен по умолчанию в ходе инсталляции Red Hat Linux. Как мы ранее обсуждали, цель состоит в том, чтобы позволить DHCP-серверам, расположенным вне вашей сети конфигурировать компьютеры в ней.
SSH. Аббревиатура для Secure Shell (Безопасная оболочка). Когда используется SSH, вся процедура входа в сеть шифруется. Если вы хотите использовать пакет Secure Shell для администрирования вашего компьютера с удаленного сайта, вам необходимо будет подключаться через установленный вами брандмауэр. Разрешение SSH открывает порт 22, который предназначен для входов Secure Shell. Чтобы использовать SSH, вам потребуется пакет opensshserver-2.5.2р2-5.1386.rpm.
Telnet. Telnet представляет незащищенный способ входа и ввода команд для удаленного компьютера. Подключившись к удаленному компьютеру через Telnet, вы можете пользоваться интерфейсом командной строки так же, как будто вы локальный пользователь. Поскольку операции обмена Telnet не зашифрованы, любой пользователь, располагающий средством прослушивания вашей сети (оно называется sniffer (анализатор)), может записать пароль и другие передаваемые сведения.
WWW (HTTP). Если вы установили на своем компьютере Web-сервер, вы должны разрешить эту опцию. В противном случае пользователи, пытающиеся получить Web-страницы с вашего компьютера, не получат ничего. Эта опция не нужна для получения Web-страниц из Internet.
Mail (SMTP). Если вы установили на своем компьютере почтовый сервер, вы должны разрешить эту опцию. Пользователи, посылающие сообщения e-mail, посылают их на mail-сервер. Если Mail-порт (25) закрыт, то почтовые сообщения не смогут пройти через брандмауэр.
FTP. Если на вашем компьютере установлен один из типов FTP-серверов, следует разрешить эту опцию. Стандартный пакет организации FTP-сервера: wu-ftpd-2 . 6 .1-16 .1386 .rpm, доступный на компакт-диске CD-ROM, прилагаемом к данной книге.
Настройка трафика порта
Перечисленных в раздел Allow Incoming портов недостаточно для полного набора услуг, необходимых всем пользователям. Например, если вы хотите обеспечить разделяемый доступ к каталогам от других Linux- и Unix-компьютеров через брандмауэр, вы должны открыть каналы распределения по портам (portmap) и NFS, соответствующие портам 111 и 2049.
Далее необходимо проверить разновидности трафика, осуществляемого через каждый порт. Откроите файл /etc/services или указанную выше Web-страницу. Соответствующие сведения выглядят так:
nfs 2049/udp nfsd
Опираясь на эти сведения, вы можете открыть соответствующие каналы в окне Firewall Configuration, показанном на рис. 31.1. Щелкните на опции Customize (Настройка) и введите в текстовое поле Other Ports (Прочие порты):
111:tep,lll:udp,2049ttcp,2049:udp
Тем самым открываются порты 111 и 2049, которые используются для разделяемого доступа через NFS к TCP- и UDP-трафику. Можете добавить тем же способом и другие порты. Не забывайте в списке разделять порты запятыми и не вводите пробелы между элементами списка.
Конфигурирование брандмауэра после установки
После инсталляции Red Hat Linux 7.1 настройки брандмауэра можно изменить с помощью утилиты lokkit. Если потребуется, монтируйте инсталляционный компакт-диск CD-ROM в каталоге /mnt/cdrom и выполните следующие команды установки пакета:
# rpm -i /Mnt/cdrom/RedHat/RPMS/lokkit-0.43-6.1386.rpm
Установив утилиту lokkit, ее можно запустить из командной строки следующей командой:
# /usr/sbin/lokkit
После запуска утилиты lokkit, на экране появится окно Firewall Configuration, показанное на рис. 31.1. В нем можно установить защиту высокого или среднего уровня или вообще отказаться от услуг брандмауэра па пашем компьютере. В рамках lokkit можно переключаться между опциями с помощью Tab и устанавливать опции клавишей пробела.
Рис. 31.1. Окно утилиты lokkit конфигурирования Firewall Configuration
Выберите опцию High (Высокий) или Medium (Средний) уровня защиты и щелкните на кнопке Customize (Настроить). На экране появится меню Firewall Configuration - Customize, подобное показанному на рис. 31.2.
В этом меню представлен ряд опций настройки, которые были доступны в меню Firewall Configuration, использовавшемся в ходе инсталляции Red Hat. Опции сетевой платы содержат инфракрасное устройство (irlanO) и обычный Ethernet-адаптер (ethO). Выберите необходимые опции, как это описывалось выше, и нажмите ОК. В результате вы вернетесь в исходное окно, показанное на рис. 31.1. Далее можно нажать ОК. и утилита lokkit сохранит конфигурацию брандмауэрав файле /etc/sysconf ig/ipchains.
Примечание
Если вы используете утилиту lokkit после инсталляции, брандмауэры с высоким и средним уровнями защиты не открывают DHCP-порт.
Рис. 31.2. Настройка брандмауэра
Примечание
По умолчанию командой брандмауэра для Red Hat Linux 7.1 является ipchains. Новая команда для ядра 2.4.x - iptables. Можно заблокировать ipchains, и команда iptables будет автоматически использоваться брандмауэром. Однако утилита lokkit не поддерживает конфигурирование iptables. Документация для iptables еще не закончена; свежее HOWTO-руководство можно найти по адресу http: / /va. samba. org/netf ilter/unreliable-guides/packet-f iltering-HOwro/index.html. Как только документация будет готова, а будет доступна по адресу www. linuxdoc. org Web.
Примечание
Доступна еще одна утилита конфигурирования брандмауэра, /usr/sbin/firewall-config, но она несколько сложнее, чем lokkit.
Можно настроить порты, которые открываются по IP-адресу. Другими словами, можно разрешить операцию доступа к определенному каналу только для компьютера с заданным IP-адресом (только он сможет пересылать вам данные). Но методика подобного конфигурирования лежит вне области, рассматриваемой в этой книге. Более подробные сведения о брандмауэрах и сетевом конфигурировании можно почерпнуть из написанной Робертом Циглером книги "Брандмауэры Linux" ("Linux Firewalls" Robert Ziegler (New Riders, 1999)).
В следующем разделе, вы построите брандмауэр на основе версии Linux, базирующейся на гибком диске. Эта конфигурация включает возможности выполнения подмены (masquerading), которую можно использовать совместно с брандмауэром, построенным на утилите lokkit. Подмена скрывает адреса компьютеров в вашей сети.
Создание маршрутизатора на основе Linux
В этом параграфе описаны этапы создания маршрутизатора на основе Linux-системы с использованием дистрибутива Linux Router Project.
Разработанный как минимальная инсталляция Linux, дистрибутив Linux Router Project размещается на единственной дискете 1,44 Мбайт и содержит компоненты, необходимые для маршрутизации между двумя сетями Ethernet или между Ethernet и Internet, соединенными посредством РРР. Модули add-on реализуют поддержку дополнительного аппаратного обеспечения в глобальных сетях. Доступны и другие возможности, например управление SNMP.
Удобство установки маршрутизатора с использованием дистрибутива Linux Router Project вместо полномасштабных версий Linux (таких, как Red Hat) в том, что вся предварительная работа уже выполнена. Не нужно определять то, что должно быть инсталлировано для маршрутизации. Программное обеспечение включает простую, управляемую через меню систему конфигурирования, которая позволяет проверить, все ли необходимые настройки выполнены.
Программное обеспечение Linux Router Project доступно на Web-сайте этой книги (http: / / linux. juxta. com/). Для полной информации, обновления и получения модулей add-on посетите Web-сайт Linux Documentation Project (http:./ /www. linuxrouter. org/).
Ниже приведен подробный пример конфигурирования маршрутизатора между защищенной и незащищенной сетями. К сожалению, программное обеспечение Linux Router Project (LRP) построено на базе версии 2.0 и 2.2 ядра Linux. LRP для ядра версии 2.0 включает устаревшую команду ipfwadm, содержащую брешь в защите. LRP для ядра версии 2.2 включает ipchains, надежность которой выше. Полная поддержка команды iptables для версии 2.4 ядра Linux пока не реализована.
Что вы будете создавать
Программное обеспечение Linux Router Project используется для создания маршрутизатора, который служит в качестве брандмауэра, защищая личные области ЛВС от Internet. При этом мы делаем два предположения.
Примечание
Многие провайдеры, предоставляющие возможность подключения через кабельные модемы, DSL не разрешают своим клиентам запускать Web-, FTP- и другие типы серверов общего доступа на своих линиях. Обратитесь к своему провайдеру, чтобы уточнить доступность таких услуг.
Типичное сетевое окружение, удовлетворяющее этим требованиям. Внутренний маршрутизатор, создаваемый вами, соединяет безопасную локальную сеть с внешней сетью, не обеспечивающей безопасность.
Отметим, что маршрутизатор соединения с внешним миром обеспечивает более слабую защиту, чем маршрутизатор между защищенной и незащищенной сетями. В худшем случае только системы, расположенные в незащищенной сети, открыты для возможных внешних атак. Второй маршрутизатор, расположенный между незащищенной и защищенной локальными сетями, не допускает входящих соединений в защищенную сеть. Таким образом, системы - насколько это возможно в сетевой среде - защищены от внешних атак.
Именно второй маршрутизатор (между незащищенной и защищенной локальными сетями) реализует возможности программного обеспечения Linux Router Project.
Подготовка
Ниже приведена процедура, позволяющая подготовить гибкий диск Linux Router Project в рамках системы Linux. На момент написания книги необходимые файлы можно было загрузить с одного из сайтов, перечисленных по адресу http: / /www. linuxrouter. org/download. shtml.
Теперь у вас есть загрузочный диск для дистрибутива Linux Rquter Project. Но это еще не все Необходимы также драйверы сетевых плат, использующие ту же версию ядра (в данном случае - 2.2.16-1).
Повторите описанный процесс для файла 2.2.16-1. tar. gz, доступного на том же сайте Скопируйте его в каталог /tmp. Разверните и разархивируйте его с помощью команды tar xzvf 2.2.16-1. tar.gz. Скопируйте сетевые модули из развернутого подкаталога /tmp
2.2.16-1/modules/net-, на второй гибкий диск. В дальнейшем вам понадобятся оба диска.
Примечание
На момент, написания книги версия 2.9.8 Linux Router Project находилась в стадии бета-тестирования. Другими словами, до тех, пока она не перейдет в категорию финальной реализации, не рекомендуется использовать ее в производственном оборудовании.
Убедитесь, что аппаратное обеспечение достаточно для решения поставленных задач. Хотя компьютер 386SX с оперативной памятью 8 Мбайт можно использовать как маршрутизатор, а компьютер 486DX2 66 МГц с 12 Мбайт ОЗУ - еще лучше, сегодня желательно работать с Pentium 100 МГц или более мощной системой с оперативной памятью объемом не менее 16 Мбайт. Если происходит загрузка с дискеты, то нет необходимости в жестком диске. Если желательно добавить много модулей add-on в конфигурацию Linux Router Project, то объем программного обеспечения может превысить емкость дискеты и придется рассмотреть возможность загрузки с жесткого диска или загрузочного Zip-диска и увеличить объем оперативной памяти до 32 Мбайт. Подробности загрузки с других носителей описаны на домашней странице Linux Router Project.
Предупреждение
Если вы используете компьютер на базе Intel-процессора типа 386 или 486, то наилучший вариант - использование образов дисков с устаревшей командой ipfwadm, базирующейся на ядре версии 2.0.36. В рамках приведенной выше процедуры используйте файл образа диска idiot-image_1440KB_FAT_2.9.8_Linux2.0.gz И файл модуля ядра 2.0.36prel5-l. tar.gz.
Примечание
фирма Slackware предлагает вариант своего дистрибутива Linux, который ориентирован на
Использование С Zip-ДраЙВОМ. Подробнее СМ. ПО адресу http : / /www . Slackware . com zipslack.
Необходимо, чтобы персональный компьютер имел две платы Ethernet. Одна - для связи с незащищенной сетью, а другая - для соединения с защищенной.
Рабочая среда
Чтобы дальнейшее конфигурирование имело смысл, перед запуском программного обеспечения маршрутизатора Linux следует определить среду, в которой маршрутизатор будет работать.
В первую очередь необходимо определить IP-адреса. В незащищенной сети используются адреса от 200.200.200.0 до 200.200.200.255 с маской сети 255.255.255.0. Маршрутизатор, который соединяет сеть с внешним миром, имеет адрес 200.200.200.1, а маршрутизатор, который создается, на своей незащищенной стороне имеет адрес 200.200.200.254. Это подлинные IP-адреса, они уникальны и вся сеть Internet знает об их существовании. Если маршрутизатор для внешнего мира позволяет, то компьютер из Internet может соединяться с любым хост-компьютером в незащищенной локальной сети.
Защищенная сеть использует адреса с 10.10.10.0 до 10.10.10.255 с маской сети 255.255.255.0. Маршрутизатор, соединяющий защищенную локальную сеть с незащищенной, на своей защищенной стороне использует IP-адрес 10.10.10.1. Это ложные, немаршрутизируемые IP-адреса. Внешний мир не знает о существовании хост-компьютеров в локальной сети, у него с ними нет прямой связи. Маршрутизатор (в роли брандмауэра) скрывает существование безопасной сети от остального мира (включая незащищенную сеть).
В создаваемом маршрутизаторе устройство eth0 будет соединено с незащищенной локальной сетью (IP-адрес 200.200.200.254), а устройство ethl будет соединено с защищенной сетью (IР-адрес 10.10.10.1).
Из защищенной сети можно выполнять только исходящие, но ни в коем случае не входящие
соединения. Более того, будет использоваться возможность ядра Linux, известная как IP masquerading (IP-подмена), для использования механизма защиты network address translation (трансляция сетевого адреса). При трансляции сетевого адреса маршрутизатор не только выполняет маршрутизацию данных из защищенной ЛВС и обратно, но, когда компьютер со стороны защищенной ЛВС соединяется через маршрутизатор, он также скрывает IP-адрес соединяющегося компьютера и транслирует его в адрес незащищенной ЛВС. Соединение нельзя отследить обратно, к действительному IP-адресу хост-компьютера, что помогает скрыть хост-компьютеры защищенной сети от остального мира.
Поскольку защищенная сеть использует немаршрутизируемые IP-адреса, хост-компьютеры незащищенной сети не знают о существовании защищенных хост-компьютеров и не могут связаться с ними. Аналогично, маршрутизатрр, соединяющий незащищенную сеть с Internet, не знает о существовании внутренней, защищенной сети, и никогда не направляет пакеты прямо к хост-компьютерам внутренней сети.
Запуск маршрутизатора Linux
Чтобы загрузиться в режиме Linux-маршрутизатора, достаточно вставить дискету и перезагрузить компьютер.
Программное обеспечение Linux Router Project создаст диск RAM и загрузит содержимое диска начальной загрузки на диск RAM. Затем с RAM-диска загрузится и остальное программное обеспечение маршрутизатора. Любые изменения в конфигурации могут записываться на загрузочный диск и использоваться при следующей загрузке.
После загрузки на экран выводится приглашение для входа в систему. Следует войти в систему как администратор (root-пользователь) без пароля и запустить программное обеспечение маршрутизатора Linux. На экране появится меню конфигурирования (см. рис. 31.3). рассмотрим этапы создания простейшей сети, описанной ранее.
Рис. 31.3. Главное меню Linux Router Project
Меню конфигурирования полностью цифровое и доступ к пунктам меню осуществляется вводом выбранного номера меню и нажатием Enter. Например, ввод 1 для Network Settings (Сетевые установки) в главном меню конфигурирования выводит на экран подменю настроек сети. Выбор пункта подменю открывает файл для редактирования (конфигурирования) в простом редакторе. Чтобы эффективно использовать редактор, достаточно знать, как сохранить файл (нажать Ctrl+W и затем нажать Enter для подтверждения имени файла) и выйти из программы (нажать Ctrl+C). Можно использовать редактор, способный выполнить более обширный набор операций, но в данном случае достаточно простого редактирования.
Установка сетевых модулей
Загрузочный диск Linux Router Project, первый из числа созданных, вами, не включает никаких модулей сетевых плат. Они расположены на втором гибком диске. Ниже приведена процедура копирования необходимых модулей с гибкого диска на RAM-диск, который создан с помощью загрузочного диска Linux Router Project.
Конфигурирование основных настроек сети
Далее необходимо сконфигурировать основные настройки сети: указать маршрутизатору, кто вы, какой интерфейс соединен с какой сетью и тому подобное.
Для этого отредактируйте файл главных настроек сети - опция 1 в подменю настроек сети (доступно при выборе опции 1 в главном меню конфигурирования). Файл главных настроек сети открывается в редакторе.
Настраиваемый маршрутизатор будет пересылать сообщения из одной сети в другую. Поэтому необходимо сконфигурировать опции IP Forwarding, т.е. в следующих строках заменить NO на YES.
IPFWDING_KERNEL=YES IPFWDING_FW=YES
Далее позаботьтесь о том, чтоб вы смогли назначить хост-имя маршрутизатору, изменив в следующей строке N0 на YES.
CONFIG_HOSTNAME=YES
Укажите IP-адреса и сетевые маски плат Ethernet. Найдите строки
#IFO_IFNAME=eth0 IFO_IPADDR=dhcp
IFO_NETMASK=255.255.255.255
IFO_BROADCAST=255.255.255.255
IFO_IP_SPOOF=YES
Откорректируйте настройки для eth0 и активизируйте интерфейс, удалив # перед первой строкой.
IFO_IFNAME=eth0
IFO_IPADDR=200.200.200.254
IFO_NETMASK=255.255.255.0
IFO_IP_SPOOF=YES
Найдите следующие строки.
#IFl_IFNAME=ethl
IF1_IPADDR=192.168.0.20
IF1_NETMASK=255.255.255.0
IF1_BROADCAST=192.168.0.255
IF1_IP_SPOOF=YES
Измените их для ethl (для внешней, защищенной сети) и удалите знак диеза.
IFl_IFNAME=ethl
IF1_IPADDR=10.10.10.1
IF1_NETMASK=255.255.255.0
IF1_BROADCAST=10.10.10.255
IF1 IP SPOOF=YES
Так конфигурируются соответствующие платы Ethernet маршрутизатора для связи с подключенными к ним сетями (убедитесь, что платы Ethernet физически соединены с нужными сетями).
Далее, закомментируйте хост-информацию. Добавьте знаки диезов на первых позициях соответствующих строк. Поскольку данный компьютер работает только как маршрутизатор, хост-информация вообще не нужна.
#HOSTO_IPADDR=192,168.7.123
#HOSTO_GATEWAY_IF=default
#HOSTO_GATEWAY_IP=192.168.1.200
#HOSTO_IPMASQ=NO
#HOSTO_IPMASQ_IF=default
Теперь убедитесь в правильности указания сетевых адресов для внешней и внутренней сети. Исходный файл содержит следующие строки для каждой сети:
#NETO_NETADDR-192.168.0.0
NETO_NETMASK= $IF1_NETMASK
NETO_dkTEWAY_IF=$IFl_IFNAME
NETO_GATEWAY_IP-default
NETO_IPMASQ=YES
NETO_IPMASQ_IF=$IFOllFNAME
Внесите изменения, отражающие конфигурацию защищенной и незащищенной сета:
NETO_IPMASQ=NO
NET1_IPMASQ=YES
NETl_IPMASCi_IF=$IFl_IFNftME
В заключение сконфигурируйте шлюз, который служит каналом связи вашей сети с Internet по умолчанию.
GWO_IPADDR=200.200.200.1
GWO_IFNAME=$IFO_IFNAME GWO_METRIC=1
Остальные секции файла конфигурации устанавливают заданные по умолчанию маршруты. Необходимо назначить имя хоста маршрутизатору. Измените следующую строку, чтобы задать подходящее имя:
HOSTNAME=tourettes
Сохраните измененный файл. Нажмите Ctrl+W и Enter для сохранения, а затем нажмите Ctrl+C, чтобы вернуться в меню конфигурирования сети. Нажмите 2 в этом меню, чтобы войти в файл /etc/network_direct. conf для установки базовой безопасности.
Настройка базовой безопасности
Добавьте в файл /etc/network_direct. conf следующую строку:
[ "IF$" ] && ipfwadm -F -a -m -S "$NETWORKl"/24 -D 0.0.0.0/0
He поясняя синтаксис команды ipfwadm (с которым можно ознакомиться на Web-странице http://www.dreamwvr.com/ipfwadm/ipfwadm-faq.html) , отметим, что эта команда выполняет следующее,
Теперь сохраните файл (Ctrl+W) и выйдите из редактора (Ctrl+C).
Примечание
Рассмотрение базовой безопасности для более современной утилиты ipchains выходит за рамки этой книги. Для получения более подробных сведений обращайтесь к ссылкам по вопросам безопасности из документации Linux Router Project на сайте irp. cOwz. com. Неплохой пример по этим сценариям приведен в "Seattle Firewall" на сайте seawall.source-forge, net.
Дальнейшее конфигурирование сети
Другие настройки сети конфигурировать не нужно. В завершение заметим: файлы hosts. allow и hosts. deny созданы для того, чтобы маршрутизатор мог защитить себя от нежелательных атак, пресекая попытки удаленного входа в систему через сеть. Маршрутизатор необходимо конфигурировать в консоли, а не через сетевой login. Возможно, лучшее решение - не изменять данные файлы.
Сохранение изменений
После конфигурирования маршрутизатора сохраните изменения на дискете. Для этого выберите Ь в основном меню конфигурирования. Достаточно перезаписать только модуль etc, поскольку файлы изменены лишь в каталоге /etc. Чтобы выполнить копирование, выберите пункт 2 в мелю backup.
После записи изменений и перезагрузки системы новая конфигурация маршрутизатора будет доступна. Теперь маршрутизатор работает как простейший брандмауэр.
Не останавливайтесь на достигнутом
Изложенные принципы помогут вам организовать работу с дистрибутивом Linux Router Project для создания (кроме всего прочего) более совершенных маршрутизаторов, способных поддерживать соединения ISDN, пользователей коммутируемого соединения РРР и TnLernet-соединения по выделенной линии. Для этого потребуются дополнительные комбинации модулей и особые конфигурации систем. Необходимую информацию можно получить на Web сайте http://www.linuxrouter.org .
Что дальше
Мы узнали, что Linux позволяет превратить персональный компьютер не только в мощную рабочую станцию или сетевой сервер, но и в маршрутизатор или брандмауэр для сети.
В гл. 32 продолжен обзор Linux в сетевой среде и подробно рассмотрено использование Linux как Web-сервера Intranet. Linux продолжает приобретать популярность как платформа для Web-серверов Internet и Intranet. Это обусловлено доступностью эффективного, стандартизованного программного обеспечения для Web-сервера, выполняемого на недорогом аппаратном обеспечении.
Надежность и быстродействие Web-серверов Linux делает их популярными во многих ситуациях, когда используются дорогие, коммерческие решения для Web-серверов.
Если у читателя нет подготовки в области развития и разработки Web, то в следующей главе предоставлены базовые сведения, безусловно, полезные для настройки собственного Web-сервера.
Глава 32 . Построение собственного Web-сервера
Вы уже достаточно долго изучаете Linux и сейчас готовы к обзору наиболее популярного из применений этой операционной системы: использования Linux для создания Web-серверов небольшого и среднего масштабов.
Linux широко используется для разработки и поддержки Web-серверов по нескольким причинам.
В этой главе рассмотрены основные принципы превращения персонального компьютера под управлением Linux в Web-сервер для сайта Intranet или Internet. Глава начинается с обзора задач Web-сервера и основных Web-серверов, доступных под Linux.
Приведена подробная информация по установке, конфигурированию и сопровождению Web-сервера Apache - наиболее популярного Web-сервера для Internet, который в настоящее время поставляется с Red Hat Linux 7.1.
В конце главы поэтапно рассмотрен пример построения простой Web-странички с использованием Apache. Глава позволит пользователю уверенно экспериментировать с различными Web-серверами, работающими под Linux. Более того, пользователь сможет самостоятельно создать свой Web-сайт, используя Linux и Apache.
Что такое Web-сервер
Пользователи, которые когда-либо использовали Web, вероятнее всего, слышали термин "Web-сервер", но все же они не имеют четкого представления о том, для чего нужен Web-сервер.
Очень часто этот термин имеет двойное значение, обозначая и компьютерное оборудование, и программное обеспечение, выполняемое на компьютере. Корректно использовать термин "Web-сервер" для обозначения программного обеспечения, запускаемого для ответа на запросы Web-клиентов, например Web-браузеров.
Программное обеспечение Web-сервера предназначено для отображения документов, использующих HTTP (Hypertext Transfer Protocol - Протокол передачи гипертекста) и доступных на Web-сайте в ответ на запросы клиентов. Web-сайт использует программное обеспечение Web-сервера.
Последовательность действий следующая: клиент запрашивает документ при помощи URL; Web-сервер принимает запрос, находит в системе URL, соответствующий заданному, - физический файл (который может быть файлом HTML или файлом другого типа). Убедившись, что клиент имеет разрешение на получение файла, Web-сервер возвращает файл клиенту. Кроме того, обычно Web-сервер ведет запись протокола: кто и какой документ запрашивал, и сколько было запросов, что позволяет получить статистику для определения популярности Web-сайта.
Больше, чем извлечение файлов
Описанная последовательность действий чрезмерно упрощена, но ее цель - описать работу, выполняемую многими Web-серверами.
Конечно же, путешествуя по Web, легко осознать, что Web - это гораздо больше, чем набор статических документов, которые Web-сервер посылает на запросы Web-браузеров. Для запроса информации с сервера или предоставления информации организации-владельцу сервера могут использоваться формы. Можно заказать товары, проверить кредитные карточки и выполнить другие самые разнообразные деловые операции.
Для выполнения таких функций современные Web-серверы должны не только отвечать на HTTP-запросы. Web-серверы обычно обеспечивают два механизма взаимодействий.
Интерфейс простого шлюза (CGI - Common Gateway Interface)
Для придания интерактивности Web-серверу наиболее широко применяется механизм CGI. При использовании CGI к HTTP-протоколу добавляется очень простое расширение для запроса статических файлов.
CGI обеспечивает стандартизованный метод запуска программы на сервере и передачи программе данных из формы на обработку. Эти программы можно писать практически на любом языке программирования или сценариев. Обычно используются С, Perl и Java.
Когда пользователь запрашивает CGI-программу (возможно, при предоставлении заполненной формы или щелчке на ссылке к программе) Web-сервер передает данные пользователя CGI-программе и ожидает, пока программа вернет результат. Данные, возвращенные CGI-npor-раммой, сразу же передаются клиенту тем же образом, каким возвращается браузеру содержимое статического файла. Правильное формирование данных, возвращаемых браузеру, и обработка непредвиденных обстоятельств входит в задачу CGI-программы.
В целом, технология CGI разработана достаточно хорошо. Простота метода передачи данных от сервера в CGI-программу и способ построения результирующих данных, которые программа возвращает серверу, означает, что можно создавать несложные CGI-программы, не имея большого опыта программирования.
Изменять и тестировать CGI-программы несложно, так как для их написания можно использовать популярные языки сценариев, например Perl.
То, что CGI-интерфейс является стандартом, означает, что сценарий CGI или программа, написанная для одного Web-сервера Linux, будет выполняться на любом другом Web-сервере Linux. Возможно, этот сценарий или программа будут выполняться и на любом другом сервере Unix, если они написаны на языке, интерпретируемом в соответствующих операционных системах.
Несмотря на все преимущества, CGI имеет серьезные недостатки, делающие его непривлекательным для некоторых Web-сайтов. Два главных недостатка относятся к категориям безопасности и скорости.
С момента появления Web в интерфейсе CGI были обнаружены значительные просчеты, позволяющие опытному злоумышленнику получить доступ к системе с Web-сервером, если сценарий плохо написан. Поэтому, использование CGI нежелательно на тех Web-серверах, где безопасность данных является первостепенной задачей - на большинстве корпоративных Internet и Intranet-серверов и особенно на сайтах, которые реализуют финансовые операции и продажу по кредитным карточкам в режиме on-line.
Интерфейс CGI не очень эффективен. Web-сервер запускает один или несколько процессов, которые отвечают на запросы клиента. Браузер запускает дочерние процессы для CGI-программы. передает данные новому процессу и ожидает его завершения. На загруженном сайте это может привести к большому числу новых процессов, нуждающихся в запуске за короткий период времени, особенно если CGI-сценарии используются интенсивно. Каждый запрос для CGI-программы приводит к запуску отдельного процесса.
Этот неэффективный способ обработки большого количества данных и запросов является причиной того, что многие ведущие Web серверы снабжены собственными API (Application Program Interfaces - Программный интерфейс приложений) для написания программ сервера.
Программный интерфейс приложений (API - Application Program Interface)
Программные интерфейсы приложений (API) предоставляют методы написания программ, хорошо интегрированных в Web-сервер и не требующих новых процессов для каждого запроса.
API позволяет разрабатывать Web-приложения для обработки большего количества запросов по сравнению с аналогичными CGI-решениями. Кроме того, API-методы меньше критикуются в отношении безопасности.
API-программы обычно выполняют те же функции, что и CGI-программы, например обработку информации, содержащейся в формах, доступ к базам данных и проверку кредитных карточек.
Наибольшим недостатком API является то, что они привязывают приложение к конкретному Web-серверу. Перенос приложения на другой сервер может потребовать значительных изменений в программе и, чаще всего, для больших приложений невозможен.
Помните: сервер должен быть хорошо протестирован на предмет безопасности, производительности и гибкости перед созданием на сервере большого приложения, использующего встроенный в сервер API.
Web-серверы для Linux
Web впервые появился в мире Unix, поэтому неудивительно, что под Unix-платформы написано наибольшее количество существующих Web-серверов.
Все что существует под Unix, доступно для Linux, в том числе и Web-серверы Unix. Большинство Web-серверов Linux бесплатны. Наиболее известны следующие Web-серверы Linux.
Наряду с бесплатными серверами существует несколько коммерческих серверов:
Apache
По некоторым подсчетам Apache является наиболее широко используемым программным обеспечением Web-серверов. Apache означает "A Patchy Server", т.е. "Сервер с заплатами". Этот Web-сервер возник из попыток залатать NCSA httpd, один из первоначальных Web-серверов, чтобы исправить некоторые ошибки и добавить больше функций.
В результате появился Apache как некоммерческая альтернатива для систем Unix. Недавно он был перенесен в Windows и может использоваться как Web-сервер на системах с Windows NT/2000.
Apache предлагает многочисленные возможности, которые делают его привлекательным для системных администраторов Unix. Помимо использования конфигурации, основанной на первоначальных конфигурационных файлах NCSA httpd, для Apache доступен исходный код программы. Он разрабатывается коллективно, как и многие другие приложения для среды Linux.
Apache предлагает собственный API, являющийся альтернативой CGI (который тоже поддерживается в Apache). Можно использовать API при создании сменных (plug-in) модулей для решения множества задач. Из доступных модулей хотелось бы выделить следующие.
Оригинал исходного кода последней версии Apache, включая откомпилированные выполняемые модули для многих различных систем, в том числе и Linux, доступен на www. apache. org. В Red Hat Linux 7.1 Apache является Web-сервером по умолчанию.
NCSA httpd
NCSA httpd является одним из первых двух Web-серверов (наряду с Web-сервером Сеrn), на которых начинал строиться Web. NCSA httpd разработан в Национальном Центре Суперкомпью-терных Приложений при Университете штата Иллинойс, расположенном близ городов Urbana и Champaign, который также является родиной Mosaic, первого графического Web-браузера, открывшего Web путь к всемирной популярности.
NCSA httpd предлагает основной набор функций для обеспечения работы всех Web-сайтов, кроме наиболее требовательных. Этот набор включает встроенную поддержку для нескольких хостов, основную и упрощенную аутентификацию, управление доступом на уровне каталогов, включения со стороны сервера и полную поддержку CGI.
Оригинал исходного текста и готовый двоичный код NCSA httpd доступен по адресу hoohoo. ncsa.uiuc.edu.
W3C/Cem
Сервер Jigsaw - это построенный средствами Java преемник сервера Сегп, который был одним из первых Web-серверов. Как сервер, полностью построенный средствами Java, он может работать под управлением любой операционной системы, поддерживающей этот язык, включая Unix/Linux и Microsoft Windows.
Jigsaw строится с использованием нескольких разновидностей Java-объектов, включая:
Resources (Ресурсы). Ресурсы определяют, что отображается на Web-странице, включая статические объекты (текст, файлы иллюстраций) и динамические объекты (сценарии).
Frames (Фреймы). Эти объекты определяют, как обрабатываются ресурсы. Фрейм включает всю необходимую для обработки определенного ресурса информацию, например, объект HTTPframe обрабатывает HTTP-ресурс.
Filters (Фильтры). Средство динамической модификации ресурсов. Например, если Web-tam распознает незарегистрированного пользователя, этот пользователь "фильтруется" на входную страницу.
Indexer (Индексатор). Средство классификации ресурсов. Два главных индекса - каталоги (для группировки файлов) и расширения (для обычных файлов, наподобие, ТХТ или INI).
На момент написания книги окончательно отлаженной была версия Jigsaw 2.2.O. Версии Jigsaw соответствуют версиям ядра Linux, например, если вы обнаружите версию Jigsaw с номером, средняя цифра которого нечетная (скажем, Jigsaw 2.3.4), значит перед вами не окончательная версия. W3C поддерживает страницу, посвященную этому серверу по адресу www. w3.org/ Jigsaw.
Примечание
Предыдущий WSC-сервер (Cern) был одним из первых в Internet К сожалению, он больше не поддерживается.
WN
Рассмотрим те бесплатные серверы, которые используются реже. Серверы в этой нише рынка помогают увидеть разнообразие технологий и возможностей Web-серверов.
WN - еще один бесплатный сервер с уникальными возможностями, отличающими его от других серверов. WN позволяет проводить полнотекстовый поиск до документам, которые разработчики называют логическими документами HTML (документы, состоящие более чем из одного файла). Кроме того, пользователи могут искать файлы на сервере и легко получать удовлетворяющие условиям поиска документы. Пользователи могут загружать простой логический документ, состоящий из нескольких связанных документов, упрощая печать файлов, представляющих собой последовательность небольших документов.
Еще одна уникальная особенность сервера WN - способность работать с условными документами. Сервер WN может создать простой документ с определениями, которые возвращают клиенту правильную версию документа в зависимости от таких переменных, как IP-адрес и версия браузера клиента.
Модель безопасности сервера WN отличает его от Apache и Web-сервера NCSA httpd, которые по умолчанию работают с файлами, пока не нарушены конкретные права доступа. WN не работает ни с одним файлом, пока не получены конкретные права доступа. Реализуя эту модель. сервер становится более безопасным и предоставляет более мощный контроль доступа к файлам.
Копию WN можно получить по адресу hopf.math. nwu. edu.
Boa
Boa - последний бесплатный сервер в нашем обзоре. Он малоизвестен, во время работы над книгой была выпущена его первая предварительная версия.
Здесь Boa описан как пример того, что хотя сервер может быть небольшим, простым и даже элементарным, он может выполнять нужную работу. Boa предоставляет только базовую функциональность и имеет меньше возможностей по управлению доступом, чем Apache или WN.
Boa разработан так, что вполне может претендовать на звание самого быстрого из доступных Web-серверов для Linux. Создатели Boa утверждают, что их сервер в два раза быстрее Apache, хотя для доказательства этого заявления требуется дополнительное тестирование на реальных больших Web-сайтах.
Такого выигрыша в производительности Boa достигает за счет однозадачного режима выполнения. Обычные Web-серверы создают несколько процессов для прослушивания запросов, а Boa работает в одном процессе и обрабатывает все приходящие запросы внутри, не используя многозадачный механизм операционной системы. Boa порождает дочерний процесс только при CGI-запросе.
Дополнительная информация о Boa доступна по адресу www. boa. org.
Stronghold
Stronghold является одним из наиболее известных коммерческих Web-серверов для Linux. Stronghold - это коммерческая версия Apache, дополненная поддержкой SSL.
Поддержка SSL (Secure Sockets Layer - Уровень безопасного соединения) необходима при создании безопасных связей браузер-сервер, используемых приложениями интерактивной торговли или там, где нужно зашифровать или скрыть от любопытных глаз данные, передающиеся между клиентом и сервером.
Stronghold имеет все средства для создания безопасного сервера, включая средства для Certificate Authority (сертификация полномочий). При помощи Certificate Authority можно выдавать цифровые сертификаты, санкционированные сторонними организациями по утверждению сертификатов, например Verisign. Кроме того, Stronghold поддерживает аппаратные акселераторы шифрования, равно как и 128-битовые ключи для повышения надежности шифрования.
Stronghold поставляется с полным текстом исходного кода, что позволяет использовать его аналогично Apache, включая компиляцию вместе с модулями для Apache и написание собственных модулей.
Stronghold распространяет фирма С2 Software по адресу http://www.c2.net/products/sh3/index.php3 .
FastTrack/iPlanet
FastTrack - известный Web-сервер от Netscape. К сожалению, фирма Netscape не интересовалась разработкой Web-серверов для некоммерческих операционных систем (таких как Linux) до того, как было принято решение выпустить в свободное распространение браузер и исходные тексты к нему.
С появлением альянса между AOL/Netscape и Sun интерес к FastTrack оживился. Теперь он входит в семейство iPlanet Web-серверов и серверов приложений. FastTrack сейчас реализован с помощью свободно-распространяемой Java-версии Web-сервера iPlanet. Enterprise-версия этого сервера распространяется как коммерческий продукт.
Управлять Web-сервером FastTrack очень просто. Все действия по конфигурированию и администрированию выполняются через Web-формы. Эти формы позволяют Web-мастеру производить все операции: от создания списков пользователей до управления доступом к файлам на уровне каталогов.
FastTrack имеет поддержку включений со стороны сервера, CGI и собственный API Netscape пя разработки приложений. Он поддерживает Live Wire фирмы Netscape, среду разработки для JavaScript со стороны сервера.
Сервер также можно использовать как безопасный сервер по технологии SSL. Для получения более подробной информации о нем обращайтесь по адресу http: / /home. netscape. com/ fasttrack/v3.0/index.html.
AOLserver
История AOLserver интересна: от коммерческой версии в 1995 году до одного из самых полнофункциональных бесплатных серверов, доступных в настоящее время.
AOLserver появился с именем NaviPress и был одним из первых доступных коммерческих серверов. В конце 1995 года AOL приобрела, компанию, выпустившую NaviPress, и использовала сервер внутри фирмы. В начале 1997 года AOL начала бесплатно распространять сервер по сети Internet.
Во время написания книги последняя версия AOLserver 3.4 поддерживала следующие функции.
AOLserver можно загрузить с Web-сайта AOLserver по адресу www. aolserver. com/ server/ index.html.
Java Web Server
Java Web Server отдела JavaSoft фирмы Sun - уникальный Web-сервер. Несмотря на то, что Java Web Server не разрабатывался специально под Linux, теоретически он может работать на любой платформе с Виртуальной Машиной Java (Java Virtual Machine), так как полностью разработан на Java.
Java Web Server предлагает многочисленные функции, выделяющие его среди коммерческих предложений, включая систему серверных аплетов для написания приложений без необходимости возврата к CGI, полную поддержку SSL, что позволяет использовать сервер безопасными приложениями, например интерактивными магазинами.
Для улучшения производительности можно создать компилированные страницы, состоящие как из HTML, так и из программного кода. Для сбора статистической информации в программах можно регистрировать сессии пользователей при помощи встроенного механизма регистрации.
К сожалению, с расширением соглашения между AOL/Netscape и Sun возникает необходимость поддержки трех Web-серверов. К моменту написания книги было принято решение о прекращении развития этого продукта в начале 2001 года. Однако, это по прежнему популярный коммерческий Web-сервер. Если вам необходимы услуги в области администрирования или поддержки Java Web Server, можно обратиться к его домашней странице по адресу http: / /www. sun. com/ software/ jwebserver/ index. html.
Zeus
Zeus - последний Web-сервер, рассматриваемый в этой главе. Последняя версия Zeus - 3.3.8 -представляет Web-сервер для Unix/Linux и Macintosh OS X. Он предлагает встроенную поддержку кластеризации, что явно дает серверу потенциальные преимущества для объемных сайтов. Кластеризация позволяет реализовать обслуживание одного Web-адреса несколькими Web-серверами.
Это дает возможность распределить нагрузку запросов по всем серверам группы, а значит обрабатывать большее количество запросов одновременно.
Упомянутые возможности позволили Zeus стать Web-сервером для ряда наиболее загруженных Web-сайтов, включая eBay и British Telecom. Разработки, ориентированные на ядро Linux 2.4, позволяют надеяться на то, что мощность Zeus Web-сервера будет расти. В настоящее время IBM Linux Technology Center считает, что производительность Zeus-серверов для ядра Linux 2.4 почти вдвое выше, чем у серверов на базе ядра Linux 2.2.
Кроме того, Zeus предлагает поддержку ISAPI (API из Internet Information Server фирмы Microsoft) как под Unix, так и под Windows NT/2000. Zeus поддерживает сервлеты (servlet) Java, подобные тем, которые используются в Java Web Server, и предлагает интегрированную связность с базами данных при помощи стандарта доступа к базам данных JDBC.
Zeus предлагает 128-битовое шифрование SSL по всему миру. Из-за того, что Правительство США ограничивает экспорт 128-битовой технологии шифрования, компании США предлагают на экспорт криптографические программные продукты с "ослабленной" 56-битовой кодировкой. Большинство сообщений о взломе шифров программ, таких как Netscape, относились к версиям программ с 56-битовой кодировкой.
Информация о Zeus доступна по адресу www. zeus. со. uk.
Установка Apache
Оставшаяся часть главы посвящена детальному обзору Web-сервера Apache по двум причинам:
Если при установке системы Linux выполнена достаточно полная инсталляция, то, вероятнее всего, Apache уже установлен. Существует много способов проверить, установлен ли Apache. Можно использовать команду rpm.
$ rpm -q apache
Если Apache уже установлен, ответ команды будет примерно таким:
apache-1.3.19-5
Если в ответ на команду rpm получено сообщение, что Apache уже установлен, то часть главы до параграфа "Конфигурирование Apache" можно пропустить.
Установка Apache с CD-ROM Red Hat
Наиболее простой способ установки Apache - с прилагаемого к книге диска CD-ROM. Для этого смонтируйте CD-ROM (обычно в /mnt/cdrom) и выполните команду cd в каталог /imt/cdrom/RedHat/RPMS. (Если CD-ROM смонтирован не в /mnt/cdrom, перейдите в каталог, соответствующий точке монтирования). Этот каталог содержит все файлы rpm полного дистрибутива Red Hat Linux. Для установки пакета выполните команду rрm
$ rpm -i apache-1.3.19-5.1386.rpm
Загрузка последней версии Apache
Если планируется запустить высококлассный или очень объемный Web-сервер, загрузите последнюю версию Apache с узла httpd.apache.org (рис. 32.1). При использовании последней версии можно быть уверенным, что незначительные ошибки, которые не повлияли бы на небольшой сайт, не проявятся при работе с более сложным или более посещаемым сайтом.
Рис. 32.1. Web-сайт Apache
Примечание
Приведенная далее информация по конфигурированию и управлению Apache подразумевает использование версии этого Web-сервера с Red Hat CD-ROM, прилагаемого к книге Новые версии Apache совместимы сверху вниз. Конфигурационные файлы, рассматриваемые в главе, должны работать и с новыми версиями Apache.
При загрузке Apache с Web-сайта Apache можно загрузить либо оригинал исходного кода, либо откомпилированные исполняемые файлы для Linux. Существуют бесспорные аргументы в пользу первого способа, особенно если планируется разработка программ с использованием API Apache или внедрение дополнительных модулей в сервер. Однако рекомендуем загрузить уже готовые исполняемые модули для построения Web-сайта с базовым набором свойств Apache. В книге нет руководства по компилированию собственной копии Apache, так как для этого требуется более тщательное изучение Web-серверов.
Для получения последнего дистрибутива исполняемых модулей Apache перейдите в браузере на Web-сайт Apache (httpd. apache. org) и выберите ссылку загрузки (Download). Это приведе-к каталогу файлов и ссылке под названием Binaries. Последовав за ссылкой Binaries, укажите операционную систему (в нашем случае, Linux). В окне браузера отобразится список доступных файлов. Во время написания книги этот список был следующим.
Заметьте: судя по именам файлов, текущей версией является Apache I.3.6. Обозначения 1586 и 1686 указывают, что пакет откомпилирован с оптимизацией для процессоров класса Pentium либо Pentium II соответственно.
Файлы README являются текстовыми. Не мешало бы их прочесть перед загрузкой. Файлы . gz сжаты утилитой gzip. ASC-файлы включают сигнатуру PGP. После загрузки выбранного пакета распакуйте файл во временном каталоге. Для распаковки архива в подкаталог текущего каталога используйте команду:
$ tar xzvf apache-file-name
В данном случае подкаталог называется apache_l .3.20, хотя он может быть и другим в зависимости от версии Apache, доступной при загрузке исполняемых модулей. В этом каталоге есть полный исходный текст загруженной версии с примерами конфигурационных файлов и полной документацией в формате HTML.
Чтобы установить загруженные исполняемые модули, выполните установочный сценарий install-bindist. sh из каталога распакованного архива.
$ install-bindist.sh
По умолчанию эта команда установит сервер Apache в /usr/local/etc. Заметьте: Red Hat помещает Apache-сервер в каталог /usr/sbin, конфигурационные файлы в /etc/httpd/conf и делает каталог /var /www/html корневым для Web-документов. В этой главе подразумеваются умолчания, принятые в Red Hat, так как они используются при инсталляции Apache с CD-ROM, прилагаемого к книге.
Примечание
Если вы используете другую версию Apache, указанные каталоги могут быть другими. Воспользуйтесь командами find или locate, чтобы найти их.
Дистрибутивы исполняемых кодов Apache содержат полные инструкции по компиляции пакета из прилагаемых исходных текстов, поэтому если обнаружится, что загруженные откомпилированные модули работают не так, как ожидалось (возможно, из-за проблем несовместимости с библиотеками Linux), можно использовать инструкции для построения собственных исполняемых модулей.
Конфигурирование Apache
До версии 1.3.6 конфигурирование Apache производилось тремя основными конфигурационными файлами: httpd.conf, srm.conf, и access .conf. В Red Hat при стандартной установке Apache файлы конфигурации находятся в /etc/httpd/conf/, хотя расположение их легко изменить (это показано далее при рассмотрении запуска Web-сервера Apache). Начиная с версии 1.3.6, эти три файла объединены в один: httpd. conf. Этот общий файл выполняет функции всех трех файлов и его содержимое почти такое же, как и у исходных трех файлов.
Роль конфигурационных файлов Apache не очень четко определена и иногда функции дублируются, но обычно они используются следующим образом.
httpd.conf. Используется для установки общих параметров, таких как номер порта, используемого сервером, и списка загружаемых при запуске сервера модулей. Этот файл также указывает на расположение файлов srm. conf и access. conf.
srm.conf. Определяет другие общие параметры: структуру корневого дерева документов сервера и правила, относящиеся к программам CGI.
access.conf. Используется для установки ограничений доступа для сервера или отдельных каталогов.
Рассмотрим основные параметры, на которые должен обратить внимание любой Web-мастер перед запуском Apache на открытом Web-сервере. В дальнейших примерах используется сервер Apache версии 1.3.19, поставляемый с предварительной версией Red Hat Linux 7.1. Эта версия Apache использует один конфигурационный файл /etc/httpd/conf /httpd. conf.
С помощью задаваемых в этом файле параметров можно определить поведение Apache-сервера в целом, в отношении ответов на запросы HTTP, и в отношении любых виртуальных хостов, которые выглядят как отдельные Web-сайты для любого браузера.
Конфигурационный файл Apache
Хотя подкаталог /etc/httpd/conf включает все три оригинальных конфигурационных файла, собственно конфигурируется только файл httpd. conf. Остальные CONF-файлы оставлены для совместимости с предыдущими версиями.
Структура файла httpd. conf довольно проста. Ниже приведен его листинг по умолчанию:
# инструкциями обращайтесь по адресу <URL: http://www.apache.org/docs/ > #
# по адресу <URL: http://www.apache.org/docs/mod/core.htmlflockfile >),
# то он создает дополнительный резерв. Если больше, чем
# для обработки каждому дочернему процессу перед его удалением.
</IfDefine> |
# |
# (например, http://123.45.67.89/) и эта директива позволит
<Directory "/var/www/html">
# |
<Files - н/ч \ .ht"> |
AddlconByType ( SND , / icons / sound2 .gif) audio / * |
# Несмотря на схожесть названий, следующие директивы Add*
AdSLanguage en .en
AddLanguage fr .fr
AddLanguage de .de
AddLanguage da .da
AddLanguage el .el
# языков на случай, если при согласовании содержимого не удастся
AddType application/x-httpd-php .php4 .php3 .phtml .php
AddType application/x-httpd-php3 .php3
# Далее приведены директивы для PHP/FI (PHP2):
# ErrorDocument 500 "The server made a boo boo.
# <URL: http://www.apache.org/docs/vhosts/ >
# для ознакомления с подробностями перед тем, как
# Можно использовать в командной строке опцию '-S', чтобы
#NameVirtualHost 12.34.56.78:80 #NameVirtualHost 12.34.56.78
# можно найти сертификаты СА для аутентификации клиентов или |
#SSLReqUire ( %{SSL_CIPHER) ! ~ m/ n (ЕХР |NULL) -/ \ |
tt or %{REMOTE_ADDR) =~ m/ n !92\ .76\ . 162\ . [0-9] +$/ |
# Экспортируются V SSL *' переменные окружения, |
# Место хранения пользовательского SSL файла протокола,
# протокола SSL (без ошибок) на виртуальном хосте.
</IfDefine>
Заметьте: этот файл содержит и комментарии, и реальные команды конфигурирования. Комментарии начинаются с символа диеза (#). Команды состоят из имени команды, за которым следует параметр.
В файле httpd.conf три раздела: Global Environment, Main Server Configuration и Virtual Hosts. Рассмотрим каждый из них подробно.
Раздел Global Environment
Директивы и модули этого раздела управляют операциями сервера Apache в целом. Все, что входит в этот раздел, применимо ко всем хостам Apache, независимо от того, идет ли речь о виртуальном хосте или главном сервере.
Server-Type
Первая команда, которая будет описана - это ServerType. Сервер Apache может работать в двух режимах. Первый режим - самостоятельный (standalone), когда его собственные процессы прослушивают соединения и в режиме inetd, с которым читатель уже ознакомился в параграфе о работе сетей. Во втором режиме (с inetd) inetd прослушивает соединения и запускает процесс Apache при установлении соединения. Если Web-сервер Apache запускается впервые, то лучше не запускать его в самостоятельном режиме, пока вы не ознакомитесь с inetd и не получите необходимые основания для работы сервера в самостоятельном режиме.
ServerRoot
ServerRoot используется для задания базового каталога, в котором находятся файлы конфигурации и протоколов. Red Hat устанавливает их в каталог etc/httpd. В этом каталоге есть каталог conf, содержащий три файла конфигурации, и каталог logs для протоколов в виде ссылки на/var/log/httpd.
Можно по своему усмотрению переместить этот каталог внутри системы на позицию, соответствующую вашему стилю администрирования. Но проще всего оставить все файлы там, куда их помещает дистрибутив Linux.
Загрузка Модулей
Первая секция состоит из последовательности команд LoadModule, за которыми следует последовательность команд AddModule. Функциональность Apache создается и расширяется за счет использования модулей. В ранних версиях Apache эти модули были объединены в исполняемый файл Apache - httpd. Начиная с версии Apache 1.3 можно использовать модули, загружаемые при запуске сервера.
Так как большинство этих модулей конфигурируется посредством команд, находящихся в файле конфигурации, очень важно, чтобы все модули загружались до появления любой другой команды файла httpd. conf.
Дм большинства базовых инсталляций достаточно использовать список модулей по умолчанию, который можно не корректировать. Если нужно расширить или изменить функциональность Web-сервера, обратитесь к on-line документации по адресу httpd. apache. org за дополнительной информацией о добавлении загружаемых модулей и использовании команд LoadModule и AddModule.
Конфигурирование главного сервера
На Apache-сервере можно создать сколько угодно виртуальных хостов. Но каждый Apache-сервер требует главного хоста. Директивы в секции главного сервера определяют параметры по умолчанию для главного хоста, равно как и любые директивы, не заданные в рамках любого виртуального хоста.
Port
Команда Port - второй важный элемент. Подразумевается, что по умолчанию Web-сервер работает с 80-м портом. Когда браузер запрашивает URL без порта, он подразумевает, что URL запрашивается с сервера через порт 80. Если вы используете брандмауер с высоким или средним уровнем защиты, удостоверьтесь в том, что он настроен на разрешение приема WWW-данных, как описано в гл. 31.
Из-за уязвимости процессов, работающих с номерами портов меньше 1024, можно попробовать запустить сервер чеоет порт с номером выше 1024 (если запускается Web-сервер с ограниченным
доступом по сети Internet и необходимо избежать риска, связанного с номерами портов меньше 1024). Обычно для таких Web-серверов используются порты 8000 и 8080, но можно выбрать любой свободный порт. Если вы используете брандмауер с высоким уровнем защиты, удостоверьтесь в том, что он настроен на разрешение приема WWW-данных для выбранного порта. Настраивая свой брандмауер с помощью утилиты lokkit, описанной в главе Chapter 31, при использовании порта 8080, введите 8080 :udp, 8080: top в поле Other Ports (Другие порты) в разделе Customization (Настройка).
User И Group
Команды User и Group - критические элементы, так как они оказывают существенное влияние на безопасность системы. Обычно httpd запускается как root, но этот процесс не прослушивает соединения. Чаще этот процесс запускает один или несколько дочернюифоцессов user и group (указанные именем либо ID-номером), определенных этими командами конфигурации.
Запуск процессов Web-сервером, включая программы CGI, в режиме root является огромным риском, особенно если плохо написанный сценарий CGI оставляет большие бреши в защите. Запустив Web-сервер и связанные с ним дочерние процессы под именем пользователя с ограниченными привилегиями, можно снизить опасность успешных атак на сервер.
Обычно Web-сервер запускают под именем apache группой apache или #-1. Автор книги чаще всего использует имя apache и группу apache, так как их легко илентифицировать при чтении файла конфигурации. Это имя (apache) имеет ограниченные привилегии в системе и потенциальный хакер может нанести ограниченный вред, если сценарий CGI позволит ему прорваться в систему.
ServerAdmin
Эта команда устанавливает электронный адрес администратора Web-сайта. Когда сервер генерирует автоматическое сообщение об ошибке, например, об отсутствии запрашиваемой страницы, то этот электронный адрес добавляется к странице, сообщающей, к кому нужно обращаться для извещения об ошибке. Убедитесь, что это правильный адрес, который действительно является адресом администратора сервера.
ServerName
Команда ServerName устанавливает имя хоста, возвращаемое клиентам с запрашиваемыми страницами. Это должно быть одно из допустимых имен сервера в соответствии с DNS-записью или таблицей хостов сети. В среде Intranet имя хоста можно определить в таблицах хостов, используя NIS, либо на сервере DNS вашего сайта. Для Web-сервера Intranet нужно убедиться, что указанное в этой команде имя допустимо в DNS-записи вашего домена. Если уверенности в этом нет, уточните у администратора записей имен доменов.
В этом примере для ServerName задано значение localhost. Если у вас есть свой домен, вы можете изменить это имя на имя Интернет-домена, например, mommabears. com.
DocumentRoot
Команда DocumentRoot указывает местоположение корневого каталога для файлов HTML. Для Red Hat Linux 7.1 по умолчанию это каталог /var/www/html. Если для ServerName задано значение mommabears. com, клиент с браузером должен иметь возможность получить доступ к файлу /var/www/html /file, html, используя URL-адрес http: //www.mommabears.com/ file.html.
Разрешение каталога HTML
Приведенный далее код является разделом примера файла httpd. conf, имеющего отношение к корневому каталогу F-HTML-документов. Комментарии удалены.
</Directory>
Структура этого элемента такова, что необходимые команды помещаются между открывающим и закрывающим дескрипторами <Directory> и </Directory> соответственно. Открывающий дескриптор указывает каталог, на который распространяются все команды, находящиеся между дескрипторами, в данном случае /var/www/html.
Обратите внимание: между дескрипторами <Directory> и </Directory> находятся четыре команды.
Команда Options указывает, какие специальные действия можно выполнить с файлами, находящимися в каталоге и его подкаталогах. Возможны значения None, All, Indexes, Includes, FollowSymLinks, ExecCGI и MultiViews. Для HTML каталогов обычно используются значения None, когда на сайте находятся только обычные файлы HTML и рисунки, и Includes, если планируется разрешить серверу обработку HTML. (Некоторые обрабатываемые сервером файлы HTML позволяют включать другие файлы в содержимое HTML-файла, и эта опция разрешает такое действие).
Следующая команда, AllowOverride, указывает, как влияет локальный файл . htaccess на переопределение элементов файла глобального доступа httpd. conf. Возможны значения None, All, Options, FileInfo, AuthConfig и Limit. Например, величина Options ограничивает возможности файла .htaccess переопределением команды Options. На тех серверах, где Web-мастер полностью контролирует содержимое, проще всего санкционировать файлу httpd. conf полное право переопределения. Если имеется сервер с несколькими пользователями, которые контролируют состав своих собственных каталогов, будет разумно ограничить их привилегии по переопределению конфигурации глобального доступа.
Команды order и allow используются вместе для определения тех, кто имеет доступ к страницам каталога. Приведенная в примере команда order al low, deny указывает, что сначала следует использовать команду allow и, если она не позволяет пользователю получить требуемый файл, то тогда применяется команда deny.
Обычно приходится использовать order allow, deny, если не применяется управление доступом. Если необходимо решшзовать управление доступом, то order deny, allow является лучшей командой (это станет понятно позже при построении небольшого Web-сайта с контролем доступа).
После команды order находится команда allow, которая указывает, что всем пользователем разрешается доступ. Чтобы узнать, как запретить доступ пользователей, прочтите документацию по Apache (http: / /httpd. apache. org).
UserDir
UserDir полезна тогда, когда Web-мастер разрешает каждому пользователю системы иметь собственную Web-страничку. Пользователь организовывает свою Web-страничку в подкаталоге, находящемся в его домашнем каталоге. Эта команда указывает имя подкаталога в домашнем каталоге пользователя, который нужно принимать за его Web-каталог.
Обычно используется public_html. Поэтому если у пользователя testuser есть каталог /home/ testuser/public_html, то к этому каталогу можно получить доступ через Web, используя URL http://servername/ ~testuser.
Directory-Index
Directory Index указывает, какие файлы должны приниматься как индексные. Это позволяет для такого URL, как http: / /www. mommabears. com получить доступ к нужному файлу.
В примере httpd.conf имеется семь элементов в Directorylndex: index.html, index.htm, index.shtml, index.php, index.php4, index.php3 и index.cgi. Это означает, что для любого URL, в котором не указано имя файла, а только имя каталога, сервер сначала попробует вернуть файл index. html из указанного каталога. Если такого файла нет, будет передан файл index. htm; если этого файла нет, то клиенту будет передан файл index. shtml и т.д. - вплоть до последнего седьмого.
Если ни один файл не найден, то сервер возвращает листинг каталога либо сообщение об ошибке, в зависимости от других настроек конфигурации.
AccessFileName
AccessFileName используется для указания имени файла, содержащего информацию управления доступом для данного каталога. Можно хранить информацию управления доступом в конфигурационном файле httpd. conf или в файлах . htaccess в каждом каталоге.
В примере указано, что если в каталоге есть файл . htaccess, то он содержит информацию управления доступом для каталога.
ScriptAlias
Очень важно корректно использовать команду ScriptAlias, чтобы указать каталог размещения программ CGI и сценариев. ScriptAlias указывает, какой каталог используется для сценариев CGI, и какой URL соответствует этому каталогу. Это единственное место, куда можно поместить программы CG1, пока не будут назначены другие условия для запуска CGl-программ по расширениям (как это выполнено далее посредством команды AddHandler).
В примере, приведенном выше, используется следующая команда.
ScriptAlias /cgi-bin/ "/var/www/cgi-bin"
Эта строка показывает, что URL http: //www.moramabears.com/cgi-bin/ соответствует /var/www/cgi-bin/. Подразумевается, что все файлы в этом каталоге являются сценариями CGI и сервер пытается запустить их, вместо того, чтобы возвратить их запрашиваемому клиенту.
Разрешение каталога CGI
По сравнению с описанием HTML-каталога, приведенным ранее, описание CGI-каталога выглядит несколько иначе:
<Directory /var/www/cgi-bin>
AllowOverride None Options ExecCGI Order allow,deny Allow from all
</Directory>
Обратите внимание, что все переопределения запрещены. Это вполне разумно, поскольку CGI представляет собой брешь в защите даже для хорошо сконфигурированной системы. Такой подход позволяет избежать различных ошибок защиты, связанных с CGI-каталогами.
AddHandler и AddType
Команды AddHandler и AddType нужно рассматривать вместе.
AddHandler позволяет отождествить файлы, имеющие указанное расширение, с определенным действием, которое можно реализовать как встроенное в сервере (например, запуск программ CGI), или как внешнее действие, обычно вызывающее специальную программу вне сервера и передающее запрашиваемый файл.
AddType создает новый тип MIME для указанного расширения. Типы MIME важны для указания клиенту, как нужно обращаться с файлом. Например, если в браузер передается файл с типом MIME text /plain, то браузер не интерпретирует код HTML в этом файле, в то время как тип MIME text /html заставляет браузер обрабатывать принимаемый файл как файл HTML.
Эти команды обычно применяются для того, чтобы разрешить выполнение сценариев CGI вне указанного каталога CGI-сценариев и разрешить серверу обрабатывать HTML, что позволяет обрабатывать встроенные в HTML-файл специальные дескрипторы перед возвращением страницы.
Разрешение сценариев CGI
Вы можете использовать команду AddHandler, чтобы разрешить обработку CGI вне заданного для CGI каталога. В примере файла httpd. conf используется команда
AddHandler cgi-script .cgi
которая указывает, что любой файл с расширением .cgi вне заданного каталога CGI должен рассматриваться как программа CGI и обязательно обрабатываться. Без этой команды любой
сценарий CGI, находящийся вне каталога CGI, не рассматривается как программа CGI. Клиенту просто будет возвращено содержимое файла: пользователь увидит фактический^код программы сценария, а не результаты его выполнения.
Разрешение обработки HTML для сервера
Для этого используются обе команды - AddHandler и AddType- Для Apache обычно указывается:
AddType text/html .shtml AddHandler server-parsed .shtml
Здесь AddType гарантирует, что результат обработки сервером файла HTML (эти файлы имеют расширение . shtml) рассматривается браузером клиента как файл HTML и отображается соответственно.
Строка AddHandler указывает, что файлы с расширением . shtml обрабатываются сервером. Это эффективно разрешает обработку сервером HTML для файлов . shtml.
Управление Web-сервером
Пользователь должен уметь запустить и остановить Web-сервер после его установки. Кроме того, нужно время от времени выполнять некоторые служебные операции, чтобы убедиться в том, что сервер работает без инцидентов. Необходимо добавлять и удалять пользователей и группы, защищать каталоги при помощи управления доступом и осуществлять контроль протоколов сервера.
Запуск и остановка Apache
Если Apache установлен при установке Red Hat, то загрузочные файлы во время старта системы уже настроены на запуск Apache. Эти настройки находятся в файле /etc/re. d/ init. d/ httpd. Данный файл является исполняемым сценарием, которому передаются два возможных параметра: start и stop. Если планируется использовать версию Apache, поставляемую с дистрибутивом Red Hat и расположение конфигурационных файлов не будет изменяться, то можно запускать и останавливать Web-сервер вручную, используя команду
# /etc/re.d/init.d/httpd start
для запуска сервера и команду
# /etc/re. d/init.d/httpd stop
для останова сервера.
Примечание
Запуск и останов Web-сервера производятся пользователем root, чтобы главный процесс сервера мог изменять пользователей для запуска дочерних процессов при прослушивании соединений.
Если устанавливаются собственные исполняемые модули или скомпилированные из исходников новые двоичные файлы, или необходимо изменить расположение конфигурационных файлов, то нужно уметь вручную запускать команду httpd.
Обычно httpd находится в /usr/sbin/. Допустимы два ключа.
Обычно достаточно использовать флаг - f, поскольку ServerRoot указан в файле httpd. conf. Например, если файлы конфигурации находятся в /home/httpd/conf, то запустить сервер можно с использованием следующей команды.
# /uar/sbin/httpd -f /etc/httpd/conf/httpd.conf
Если сервер запущен самостоятельно, без использования /etc/re. d/init. d/httpd, и его надо остановить вручную, то нужно знать правильный ID процесса (PID) для сервера. PID сервера можно определить, используя команду ps.
# ps -aux | grep httpd
Эта команда выдает список процессов подобный следующему.
Заметьте: все процессы принадлежат apache за исключением одного, принадлежащего root. Это родительский процесс всех процессов httpd, как раз тот, который нужно остановить командой
# kill 544
Управление пользователями и группами
В следующем параграфе (о защите каталогов) вы узнаёте, что одним из основных методов защиты является использование имени и пароля, который ограничивает доступ конкретному ряду пользователей. Пользователи должны правильно ввести свои имя и пароль для получения доступа к защищенному каталогу.
Создавать пользователей очень просто. Для этого достаточно воспользоваться командой htpasswd, которая при обычной установке Apache из дистрибутива Red Hat Linux находится в /usr/bin/htpasswd. Эта программа используется как для создания файла паролей, так и для добавления индивидуальных пользователей. Файл паролей выполняет функцию хранилища имен пользователей и зашифрованных паролей, используемых Apache для управления доступом.
# htpasswd -с filename user-name
При выполнении этой команды создается файл filename и добавляется первый пользователь. Флаг -с указывает, что файл нужно создать. Файл паролей может находиться где угодно, лишь бы он был доступен для Web-сервера Apache. Неплохим местом для него может служить каталог с файлами конфигурации. Например, команда
# htpasswd -с /etc/httpd/conf/users userl
создает файл пользователей в том же каталоге, что и другие файлы конфигурации Apache, и до-бавляегв него пользователя userl.
При выполнении этой команды программа дважды запрашивает пароль - для проверки его корректности. Затем пароль шифруется и записывается в /etc/httpd/conf /users. Соответствующая строка этого файла выглядит примерно так:
userl:N3ImVAxFtiv0
Формат строки: имя пользователя, двоеточие и зашифрованный пароль. Информация о каждом пользователе находится на отдельной строке.
Хотя это выглядит, как пароли в системном файле паролей (/etc/passwd), и файл паролей Apache зашифровывается аналогично, процесс шифрования в htpasswd совсем иной. Нельзя просто скопировать зашифрованные пароли из /etc/passwd для создания файла паролей Apache.
Для добавления пользователей после создания файла используется команда htpasswd без флага -с.
$ htpasswd /etc/httpd/conf/users user2
Эта команда добавляет пользователя user2, дважды запрашивая пароль..Результирующий файл паролей содержит две строки.
user1:N31mVAxFtiv0. user2:WROTrb116.3pPk
Кроме пользователей, несомненно, придется создавать группы. Группы объединяют несколько пользователей под одним именем, упрощая ссылку на пользователей с одинаковыми правами при конфигурировании управления доступом для каталогов.
Этот файл содержит один или несколько элементов, каждый из которых находится в отдельной строке,
имеющей формат:
Например, чтобы создать группу authors, состоящую из двух пользователей, зарегистрированных ранее, используется следующая строка.
authors: user1 user2
Защита каталогов посредством управления доступом
Как было указано в параграфе о разрешении HTML-каталога, существует возможность установить управление доступом для каждого каталога отдельно. Обычно это делается при помощи файла . htaccess в том каталоге, который надо защитить. В данный файл помещаются необходимые команды конфигурирования.
Для управления доступом в этом файле используются следующие основные команды:
AuthUserFile И AuthGroupFile
Команды AuthUserFile и AuthGroupFile позволяют указать расположение файлов пользователей и групп. В нашем примере эти команды следующие:
AuthUserFile /etc/httpd/conf/users AuthGroupFile /etc/httpd/conf/groups
Эти команды очень важны: без них сервер не будет знать, где искать пользователей и их пароли.
AuthName
AuthName используется для указания домена аутентификации. Это подсказка пользователям, чтобы они знали, как вводить имя и пароль. Например, AuthName Authors Only отображает пользователю подсказку Authors Only при запросе имени и пароля.
AuthType
AuthType предназначена для указания типа аутентификации, используемого для доступа к Web-странццам в перечисленных каталогах. Поскольку единственная доступная для AuthType опция basic, эта директива мало влияет на функционирование текущей версии Apache.
Require
Команда require используется при ограничении доступа пользователям и группам. Команда может использоваться для ограничения доступа пользователей, перечисленных в файле паролей, перечисленных в команде пользователей или для всех перечисленных в команде групп.
Для ограничения доступа любого пользователя, упомянутого в файле паролей, используется следующая команда:
require valid-user
Для ограничения доступа конкретных пользователей используется формат require user usernamel username2 ивегпате3 . .. Для ограничения доступа членам групп используется строка
require group groupname1 groupname2 grouрname3 ...
Order
Команда order используется в сочетании с элементами deny и allow для управления доступом на уровне хостов, а не пользователей. Используя order, deny и allow можно разрешить доступ только конкретным хостам, задав их IP-адреса или имена.
Команда order указывает порядок применения команд deny и allow. Например, в команде order allow,deny вначале выполняется команда allow, и если хост клиента не соответствует условиям команды allow, то выполняется команда deny. Аналогично, order deny, allow изменяет порядок, выполняя вначале команду deny.
Deny
Команда deny указывает, каким хостам запрещен доступ к каталогу. Возможны значения all, частичное имя хоста и частичный или полный IP-адрес. Например,
deny from all означает, что всем хостам запрещен доступ. Аналогично, deny from .juxta.com запрещает доступ всем хостам домена juxta. com. При использовании IP-адресов формат такой же: deny from 194.148.43.195 Команда запрещает доступ указанному хосту.
Allow
Команда allow выполняет обратную по сравнению с deny функцию: указывает, каким хостам разрешен доступ к данному каталогу. Она имеет те же параметры, что и команда deny.
Создание файла доступа
Рассмотрим все эти команды на двух примерах: разрешение доступа для группы и разрешение доступа по имени домена.
Разрешение доступа для группы
Следующий пример файла . htaccess разрешает доступ к конкретному каталогу только пользователям группы authors.
AuthName Authors Only AuthUserFile /etc/httpd/conf/users AuthGroupFile /etc/httpd/conf/groups require group authors
Заметьте: в этом примере указана команда AuthName для подсказки, указаны файлы паролей и групп, а также то, что пользователь должен быть членом группы authors для получения доступа к каталогу.
Разрешение доступа по имени домена
Следующий пример файла . htaccess разрешает доступ к конкретному каталогу только пользователям, которые обращаются к Web-сайту из хоста, находящегося в домене juxta.com:
order allow,deny allow from.juxta.com deny from all
Обратите внимание на порядок следования allow и deny. Логика работы следующая: при обращении к каталогу имя домена хоста сравнивается с доменом juxta. com. Если хост находится в этом домене, то доступ предоставляется. Если нет, то выполняется анализ по команде deny. Так как она запрещает доступ всем хостам, то запрашивающему хосту доступ не предоставляется.
Управление протоколами
Последняя рассматриваемая функция администрирования - управление протоколами. Apache создает два важных протокола: протокол доступа и протокол ошибок. Вместе они обеспечивают важной информацией многие функции, включая отладку ошибочных сценариев CGI и генерацию статистических отчетов доступа с подробной информацией об использовании Web-сайта.
Однако если о них забыть, эти протоколы будут увеличиваться в объеме, достигая огромнных размеров. С увеличением их размера значимость информации уменьшается, ибо обработка данных затрудняется.
.Поэтому полезно установить график чередования протоколов. Чередование протоколов означает сохранение текущей версии в архиве и создание нового, пустого протокола. В зависимости от посещаемости сайта следует производить чередование протоколов раз в месяц, неделю или день
Red Hat Linux 7.1 включает протоколы Apache в каталог /var/log/httpd. Они чередуются ; другими протоколами из /var/log в ежедневном режиме, как указано в сценарии /etc/ cron.daily/logrotate.
Для чередования протоколов используется утилита rotatelogs, поставляемая с дистрибутивом Apache. По умолчанию Red Hat Linux устанавливает ее в /usr/sbin/rotatelogs. Для использования программы добавьте следующую строку в файл httpd. conf.
TransferLog " |/usr/sbin/rotatelogs /some/location/file time"
Элемент /sorae/location/f ile дает базовое имя файла для чередующихся протоколов Число, соответствующее системному времени начала протоколирования, добавляется к имена файла. Параметр time, в секундах, указывает, как часто выполняется чередование протоколов.
Построение Web-сайта
После того, как Web-сервер сконфигурирован и отлажен, создадим для примера небольшой Web-сайт, чтобы показать, как развертывать информацию в Web.
Построим сайт, который будет содержать информацию о небольшой издательской компании On The Web Publishers. Разместим на сайте список новых изданий, общую информацию об издателе, форму для контактов и защищенный паролем раздел для эксклюзивного использования авторами, имеющим контракт с издателем.
В рамках поставленной задачи попытаемся создать сайт, содержащий HTML-документы и изображения, использующий CGI-программирование и выполняющий контроль доступа защищенного паролем раздела на сайте.
Определим структуру сайта, как показано на рис. 32.2.
Рис. 32.2. Структура Web-сайта
Создадим файлы, необходимые для реализации этой структуры. Подразумевая использование конфигурации, рассмотренной ранее в главе, поместим корневой каталог для дерева HTML-документов в /var /www/html, а каталог CGI - в /var /www/cgi-bin. Дерево каталогов и файлов:
/var/www/html/index.html
/var/www/html/about/index.html
/var/www/html/books/index.html
/var/www/html/contact/index.html
/var/www/html/authors/index.html
/var/www/cgi-bin/formmail
Кроме последнего файла, который мы рассмотрим вкратце, все перечисленные файлы являются HTML-файлами. Все вспомогательные файлы с изображениями, используемые HTML-файлами, можно разместить в тех же каталогах, что и файлы HTML. Многие Web-мастера предпочитают размешать все файлы с изображениями в другом каталоге. Этот каталог может быть следующим.
/var/www/html/images/
Так как в главе не рассматривался язык HTML, оценим два HTML-файла в качестве примеров соответствующих документов. Начнем с главной домашней странички /var/www/html/ index. html. В данном случае исходный текст файла может быть следующим.
<A HREF="/">
<IMG SRC="/images/logo.gif" BORDER=0></A>
<FONT SIZE=5>W</F>elcome to <STRONG>On the Web Publishers</STRONG>.
</BODY> </HTML>
Результат работы этого файла показан на рис. 32.3.
Рис. 32.3. Домашняя страница
Остальные страницы будут выглядеть примерно так же, кроме формы для контактов /var/ www/html/contact/index.html. Форма для контактов показана на рис. 32.4, она реализуется следующим исходным кодом.
<A HREF="/">
<IMG SRC="/images/ldgo.gif" BORDER=0></A>
US</A></TD>
BOOKS</A></TD>
<INPUT TYPE=TEXT WIDTH=30 NAME=city> City<BR>
<INPUT TYPE=TEXT WIDTH=30 NAME=state> State<BR>
<INPUT TYPE=TEXT WIDTH=30 NAME=zip> Zip/Post Code<BR>
<INPUT TYPE=TEXT WIDTH=30 NAME=country> Country<BR>
<INPUT TYPE=TEXT WIDTH=30 NAME=email> E-mail<BR>
Comments:<BR>
<TEXTAREA ROWS=10 COLS=30 NAME=commentS WRAP=HARD></TEXTAREA><BR>
</BODY> </HTML>
Рис. 32.4. Форма для контрактов
Эта страница содержит форму и ссылку на CGI-программу, которая обрабатывает данные из формы. В нашем случае используется программа f ormmail (бесплатно распространяемый сценарий CGI, написанный на Perl), которая считывает содержимое формы и отправляет его по почте на предопределенный почтовый адрес. В рассматриваемом примере контактная информация из формы отправляется по почте на главный почтовый адрес книжного магазина.
Forramail написал Matthew M. Wright. Эта программа доступна по адресу http: / /www. worldwideniart.com/scripts/formmail .shtml. Несмотря на то, что в главе не затрагивалось программирование на Perl и CGI, мы приводим исходный код программы. Можно заметить, что создание несложных CGI-программ не требует особых усилий.
# FonriMail Version 1.6 #
# Matt's Script Archive, Inc.: http://www.worldwidemart.com/scripts/
# COPYRIGHT NOTICE #
# пользователем, при условии сохранности авторских прав и
# случаях знаки авторского права и заголовок должны быть сохранены
# Конец
if ($check_referer != 1) { &error <bad_referer') }
# Определить массивы для дней недели и месяцев года.
# Получить текущее время и формат часов, минут и секунд. Добавить
($sec,$min,$hour,$mday,$mon,$year, $wday) = (localtime(time))[0,1,2,3,4,5,6];
# Определить ассоциативный массив для конфигурации
'redirect 1 ,' 1 , 'bgсоlоr', ",
'print_blank_f ields 1 , ' ', 'missing_f ields_redirect', ") ;
# Декодировать кодировку формы для переменных имени и значения
# будет возвращен. Еще одна брешь в защите перекрыта.
# были использованы пробелы между именами полей или переменными среды.
$Config{'required'} =- s/ (\s+|\n)?,(\s+|\n)?/,/g;
$Config{'required'} =- s/ (\s+) ?\n+ (\s+) ?//g;
$Config{'env_report'} =- s/ (\s+ | \n) ?, (\s+ | \n) ?/ , /g;
$C6n£ig{'env_repO3rt'} =- s/ (\s+) ?\n+ ( \s-i-) ? //g;
$Config{'print_config'} =- s/ (\s+| \n) ?, (\s+| \n) ?/, /g;
# Разложить переменные конфигурации по отдельным именам полей.
@Env_Report = split ( / , / , $Conf ig{'env_report'} ) ;
# Локализация переменных, используемых в этой подпрограмме.
# Для каждого обязательного поля, определенного в форме:
# указано его значение или заполнено пробелами, выдать ошибку.
# отметить его как ошибочное поле .
# с адресом переадресации.
# Напечатать заголовок HTTP и открывающие дескрипторы HTTP.,
print "Ниже находится предоставленная вами информация для ";
print "$Conf ig{'recipient'} . Текущая дата: ";
# Если указано, отсортировать по алфавиту:
# полей, то распечатать поле формы и его значение.
# Присвоить временной переменной $sort_order порядок сортировки,
# и разложить поля сортировки в массив.
$sort_order = $Conf ig{'sort'} ;
$sort_order =~ s/(\s+|\n)?, (\s+| \n) ?/, /g;
$sort_order =~ s/ (\s+) ?\n+(\s+)?//g;
# Проверить наличие ссылки возврата и распечатать ее, если нашли.
->formmail.shtml">FormMail</a> V1. 6 ©
1995 -1997 Matt Wright <br> A Free Product of
<a href="http: //www.worldwidemart .com/scripts/">Matt ' s
# Локализация переменных, используемых в этой подпрограмме.
if ($Conf ig{ ' subject '}) { print MAIL "Subject:
print MAIL "Ниже находится предоставленная вами информация .
От кого : \n" ; print MAIL "$Conf ig{'realname'} ($Conf ig{'email'} ) , дата:
# Если указано, отсортировать по алфавиту:
# полей, распечатать поле формы и его значение,
# и разложить поля сортировки в массив.
$Config{'sort'} =~ s/(\s+|\n)?, (\s+ | \n) ?/ , /g;
$Config{'sort'} =~ s/ (\s+) ?\n+ (\s+) ?//g;
$Config{'sort'} =- s/order://;
# Для каждого поля формы, если оно имеет значение или
# Если указаны переменные среды, послать их адресату,
# параметром вызова подпрограммы.
# Если e-mail адрес содержит:
# соответствует следующему шаблону регулярного выражения, то
# знаком @, за которым следует необязательный символ '[',
# стоять символ ' ] ', так как допустимо иметь email-адрес,
if ($ENV{'HTTP_REFERER'} =~ m| ~https? :
<table border=0 width=600 bgcolor=#9C9C9C>
<table border=0 width=600 bgcolor=#CFCFCF> <tr><td>
<a href="http: //www.worldwidemart.com/scripts/formmail.shtiru">FormMail</a>
по адресу
<tt>$ENV{'HTTP_REFERER'}</tt>
Если Вы пытаетесь сконфигурировать FormMail для запуска этой формы,
->вам нужно добавить следующую информацию к \@referers, более
Добавьте <tt>'$host'</tt> в ваш массив <tt><b>\@referers</b></tt>.
<a href="http: //www.worldwidemart.com/scripts/fonnmail.shtnil">
->FormMail</a> VI.6 © 1995 - 1997 Matt Wright<br>
A Free Product of <a href=" http://www.worldwidemart.com/scripts/ ">
<table border=0 width=600 bgcolor=#9C9C9C> <tr>
A Free Product of
<& href="http: //www.worldwidemart.com/scripts/">
<table border=0 width=600 bgcolor=#9C9C9C> <tr>
<tr><td>Meтод запроса предоставленной Вами формы не совпадает ни с
<tt>GET</tt>, ни с <tt>POST</tt>. Пожалуйста, проверьте форму и
<tt>method=</tt> записан в верхнем регистре и является <tt>GET</tt>
<а href="http: / /www. worIdwidemart. com/scripts/ formmai1. shtml">
->ForMail</a> vi.6 © 1995 - 1997 Matt Wright<br>
A Free Product of <a href=" http://www.worldwidemart.com/scripts/ ">Matt's
->Script Archive, Inc.</a> </font></center> </td></tr>
print «"(END ERROR HTML)";
<tr><td>B переданных для FormMail данных не указан получатель. Пожалуйста, убедитесь, что Вы записали в поле формы 'recipient' e-mail адрес. Более подробную информацию по заполнению поля формы recipient можно найти в файле README.<hr size=l>
<a href=" http://www.worldwidemart.com/scripts/formmail.shtml ">
->FormMail</a> VI.6 © 1995 - 1997 Matt Wright
<br> A Free Product of <a href=" http://www . worldwidemart. com/scripts/">Matt's
<table border=0 width=600 bgcolor=fCFCFCF> <tr>
$missing_field_list </ulxbr>
Эти поля должны быть заполнены для успешной подачи формы. <р> Пожалуйста, используйте кнопку Back браузера для возврата к форме ->и исправьте данные. <hr size=l> <center><font size=-l>
<a href ="http : //www. worldwidemart . com/scripts/formmail.shtml">
->FormMail</a> VI. 6 © 1995 - 1997 Matt Wright<br> A Free Product of
<a href="http: //www. worldwidemart. com/scripts/">Matt's
->Script Archive, Inc.</a> < / font>< / center> </td></tr>
Эта профамма возвращает пользователю HTML-страницу, сообщающую о том, что контактна)? информация в форме обработана или содержит ошибки, если таковые имеются. Это очень важный компонент всех CGI-программ - они должны либо вернуть правильные данные браузеру (например. HTML-документ или содержимое файла с изображением), либо перенаправить браузер на правильный URL.
Профамма f ormmail реализует много других функций: она может установить строку темь; (subject) при отправке e-mail и выполнить проверку того, что сценарий не используется незаконно пользователями с других Web-сайтов. Более детальная информация доступна на Web-сайте профаммы.
Последний, важный этап создания Web-сайта - оформление офаничений доступа для каталога /var/www/html/authors/, чтобы только уполномоченные пользователи имели доступ к файлам в этом каталоге. Чтобы сформулировать эти офаничения, нужно решить две задачи Во-первых, следует создать файл пользователей с перечнем необходимых пользователей (мы уже делали это в предыдущем парафафе, посвященном защите каталогов с использованием управления доступом). Нужно создать офаничения доступа для всех пользователей, которым предоставляется доступ к каталогу.
Во-вторых, нужно создать фуппу. Назовем ее authors, чтобы было проще выполнять работ по администрированию доступа к каталогу. Создается эта фуппа добавлением в файл групп (group) Web-сервера строки для фуппы, которая выглядит примерно так:
authors: author1 author2 author3
Эта строка указывает, что трем пользователям предоставляется доступ к каталогу.
Наконец, нужно создать файл .htaccess в каталоге /var/www/html/authors/ ("Auth" в приведенных ниже командах относится к аутентификации, authentication, а не к нашей группе authors).
AuthUserFile /etc/httpd/conf
/users AuthGroupFile /etc/httpd/conf
/groups require group authors
AuthName указывает отображаемую пользователю подсказку. AuthUserFile сообщает серверу, где искать список допустимых пользователей и паролей, a AuthGroupFile - где находится список допустимых групп. Наконец, команда require указывает, что только членам группы authors нужно предоставить доступ к каталогу.
Если пользователь попытается получить доступ к данному каталогу в начале сессии, он увидит диалоговое окно аутентификации, отображаемое браузером, подобное тому, которое отображает Netscape-(pnc. 32.5).
Рис. 32.5. Диалоговое окно аутентификации пользователя в Netscape
По умолчанию, если пользователь не пройдет аутентификацию, он получит страницу с сообщением об ошибке и предложением пройти аутентификацию. Для предоставления специализированной страницы, извещающей об ошибке аутентификации, следует отредактировать файл httpd.conf, чтобы указать на специализированное сообщение об ошибке, добавив в файл следующую строку:
ErrorDocument 401 /error.html
Этот элемент указывает, что при возникновении ошибки 401 (Authorization Required - Требуется аутентификация) сервер должен возвращать указанный URL вместо сообщения по умолчанию. Когда пользователь не пройдет аутентификацию, он получит модифицированную страницу с сообщением о неудачной аутентификации.
Что дальше
Мы узнали, как операционная система Linux может служить гибким инструментом построения сетевого сервера, в данном случае Web-сервера.
Следующая глава посвящена другой важной задаче, которую может решать Linux: работе почтового сервера. Почтовый сервер выполняет обработку всей приходящей и исходящей почты для сети. Он определяет, какие сообщения предназначены для внутренних пользователей (и направляет эти сообщения в их почтовые ящики), а какие - для абонентов внешних сетей (и направляет их в Internet).
Настройка почтового сервера - нетривиальная задача для среды Unix, особенно при использовании программы Sendmail, которая является основным почтовым сервером Linux. Тем не менее, для большинства сетей эта задача выполнима. На почтовый сервер Linux'a можно положиться - он доставляет множество сообщений с небольшими ежедневными затратами по администрированию. Убедитесь в этом сами.
Глава 33 . Linux Red Hat 7.1 как почтовый сервер: мощь Sendmail
В этой главе мы рассмотрим, как с использованием транспортного агента почты Sendmail превратить Linux в почтовый сервер организации.
Необходимость в почтовом сервере возникает тогда, когда связывается множество рабочих станций в сети и необходимо обеспечить для них сервис e-mail. Sendmail позволяет конфигурировать систему Linux для работы в качестве почтового сервера для внутренней переписки, отправки сообщений в Internet и получения сообщений из Internet.
В начале главы рассмотрена концепция МТА (Mail Transport Agent - Транспортный агент почты), затем дан краткий обзор Sendmail, основного МТА в мире Unix, а также некоторых альтернативных программ МТА. В завершение приведены рекомендации по конфигурированию Sendmail.
Концепция транспортного агента почты
Обычно пользователи принимают за систему e-mail программное обеспечение для чтения, создания и отправки сообщений. Таким программным обеспечением может быть почтовый модуль Netscape Communicator, Eudora, Pegasus Mail или pine, но все эти программы просто реализуют удобный интерфейс к системам, которые действительно выполняют работу по маршрутизации и получению почты.
Ни в одном из этих случаев программное обеспечение пользователя фактически не выполняет отправку исходящей или получение входящей почты. Перечисленные программы являются Mail User Agents (MUAs - Почтовыми агентами пользователя). Существует множество разнообразных MUA - на все вкусы. И именно они реализуют пользовательский интерфейс в мир e-mail.
За такими MUA-программами стоят транспортные агенты почты. МТА выполняют доставку, получение и маршрутизацию почтовых сообщений. Все МТА твердо придерживаются некоторых стандартных протоколов (например, Простого Протокола Транспорта Почты, известного как SMTP), которые реализуют систему электронной почты Internet (и систему электронной почты почти каждой сети Unix).
Это различие между MUA и МТА имеет очень большое значение. При установке почтового сервера в сети организации или в любой другой компьютерной сети, необходимо работать именно с транспортными почтовыми агентами.
Дополнительные сведения о различных МТА доступны на странице Linux Electronic Mail Admi-nistrator-HOWTO по адресу http: //www. linuxdoc. org/HOWTO/Mail-Administrator-HOWTO.html.
Sendmail как основной транспортный агент почты
Похоже, наиболее популярным МТА в мире Unix является программа Sendmail. Эта программа определяет почтовую систему, которая обеспечивает связь с Internet, поддерживая привычную адресацию (username@some. domain) и предоставляя стандартные услуги (такие, как автоматическая пересылка почты).
Являясь наиболее популярной программой, Sendmail вырос до самого мощного и сложного МТА систем Unix. Фактически, конфигурирование и управление системой Sendmail может быть настолько сложным в большой организации, что данному вопросу следовало бы посвятить целую книгу.
В главе обращено внимание на конфигурирование и использование Sendmail потому, что именно эта программа является МТА по умолчанию в Red Hat Linux, впрочем, как и в сетях Unix.
Предупреждение
В главе дан общий обзор программы Sendmail и задач ее конфигурирования. Чтобы получить более подробные сведения, обратитесь на Web-сайт www. sendipail. org.
Для начала коротко рассмотрим некоторые альтернативные МТА для Linux.
Small
Sendmail может быть основным транспортным агентом почты в Unix, но в мире Linux чаще используется как МТА программа smail. Отконфигурировать smail проще, чем Sendmail (хотя не всегда). Программа smail обеспечивает те же функции с поддержкой SMTP и UUCP, что делает возможным ее использование в качестве интерактивного почтового сервера.
Пакет smail не входит в состав Linux Red Hat 7.1, в качестве МТА по умолчанию используется Sendmail. Для загрузки последней версии smail обратитесь по адресу ftp: / / ftp. planix. com/ pub/Smail/ или поищите после днюю версию пакета RPM по адресу http: //www.rpmfind.net.
Qmail
Программ Qmail является альтернативой Sendmail. Хотя программа Qmail не столь известна, как smail, она выполняет некоторые функции, делающие ее конкурентоспособной на рынке МТА.
Разработчик Qmail обратил особое внимание на реализацию функций защиты. За последние годы в Sendmail обнаружен ряд ошибок в защите, которые впоследствии были исправлены. Философия Qmail состоит в том, чтобы сделать все возможное для исключения скрытых изъянов в системе безопасности, поскольку почта постоянно открыта для попыток взлома.
Qmail также пытается сделать процесс доставки настолько надежным, насколько это возможно, с форматом почтового ящика, более устойчивым к сбоям в работе системы при помещении сообщения в почтовый ящик.
Qmail выполняет и обычные функции, характерные для традиционных МТА: пересылка, использование псевдонимов, списки рассылки, управление загрузкой и т.п.
Домашняя страница Qmail - http: //www.qmail.org. На ней приведен список коммерческих организаций, обеспечивающих необходимую поддержку.
Конфигурирование Sendmail при помощи m4
Как отмечалось ранее, конфигурирование Sendmail может быть серьезной задачей даже для опытного системного администратора Unix. Для того чтобы разобраться во всех лабиринтах настройки системы, могут потребоваться годы.
Настройки Sendmail сохраняются в /etc/sendmail .cf. Даже беглый взгляд на конфигурационный файл, заданный по умолчанию в Red Hat Linux 7.1, позволяет оценить всю сложность конфигурирования системы.
Просматривая файл, обратите внимание, что он содержит большое количество чрезвычайно загадочных правил, определяющих поведение Sendmail. Любой пользователь, не являющийся экспертом в Sendmail, совершил бы серьезную ошибку, взявшись конфигурировать базисную систему, вручную создавая и редактируя файл конфигурации.
К счастью, для создания файла конфигурации в Sendmail предусмотрена специальная программа m4. Она позволяет создавать более простые файлы конфигурации. Затем т 4 обрабатывает эти файлы и преобразует их в файлы конфигурации Sendmail. Все, кроме самых опытных пользователей, создают файл конфигурации Sendmail именно этим способом.
Примечание
Дискуссии по вопросу конфигурирования Sendmail при помощи m4 доступны на странице http://www.sendmail.org/m4/readme.html . Пример конфигурирования Sendmail при ПОМОЩИ т 4 приведен на странице http: //www.sendmail.org/m4/intro.html.
Этот параграф начинается с инсталляции необходимых для работы т 4 файлов конфигурации Sendmail, затем дан обзор интерактивного почтового сервера.
Инсталляция файлов конфигурации Sendmail
На момент написания книги программа Sendmail была поделена на три отдельных RPM-пакета: пакет собственно программ, пакет конфигурационных утилит и пакет документации. Если вы обращаетесь к Sendmail впервые (или впервые конфигурируете программу), вам следует установить все три пакета. Вы можете их установить с CD-ROM, прилагаемого к книге:
$ rpm -i /mnt/cdrom/RedHat/RPMS/sendmail-cf-8.9.3-10.i386.rpm
Не все файлы конфигурации Sendmail по умолчанию инсталлируются при установке Red Hat Linux 7.1.Для полной инсталляции необходимо предварительно монтировать CD-ROM, прилагаемый к книге (например, как /mnt/cdr,om) и выполнить команду rpm для инсталляции двух пакетов.
$ rpm -i /mnt/cdrom/RedHat/RPMS/sendmail-e.11.2-14.1386.rpm
$ rpm -i /mnt/cdrom/RedHat/RPMS/sendmail-cf-e.11.2-14.1386.rpm
Файлы документации Sendmail по умолчанию не инсталлируются при установке Red Hat Linux 7.1. Если у вас нет второго диска Red Hat CD-ROM (к книге он не прилагается), вам придется загрузить пакет sendmail-8.11.2-14.1386. rpm с узла ftp.redhat. com или www. fpmf ind .net. Если он загружен, например, в каталог / trap, то для установки достаточно выполнить команду:
$ rpm -i /tmp/sendmail-doc-8.11.2-14.1386.rpm
Создание интерактивного почтового сервера
Теперь можно посмотреть на файл конфигурации интерактивного (online) почтового сервера. Интерактивный почтовый сервер легче конфигурировать и понять, чем серверы, работающие в режиме off-line.
Примечание
Несмотря на то, что программа т4 облегчает конфигурирование Sendmail, количество ее опций огромно. В этой главе рассмотрены только те опции, с которыми работают файлы конфигурации. Примеры конфигурационных файлов расположены в подкаталогах каталога /usr/share/sendmail-cf. Созданный вами конфигурационный файл Sendmail располагается В каталоге /usr/share/sendmail-cf/cf.
Интерактивный почтовый сервер является почтовым сервером сети, соединенной с Internet по выделенной линии. Когда отправитель извне направляет почтовое сообщение пользователю локальной сети, оно может быть доставлено непосредственно адресату, а когда пользователь сети посылает письмо, оно отправляется немедленно.
Чтобы направить входящие сообщения к почтовым ящикам пользователей или отправить сообщения, созданные пользователями, необходимо соответствующим о'бразом отконфигурировать Sendmail. Ести существуют препятствия для доставки сообщений, например отсутствие соединения с Internet сообщения будут поставлены в очередь для отправки после установления связи с Internet.
Файл конфигурации, созданный в т4, подобен следующему:
Примечание
Внимательно отнеситесь к апострофам (одиночным кавычкам) в конфигурационных файлах m4. Первая (открывающая) кавычка - всегда обратная ("), расположенная на стандартной клавиатуре над клавишей Tab. Вторая (закрывающая) кавычка (') - обычный апостроф (одиночная кавычка).
Рассмотрим каждую строку этого файла конфигурации.
Строка 1. include (` .. /m4/cf .m4') Это общие файлы конфигурации, необходимые для того, чтобы сформировать файл конфигурации Sendmail,
Строка 2. OSTYPE (`linux') Указание типа операционной системы (Linux) для установки соответствующих значений по умолчанию.
Строка 3. undef ine ('UUCP_RELAY') He указывая перенаправление UUCP-сообщений, определяем, что нет host-компьютера для получения UUCP-почты, и получатели почты ,в формате UUCP должны быть подключены непосредственно. Учитывая то, что UUCP-почта разрабатывалась во времена, когда большинство сетей непосредственно связаны не были, для большинства случаев можно оставить UUCP RELAY неопределенным.
Строка 4. undef ine (`BITNET_RELAY'} Поскольку локальная сеть не связана с сетью Bitnet, адреса, использующие формат Bitnet, работать не будут.
Строка 5. FEATURE (redirect) Теперь любая почта, направленная по адресу address. REDIRECT, будет перенаправлена с указанием нового адреса пользователя. Если пользователь сменил адрес, его новый адрес может связываться со старым адресом при помощи добавки .REDIRECT.
Строка 6. FEATURE (always_add_domain) Эта возможность гарантирует, что поле From всегда содержит локальный домен, а содержимое этого поля можно использовать для посылки ответного сообщения.
Строка 7. MAILER (local) Поддержка локальной почты позволяет Sendmail доставлять сообщения в локальные почтовые ящики Unix.
Строка 8. MAILER (smtp) Поддержка SMTP позволяет Sendmail передавать сообщения непосредственно на почтовые серверы адресатов. Этот режим работает в системе, где сервер соединен с Internet и обеспечиваются услуги DNS.
Примечание
Ключевое слово dn1 в конце большинства строк конфигурационного файла sendmail означает "delete through newline" (удалить до конца строки) и позволяет уменьшить число пустых строк в выходном файле . cf (см. ниже).
Для создания файла конфигурации Sendmail из файла конфигурации m4, необходимо создать файл m4 в каталоге /usr/lib/sendmail-cf /cf. Пусть этот файл будет иметь имя online .me. Расширение . тс обычно присваивается файлам конфигурации m4.
Примечание
Если у вас нет опыта работы с Sendmail, обратитесь к простым примерам файлов конфигурации в этом каталоге, включая generic-linux.mc и redhat .me. Можете просто скопировать их в online.me.
Перейдем в каталог /usr/lib/sendmail-cf /cf и выполним следующую команду.
$ m4 online.me > online.cf
Эта команда обрабатывает файл, используя т4, и генерирует файл конфигурации Sendmail, называемый online. cf.
Затем создается резервная копия существующего файла sendmail. cf. Файл sendmail. cf необходимо заменить только что созданным. Следующие команды выполняются администратором системы (root-пользователем).
# ср /etc/sendmail.cf /etc/sendmail.cf.keep
# ср online.cf /etc/sendmail.cf
Последний этап - перезапуск демона Sendmail.
# /etc/re.d/init.d/sendmail restart
Команды управления демонами могут располагаться в других каталогах, если вы пользуетесь другими дистрибутивами, отличными от Red Hat Linux.
Если демон Sendmail запускался при начальной загрузке, то он загрузит новый файл конфигурации. Если необходимо загрузить Sendmail вручную, используйте следующую команду.
# /usr/sbin/sendmail -bd
По умолчанию демон Sendmail запускается во время начальной загрузки в большинстве дистрибутивов Linux, если пользователь не укажет иначе. Если необходимо добавить Sendmail в цикл загрузки, можно использовать команду /usr/sbin/sendmail -bd в файле re. local.
Что дальше
Эта глава завершает основную часть книги описанием установки почтового сервера в системе под управлением Linux. Располагая этими знаниями и опытом использования, конфигурирования и управления Linux, вы сможете решить любую задачу.
В оставшейся части книги приведены приложения, которые могут оказаться полезными при ежедневном использовании Linux. В частности, в приложении С ("Команды Linux") приведено краткое руководство по синтаксису основных команд Linux, многие из которых используются регулярно.
Приложение В пополнит ваш список ресурсов, полезных для углубления знаний и приобретения навыков работы в системе Linux. Linux - огромная территория, которую нельзя освоить быстро. Большинство экспертов-знатоков Linux изучают новые приемы, познают секреты и совершенствуют навыки почти ежедневно. Не бойтесь идти по их стопам. Не стесняйтесь задавать вопросы в группах новостей по Linux или авторам-популярных приложений Linux. В большинстве случаев авторы счастливы помочь и дать совет неоперившимся пользователям Linux. В конце концов, способствовать распространению знаний, опыта и навыков среди подрастающих пользователей Linux - почетная обязанность разработчиков и опытных пользователей этой системы.
Приложение А . Linux во всем мире (неанглоязычные дистрибутивы)
Linux всегда был интернациональным явлением. Он остается таким и по сей день. Ядро, которое разработано в Финляндии, интерфейс GUI, разработанный в Германии, особая лицензия, позволяющая свободно его распространять, и разработанная в США, позволяют назвать Linux настоящим космополитом. В ряде стран разработчики перевели Linux на свой язык. Для многих дистрибутивов существуют версии на разных языках.
Эта книга написана англоязычными авторами, но это не должно порождать каких бы то ни было подозрений в отношении качества национальных версий дистрибутивов.
Linux по-хорватски MicroLinux
MicroLinux - небольшой дистрибутив на хорватском языке, устанавливаемый в раздел DOS. Последнее удобно для пользователей, которые не могут менять разбивку диска в системе Windows 95/98/Ме и которым необходимо работать и в Windows (или DOS), и в Linux.
HULK - Hrvatska udruga Linux korisnika WWW: http://linux.hr/
Linux по-французски LinuxMNIS
Компания MNIS выпускает французский дистрибутив Linux, называемый MNIS. Linux MNIS определяется как Х-рабочая станция на базе ПК и имеет ряд уникальных средств, наподобие
К Desktop Environment. Существует также коммерческий пакет X-Win32, который выполняет приложения Windows 95/NT/2000 непосредственно в этом дистрибутиве.
WWW: http://www.mnis.fr/
Linux по-немецки EasyLinux
EasyLinux представляет собой немецкий дистрибутив Linux, созданный для пользователей, не привыкших работать в Linux. В него включен ряд графических утилит конфигурирования, для большинства конфигурационных файлов Linux.
WWW: http://www.easyLinux.com/
Icepack Linux
Icepack Linux представляет собой немецкий дистрибутив Linux, созданный для пользователей, не привыкших работать в Linux. Несмотря на то, что он использует множество тех же самых пакетов (например, GNOME и КDЕ), он был разработан независимо от других дистрибутивов Linux.
WWW: http://www.icepack-linux.com/
Linux по-японскиLasers Linux
Laser5 Linux представляет собой японский дистрибутив Red Hat Linux. Предусмотрена также конфигурация рабочей станции Linux, сервера и кластерной системы.
LASERS Co., Ltd.
NOV Building, 3F, 3-10-7 Yushima
Bunkyo-ku
/ Tokyo Japan 113-0034
E-mail: info@laser5.co.jp WWW: http://www.laser5.co.jp/
Vine Linux
Vine Linux представляет собой японский дистрибутив. На момент написания книги последней версией был Vine Linux 2.1, базирующийся на Red Hat Linux 6.2. Vine Linux включает ряд японских шрифтов и приложений. Продается фирмой Red Hat Linux на их японском сайте.
WWW: http://www.vinelinux.org/
Linux по-португальски Conectiva Linux
Португальская версия дистрибутива Red Hat выпускается бразильской компанией Conectiva Informatica. На момент написания книги компания предлагала дистрибутив Conectiva Linux версии 6, который включает КDЕ версии 2 и XFree версии 4.0.1.
WWW: http://www.conectiva.com.br/
Linux по-русски Open Kernel: Linux
Open Kernel: Linux от UrbanSoft - русский дистрибутив на основе Red Hat с русскими консольными шрифтами и русской средой X Windows, а также дополнительными пакетами, отсутствующими в стандартной среде Red Hat. Текущая версия - производная от Red Hat 6.2.
Linux по-испански Eurielec Linux
Еще один неанглоязычный дистрибутив Linux на основе Red Hat - на этот раз испанский. Последняя версия Eurielec Linux - производная от последней версии 6.2 дистрибутива Red Hat.
ESware Linux
ESware Linux неанглоязычный дистрибутив Linux, все материалы которого, включая установку, подсказки командных строк, документацию и руководства пользователей, представлены на каталонском языке.
Linux по-шведски Blue Linux
Blue Linux представляет собой шведский дистрибутив, базирующийся на Debian Linux 2.2. В соответствии с информацией от Linux Online, его даже можно не устанавливать на жесткий диск.
WWW: http://blue.swt.nu/
Linux по-турецки Gelecek Linux
Gelecek Linux турецкий дистрибутив Linux, базирующийся на Red Hat Linux.
WWW: http://www.gelecek.com.tr/
Linux в мулыпиязыковом варианте
Для большинства основных дистрибутивов существуют версии или, по крайней мере, инсталляторы на разных языках. Приведенный ниже список включает несколько дистрибутивов Linux, доступных на нескольких языках (кроме английского).
Best Linux
Best Linux представляет собой независимый дистрибутив финского происхождения. Последняя версия - Best Linux 2000 - спроектирована для установки непосредственно в "графической Windows-подобной КDЕ оболочке рабочего стола, которая включает все необходимое для решения повседневных задач программное обеспечение". Best Linux включает поддержку для финского, шведского, английского, русского, эстонского, французского, немецкого и испанского языков. В него также включена частичная поддержка 14 других европейских языков.
WWW: http://www.bestlinux.net/
Caldera Linux
Фирма Caldera разработала версии своего дистрибутива для ряда основных языков. В соответствии со сведениями, доступными на веб-сайте фирмы, Caldera обеспечивает техническую поддержку OpenLinux на нескольких языках, включая немецкий, французский, итальянский, японский и корейский.
E-mai1: info@calderasysterns.com WWW: http://www.caldera.com/
Debian Linux
Debian Linux разработан добровольцами. Многие из них работали над переводом Debiar. Linux на другие языки. На момент написания книги, были переведены на 17 различных языков отдельные компоненты документации и реализована соответствующая поддержка. Для этого дистрибутива отсутствует центр поддержки.
E-mail: debian-project@lists.debian.org WWW: http://www.Debian.org/
Mandrake Linux
Mandrake Linux (известный также как Linux-Mandrake) разработан на основе Red Hat Linux, расширен поддержкой дополнительных режимов, включая работу на других языках.
WWW: http://www.1inux-mandrake.com/
Red Hat Linux
Фирма Red Hat разработала версии своих дистрибутивов для ряда основных языков. Документация Linux на компакт-диске CD-ROM, которая поставляется в составе полной версии Red Hat Linux 7.1, включает документы на французском, английском, немецком, итальянском и испанском языках. Инсталлятор Red Hat Linux 7.1 позволяет выполнять установку Linux на 19 различных европейских языках и дополнительно на японском.
E-mail: CM. http://www.redhat.com/about/contact/directory.html
для доступа к списку e-mail контактов.
S.u.S.E Linux
Базирующаяся в Германии фирма S.U.S.E. может считаться лидером Linux на международной арене. Реализована поддержка на французском, английском, немецком, итальянском и испанском языках. Инсталлятор обеспечивает поддержку на большинстве европейских языков.
WWW: http://www.suse.de/ или
WWW: http://www.suse.com/
TurboLinux
TurboLinux доступен на японском и китайском языках. Каждая из этих версий TurboLinux включает адаптированные к языку инструменты, наподобие браузера и рабочего стола.
WWW: http://www.turbolinux.com/
Приложение D . GNU - общественная лицензия общего вида
Преамбула
Большинство программных продуктов распространяется по лицензиям, не позволяющим пользователю распространять их и модифицировать. В отличие от таких лицензий, общественная лицензия общего вида GNU (GNU General Public License) предоставляет всем пользователям возможность свободного распространения и модификации бесплатного программного обеспечения. Гарантируется бесплатное приобретение программного обеспечения всеми пользователями. Общественная лицензия общего вида применяется к большей части программ, распространяемых под эгидой Фонда бесплатного программного обеспечения (Free Software Foundation), а также к любой другой программе, авторы которой разрешают ее свободное использование. Некоторые программы Фонда распространяются по библиотечной общественной лицензии общего вида GNU (GNU Library General Public License). Любой разработчик может распространять свои программы по любой из этих лицензий.
Следует помнить, что в бесплатном распространении программного обеспечения главное не цена, а право. Лицензии GNU предоставляют право распространять копии бесплатных программ (в том числе, получая вознаграждение за распространение), получать, если необходимо, их исходные тексты, модифицировать эти тексты, создавая новые бесплатные программы, наконец, -знать о своих правах.
Чтобы обеспечить указанные права, необходимы ограничения, не позволяющие эти права попирать. Следствие ограничений - определенные обязательства, которые приходится принимать тем, кто занимается распространением или модификацией программ.
Например, при распространении копий программ по указанным лицензиям, распространитель должен предоставлять лицам, приобретающим программы, все права, которыми обладает сам. Он должен предоставить им возможность получить все исходные тексты и ознакомить со всеми правами, предоставляемые условиями приобретения программ.
Существует два аспекта защиты прав: 1) защита авторского права; 2) предоставление данной лицензии, предоставляющей право копировать, распространять и (или) модифицировать программное обесценение.
Чтобы защитить авторов, необходимо недвусмысленно объяснить покупателю, что предлагаемое бесплатное программное обеспечение не сопровождается никакими гарантиями. Если кто-либо модифицировал программный продукт и распространяет его в таком виде, он должен объявить о произведенной модификации, чтобы возможные недостатки не отразились на репутации прежних авторов.
Наконец, существует опасность патентования любой бесплатной программы. Необходимо лишить лиц, занимающихся распределением бесплатных программ, возможности их патентования
и распространения как собственной продукции. Поэтому любая запатентованная программа должна быть лицензирована как свободно и бесплатно распространяемая, или же не должна лицензироваться.
Точные требования и условия копирования, распространения и модификации программного обеспечения изложены ниже.
Требования и условия копирования, распространения и модификации
Действия, выходящие за пределы копирования, распространения и модификации, не регулируются данной лицензией. Запуск Программы не ограничивается, ее выходные данные регулируются лицензией только в том случае, если они составляют Работу на основе программы (независимо от того, явились ли они результатом запуска Программы). Выполнение этого условия зависит от назначения Программы.
Вам разрешается назначать плату за физический акт передачи копии, а также предоставлять определенные гарантии от себя лично.
a) Модифицированные файлы должны содержать отчетливое уведомление о произведенной модификации с указанием даты ее проведения.
b) Каждая Работа, которую вы распространяете или публикуете, и которая содержит Программу - полностью или частично - либо является производной от Программы или любой ее части, сопровождается предоставлением приобретателю всех прав и условий, определяемых данной лицензией.
c) Если модифицированная Программа выполняется в интерактивном режиме с вводом команд, то при ее запуске в указанном интерактивном режиме должно выводиться или распечатываться сообщение с уведомлением об авторском праве и отсутствии гарантий (или гарантиях, которые предоставляете вы), о праве пользователей распространять данную Программу на указанных условиях и о том, где и как они могут получить образец данной лицензии. Исключение: если Программа интерактивна, но не распечатывает подобное сообщение, то для Работы на основе этой программы его распечатка также не требуется.
Указанные требования относятся к модифицированной Работе в целом. Если некоторые части этой Работы, которые можно идентифицировать, не являются производными от Программы и могут считаться независимыми, отдельными, самостоятельными Работами, то данная лицензия и ее условия не распространяются на эти части (отдельные Работы). Если эти части распространяются в составе целого, являющегося Работой на основе программы, то распространение этого целого должно соответствовать условиям данной лицензии, действие которой распространяется на все целое, следовательно, на каждую его часть, независимо от того, кто эту часть написал.
Таким образом, цель данного параграфа - не заявить собственные и не оспорить ваши права на Работу, полностью проведенную вами, а осуществить право регулирования распределения производных или коллективных Работ на основе программы.
Простое объединение с Программой (или Работой на основе программы) другой работы, не являющейся Работой на основе программы, на дисковом томе или носителе, предназначенном для распространения, не приводит к распространению на эту работу действия данной лицензии.
a) Включение в распространяемые копии машиночитаемых исходных текстов, распространяемых на условиях статей 1 и 2 на носителях, обычно используемых для обмена программным обеспечением.
b) Включение в распространяемые копии письменного предложения, действительного в течение минимум трех лет, предоставляя любому третьему лицу полный набор соответствующих исходных текстов в машиночитаемой форме в обмен на сумму, не превышающую стоимости физического распространения этих исходных текстов, для распространения на условиях статей 1 и 2, на носителях, обычно используемых для обмена программным обеспечением.
c) Включение в распространяемые копии сведений, полученных в связи с предложением распространения соответствующих исходных текстов. Данный вариант возможен при некоммерческом распространении, только если вы получили Программу в форме объектных или выполняемых файлов с таким же предложением (в соответствии с предыдущим пунктом).
Под исходными текстами Работы подразумевается такая форма последней, которая наиболее удобна для ее модификации. Под полным набором исходных текстов выполняемой Работы подразумеваются исходные тексты всех составляющих ее модулей, плюс любые файлы определения соответствующих интерфейсов, плюс сценарии, используемые для управления процессами компиляции и установки выполняемого файла. Однако в виде особого исключения, распространяемые исходные тексты могут не содержать некоторых компонентов, обычно распространяемых (в форме исходного текста или двоичных файлов) с основными компонентами (компилятором, ядром и т.п.) операционной системы, в которой данный выполняемый файл запускается, если эти компоненты не распространяются вместе с выполняемым файлом.
Если распространение выполняемых и объектных файлов происходит путем предоставления доступа к обозначенному месту, из которого их можно копировать, то возможность копирования из того же места исходных текстов рассматривается как распространение, несмотря на то, что третьим лицам не вменяется в обязанность копировать исходные тексты с объектными файлами.
Если данная статья не имеет силы или не осуществима в определенных обстоятельствах, в какой-то ее части, то в этих обстоятельствах данная статья применяется в остальной ее части, в других обстоятельствах - применяется полностью.
Целью данной статьи не является побуждение вас к нарушению патентных, а также любых иных имущественных прав или попытка оспорить любые права такого рода. Единственная цель статьи - защита системы бесплатного распространения программного обеспечения, осуществляемого посредством практики общественного лицензирования. Множество людей пользуется этой системой для распространения собственного программного обеспечения в расчете на то, что она действует должным образом. И если автор или владелец Программы решает распространять ее через иную систему, лицензиат не может повлиять на это решение.
Цель данной статьи - однозначно пояснить, что именно считается следствием остальной части данной лицензии.
Каждой версии лицензии присваивается уникальный номер. Если Программа распространяется на условиях лицензии с данным номером "и последующих версий", вам предоставляется выбор между требованиями и условиями данной версии и любой из последующих версий, опубликованных Фондом бесплатного программного обеспечения. Если Программа распространяется без указания номера версии лицензии, вам разрешается использовать любую лицензию из опубликованных Фондом бесплатного программного обеспечения.
Отсутствие гарантий
Приложение: применение данных условий к новым программам
Лучший способ максимально распространить новую разработку - бесплатное ее распространение с предоставлением любому лицу права модификации и дальнейшего распространения на изложенных выше условиях.
Для этого необходимо ввести в программу объявления, приведенные ниже. Лучше всего разместить эти объявления в начале каждого исходного файла, что позволит с максимальной эффективностью донести до приобретателя сведения об отсутствии гарантии. Каждый файл должен содержать, как минимум, строку с объявлением авторского права и указатель на местонахождение подробных сведений.
You should have received a copy of the GNU General Public License along *ith this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Перевод:
<одна строка для имени и назначения программы.> Copyright (C) 19уу <имя автора>
Это бесплатная программа; разрешена к дальнейшему распространению и (или) модификации на условиях общественной лицензии общего вида GNU, изданной Фондом бесплатного программного обеспечения; версии 2 этой лицензии или (на ваше усмотрение) любой более поздней версии.
Эта программа распространяется в надежде, что она может оказаться полезной, но БЕЗ КАКОЙ БЫ ТО НИ БЫЛО ГАРАНТИИ; даже без подразумеваемой гарантии ТОВАРНОГО СОСТОЯНИЯ или ПРИГОДНОСТИ ДЛЯ КАКОЙ-ЛИБО КОНКРЕТНОЙ ЦЕЛИ. Подробнее см. в общественной лицензии общего вида GNU.
Копию общественной лицензии общего вида GNU вы должны были получить вместе с данной программой; если не получили, обратитесь А Фонд бесплатного программного обеспечения, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Добавьте сюда адреса своей электронной и обычной почты.
Если программа интерактивна, предусмотрите вывод краткого сообщения перед переходом в интерактивный режим.
under certain conditions; type * show c' for details.
Перевод:
Gnomovision версия 69, Copyright (С) 19уу имя автора
Gnomovision поставляется БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; чтобы получить под робную информацию, введите `show w'.
Это бесплатная программа, которую вы можете распространять на определенных условиях; чтобы получить подробные сведения, введите `show с'.
Гипотетические команды "show w" и "show с" предназначены для вывода соответствующих частей общественной лицензии общего вида. Конечно же, их имена могут быть иными, они могут запускаться щелчками мыши или как команды меню - в зависимости от стиля программы.
Можете также уговорить своего руководителя (если вы работаете программистом) или учебного заведения (если таковое существует) подписать отказ от прав на программу. Например (замените имена реальными).
Ту Coon, President of Vice
Перевод:
Хухры-мухры Лимитед отказывается от всех авторских прав на данную программу.
`Gnomovision' (предназначенная для прохождения компилятора) написана
Джеймсом Хакером.
<подпись Большой Шишки>, 1 апреля 1989 г.
Большая Шишка, Президент конторы
Данная общественная лицензия общего вида не разрешает включать вашу программу в коммерческие программы. Если ваша программа представляет собой библиотеку подпрограмм, то имеет смысл разрешить ее использование с патентованными программами. В этом случае она может распространяться на условиях библиотечной общественной лицензии общего вида (GNU Library General Public License).
Приложение В . Информационные источники Linux
В приложении перечислены узлы Internet, в которых можно найти дополнительные сведения о Linux, приобрести или загрузить бесплатно дистрибутивы, получить консультацию. Конечно, это не полный список ресурсов Linux в Internet. Скорее, это список узлов, оказавшихся полезными для автора за долгие годы работы с Linux.
Общие сведения
Просто Linux |
|
Руководство по безопасности Linux для администраторов |
http: //www. linuxdoc . org/LDP/lasg/ |
Документационный проект Linux |
http : / /metalab . unc . edu/mdw/ |
Linux: часто возникающие вопросы с ответами |
http: //www.cl .cam.ac.uk/users/ iwj 10/ linux- faq/ index . html |
Аппаратное оснащение Linux |
http : / /www. fokus . gmd.de/linux/ linuxhardware . html |
Установка и запуск Linux |
http : / /metalab . unc . edu/mdw/LDP/ gs/gs .html |
Международный Linux |
http: //www.li.org/ |
Журнал Linux |
http: //www. linux journal . com/ |
Linux НЕМЕДЛЕННО! |
http: //www. linuxnow.com/ |
Linux в сети |
http : / /www . linux . org/ |
Руководство администратора системы Linux |
http: //www. linuxdoc . org/LDP/ sag/ index . html |
Linux сегодня |
http : //www. linuxtoday . com/ |
Реестр групп пользователей Linux |
http: //www. linux. org/users/ index . html |
The Linux Web Ring |
ht tp : / / 1 inuxwebr ing .org / |
Slashdot |
http: //www.slashdot.org/ |
Руководство администратора сети |
http: //www. linuxdoc.org/LDP/ nag2 / index . html |
Вещички для Linux |
http: //www. fokus .gmd.de/linux/ |
Центры сертификации Linux
Digital Metrics Linux Professional Institute Red Hat Certified Engineer Sair GNU/Linux |
http: //www.digitalmetri.es .com/ http : / /www . Ipi . org/ http : / /www . redhat . com/ training/rhce/courses / http: //www. linuxcertif ication. org/ |
Дистрибутивы Linux
Best Linux |
http: //www.bestlinux.net/ |
Black Cat Linux Blue Linux |
http: //www.blackcatlinux.com/ http : / /blue . swt . nu/ |
Caldera OpenLinux |
http : / /www . calderasystems . com/ |
Conectiva Linux (португальский) |
http: //www.conectiva.com.br/ |
Corel Linux |
http : / / linux . corel . com/ |
Debian/GNU Linux DLX Linux |
http : / /www . debian . org/ http: //www.wu-wien.ac .at/usr/ h93/h9301726/dlx.html |
EasyLinux |
http: //www.easylinux.com/ |
ESware Linux |
http : / /www . esware . com/ |
Eurielec Linux (испанский) |
http: //www.eurielec.etsit.upm.es/linux/ |
Gelecek Linux |
http: //www.gelecek.com.tr/ |
Icepack Linux |
http: //www. icepack-linux.com/ |
LaserS Linux |
http: //www. laserS .со. jp/ |
Linux Mandrake |
http : / /www. linux-mandrake . com/ |
LinuxPPC (для PowerPC чипов) LinuxWare |
http: //www.linuxppc.org/ !> http : / /www . trans-am . com/ linux . htm |
MkLinux (для Power Macintosh) |
http: //www.mklinux.org/ |
MNIS Linux (французский) |
http: //www.mnis . fr/ |
Red Hat Linux |
http : / /www . redhat . com/ |
Slackware Linux |
http: //www.slackware.com/ |
Stampede Linux |
http: //www.stampede.org/ |
S.U.S.E. Linux (немецкий и английский) |
http: //www.suse.com/ |
TurboLinux |
|
Vine Linux |
http: //www.vinelinux.org/ |
Списки рассылки и группы новостей
alt.os.linux.best |
news :alt .os . linux.best |
alt.os.linux.caldera |
news : alt . os . linux . caldera |
altos.linux.corel |
news : alt . os . linux . corel |
alt.os.linux.dial-up |
news : alt .os . linux. dial-up |
alt.os.linux.mandrake |
news : alt . os . linux .mandrake |
alt.os.linux.redhat |
news : alt . os . linux . redhat |
alt.os.linux.slackware |
news : alt . os . linux. slackware |
alt.os.linux.storm |
news:alt.os. linux. storm |
alt.os.linux.suse |
news : alt . os . linux . suse |
alt.os.linux.turbolinux |
news : alt . os . linux . turbolinux |
comp.os.linux.admin |
news : comp . os . linux . admin |
comp.os.linux.advocacy |
news : comp . os . linux . advocacy |
comp.os.linux.alpha |
news : comp . os . linux . alpha |
comp.os.linux.announce |
news : comp . os . linux . announce |
comp.os.linux.development.apps |
news : comp . os . linux . development . apps |
comp.os.linux.development.apps |
news : comp . os . linux . development . system |
comp.os.linux.embedded |
news : comp . os . linux . embedded |
comp.os.linux.hardware |
news : comp . os . linux . hardware |
comp.os.linux.help |
news : comp , os . linux . help |
comp.os.linux.m68k |
news : comp . os . linux . m68k |
comp.os.linux.misc |
news : сотр. os . linux. misc |
comp.os.linux.networking |
news : comp . os . linux . networking |
comp.os.Iinux.portable |
news : comp . os . linux .portable |
comp.os.linux.powerpc |
news : comp . os . linux . powerpc |
comp.os.linux.questions |
news : сотр. os . linux. guest ions |
comp.os.linux.redhat |
news : comp . os . linux . redhat |
comp.os.linux.security |
news : coinp . us . linux. security |
comp.os.linux.setup |
news : comp . OB . linux . setup |
comp.os.linux.x |
news : comp . os . linux . x |
Linux Mailing Lists |
http: //www. linuxlookup.com/html/main/mail inglists.html |
Другие платформы (кроме Intel)
FTP-архив Linux Alpha |
http : / /gatekeeper . dec . com/pub/ DEC /Linux-Alpha/ |
Linux для ВеВох |
http: //www.sowerbutts .com/ belinux/ introduction . html |
Linux для процессоров Spare |
http: //www.ultralinux. org/ |
Linux/m68k для Macintosh |
http: //www. mac. Iinux-m68k.org/ |
Домашняя страница Linux/m68k |
http: //www. Iinux-m68k.org/ |
Архив МК Linux |
http: //ftp.sunet .se/pub/os/ Linux/mklinux/mklinux/ |
SGI-Linux |
http: //linus. linux.sgi .com/ |
Неанглоязычные узлы
EPC Home Page (испанский) Linux (чешский) Linux - Viel Unix far wenig Geld (немецкий) Linux Indonesia (индонезийский) |
http: //www.arrakis.es/~epujol/linux'/ http: //www. linux.cz/ http: //www.uni-tuebingen.de/ zdv/projekte/linux/
http: //www.linux.or.id/ |
Продажа Linux на CD-ROM
CD-ROM Shop CheapBytes InfoMagic Linux Central Linux Mall |
http : / /www . cdromshop . com/ http:/ /www. cheapbytes .com/ http : / /www . inf omagic . com/ http: //linuxcentral .com/ http :/ /www . linuxmall . com# |
Сетевые источники дистрибутивов и файлов Linux
FTP-узел BLINUX |
ftp: //leb.net/pub/blinux/ |
FTP-узел Caldera |
ftp : / / ftp . caldera . com/pub/ |
FTP-узел Debian |
ftp : / / ftp . debian . org/ |
Freshmeat.net |
http: //www. freshmeat.net/ |
Tech-архив Linux в штате Джорджия |
ftp : / / f tp . cc . gatech . edu/pub/ l inux/ |
Приложения Linux |
http : / /www . linuxapps . com/ |
Архив ядер Linux |
ftp : / / ftp . kernel . org/ |
Linux Software Map |
http: //www.execpc.com/lsm/ |
FTP-узел Red Hat |
ftp : / / ftp . redhat. com/pub/ |
Tucows Linux |
http: //linux. tucows .com/ |
Архив Linux UNC |
http: //www. ibiblio.org/pub/Linux/ |
Страница программного обеспечения "Вещички для Linux" |
http: //www. fokus .gmd.de/linux/ linux-softw.html |
X Windows
MetroLink |
http: //www.metrolink. com/ |
Проект XFree86 |
http : / /www . xf ree8 6 . org/ |
Графика Xi |
http: //www.xinside.com/ |
Приложение Е . Linux на платформе, отличной от Intel
Существуют версии Linux не только для микропроцессоров Intel x86 и Pentium, но и для множества других платформ. Рассмотрим в общих чертах несколько наиболее важных и интересных версий Linux, предназначенных именно для других платформ. Полный список версий Linux для различных платформ приведен на Web-узле Linux Online's (http: //www. linux.org/projects/ports. html).
Linux для процессора Compaq Alpha
Процессор Alpha компании Compaq провозглашен образцовым процессором типа RISC. Это один из самых быстрых процессоров, представленных на рынке.
Linux для процессора Alpha сегодня, пожалуй, одна из наиболее надежных, устойчивых и основательно тестированных версий этой операционной системы, предназначенных не для платформы Intel. Все ее компоненты - от X Windows до браузеров Web - работают превосходно. Возможна эмуляция среды для запуска версий Linux, ориентированных на платформу Intel л:86. Подробнее о Linux для процессора Alpha см. по адресу http: / /www. alphalinux. org/.
Linux для Alpha работает во множестве систем на основе Compaq Alpha: от маломощных Universal Desktop Boxes до 64-битовых систем.
Компания Red Hat предлагает версию Linux Red Hat для процессора Alpha.
Встроенный Linux
Проект ELKS (Embedded Linux Kernel Subset - Подмножество ядра встроенного Linux) предназначен для создания встроенной операционной системы Linux, как в ранних ПК 8086 и 80286, карманных калькуляторах и встроенных системах управления. Текущая версия Linux, созданная в рамках этого проекта, работает на ПК, занимая всего от 400 до 512 Кбайт оперативной памяти в полной конфигурации.
Текущая версия далека от совершенства. Пока она может лишь загружаться, работать с виртуальными консолями и дисководами и запускать некоторое количество небольших программ. Разработки ориентированы на реализацию микроокон, которые позволят внедрить современный графический интерфейс пользователя в малые устройства.
В настоящее время система не имеет практического применения, но демонстрирует гибкость Linux, позволяющую работать в условиях различного аппаратного обеспечения. С проектом ELKS можно ознакомиться по адресу http: / /www. elks. ecs. soton .ac.uk/.
Linux для процессора Motorola 680x0
Linux/m68k - версия Linux для процессоров Motorola 68020 — 68060, работающих во многих компьютерах Amiga, Atari и Macintosh,
Надежные, устойчивые версии Linux/m68k в настоящее время применяются в системах Amiga, Atari и Macintosh, в том числе:
Amiga A2500
Sun 3 workstations (3/50,3/60, 3/160)
Linux для процессоров MIPS
Linux/MIPS - версия Linux, предназначенная для большинства систем с процессорами MIPS, включая следующие:
Текущая версия считается устойчивой и включает поддержку сетей и сетевых файловых систем, при некотором недостатке поддержки встроенных периферийных устройств в отдельных машинах. Пока надежного, устойчивого дистрибутива нет (текущая версия базируется на ядре 2.1.73), но его можно собрать из программ, представленных на узле Web проекта Linux/MIPS (http: / / lena. f net. f r/).
Linux для Power Macintosh
MkLinux - попытка заставить Linux работать на микроядре Open Group Mach, загружаемом на компьютерах семейства Power Macintosh, для которого оно и предназначено. Архитектура микроядра организована таким образом, чтобы упростить перевод операционной системы на другую платформу, с особым акцентом на перевод самого ядра.
Apple Computer полностью поддерживает проект MkLinux, узел Web которого находится по адресу http: //www.raklinux.org. В настоящее время распространяется через Internet и на CD-ROM.
Среди других проектов, имеющих целью перевести Linux на платформу Power Macintosh -дистрибутив PowerPC Linux, который мы обсудим в параграфе о процессоре PowerPC и Powermac/Linux (http: //www.es.wise.edu/~tesch/linux_infо/). Оба проекта - версии Linux, ориентированные на процессор PowerPC, составляющий основу систем Power Mac, а не на микроядро. Этот вариант обеспечивает более высокую эффективность, но менее пригоден для перевода на другую платформу. Объединение исходных текстов Powermac/Linux и LinuxPPC от PowerPC Linux привело к появлению версии Linux для платформы PowerPC.
Apple расширил эту версию Linux, известную как Darwin, до своей последней операционной системы Mac OS X. Хотя ядро Mac OS X базируется на двух-других Unix-клонах (Carnegie-Mellon's Mach 3.0 и Berkeley Standard Distribution версии 4.4-lite), оно также включает существенную часть программного обеспечения Linux.
Linux для процессоров PowerPC
Большой успех достигнут в поддержке Linux на процессорах семейства PowerPC. Проект LinuxPPC (http: //www. linuxppc.org/) ведется компанией PowerPC Linux. Это завершенный устойчивый дистрибутив, который работает на компьютерах Power Macintosh, Power-UP от Amiga, BeBox от Be Inc.. системах RS/6000 на основе PowerPC, системах, PReP и CHRP от IBM и рабочих станциях от Umax.
Среди прочих, поддерживаются следующие программы и возможности.
В стадии разработки находится проект эмулятора Mac OS, запускаемого в Linux на PowerPC (аналогично Wine - попытке создания эмулятора Windows в Linux на процессоре Intel x86). Часть проекта уже реализована в виде Mac OS X.
Linux для процессоров SPARC
UltraLinux (http: / /www. ultralinux. org/), ранее известный как S/Linux, - проект перевода Linux на процессоры SPARC и UltraSPARC компании Sun. В настоящее время это достаточно устойчивая система, поддерживающая даже новейшие 64-битовые рабочие станции на базе UltraSPARC. На момент написания книги Slackware и Debian располагали SPARC-версиями самых свежих своих дистрибутивов.
Приложение С. Обзор команд Linux Чaсть I
Это приложение содержит руководство по использованию наиболее популярных команд и утилит Linux, которые обычно находятся в следующих каталогах Red Hat Linux.
Используемый в справочнике способ представления информации позволяет быстро получать сведения о синтаксисе и часто используемым опциям многих команд Linux. Подробнее об этих и других командах можно узнать из руководства по командам (используя команду man command).
Это приложение не должно рассматриваться как полное руководство по всем опциям, флагам и аргументам каждой команды Linux. Справочник разработан для того, чтобы облегчить использование наиболее популярных и важных команд в их типичных формах. Для более подроб-Иого изучения конкретной команды обратитесь к соответствующему руководству.
В приложении представлен полный синтаксис команд с использованием стандартного стиля руководства Linux, приведены описания команд, их наиболее важных флагов и аргументов.
Чтобы приложение имело приемлемые размеры, пришлось исключить большинство интерактивных программ, демоны и команды, специфичные для Red Hat. Несмотря на это, приложение содержит описания почти 200 команд.
Команды перечислены в алфавитном порядке.
Команды
В справочнике приведены описания следующих команд. |
|||||
arch |
e2fsck |
killall |
mformat |
pwunconv |
timed |
at |
echo |
ksyms |
mkdir |
quota |
timedc |
atd |
egrep |
last |
mkdosfs |
quotacheck |
top |
atq |
false |
Idd |
mke2fs |
quotaoff |
touch |
atrm |
fdisk |
less |
mkfs |
quotaon |
traceroute |
badblocks |
fgrep |
lilo |
mkpasswd |
rep |
true |
batch |
file |
listalias |
mkswap |
rdate |
umount |
be |
find |
In |
mlabel |
rdist |
uname |
biff |
finger |
loadkeys |
mmd |
repquota |
uncompress |
cal |
free |
logger |
mmove |
rlogin |
unzip |
cat |
gpasswd |
login |
modprobe |
rm |
uptime |
checkalias |
grep |
logname |
more |
rmdir |
useradd |
chgrp |
groupadd |
logrotate |
mount |
rmmod |
userdel |
chkconfig |
groupdel |
Ipd |
mrd |
route |
usermod |
chmod |
groupmod |
Ipg |
mren |
rsh |
users |
chown |
groups |
Ipr |
mtype |
runlevel |
uudecode |
clear |
grpck |
Iprm |
mv |
rup |
uuencode |
compress |
gunzip |
Is |
netstat |
rusers |
vipw |
cp |
gzexe |
Isdev |
newgrp |
rwho |
vmstat |
crontab |
gzip |
Ismod |
newusers |
rwhod |
w |
cryptdir |
halt |
mail |
nisdanainname |
setclock |
we |
date |
head |
mailq |
nslookup |
setkeycodes |
whereis |
dc |
hostname |
mail to |
passwd |
showkey |
which |
decryptdir |
id |
man |
paste |
showmount |
whoami |
depmod |
ifconf ig |
mattrib |
pathchk |
shutdown |
ypdornainname |
df |
if down |
mbadblocks |
pidof |
sort |
zcat |
dir |
if port |
mcd |
ping |
statserial |
zgrep |
dmesg |
if up |
mcopy |
pppstats |
su |
zip |
dnsdomainname |
insmod |
mdel |
ps |
sync |
zipgrep |
dnsguery |
kbd_mode |
mdeltree |
pwck |
tail |
zipinfo |
domainname |
kbdrate |
mdir |
pwconv |
tar |
zmore |
du |
kill |
messages |
pwd |
timeconfig |
znew |
arch |
|
Описание |
Выводит на экран конфигурацию компьютера, на котором выполняется Linux. Например, для системы на основе Pentium будет выведено 1586, i486 представит компьютер на основе 80486 процессора, а ахр - компьютер на основе Alpha-процессоров. |
Синтаксис |
arch |
Важные флаги и опции |
Отсутствуют. |
at |
|
Описание |
Планирует выполнение команд в указанное время. Команды запрашиваются у пользователя или считываются из файла. Каждое задание добавляется в очередь планировщика и ему назначается номер задания. |
Синтаксис |
at [-q queue] [-f filename] [-1] [-m] [-d job [job ...]] TIME |
Важные флаги и опции |
|
Примечания |
Для указания времени выполнения команд существует несколько опций, в том числе:
|
|
|
atd |
|
Описание |
Демон, который выполняет задания, запланированные для более позднего выполнения программами at и batch. |
Синтаксис |
atd [-1 load] [-b interval] |
Важные флаги и опции |
|
atq |
|
Описание |
Выводит на экран запланированные командой at задания, которые находятся в очереди планировщика. То же, что и at - 1. |
Синтаксис |
atq [-q queue] |
Важные флаги и опции |
|
atrm |
|
Описание |
Удаляет из очереди планировщика указанные задания. То же, что и at -d. |
Синтаксис |
atrm job [job . . .] |
Важные флаги и опции |
Отсутствуют. |
badblocks |
|
Описание |
Проверяет устройство (обычно жесткий диск) на наличие дефектных блоков. |
Синтаксис |
badblocks [-o filename] [-w] device blocks-count |
Важные флаги и опции |
|
Примечания |
Необходимо указать устройство, используя полный путь к устройству Linux, например, /dev/hda2 или /dev/sdb3. Число блоков на устройстве является важным параметром (его можно определить при помощи f disk). |
Предупреждение |
Не следует применять флаг -w для устройств, которые содержат важную информацию. При проверке устройств с флагом -w данные на устройстве уничтожаются. |
batch |
|
Описание |
Планирует выполнение команд в указанное время, если это позволяет уровень загрузки системы. Команды запрашиваются у пользователя или считываются из файла. Каждое задание добавляется в очередь планировщика и ему назначается номер задания. |
Синтаксис |
batch [-q queue] [-f filename] [-m] TIME |
Важные флаги и опции |
|
Примечания |
Для указания времени выполнения команд существует несколько опций, в том числе:
|
bc |
|
Описание |
Интерактивный калькулятор с произвольной точностью. Обрабатывает все выражения в указанных файлах или запрашивает у пользователя выражения для вычислений. |
Синтаксис |
be [file . . .] |
Важные флаги и опции |
Отсутствуют. |
Примечания |
Синтаксис, который используется в bc , основан на языке программирования С. За детальной информацией обратитесь к странице руководства man no be. Выражения в файлах, указанных в качестве аргументов, обрабатываются до выдачи пользователю запроса о вводе дополнительных выражений для обработки. |
biff |
|
Описание |
Извещает пользователей о поступлении новой почты и указывает, кто прислал сообщение. |
Синтаксис |
biff [ny] |
Важные флаги и опции |
. |
cal |
|
Описание |
Отображает календарь на месяц или весь год. Если не указаны ни месяц month, ни год year, отображается календарь текущего месяца. |
Синтаксис |
cal [-j] [-у] [month [year]] |
Важные флаги и опции |
-j: Указывает на необходимость использования юлианского календаря, а не григорианского. -у: Отображает календарь на год, а не на месяц. |
Примечания |
Одно число в качестве аргумента указывает год между 1 и 9999 (год нужно указать полностью, т.е. 1998, а не 98). Если используется два аргумента, первый указывает месяц в числовом формате от 1 до 12, а второй - год от 1 до 9999. |
cat |
|
Описание |
Объединяет один или несколько файлов и выводит их на стандартное устройство вывода. Если ни один файл не указан, то информация из стандартного устройства ввода передается на устройство вывода. |
Синтаксис |
cat [--benstvAET] [ — number] [ — number-nonblank] -> [--squeeze-blank] [--show-nonprinting] [--show-ends] -> [ — show-tabs] [ — show-all] [file ...] |
Важные флаги и опции |
Действие этого флага такое же, как и комбинации флагов - v, -T и -Е.
|
Checkalias |
|
Описание |
Проверяет файл пользователя и системный файл псевдоимен (псевдонимов) на наличие определения указанного псевдоимени. |
Синтаксис |
checkalias alias [, alias,...] |
Важные флаги и опции |
Отсутствуют. |
chgrp |
|
Описание |
Изменяет группу-владельца одного или нескольких файлов или каталогов. |
Синтаксис |
chgrp [-Rcfv] [ — recursive] [ — changes] [ — silent] -> [--quiet] [--verbose] group filename . . . |
Важные флаги и опции |
|
Примечания |
Группа указывается либо по имени, либо по ID группы. |
chkconfig |
|
Описание |
Модифицирует или отображает рабочие уровни системы (run level). |
Синтаксис |
chkconfig -list [name] chkconfig -add name chkconfig -del name chkconfig <on | off | reset? [ — level levels] chkconfig [ — level levels] name |
Важные флаги и опции |
|
|
|
chmod |
|
Описание |
Изменяет права доступа для одного или более файлов или каталогов. |
Синтаксис |
chmod [-Rcfv] [--recursive] [--changes] [--silent] -> [--quiet] [--verbose] mode file . . . |
Важные флаги и опции |
|
Примечания |
Права доступа можно указать двумя способами: символически или численно. При символическом указании права доступа имеют вид: [ugoa] [[+-=] [rwxXstugo. . . J Первый элемент ([ugoa]) указывает пользователей, для которых изменяются права доступа (и=пользователь, которому принадлежит файл или каталог, g=все члены гр\тты, которой принадлежит файл или каталог, о=любой, кто не является владельцем файла и не входит в группу владельца файла, а=все пользователи). Символ + означает, что указанные права доступа следует добавить к существующим правам доступа, символ - означает, что указанные права доступа нужно убрать из существующих, а символ = означает, что указанные права доступа следует установить вместо существующих. Есть несколько прав доступа, которые можно указать третьим элементом, например г для прав чтения, w для прав записи, х для прав запуска Полная информация по символическим и цифровым обозначениям прав доступа приведена на странице chmod руководства man. |
chown |
|
Описание |
Изменяет пользователя-владельца и/или группу-владельца одного или более файлов или каталогов. |
Синтаксис |
chown [-Rcfv] [ — recursive] [ — changes] [ — silent] -> [ — quiet] [ — verbose] [user] [:.] [group] file ... |
Важные флаги и опции |
|
Примечания |
Пользователь и группа могут быть указаны либо по имени, либо по ID. Имена пользователя и группы можно скомбинировать несколькими способами.
|
clear |
|
Описание |
Очищает экран терминала, устанавливает подсказку и положение курсора в первую строку экрана. |
Синтаксис |
clear |
Важные флаги и опции |
Отсутствуют. |
compress |
|
Описание |
Сжимает файлы или стандартный ввод при помощи алгоритма Лэмпел-Зива (Lempel-Ziv). |
Синтаксис |
compress [-f] [-v] [-c] [-r] [file ...] |
Важные флаги и опции |
|
Примечания |
При сжатии файлов команда compress заменяет оригинальный файл на файл с тем же именем и префиксом . Z. Эта схема отменяется использованием флага -с. Если не указано имя файла, то сжимается стандартный ввод и результаты возвращаются на стандартный вывод. |
ср |
|
Описание |
Копирует файлы или каталоги. |
Синтаксис |
ср [-а] [ — archive] [-b] [ — backup] [-d] [ — no-dereference] -> [-f] [—force] [-i] [—interactive] [1] [—link] [-p] -> [ — preserve] [-R] [ — recursive] [-s] [ — symbolic-link] [-u] [--update] source destination cp [options] source . . . destination |
Важные флаги и опции |
|
Предупреждение |
При работе в режиме пользователя root нужно быть осторожным с флагом -f. По ошибке можно перезаписать важные системные файлы, т.к. пользователь root обычно имеет права на запись всех файлов и каталогов. |
crontab |
|
Описание |
Отображает или изменяет Cron-таблицу пользователя (crontab). Cron-таблица указывает запланированные действия, исполняемые демоном Сгоп. |
Синтаксис |
crontab [-u user] file crontab [-u user] { -l|-r| -e } |
Важные флаги и опции |
|
|
|
Примечания |
Формат элементов crontab-файла описан в гл. 17. |
cryptdir |
|
Описание |
Шифрует все файлы в указанном каталоге. Если каталог не указан, то шифруются все файлы в текущем каталоге. |
Синтаксис |
cryptdir [directory] |
Важные флаги и опции |
Отсутствуют. |
Примечания |
При шифровании файлов нужно дважды ввести пароль по запросу. Этот пароль используется для расшифровки файлов. Шифрованные файлы будут иметь расширение . crypt, добавленное к их именам. Для расшифровки файлов используется команда decrypt. |
date |
|
Описание |
Отображает или устанавливает текущее время и дату системы. |
Синтаксис |
date [-u] [ — universal] [MMDDhhmmt [CC]YY] [ .ss] ] |
Важные флаги и опции |
|
Примечания |
Время и дата указываются как аргумент только при помощи цифр, причем представленные выше двух-цифровые элементы имеют следующие значения:
|
dc |
|
Описание |
Интерактивный калькулятор с произвольной точностью. Использует обратную польскую (бесскобочную) запись. Обрабатывает все выражения в указанных файлах или запрашивает у пользователя выражения для вычислений. |
Синтаксис |
dc [file . . .] |
Важные флаги и опции |
Отсутствуют. |
Примечания |
Подробный синтаксис выражений, использующийся в dc, документирован в руководстве man на странице dc. Выражения в файлах, которые указаны в качестве аргументов, обрабатываются перед выдачей пользователю запроса ввести дополнительные выражения для обработки. |
decryptdir |
|
Описание |
Дешифрует все файлы в указанном каталоге. Если каталог не указан, то дешифруются все файлы в текущем каталоге. Файлы должны быть зашифрованы командой encryptdir. |
Синтаксис |
cryptdir [directory] |
Важные флаги и опции |
Отсутствуют. |
Примечания |
При декодировании файлов следует дважды ввести пароль по запросу. Нужно ввести тот же пароль, который использовался при шифровании файлов, иначе декодирование выполнено не будет. |
depmod |
|
Описание |
Возвращает на стандартный вывод зависимости модулей. Их можно сохранить в файле и затем использовать в команде modprobe для указания загружаемых модулей. |
Синтаксис |
depmod module1. о modules. о . . . |
Важные флаги и опции |
Отсутствуют. |
df |
|
Описание |
Отображает свободное место на одном или нескольких смонтированных дисках или разделах. Если не указаны имена файлов (или каталогов), то отображается свободное место на всех смонтированных файловых системах. Если указаны имена файлов, то отображается свободное место файловых систем, содержащих каждый файл. |
Синтаксис |
df [-T] [-t fstype] [-x fstype] [— all] i[~inodes] -> [ — type=fstype] [ — exclude-type= fstype] ->[ — print-type] [filename ...] |
Важные флаги и опции |
|
dir |
|
Описание |
Отображает список файлов в указанном каталоге в алфавитном порядке, если не указано иначе. По умолчанию отображает содержимое текущего каталога. |
Синтаксис |
dir [-acCGlnrRStuU] [ — all] [ — no-group] [ — numeric-uid-gid] -> [ — reverse] [ — recursive] [file ...] |
Важные флаги и опции |
|
dmesg |
|
Описание |
Отображает или модифицирует кольцевой буфер ядра. В этом буфере хранится большинство сообщений, сгенерированных при загрузке системы. |
Синтаксис |
dmesg [-с] |
Важные флаги и опции |
-с: Очищает кольцевой буфер после отображения его содержимого. |
dnsdomainname |
|
Описание |
Отображает полное уточненное имя домена DNS системы. |
Синтаксис |
Domainname [-f filename] [ — file filename] |
Важные флаги и опции |
-f /--f ile filename: Указывает файл, из которого надо прочитать имя хоста. |
dnsquery |
|
Описание |
Запрашивает у серверов DNS информацию об указанном хосте. |
Синтаксис |
dnsquery [-n nameserver] [-t type] [-с class] -> [-r retry] [-p retryperiod] host |
Важные флаги и опции |
|
Примечания |
Возможны следующие типы запроса
|
domainname |
|
Описание |
Отображает или устанавливает имя NIS домена системы. Без аргументов и флагов действием по умолчанию является отображение текущего имени MS домена |
Синтаксис |
domainname [-F file] [ — file file] [name] |
Важные флаги и опции |
|
du |
|
Описание |
Отображает отчет об использовании дискового пространства для каждого указанного файла или каталога, а также для всех подкаталогов указанных каталогов. По умолчанию отображает информацию для всех файлов и каталогов в текущем каталоге. |
|
|
Синтаксис |
du [-abcksx] [ — all] [ — bytes] [ — total] [ — kilobytes] -> [ — summarize] [--one file-system] [file ...] |
Важные флаги и опции |
|
e2fsck |
|
Описание |
Проверяет состояние второй расширенной (extended) файловой системы Linux. Эти файловая система используется по умолчанию для разделов Linux. |
Синтаксис |
e2fsck [-cfnpy] t-B blocksize] device |
Важные флаги и опции |
|
Примечания |
Указывая проверяемое устройство, нужно использовать полный путь, например /dev/hdal или /dev/sdb3. Рекомендуется выполнять проверку демонтированной файловой системы. Если необходимо проверить корневую файловую систему или файловую систему, которая должна быть смонтирована, то желательно делать это в однопользовательском режиме. |
|
|
Описание |
Отображает строку текста, с возможностью подавления перевода строки (перевод строки добавляется по умолчанию). |
Синтаксис |
echo [-ne] [string . . .] |
Важные флаги и опции |
|
Примечания |
Специальные символы с обратной косой чертой включают: |
|
\b: удаление предыдущего символа \ f : новая страница \n: новая строка \r: возврат каретки \t: горизонтальная табуляция \ \ : обратная косая черта (backslash) |
egrep |
|
Описание |
Ищет в файлах строки, совпадающие с указанным шаблоном, и отображает их. Шаблон интерпретируется как расширенное регулярное выражение. |
Синтаксис |
egrep [-bCciLlnvwx] [-number] [-e pattern] [-f file] ->[ — byte-offset] [ — context] [ — count] [ — regexp=pattern] -> [ — file=file] [ — ignore=case] [ — files-without-match] -> [--f iles-with-match] [--line-number] [--revert-match] ->[ — word-regexp] [ — line-regexp] [pattern] file [file ...] |
Важные флаги и опции |
|
|
|
Примечания |
Синтаксис регулярных выражений шаблона, используемых командой egrep, можно найти на страничке egrep руководства man. |
false |
|
Описание |
Ничего не делает, просто возвращает код ошибки выполнения. |
Синтаксис |
false |
Важные флаги и опции |
Отсутствуют. |
fdisk |
|
Описание |
Обеспечивает средства для работы с таблицами разделов. По умолчанию fdisk работает с текущим устройством. |
Синтаксис |
fdisk [-1] [-s partition] [device] |
Важные флаги и опции |
|
fgrep |
|
Описание |
Ищет в файлах строки, совпадающие с указанным шаблоном, и отображает их. Шаблон интерпретируется как список фиксированных строк, а не регулярных выражений. Строки в шаблоне разделяются символом перевода строки. |
Синтаксис |
fgrep [-bCciLlnvwx] [-number] [-e pattern] [-f file] ->[ — byte-offset] [ — context] [ — count] [ — regexp=pattern] ->[ — file=file] [ — ignore=case] [ — files-without-match] ->[ — files-with-match] [ — line-number] [ — revert-match] ->[ — word-regexp] [ — line-regexp] [pattern] file [file ...] |
Важные флаги и опции |
|
|
|
file |
|
Описание |
Определяет и отображает тип файлов. |
Синтаксис |
file [-zL] [-f file] file ... |
Важные флаги и опции |
|
find |
|
Описание |
Ищет по указанным путям и ниже файлы, которые соответствуют всем указанным в командной строке опциям, и выполняет действия, предписанные этим . опциям. Если путь не указан, поиск производится в текущем каталоге и ниже. |
Синтаксис |
find [path ...] [options] |
Важные флаги и опции |
|
|
|
|
Примечания |
При указании числовой информации о времени, например, минут или дней, совпадение, как правило, должно быть точным. Суффикс + перед числом соответствует любому числу, больше указанного, а суффикс - перед числом соответствует любому числу, меньше указанного. |
finger |
|
Описание |
Ищет информацию о пользователе на локальных или удаленных системах. Пользователи на локальных системах указываются по логину (username), имени или фамилии, а на удаленных системах - в формате usernameOhost. Если не указывать пользователей локальной системы, то будут отображены все текущие пользователи системы. Если хост указан без имени пользователя в формате @host, то отображаются все текущие пользователи удаленной системы. |
Синтаксис |
finger [ user . . . ] |
Важные флаги и опции |
Отсутствуют. |
free |
|
Описание |
Отображает отчет о свободной и занятой оперативной памяти. |
Синтаксис |
free [-b|-k|-m] [-s delay] [-t] |
Важные флаги и опции |
|
gpasswd |
|
Описание |
Выполняет администрирование файла /etc/group. Без флагов gpasswd позволяет изменить пароль указанной группы. |
Синтаксис |
gpasswd group gpasswd -a user group gpasswd -d user group |
Приложение С. Обзор команд Linux Чaсть II
grep |
|
Описание Ищет в файлах строки, совпадающие с указанным шаблоном, и отображает их. |
|
Синтаксис |
grep [-bCcEFGiLlnvwx] [-number] [-e pattern] '[-f file] -> [--basic-regexp] [--byte-offset) [--extended-regexp] -> [ — fixed- strings] [ — byte-offset] [ — context] [ — count] -> [ — regexp=patfcern] [ — file=file] [ — ignore=case] -> [--f iles-without-match] [--f iles-with-match] -> [--line-number] [--revert-match] [--word-regexp] -> [ — line-regexp] [pattern] file [file ...] |
Важные флаги и опции |
|
|
|
Примечания |
Синтаксис используемых командой grep регулярных выражений приведен на страничке grep руководства man. |
groupadd |
|
Описание |
Соадает новую группу. |
Синтаксис |
groupadd [-g gid [-0]] [-r] [-f] group |
Важные флаги и опции |
|
groupdel |
|
Описание |
Удаляет группу. |
Синтаксис |
groupdel group |
Важные флаги и опции |
Отсутствуют. |
groupmod |
|
Описание |
Модифицирует существующую группу. |
Синтаксис |
groupmod [-g gid [-0]] [-n groupname] group |
Важные флаги и опции |
|
groups |
|
Описание |
Распечатывает имена групп, которым принадлежит один или несколько пользователей. Если не указано имя пользователя, то отображает группы, в которые входит запустивший команду пользователь. |
Синтаксис |
groups [ username . . . ] |
Важные флаги и опции |
Отсутствуют. |
grpck |
|
Описание |
Проверяет целостность файлов групп, таких как /etc /group или /etc/ gshadow. Если не указано имя файла группы, то проверяются файлы групп по умолчанию. |
Синтаксис |
grpck [-r] [group shadow] |
Важные флаги и опции |
-r: Функционирует в режиме "только чтение", что не позволяет вносить в файлы никаких изменений. |
gunzip |
|
Описание |
Распаковывает файлы, сжатые командой gzip (а также командами compress и zip). |
Синтаксис |
gunzip [-cflrt] [ — stdout] [ — to-stdout] [--force] -> [--list] [--recursive] [--test] [name ...] |
Важные флаги и опции |
|
gzexe |
|
Описание |
Создает сжатый исполняемый файл. Если двоичный файл или сценарий упакован программой gzexe, то его можно будет запускать как не упакованный. Файл просто распаковывается в памяти, а затем выполняется, оставляя упакованную версию на жестком диске. |
Синтаксис |
gzexe [-d] [name . . . ] |
Важные флаги и опции |
|
Примечания |
При упаковке файла с именем filename файл-оригинал будет скопирован под именем f ilename~, а упакованный файл сохранит имя filename. После тестирования упакованного исполняемого модуля неупакованную копию можно удалить. |
gzip |
|
Описание |
Упаковывает файл, используя алгоритм Лемпел-Зива (Lempel-Ziv). Результирующий файл обычно помещается поверх неупакованшго файла-оригинала и имеет расширение .gz. |
Синтаксис |
gzip [-cdflrt] [ — decompress] [ — uncompress] [ — stdout] -> [ — to-stdout] [ — force] [ — list] [ — recursive] -> [ — test] [name . . .] |
Важные флаги и опции |
|
halt |
|
Описание |
Останавливает систему. Если система не на рабочем уровне (run level) 0 или 6. то используется программа shutdown. |
Синтаксис |
halt [-n] [-w] t-d] [-f] [-i] |
Важные флаги и опции |
|
Предупреждения |
При использовании этой команды нужно принять меры предосторожности. Флаг -п - останов системы без синхронизации дисков - особенно важен, так как отказ от синхронизации файловых систем перед их размонтированием может разрушить записанные на них данные. |
head |
|
Описание |
Отображает начало одного или более файлов. По умолчанию отображаются первые 10 строк каждого файла. Если не указано ни одно имя файла, то считываются данные со стандартного ввода и начальная часть данных отображается по правилам отображения файлов. |
Синтаксис |
head [-с number [bkm] ] [-n number] [-qv] -> [--bytes number[bkm] ] [--lines number] [--quiet] -> [—silent] [ file . . .] |
Важные флаги и опции |
|
hostname |
|
Описание |
Отображает или устанавливает хост-имя системы. Если не указаны ни флаги, ни аргументы, то отображается хост-имя системы. |
Синтаксис |
hostname [-а] [ — alias] [-d] [ — domain] [-f] -> [ — fqdn] [-i] [ — ip-address] [ — long] [-s] -> [ — short] [-.y] [— yp] [— nis] |
Важные флаги и опции |
|
id |
|
Описание |
Отображает действительные и эффективные Ш пользователя и группы указанного пользователя. Если имя пользователя не указано, то отображает информацию пользователя, запустившего id. |
Синтаксис |
id [-gnruG] [ — group] [ — name] [ — real] [ — user] -> [ - -groups ] [ username] |
Важные флаги и опции |
|
|
|
ifconfig |
|
Описание |
Конфигурирует сетевой интерфейс или отображает его состояние, если опции не указаны. |
Синтаксис |
ifconfig interface options address |
Важные флаги и опции |
|
ifdown |
|
Описание |
Запрещает указанный интерфейс, например eth0 или ethl. |
Синтаксис |
ifdown interface |
Важные флаги и опции |
Отсутствуют. |
ifport |
|
Описание |
Устанавливает тип приемопередатчика указанного сетевого интерфейса |
Синтаксис |
ifport interface type |
Важные флаги и опции |
|
ifup |
|
Описание |
Разрешает указанный интерфейс, например eth0 или eth1. |
Синтаксис |
ifup interface |
Важные флаги и опции |
Отсутствуют. |
insmod |
|
Описание |
Устанавливает загружаемый модуль в текущее ядро. |
Синтаксис |
insmod [-fpsxX] [-0 module_name] object_file -> [symbol=value ...] |
Важные флаги и опции |
|
kbd_mode |
|
Описание |
Отображает или устанавливает режим клавиатуры. |
Синтаксис |
kbd_mode [-a|-u|-k| -s] |
Важные флаги и опции |
|
kbdrate |
|
Описание |
Устанавливает скорость повторения и время задержки для клавиатуры. |
Синтаксис |
kbdrate [-r rate] [-d milliseconds] |
Важные флаги и опции |
|
kill |
X |
Описание |
Посылает сигнал уничтожения одному или нескольким выполняющимся процессам. |
Синтаксис |
kill [-s signal |-p] pid ... kill -1 |
Важные флаги и опции |
|
killall |
|
Описание |
Посылает сигнал всем процессам, разделяющим общее имя процесса. |
Синтаксис |
killall [-eiw] [-signal] process . . . killall -1 |
Важные флаги и опции |
|
|
|
ksyms |
|
Описание |
Отображает информацию об экспортируемых символах ядра, включая адрес, имя и модуль, в котором имя определено. |
Синтаксис |
ksyms [-a] [-m] |
Важные флаги и опции |
|
|
|
last |
|
Описание |
Отображает историю входа пользователей в систему и выхода из нее на основании содержимого файла /var/log/wtmp. Если указан конкретный tty, например tty0 или tty1, то отображаются только вхождения через указанный tty. |
Синтаксис |
last [-R] [-number] [-n number] [-adx] [name ...] [tty ...] |
Важные флаги и опции |
|
Idd |
|
Описание |
Отображает зависимости одной или нескольких программ от разделяемых библиотек. |
Синтаксис |
ldd [-dr] program . . . |
Важные флаги и опции |
|
less |
|
Описание |
Отображает текстовый файл по одному экрану за раз, позволяя производить поиск и обратную прокрутку. |
Синтаксис |
less [-aeEGilNrsS] file ... |
Важные флаги и опции |
|
lib Описание |
Устанавливает начальный загрузчик Linux. |
Синтаксис |
lilo [С file] [-d deciseconds] [-q] [-D label] [-u device] |
Важные флаги и опции |
|
|
|
listalias |
|
Описание |
Отображает альтернативные имена (псевдонимы) пользователей и системы. Если указано регулярное выражение, то отображаются только те альтернативные имена, которые соответствуют выражению. |
Синтаксис |
listalias [-s|-u] [regular-expression] |
Важные флаги и опции |
|
In |
|
Описание |
Образует ссылки между файлами. Если последним аргументом является каталог, то для каждого указанного файла-источника создается ссылка с тем же именем в указанном каталоге. |
Синтаксис |
In [-bis] [--backup] [--interactive] [--symbolic] -> source [destination] In [-bis] [--backup] [--interactive] [--symbolic] -> source . . . directory ( |
Важные флаги и опции |
|
badkeys |
|
Описание |
Загружает таблицы трансляции составных клавиш из одного или более указанных файлов. Если ни один файл не указан, информация читается со стандартного ввода. |
Синтаксис |
loadkeys [-с — clearcompose] [-d — default] [-m — mktable] -> [-s --clearstrings] [file ...] |
Важные флаги и опции |
|
logger |
|
Описание |
Помещает элементы в системный журнал. Если не указаны ни сообщения, ни входной файл, то в системный журнал будет протоколироваться стандартный ввод. |
Синтаксис |
logger [-is] [-f file] [-p priority] [-t tag] [message ...] |
Важные флаги и опции |
|
login |
|
Описание |
Регистрация в системе. |
Синтаксис |
login user-name |
Важные флаги и опции |
Отсутствуют. |
logname |
|
Описание |
Отображает логин (username) пользователя. |
Синтаксис |
logname |
Важные флаги и опции |
Отсутствуют. |
log rotate |
|
Описание |
Чередует файлы протоколов, пересылает по почте текущий файл и затем сжимает его для архивирования. |
Синтаксис |
logrotate [-s| — state file] configfile |
Важные флаги и опции |
|
Ipd |
|
Описание |
Запускает демон спулера принтера для управления печатью на присоединенных и удаленных принтерах. Если задан порт, то прослушивается именно он (на предмет входных запросов), а не порт по умолчанию. |
Синтаксис |
lрr [-1] [port] |
Важные флаги и опции |
|
Ipq |
|
Описание |
Проверяет и отображает текущее состояние очереди спулера принтера. Если принтер не указан, то выполняется запрос для принтера по умолчанию. Обычно, если не указаны конкретные номера заданий, отображаются все задания для запрашиваемого принтера. Если указаны пользователи, то будут отображены только печатные задания этих пользователей для запрашиваемого принтера. |
Синтаксис |
Ipq [-1] [-Pprinter] [job, ...] [user, ...] |
Важные флаги и опции |
|
Ipr |
|
Описание |
Печатает один или несколько файлов в спул указанного принтера. Если не указан ни один файл, то в спул принтера посылается стандартный ввод. Если принтер не указан, то данные посылаются на принтер по умолчанию. |
Синтаксис |
Ipr [-Pprinter] [-tnumber] [-C class] [-J job] ->[-i [numcols]] [-hlmrs] [file ...] |
Важные флаги и опции |
|
Iprm |
|
Описание |
Удаляет одно или более заданий из указанной очереди печати. Если принтер не указан, пытается удалить задания из очереди принтера, заданного по умолчанию. При указанном имени пользователя удаляются все задания, принадлежащие этому пользователю, если не указано конкретное задание. |
Синтаксис |
Iprm [-Pprinter] [job ...] [user ...] |
Важные флаги и опции |
|
Is |
|
Описание |
Отображает список файлов и каталогов. Если не указан ни файл, ни каталог, то отображает содержимое текущего каталога. По умолчанию содержимое сортируется в алфавитном порядке. |
Синтаксис |
Is [-acdlrRsStuX] [ — all] [ — time=ctime] [ — time=status] -> [ — directory] [ — format=long] [ — forma t=verbose] -> t — reverse] [ — recursive] [ — size] [ — sort-size] -> [ — sort=time] [ — time=atime] [ — time=access] -> [ — time=use] [ — sort=extension] [file\ directory ...] . |
Важные флаги и опции |
|
Isdev |
|
Описание |
Отображает информацию об установленном аппаратном обеспечении. |
Синтаксис |
lsdev |
Важные флаги и опции |
Отсутствуют. |
Ismod |
|
Описание |
Отображает список загруженных модулей. |
Синтаксис Важные флаги и опции |
Ismod Отсутствуют. |
mail |
|
Описание |
Отправляет и получает почту. Если текст сообщения не передан на стандартный ввод, то он будет запрашиваться у пользователя. Также при помощи флага может быть указана другая информация, например тема сообщения, иначе эта информация будет запрашиваться у пользователя. Если ни опции, ни аргументы не указаны, то для чтения открывается почтовый ящик текущего пользователя. |
Синтаксис |
mail [-s subject] [-с address,...] -> [-b address, . . . ] address mail -f [mailbox] mail -u [user] |
Важные флаги и опции |
|
Примечания |
Механизм использования программы mail для чтения сообщений обсуждается на странице mai1 руководства man. |
mailq |
|
Описание |
Отображает содержимое очереди выходных сообщений. |
Синтаксис |
mailq |
Важные флаги и опции |
Отсутствуют. |
mailto |
|
Описание |
Отправляет почту одному или нескольким адресатам. Если в командной строке не указан ни один адресат, то программа запросит эту информацию у пользователя. Если сообщение не указано в стандартном вводе-'то программа запросит у пользователя текст сообщения. |
Синтаксис |
mailto [-a cAaracter-set] [-с address,...] -> [-s subject] [recipient ...] |
Важные флаги и опции |
|
Примечания |
Для указания конца сообщения достаточно ввести а . в пустой строке или использовать Ctrl+D. |
man |
|
Описание |
Отображает страницу руководства указанной команды. |
Синтаксис |
Man command |
Важные флаги и опции |
|
mattrib |
|
Описание |
Изменяет атрибуты файла в файловой системе MS-DOS, например на дискете DOS. Эквивалентна команде ATTRIB в DOS. |
Синтаксис |
mattrib [-а|+а] [-h|+h] [-r|+r] [-s|+s] -> msdosfile [msdosfile . . .] |
Важные флаги Я опции |
|
Примечания |
Следует перед опцией использовать + для установки бита и - для сброса бита |
mbadblocks |
|
Описание |
Тестирует гибкий диск DOS на наличие плохих блоков. Если хотя бы один такой блок будет найдет, он отмечается в FAT диска. |
Важные флаги и опции |
mbadblocks drive: |
Синтаксис |
Отсутствуют. |
mcd |
|
Описание |
Меняет текущий каталог в файловой системе MS-DOS, например на гибком диске. Если аргумент не указан, то отображается текущее устройство и каталог. Эквивалентна команде CD в DOS. |
Синтаксис |
mcd [msdosdirectory] |
Важные флаги и опции |
Отсутствуют. |
тсору |
|
Описание |
Копирует файлы в обоих направлениях между файловыми системами Unix и MS-DOS. Можно скопировать несколько файлов в один каталог, если каталог указан последним аргументом. Использование обозначений DOS для устройства, например а:, подразумевает файл DOS; иначе предполагается файловая система Unix. При указании в качестве аргумента одного файла DOS, этот файл будет скопирован в текущий каталог Unix. Эквивалентна команде COPY в DOS. |
Синтаксис |
mcopy [-tnm] sourcefile targetfile тсору [-tnm] sourcefile [sourcefile ...] targetdirectory mcopy [-tnm] MSDOSsourcefile |
Важные флаги и опции |
|
mdel |
|
Описание |
Удаляет файлы на флоппи-дисках MS-DOS. Эквивалентна команде DEL в DOS. |
Синтаксис |
mdel msdosfile [msdosfile . . . ] |
Важные флаги и опции |
Отсутствуют. |
mdeltree |
|
Описание |
Удаляет один или более каталог MS-DOS. Эквивалентна команде DELTREE в DOS. |
Синтаксис |
mdeltree msdosdirectory [msdosdirectory . . . ] |
Важные флаги и опции |
Отсутствуют. |
mdir |
|
Описание |
Отображает содержимое каталога в файловой системе MS-DOS, например на флоппи-диске. Если указаны конкретные файлы, то отображаются только эти файлы. Эквивалентна команде DIR в DOS. |
Синтаксис |
mdir [-w] msdosdirectory mdir [-a] [-f] [-w] msdosfile [msdosfile ...] |
Важные флаги и опции |
|
messages |
|
Описание |
Отображает количество сообщений в почтовом ящике пользователя и конкретной папке, если она указана. |
Синтаксис |
messageg [folder] |
Важные флаги и опции |
Отсутствуют. |
mformat |
|
Описание |
Форматирует флоппи-диск MS-DOS. Эквивалентна команде FORMAT в DOS. |
Синтаксис |
mformat drive: |
Важные флаги и опции |
Отсутствуют. |
mkdir |
|
Описание |
Создает один или несколько каталогов. |
Синтаксис |
mkdir [-p] [-m mode] [ — parents] [ — mode=jnode] directory ... |
Важные флаги и опции |
|
mkdosfs |
. |
Описание |
Форматирует файловую систему MS-DOS на указанном устройстве. |
Синтаксис |
mkdosfs [-с] [-F fatsize] [-n name] device |
Важные флаги и опции |
|
mke2fs |
|
Описание |
Форматирует вторую расширенную (second extended) файловую систему Linux. |
Синтаксис |
mke2fs [-с] [-m percentage] [-L label] device |
Важные флаги и опции |
|
mkfs |
|
Описание |
Создает файловую систему (аналогично форматированию диска в DOS). Дополнительно можно указать количество блоков для файловой системы. |
Синтаксис |
mkfs [-t rstype] [-с] [-1 file] device [blocks] |
Важные флаги и опции |
|
mkpasswd |
|
Описание |
Генерирует случайный пароль и может назначить его пользователю. |
Синтаксис |
mkpasswd [-2] [-1 number] [-d number] [-c number] -> [-C number] [-p file] [user] |
Важные флаги и опции |
|
Примечания |
При использовании флага -2 случайному наблюдателю сложнее увидеть, что печатает пользователь. Но этот флаг облегчает угадывание пароля программой, подбирающей пароль. |
mkswap |
|
Описание |
Устанавливает устройство как свопинг-область. При желании можно указать размер файловой системы в блоках. |
Синтаксис |
mkswap [-с] device [blocks] |
Важные флаги и опции |
|
Примечания |
Возможно также создание файлов свопинга вместо разделов. За дополнительной информацией обратитесь к странице mkswap руководства man. |
mlabel |
|
Описание |
Устанавливает метку для файловой системы MS-DOS, например флоппи-диска. Если метка не указана, она запрашивается у пользователя. |
Синтаксис |
mlabel [-cs] drive:label |
Важные флаги и опции |
|
mmd |
|
Описание |
Создает один или более каталогов в файловой системе MS-DOS, например на флоппи-диске. |
Синтаксис |
mmd msdosdirectory [msdosdirectory . . . ] |
Важные флаги и опции |
Отсутствуют. |
mmove |
|
Описание |
Перемещает (или переименовывает) файлы или каталоги MS-DOS. Если последний аргумент - каталог, то все файлы-источники перемещаются в каталог-приемник. |
Синтаксис |
mmove sourcefile target file mmove sourcefile [sourcefile ...] targetdi rectory |
Важные флаги и опции |
Отсутствуют. |
modprobe |
|
Описание |
Загружает один или более загружаемых модулей, полагаясь на шаблон или указанный объектный файл модуля. |
Синтаксис |
modprobe module. о [symbol=value ...] modprobe -t tag pattern modprobe -a -t tag pattern modprobe -1 [-t tag] pattern modprobe -r module modprobe -c |
Важные флаги и опции |
|
more |
|
Описание |
Отображает один или более файлов экран за экраном, позволяет производить поиск и переход в любое место в файле. |
Синтаксис |
more [-dlfs] [-number] [-fnumber] [file ...] |
Важные флаги и опции |
|
|
|
Примечания |
За более подробной информацией об используемых для просмотра файлов командах обратитесь к странице more руководства man. |
mount |
|
Описание |
Монтирует файловую систему в указанный каталог. |
Синтаксис |
mount -a [-rw] [-t vfstype] mount [-rw] [-0 options [,....]] device] dir mount [-rw] [-t v fstype] [-0 options] device dir |
Важные флага и опции |
|
Примечания |
При указании типа файловой системы для флага -t возможны следующие значения. |
|
Minix vfat ufs |
|
ext proc romfs |
|
ext2 nfs sysv |
|
xiafs iso9660 xenix |
|
hpfs smbfs coherent |
|
msdos ncpfs |
|
umsdos affs |
|
Для получения информации об опциях флага, -о обратитесь к странице mount руководства man. |
mrd |
|
Описание |
Удаляет один или более каталогов MS-DOS. |
Синтаксис |
mrd msdosdirectory [msdosdirectory . . .] |
Важные флаги и опции |
Отсутствуют. |
itiren |
|
Описание |
Переименовывает файл MS-DOS. Похожа на команду REN в DOS, но может переименовать также и каталоги. |
Синтаксис |
mren oldname newname |
Важные флаги и опции |
Отсутствуют. |
mtype |
|
Описание |
Отображает содержимое одного или более файлов MS-DOS. Похожа на команду TYPE в DOS. |
Синтаксис |
mtype [-ts] znsdosfile [msdosfile . . .] |
Важные флаги и опции |
|
mv |
|
Описание |
Переименовывает и перемещает файлы. Когда последним аргументом является каталог, перемещает все указанные файлы в этот каталог. |
Синтаксис |
mv [-bfiu] [ — backup] [ — force] [ — interactive] -> [ — update] {source destination] source ... directory} |
Важные флаги и опции |
|
netstat |
|
Описание |
Отображает информацию о состоянии сети, включая соединения, таблицы маршрутизации и статистику интерфейсов. Если опции не указаны, выводится список активных соединений. |
Синтаксис |
netstat [-Mnrs] [-с] [-i interface] [ — interface interface] -> — masquerade] [ — route] [ — statistics] |
Важные флаги и опции |
|
|
|
newgrp |
|
Описание |
Регистрирует пользователя в новой группе, изменяя ID группы пользователя. Если группа не указана, то ID группы заменяется ID группы пользователя при регистрации в системе. |
Синтаксис |
newgrp [group] |
Важные флаги и опции |
Отсутствуют. |
newusers |
|
Описание |
Читает файл, содержащий список новых пользователей, и создает их. Если не указано имя файла, информация о пользователях предъявляется на стандартный ввод. |
Синтаксис |
newusers [file] |
Важные флаги и опции |
Отсутствуют. |
Примечания |
Формат файла, который читается командой newusers, такой же, как и файла /etc/passwd со следующими исключениями.
|
nisdomainname |
|
Описание |
Отображает текущее имя домена NIS. |
Синтаксис |
nisdomainname |
Важные флаги и опции |
Отсутствуют. |
nslookup |
|
Описание |
Опрашивает сервер имен DNS. Может быть запущена в интерактивном режиме. Если не указано имя хоста, то программа входит в интерактивный режим. По умолчанию используется сервер DNS, указанный в /etc/resolv.conf. Если надо указать сервер, но не искать хост, следует ввести "-" на месте хоста. |
Синтаксис |
nslookup [host | - [server] ] |
Важные флаги и опции |
Отсутствуют. |
Примечания |
Обратитесь к странице ns lookup руководства man за инструкциями по доступным командам в интерактивном режиме. |
passwd |
|
Описание |
Изменяет пароль пользователя. Пользователь root может изменять пароль другого пользователя, если указать имя пользователя как аргумент. |
Синтаксис |
passwd [username] |
Важные флаги и опции |
Отсутствуют. |
paste |
|
Описание |
Объединяет соответствующие строки из одного или более файлов. Последовательно печатает соответствующие строки на одной строке, разделяя их символом табуляции, и добавляет в конец символ перевода строки. Если не указаны имена файлов, данные считываются со стандартного ввода |
Синтаксис |
paste [-s] [-d delim-list] [ — serial] [ — delimiters list] ->[file ...] |
Важные флаги и опции |
|
pathchk |
|
Описание |
Проверяет правильность и переносимость имен файлов. В частности, проверяет, чтобы все каталоги в пути файла имели соответствующие привилегии выполнения, и длина каждого компонента пути и имени файла не превышала допустимой. |
Синтаксис |
pathchk [-р] [ — portability] file ... |
Важные флаги и опции |
|
pidof |
|
Описание |
Ищет ID процессов для одной или более программ и отображает PID. |
Синтаксис |
pidof [-s] [-х] [-о pad] [-0 pid ...] program [program ...] |
Приложение С. Обзор команд Linux Чaсть III
ping |
. |
Описание |
Посылает пакеты запроса эхо-сигнала к хосту сети, чтобы узнать, доступен ли он. |
Синтаксис |
ping [-R] [-с number] [-d] [-i seconds] host |
Важные флаги и опции |
|
pppstats |
|
Описание |
Отображает статистику работы РРР. |
Синтаксис |
pppstats [-a] [-v] [-r] [-z] [-с count] -> [-w secs] [interface] |
Важные флаги и опции |
Отсутствуют. |
ps |
|
Описание |
Отображает отчет о состоянии выполняемых процессов. Чтобы получить информацию о конкретном процессе, следует указать ID процесса как аргумент. Без опций и аргументов ps отображает процессы текущего пользователя. |
Синтаксис |
ps [lumaxwrf] [txx] [pid ...] |
Важные флаги и опции |
|
- |
|
pwck |
|
Описание |
Проверяет файл паролей на наличие ошибок и проблем. Проверяется формат всех элементов, чтобы в каждом поле находилась правильная информация. Кроме того, обнаруживаются дублирующиеся элементы. Позволяет пользователю удалить плохо сформатированные или дублирующиеся элементы. Если не указаны ни файл паролей, ни теневой файл паролей, то по умолчанию используются /etc/passwdn /etc/shadow. |
Синтаксис |
pwck [-r] [passwordfile shadowfile] |
Важные флаги и опции |
|
pwconv |
|
Описание |
Копирует элементы из файла паролей в теневой файл паролей, объединяя их с существующим теневым файлом паролей. Новый файл паролей будет называться npasswd, а новый теневой файл паролей - nshadow. |
Синтаксис |
pwconv |
Важные флаги и опции |
Отсутствуют. |
pwd |
|
Описание |
Отображает имя текущего каталога. |
Синтаксис |
pwd |
Важные флаги и опции |
Отсутствуют. |
pwunconv |
|
Описание |
Восстанавливает пароль из теневого файла паролей. Новый файл паролей будет называться npasswd. |
Синтаксис |
pwunconv |
Важные флаги и опции |
Отсутствуют. |
quota |
j |
Описание |
Отображает информацию о квоте использования дискового пространства пользователем. Пользователь root может указать других пользователей или группы и получить отчет. Обычные пользователи могут только посмотреть информацию о своей учетной записи и группах, к которым они принадлежат. |
Синтаксис |
quota [-guv] [user\ group] |
Важные флаги и опции |
|
quotacheck |
|
Описание |
Сканирует файловую систему для определения использования* дискового пространства пользователем или группой и выводит результаты в два файла квот: quota . user и quota . group. |
Синтаксис |
quotacheck [-g] [-u] [-a| filesystem] |
Важные флаги и опции |
|
quotaoff |
|
Описание |
Отменяет квоты на использование диска одной или несколькими файловыми системами. |
Синтаксис |
quotaoff [-g] [-u] [ -а | filesystem ...] |
Важные флаги и опции |
|
quotaon |
|
Описание |
Разрешает квоты на использование диска одной или несколькими файловыми системами. |
Синтаксис |
quotaon [-g] [-u] [-a | filesystem ...] |
Важные флаги и опции |
|
rep |
|
Описание |
Удаленное копирование одного или нескольких файлов между двумя системами. Если последний аргумент - каталог, то файлы, указанные в остальных аргументах, копируются в него. |
Синтаксис |
rep [-px] file . . . |
Важные флаги и опции |
|
Примечания |
Удаленные файлы и каталоги указываются в формате remoteuser@remotehost: /path/to/file. |
rdate |
|
Описание |
Извлекает текущее время из одного или более хостов в сети и отображает возвращенное время. |
Синтаксис |
rdate [-p] [-s] host . . . |
Важные флаги и опции |
|
rdist |
|
Описание |
Выполняет удаленное распространение файлов для того, чтобы расположить идентичные копии на нескольких хостах, сохраняя, если возможно, принадлежность, режимы доступа и время модификации. Если не указан каталог-приемник на удаленной системе, то файлы-источники будут помещены в аналогичном месте на удаленной системе. |
Синтаксис |
rdist -с file| directory ... [login@] host [: directory] |
Важные флаги и опции |
|
Примечания |
Rdist предусматривает управление распространением из конфигурационных файлов. Это -позволяет использовать большое количество флагов и опций. Обратитесь к странице rdist руководства man за полной информацией по этой утилите. |
repquota |
|
Описание |
Отображает итог по квотам использования диска одной или более файловыми системами. |
Синтаксис |
repquota [-gu] [-a| filesystem ...] |
Важные флаги и опции |
|
|
|
rlogin |
|
Описание |
Вход в удаленную систему. |
Синтаксис |
rlogin [-Kx] [-1 user-name] host |
Важные флаги и опции |
|
rm |
|
Описание |
Удаляет один или более файлов или каталогов. |
Синтаксис |
rm [-firR] [--force] [--interactive] [--recursive] ->file| directory . . . |
Важные флаги и опции |
|
rmdir |
|
Описание |
Удаляет пустые каталоги. |
Синтаксис |
rmdir [-р] [ — parents] directory ... |
Важные флаги и опции |
|
rmmod |
|
Описание |
Выгружает один или несколько загруженных модулей. |
Синтаксис |
rmmod [-as] module . . . |
Важные флаги и опции |
|
|
|
route |
|
Описание |
Отображает или изменяет таблицу маршрутизации IP. Если ни одна опция не указана, отображается таблица маршрутизации. |
Синтаксис |
route add [-net | -host] targetaddress [netmask Лип] ->[gw Gw] [ [dev] If] route del [-net | -host] targetaddress [gw Gw] -> [netmask №1] [[dev] If] |
Важные флаги и опции |
|
rsh |
|
Описание |
Открывает командный процессор (оболочку) на удаленной системе. Если указана команда, то она выполняется на удаленной системе; связь завершается после возврата результатов выполнения. |
Синтаксис |
rsh [-Kx] [-1 username] hostname [command] |
Важные флаги и опции |
|
runlevel |
|
Описание |
Отображает текущий и предьщущий рабочие уровни системы. |
Синтаксис |
runlevel |
Важные флаги и опции |
Отсутствуют. |
rup |
|
Описание |
Отображает состояние одной или более удаленных систем. Если хост не указан, то отображается состояние всех машин в локальной сети. |
Синтаксис |
rup [-dhlt] [host ...] |
Важные флаги и опции |
|
rusers Описание |
Отображает сведения о том, кто находится в системе для одного или нескольких компьютеров локальной сети. Если не указано имя хоста, то отображаются все текущие пользователи всех компьютеров локальной сети. |
Синтаксис |
rusers [-1] [hostname ...] |
Важные флаги и опции |
|
rwho |
|
Описание |
Отображает список зарегистрировавшихся пользователей по всем машинам локальной сети. |
Синтаксис |
rwho |
Важные флаги и опции |
Отсутствуют. |
rwhod |
|
Описание |
Отвечает на приходящие запросы от клиента rwho. |
Синтаксис |
rwhod |
Важные флаги и опции |
Отсутствуют. |
setclock |
|
Описание |
Устанавливает на аппаратных часах компьютера значение текущего системного времени. |
Синтаксис |
setclock |
Важные флаги и опции |
Отсутствуют. |
setkeycodes |
|
Описание |
Загружает отображение клавиш в таблицу отображения скэн-кодов в коды символов. Аргументы предоставляются парами, в которых первым элементом является скэн-код для клавиши, а вторым - код символа, связанный со скэн-кодом клавиши. |
Синтаксис |
setkeycodes scancode keycode . . . |
Важные флаги и опции |
Отсутствуют. |
Примечания |
Обратитесь к странице setkeycodes руководства man, чтобы узнать, как указывать скэн-коды и коды символов. |
showkey |
|
Описание |
Отображает скэн-коды и коды символов, генерируемые клавиатурой. Программа активна в течение 10 секунд после нажатия последней клавиши. |
Синтаксис |
showkey [-sk — scancodes — keycodes] |
Важные флаги и опции |
|
showmourat |
|
Описание |
Показывает текущее состояние монтирований от сервера NFS. Если указан хост, то отображаются монтирования только с конкретного хоста. |
Синтаксис |
showmount [-ade] [ — all] [ — directories] [ — exports] [host] |
Важные флаги и опции |
|
shutdown |
|
Описание |
Завершает работу системы, запрещая регистрацию пользователей, с возможной задержкой перед завершением работы и выдачей необязательного предупреждающего сообщения. Если указано время, завершение работы Произойдет в указанное время, иначе оно выполнится немедленно. |
Синтаксис |
shutdown [-rkhc] time [warning] |
Важные флаги и опции |
|
Примечания |
Время time можно указать абсолютно, в формате часов:минут (нн : мм) , или в минутах - интервал ожидания перед завершением работы в формате +minutes . |
sort |
|
Описание |
Сортирует строки в одном или нескольких файлах, и отображает результаты. Если не указаны файлы, сортируются данные со стандартного ввода. Результирующие отсортированные данные отображаются на стандартный вывод. |
Синтаксис |
sort [-cu] [-t separator] [-0 file] [-T tempdir] ->[-bdfMhr] [+POS1 [-POS2]] [-k POS1 [ , POS2] ] [file ...] |
Важные флаги и опции |
|
statserial |
|
Описание |
Показывает состояние последовательного порта, отображая сигналы на выводах порта и состояние линии квитирования. Если устройство не указано, то по умолчанию используется значение переменной окружения MODEM или, если переменная не установлена устройство /dev/cual. Программа выполняется в цикле, отображая обновленную информацию каждую секунду, пока не будут нажаты клавиши Ctrl+C. |
Синтаксис |
statserial [-n|-d|-x] [device] |
Важные флаги и опции |
|
su |
|
Описание |
Выполняет новый командный процессор (оболочку) под другими ID пользователя и группы. Если пользователь не указан, то новый командный процессор будет выполняться под ID пользователя root. |
Синтаксис |
su [-flmp] [-с command] [-s shell] [ — login] [ — fast] -> [ — preserve-environment] [ — command=command] ->[-- shell=shell] [-] [user] |
Важные флаги и опции |
|
sync |
|
Описание |
Записывает кэш дисков на физические диски. Это позволяет сохранить на диске любую измененную информацию. |
Синтаксис |
sync |
Важные флаги и опции |
Отсутствуют. |
tail |
|
Описание |
Отображает конец одного или более файлов. По умолчанию отображаются последние 10 строк из каждого файла Если не указано ни одно имя, то считываются данные из стандартного ввода и последняя часть данных отображается по правилам отображения файлов. |
Синтаксис |
tail [-с number [bkm] ] [-n number] [-q] ->[ — bytes number [ bkm] ] [ — lines number] ->[— quiet] [—silent] [file ...] |
Важные флаги и опции |
|
tar |
|
Описание |
Создает архивный файл из одного или более файлов или каталогов. |
Синтаксис |
tar [-drtuxz] [-f tarfile] [ — file tarfile] [ — create] ->[--delete] [--preserve] [ — append] [ — same-owner] ->[ — list] [ — update] [ — extract] [ — get] [ — gzip] ->[--gunzip] [file| directory ...] |
Важные флаги и опции |
|
timeconfig |
|
Описание |
Конфигурирует параметры времени. Если указана временная зона, то зона системного времени изменяется на указанную. Иначе отображает список допустимых временных зон. |
Синтаксис |
timeconfig [ — utc] [ timezone] |
Важные флаги и опции |
|
timed |
|
Описание |
Запускает демон сервера времени, который синхронизирует время со временем на других машинах в локальной сети. |
Синтаксис |
timed [-M] [-i network] [-n network] |
Важные флаги и опции |
|
timedc |
|
Описание |
Управляет демоном timed. |
Синтаксис |
timedc [clockdiff host . . . |msite [host ...] | election host] |
Важные флаги и опции |
|
top |
|
Описание |
Отображает регулярно обновляемый отчет о выполняющихся в системе процессах. |
Синтаксис |
top [d delay] [q] [c] [S] [s] |
Важные флаги и опции |
|
Примечания |
Для получения списка команд, используемых при выполнении top, и описания различных полей в отчетах, читайте страницу top руководства man. |
touch |
|
Описание |
Изменяет временные параметры (timestamp) файлов, не изменяя их содержимое. Если файла нет, то он будет создан с нулевым размером. По умолчанию для изменения timestamp используется текущее время. |
Синтаксис |
touch [-acm] [-t MMDDhhmm[ [CC] YY] [ . ss] ] [ — time=atime] ->[ — time=access] [ — time=use] [ — time=mtinie] -> [--time=modify] [--no-create] file ... |
Важные флаги и опции |
|
|
|
traceroute |
|
Описание |
Отображает маршрут продвижения пакетов до достижения удаленного хоста в сети. |
Синтаксис |
traceroute [-ir] host |
Важные флаги и опции |
|
true |
|
Описание |
Ничего не делает, просто возвращает код успешного выполнения. |
Синтаксис |
true |
Важные флаги и опции |
Отсутствуют. |
umount |
|
Описание |
Размонтирует смонтированную файловую систему. Файловая система указывается по имени устройства или каталога, или по ее сетевому пути. |
Синтаксис |
umount -r device] directory | path ... |
Важные флаги и опции |
|
uname |
|
Описание |
Отображает системную информацию. Если опции не указаны, отображается имя операционной системы. При одновременном запросе разной информации порядок отображения следующий: операционная система, сетевое имя хоста, выпуск (release) операционной системы, версия операционной системы и тип машины. |
Синтаксис |
uname [-snrvma] [--sysname] [--nodename] [--release] ->[--machine] [--all] |
Важные флаги и опции |
|
|
|
uncompress |
|
Описание |
Распаковывает файлы, сжатые программой compress. Если ни один файл не указан, будет распакован стандартный ввод. |
Синтаксис |
uncompress [-с] [file ...] |
Важные флаги и опции |
|
unzip |
|
Описание |
Манипулирует архивами ZIP и извлекает из них файлы. |
Синтаксис |
unzip [-cflptuz] [-d exdir] file[.zip] |
Важные флаги и опции |
|
Примечания |
Это мощная программа, которая имеет множество опций. Смотрите страницу unzip руководства man для более подробной информации. |
uptime |
|
Описание |
Отображает, сколько времени работает система. |
Синтаксис |
uptime |
Важные флаги и опции |
Отсутствуют. |
useradd |
|
Описание |
Добавляет пользователя в систему. Дополнительно можно изменить значения по умолчанию для новых пользователей. Если не указано ни одной опции, программа отобразит текущие значения по умолчанию для новых пользователей. |
Синтаксис |
useradd [-d home_dir] [-e expire_date] ->[-f inactive_time] [-g initial_group] [-G group[...]] ->[-s shell] [-u uid [-0]] username useradd -D [-g default_group] [-b default_home] ->[-f default_inactive] [-e defaul t_ expiration] ->[-s default _shell] |
Важные флаги и опции |
|
userdel |
|
Описание |
Удаляет учетную запись пользователя. |
Синтаксис |
userdel [-r] user |
Важные флаги и опции |
|
Примечания |
Если вы решите удалить домашний каталог пользователя, помните, что при удалении учетной записи пользователя любые другие файлы, принадлежащие пользователю и находящиеся вне его домашнего каталога, не удаляются. Их нужно удалить вручную. К таким файлам может относиться, например, входной почтовый ящик пользователя. |
usermod |
|
Описание |
Изменяет установки для существующей учетной записи пользователя. |
Синтаксис |
usermod [-d home_dir [.-m] ] [-e expire_date] ->[-f inactive_time] [-g ini tial_group] [-G group[ ,...]] -> [-1 login_name] [-s shell] [-u uid [-0]] login |
Важные флаги и опции |
|
users |
|
Описание |
Отображает имена пользователей, находящихся в системе. Обычно для этого выполняется проверка содержимого /etc/utmp. Если указать файл, программа просмотрит его для поиска информации. |
Синтаксис |
users [file] |
Важные флаги и опции |
Отсутствуют. |
uudecode |
|
Описание |
Декодирует файлы ASCII, созданные uuencode, для восстановления исходных двоичных файлов. По умолчанию именем декодированного файла будет исходное имя закодированного файла Если не указано имя ни одного файла для декодирования, то декодируется стандартный ввод. |
Синтаксис Важные флаги и опции |
uudecode [-o outputfile] [file . . .]
|
uuencode |
|
Описание |
Закодирует двоичный файл в вид, применяемый, когда не используются двоичные файлы (например, с некоторым почтовым программным обеспечением). Если не указан файл, закодируется стандартный ввод. |
Синтаксис |
uuencode [file] |
. Важные флаги и опции |
Отсутствуют. |
vlpw |
|
Описание |
Редактирует системный файл паролей, используя редактор, указанный в переменной среды окружения EDITOR. |
Синтаксис |
vipw |
Важные флаги и опции |
Отсутствуют. |
vmstat |
|
Описание |
Отображает статистику работы виртуальной памяти. |
Синтаксис |
vmstat [delay [count]] |
Важные флаги и опции |
|
|
|
Примечания |
За подробностями о генерируемом отчете обратитесь к странице vmstat руководства man. |
W Описание Синтаксис Важные флаги и опции WC Описание Синтаксис Важные флаги и опции |
Отображает список пользователей, находящихся в данный момент в системе, и запущенные ими задачи. Если указан пользователь, то отображаются только задачи, запущенные данным пользователем. w [ user] Отсутствуют. Распечатывает количество байт (символов), слов и строк в одном или нескольких документах. Если указано несколько имен файлов, то для каждого файла отдельно будет произведен подсчет и выведен результат, а затем будут отображены общие итоги. Если ни одного файла не указано, то будет подсчитываться стандартный ввод. we [-clw] [ — bytes] [ — chars] [ — lines] [ — words] [file . . .]
|
Примечания
|
|
whereis |
|
Описание |
Пытается определить положение двоичного модуля, исходного текста программы и файлов страниц руководства man для одной или более команд. |
Синтаксис |
whereis [-bms] [-BMS directory . . . -f ] file . . . |
Важные флаги и опции |
|
Примечания |
Команда whereis будет искать программы, которые она пытается локализовать, как минимум, в следующих каталогах: /bin /usr/bin /etc /usr/etc /sbin /usr/sbin /usr/games /usr /games /bin /usr/emacs/etc /usr/lib/emacs/19.22/etc /usr/lib/emacs/19. 23 /etc /usr/lib/emacs/19 . 24/etc /usr/lib/emacs/19.25/etc /usr/lib/emacs/19.26/etc /usr/lib/emacs/19.27/etc /usr/lib/emacs/19. 28/etc /usr/lib/emacs/19.29/etc /usr/lib/emacs/19.30/etc /usr/TeX/bin /usr/tex/bin |
|
/usr/interviews/bin/LINUX |
|
/usr/bin/X11 |
|
/usr/X11/bin |
|
/usr/X11R5/bin |
|
/usr/XllR6/bin |
|
/usr/X386/bin |
|
/usr/local/bin |
|
/usr/ local /etc |
|
/usr/ local /sbin |
|
/usr / local / games |
|
/usr /local /games /bin |
|
/usr / local /emacs/ etc |
|
/usr/ local /TeX/bin |
|
/usr/ local /tex/bin |
|
/usr/local/bin/X11 |
/usr/contrib |
|
/usr/hosts |
|
/usr /include |
|
/usr/g++-include |
|
which |
|
Описание |
Отображает полный путь к одной или более программам. Отображаются только программы, находящиеся на пути, указанном переменной среды окружения PATH. |
Синтаксис |
which program . . . |
Важные флаги и опции |
Отсутствуют. |
whoami |
|
Описание |
Отображает текущий эффективный ID пользователя. |
Синтаксис |
whoami |
Важные флаги и опции |
Отсутствуют |
ypdomainname |
|
Описание |
Отображает имя домена NIS системы. |
Синтаксис |
ypdomainname |
Важные флаги и опции |
Отсутствуют. |
zcat |
|
Описание |
Распаковывает один или более упакованных (сжатых) файлов и отображает результаты на стандартный вывод. Если не указан ни один файл, то распаковывается и отображается стандартный ввод. |
Синтаксис |
zcat [-f] [ file . ..] |
Важные флаги и опции |
|
zgrep |
|
Описание |
Ищет указанный шаблон в одном или нескольких сжатых файлах. |
Синтаксис |
zgrep [options] pattern file . . . |
Важные флаги и опции |
Отсутствуют. |
Примечания |
Для получения списка возможных опций и ознакомления с синтаксисом шаблона обратитесь к команде grep. |
zip |
|
Описание |
Создает архив ZIP из одного или более файлов и каталогов. |
Синтаксис |
zip [-efFgmrSu@] [zipfile [file1 file2 ...]] |
Важные флаги и опции |
|
Примечания |
Команда zip предлагает много других опций с утонченным, иногда полезным влиянием на поведение программы. Обратитесь к странице zip руководства man за более детальной информацией. |
zipgrep |
|
Описание |
Ищет шаблон в одном или нескольких файлах архива ZIP, используя egrep. Если файлы в архиве не указаны, то будут просматриваться все файлы. |
Синтаксис |
zipgrep [egrepoptions] pattern zipfile file . . . |
Важные флаги и опции |
Отсутствуют. |
Примечания |
За детальной информацией о синтаксисе шаблона для egrep и zipgrep обратитесь к команде egrep. |
zipinfo |
|
Описание |
Отображает детали об архивах ZIP, включая состояние шифрования, тип сжатия, операционную систему, использовавшуюся для создания архива и многое другое. Также по умолчанию информация о каждом файле в архиве выводится в отдельной строке. Если не указан ни один файл ZIP, обрабатывается стандартный ввод. |
Синтаксис |
zipinfo [-121M] zipfile[.zip] [file ...] |
Важные флаги и опции |
|
zmore |
|
Описание |
Отображает содержимое сжатых текстовых файлоэ по одному экрану за раз, позволяя выполнять поиск подобно команде more. Если ни один файл не указан, будет использован стандартный ввод. |
Синтаксис |
zmore [ file . . . ] |
Важные флаги и опции |
Отсутствуют. |
Примечания |
Смотрите страницу zmore руководства man для получения полного списка команд, используемых при просмотре файла |
znew |
|
Описание |
Преобразует файлы, сжатые командой compress (файлы . Z) в формат, используемый командой gzip (файлы .gz). Если ни один файл не указан, обрабатывается стандартный ввод. |
Синтаксис |
znew [-ft9K] [file.Z ...] |
Важные флаги и опции |
|