Ж у р н а л   о   к о м п ь ю т е р н ы х   с е т я х   и   т е л е к о м м у н и к а ц и о н н ы х   т е х н о л о г и я х
СЕТИ И СИСТЕМЫ СВЯЗИ on-line
  ПОИСК: ПОДПИСКА НА НОВОСТИ: НОМЕР:
    ДОМОЙ • Архив: Новостей | Конференций | НомеровПодписка
 
   
 
   
    
РЕДАКЦИЯ
 
Все о журнале
Подписка
Как проехать
Где купить
Отдел рекламы
График выхода журнала
Адреса в Интернет

РУБРИКАТОР
   
• Инфраструктура
• Информационные
   системы

• Сети связи
• Защита данных
• Кабельные системы
• Бизнес
• Колонка редактора
• Электронная
   коммерция

• Только на сервере
• Системы
   учрежденческой
   связи

• Новые продукты


Rambler's Top100

  

Linux-практикум

Джонатан Фельдман

Вы считаете, что уже готовы перейти на Linux? Чтобы отыскать причину той или иной проблемы и устранить ее, не нужно непременно быть сертифицированным специалистом по этой ОС — достаточно лишь иметь некоторый запас практического опыта работы с ней.

В большинстве организаций почему-то принято считать, что администраторам Windows-систем ничего не стоит мигрировать на платформу Linux. Может быть, и случается такое, только очень редко, ведь типичный Windows-администратор не любит пользоваться интерфейсом командной строки (Command-Line Interface — CLI), а, администрируя Linux-серверы, без знания CLI не обойтись.

По этой причине к проекту миграции на Linux, возможно, имеет смысл привлечь спецов не по серверам, а, например, по коммутаторам или маршрутизаторам, — как-никак, они увереннее, чем некоторые системные администраторы, обращаются со строчными командами. В одной организации, которую мы посетили недавно, к проекту развертывания Linux-систем привлекли сотрудников, обслуживающих устройства фирмы Cisco. Для них данный переход не стал стрессом, ведь в системе IOS фирмы Cisco интерфейс командной строки очень похож на таковой в ОС Linux.

Полную версию данной статьи смотрите в 7-ом номере журнала за 2004 год.

Командная строка, может, и не так привлекательна, как графический интерфейс пользователя, но если вы хорошо знаете операционную систему изнутри, то, пользуясь CLI, сможете лучше настраивать машину, искать и устранять неполадки. Те, кто работает с интерфейсом командной строки, обычно хорошо знают, что и как следует конфигурировать.

Такое глубокое знание всегда окупится, поскольку метод point-and-click лишь ограниченно применим в отношении Linux-сервера. Можно, конечно, свести общение с командной строкой к минимуму, используя средства администрирования на основе Web, такие, как Webmin (http://www.webmin.com), но, даже работая с отличающимися “дружественным” пользовательским интерфейсом дистрибутивами Linux, такими, как Red Hat или SuSE, вам все равно время от времени придется открывать окно терминала.

Знание CLI также облегчает автоматизацию выполнения заданий. Знатоку не составит труда ввести команду, посмотреть, работает ли она в интерактивном режиме, а затем внести эту строку в планировщик, чтобы она выполнялась в заданное время. В то же время пользователи, работающие в среде графического интерфейса (Graphical User Interface — GUI), должны беспокоиться о том, поддерживает ли данное GUI-приложение пакетный или плановый режим выполнения заданий.

Сейчас фирма Microsoft активно проповедует на тему написания файлов-сценариев среди сертифицированных ею системных инженеров (Microsoft Certified Systems Engineer — MCSE), однако непохоже, чтобы в обозримом будущем эти самые MCSE прониклись духом командной строки. Впрочем, если вы из тех Windows-администраторов, которым удобно пользоваться строчными утилитами и не привыкать к правке INI-файлов, то и с ОС Linux у вас все прекрасно получится.

Читаем руководство

Из всех команд Linux важнейшей является команда man — вызов страниц руководства пользователя. В данной справочной системе документированы наборы опций и функций большинства команд Linux, и пользоваться ею вы будете частенько.

Для начала попробуйте ввести строку man man. В ответ вы получите описание самой команды man и ее опций. Вы не знаете, какой утилитой воспользоваться? Например, вам нужно нечто, разбивающее жесткий диск на разделы? Введите man -k partition.

Но первым делом познакомьтесь с четырьмя важнейшими составляющими Linux: дисковой, файловой, сетевой и оконной подсистемами.

Начнем с дисковой и файловой подсистем Linux. Для Intel-платформ действует известное правило: на каждом физическом диске разрешается иметь только четыре первичных раздела. Процессы логического разбиения и форматирования разделов аналогичны таковым у систем Wintel. Далее, существует несколько типов файловых систем. Аналогом системы NTFS в ОС Linux является ext2fs, но кроме нее есть и другие файловые системы, включая журналируемые.

Вместо представления файловых систем буквами, обозначающими логические диски, как это принято в Windows, в Linux файловая система монтируется в подкаталог, именуемый точкой монтирования (mount point), корневого раздела, т. е. / (root). Поэтому вместо диска “C:” в Linux вы имеете дело с диском “/”, а вместо диска “D:” (где у вас, предположим, хранятся данные) — с файловой системой “/data” (см.: “Windows против Linux”). Возможно, сначала это будет раздражать вас, но надо помнить, что все файловые системы, за исключением корневой (root), монтируются в подкаталоги. Но что же случится, спросите вы, если смонтировать файловую систему в каталог, уже содержащий файлы? Все очень просто — файлы будут “невидимыми”, пока вы не размонтируете эту файловую систему.

Одной из серьезнейших проблем на ранних этапах развития ОС Linux была стандартизация файловой структуры. К счастью, на выручку пришла спецификация LSB (Linux Standard Base), определяющая интерфейсы библиотек, стандарты системной инициализации и т. д. Теперь благодаря LSB легче найти специалиста, квалификация которого отвечает вашим требованиям, даже если он (или она) имеет опыт работы с дистрибутивами Linux, отличающимися от вашего (см.: “Сайты, заслуживающие внимания”).

В соответствии со “здоровой” традицией Unix в Linux практически все представлено в виде файлов, читаемых и записываемых посредством нормальных операций ввода-вывода. Большинство устройств в Linux представляются в виде файлов специального типа (в противоположность практикуемым в Windows обозначениям, вроде LPT1, COM1 и т. д.). Файлы специального типа позволяют включать/выключать ту или иную подсистему в случае возникновения проблем. Скажите, вам приходилось когда-нибудь отправлять задание на печать прямо на порт LPT1, в обход программы-планировщика печати Windows?

Файлы устройств — это файлы специального типа, хранящиеся в файловой системе в подкаталоге /dev. Так, здесь находятся память и все разделы дисков, значит, этот подкаталог должен быть защищен от несанкционированного доступа.

Еще одна файловая система — /proc — хранит информацию о состоянии процессов. Она показывает вам, среди прочего, список файлов, открытых конкретным процессом, и установленные значения переменных окружения (PATH и прочие). Возможность визуального наблюдения за тем или иным процессом полезна при поиске причин неполадок.

В файловой системе Linux предусмотрены три типа доступа к файлу: чтение, запись и выполнение. Они группируются по следующим категориям: владелец, группа и прочие, определяя таким образом режим доступа к файлу или подкаталогу. Если вам нужна более подробная информация о режимах доступа к файлам в Linux и о том, как их можно изменять, наберите man chmod в командной строке.

К вашим услугам

Обе подсистемы — и сети и служб Linux — запускаются в момент загрузки системы. Хорошей новостью здесь является то, что при этом используются утилиты командной строки. Это приводит к повторяемости результатов, если вы пытаетесь воспроизвести какую-то проблему, — процессы, засбоившие во время старта, почти наверняка дадут такой же сбой и позже, когда вы запустите их из командной строки. Таким образом, вы легче справитесь с проблемой, модифицируя строку команды и отслеживая ее вывод, т. е. используя метод проб и ошибок.

Вот простой пример назначения статического IP-адреса сетевому интерфейсу: # ifconfig eth0 192.168.0.55 netmask 255.255.255.0. (Необходимая DNS-информация хранится в файле “/etc/resolv.conf”.)

В отдельных дистрибутивах Linux, самым известным из которых является Red Hat, эта функциональность абстрагируется в системных сценариях “service”, т. е. в командных файлах с удобным для восприятия человеком форматом. Вы можете запускать эти сценарии вручную и даже, — если вы склонны к авантюризму — просматривать и редактировать их. Синтаксис запуска сценария для любой службы Linux (в данном случае — службы сети) следующий: # service network [ start | stop | restart ].

Эти сценарии находятся в каталоге “/etc/init.d”, и вы можете просматривать их там в свое удовольствие. (Их можно рассматривать как набор файлов AUTOEXEC.BAT — по одному на каждую службу.) Многие сетевые службы стартуют именно таким образом, хотя некоторые из них запускаются через Xinetd — сервер, который “слушает” сеть от имени данной программы и вызывает ее только тогда, когда входное программное гнездо (сокет — socket) открыто. В некоторых системах используется Inetd — ранняя версия утилиты Xinetd. Если вы желаете глубже вникнуть в то, как все это работает, попробуйте набрать man xinetd или man inetd.

Прародитель всех процессов — init. Отслеживая состояние системы, он соответственно запускает и останавливает процессы. Состояние системы обозначается как “init state” или “run level”. Например, если вы работаете в однопользовательском режиме (техническое обслуживание), то это будет “level 1”, в многопользовательском режиме без сети — “level 2”, а в многопользовательском режиме с сетью — “level 3”.

Работа с X Window

Графический интерфейс пользователя (GUI) в Linux не является неотъемлемой частью операционной системы. В этом есть свои преимущества. Так, если GUI недоступен, вы все равно сможете справиться с решением конкретной задачи, например с восстановлением системы при ее сбое.

И все-таки, когда GUI необходим, неплохо иметь его под рукой. Интерфейс GUI в Linux слагается из сервера X Window, оконного менеджера для X-сервера и клиентских программ. X Window — это клиент-серверная система, в которой X-сервер работает на хост-машине и обеспечивает контекст программам-клиентам для отображения их информации. Поскольку жесткая связь между тем, где выполняется клиентская программа, и тем, куда она выводит информацию, отсутствует, то клиенты X Window не обязаны работать на той же машине, что и сервер. Они могут отображать выходные и получать входные данные удаленно, без специального ПО удаленного управления. Это, конечно, упрощает администрирование, но представляет угрозу для безопасности.

Вы готовы стать Linux-гуру?

Изучение Linux — дело не одного дня. Эта ОС обладает стабильностью и мощью, но, как говорится, сила предполагает и ответственность. Если в вашей организации не поддерживается и не поощряется постоянное обучение, можете сразу отказаться от развертывания Linux — вы все равно обречены на неудачу. Если вы систематически отлаживаете Linux-системы в своей тестовой лаборатории, читаете и посылаете сообщения в тематические группы новостей (newsgroups), подписаны на почтовые рассылки по данному профилю, или даже (вот это да!) инсталлировали ОС Linux на своем домашнем компьютере, то “переезд” вашей организации на Linux должен пройти гладко. Если же всего этого нет, то переход на Linux начните с работы в лаборатории и присоединитесь к каким-нибудь новостным группам (см.: “Маленькое пособие по сетевому этикету Linux”).

Тестовая лаборатория — один из основных источников получения практических знаний о новой платформе. Приобретенный опыт поможет вам упростить процедуру установки системы, и понять, как одна подсистема влияет на другую. Командная строка Linux подобна скальпелю — без него невозможно проведение любой хирургической операции, но, если у вас мало опыта обращения с ним, вы рискуете повредить артерию.

Один-единственный пробел, поставленный не в то место сценария или командной строки, может привести к уничтожению всей вашей файловой системы. Имейте в виду, что команды “rm -rf foo /” и “rm -rf foo/” — это, как говорится, две большие разницы.

Кроме того, вам необходимо обеспечить интеграцию Linux с вашими унаследованными системами. В этот промежуточный период держите постоянный контакт со службами поддержки унаследованных приложений, чтобы в случае возникновения простоев не перекладывать вину друг на друга. Тут главное опыт..





  
7 '2004
СОДЕРЖАНИЕ

бизнес

• Эффективность работы региональных операторов

• Определены российские ИТ-лидеры

• Novell и Red Hat идут в наступление

• Широкополосные услуги: стратегия и тактика внедрения

• Allied Telesyn ставит на "тройной выигрыш"

инфраструктура

• Linux-практикум

• Red Hat побеждает благодаря RHEL 3.0

• Антенны для устройств беспроводных ЛВС

• Информационная безопасность корпоративной БЛВС

информационные системы

• Держите ваши данные синхронизированными

• Комфорт телефонного общения

сети связи

• IP-телефония и безопасность

• Ethernet на просторе

• Семь "смертных грехов" VoIP

кабельные системы

• Технологии оконцевания оптоволокна

• Проектирование систем громкоговорящего оповещения

защита данных

• Естественный отбор

• Защита от выбросов напряжения


• Калейдоскоп



 Copyright © 1997-2007 ООО "Сети и Системы Связи". Тел. (495) 234-53-21. Факс (495) 974-7110. вверх