Вы находитесь на странице: 1из 223

Запорожский областной институт последипломного

педагогического образования

Гимназия №28 г Запорожья

Кревсун Ю.Н.

Операционная система

FreeBSD
в школе

Запорожье 2003

1
Операционная система

FreeBSD
в школе

Пособие для учителя

2
Предисловие

Для кого эта книга


Изучение основ информатики в средней школе повлекло за
собой необходимость приобретения компьютерной техники, программного
обеспечения, разработки методик преподавания. Разработана программа
всего курса, выработаны критерии оценивания знаний, определен объем
знаний и умений выпускника средней школы. Однако до сих пор в школах
нет человека, который должен обслуживать технику, устанавливать
программное обеспечение. Все это делает учитель в свободное от основной
работы время. Возможно, для этого он также приглашает родителей своих
учеников. Странно получается, работу по обслуживанию компьютеров
выполнять надо, а человека, который бы занимался этой работой, в школе
нет – нет штатной единицы. Как же быть в такой ситуации? Почти
риторический вопрос...
Многим кажется, что для того, чтобы работал компьютер его
нужно только включить в сеть... Да, так оно и будет, если компьютер
работоспособный и на нем установлены и настроены все нужные
программы. Но всегда ли это так? Как показывает практика – нет, и, чаще
всего, компьютеры в школах не работают не потому, что технически
неисправны, а потому, что не установлено или не настроено необходимое
программное обеспечение. Нужно только его установить или настроить и
компьютер, как новенький, начинает работать... А кто же будет
устанавливать это программное обеспечение? Конечно же, учитель. Но на
это может уйти уйма времени... А где его взять?
Вот как раз, для экономии времени учителя и нужна эта
книга. Автором было затрачено достаточное количество времени на
изучение, тестирование, настройку различных программ. Я не буду
рассказывать о неудачных попытках, настроить то или иное приложение, а
значит, если вы будете следовать этой книге, то таких неудачных попыток
у вас не будет, и время, затраченное на установку и настройку программ,
значительно уменьшится.
Эта книга напрямую адресована учителям школ, которые
заинтересованы в использовании самых современных информационных
технологий, новейших программных продуктов. Я надеюсь, что изучение
новой операционной системы принесет вам радость новых открытий,

3
позволит лишний раз сказать: “И я тоже это могу сделать!”

О чем эта книга


Итак, вы решились на отважный поступок – приступить
самостоятельно к установке и настройке различных программ. Для этого
вы выбрали базовое программное обеспечение – операционную систему.
Как показывает практика, существует только два относительно
приемлемых варианта: Windows или UNIX (различных операционных
систем значительно больше). Но Windows является коммерческим
продуктом, а это означает, что для получения права его использовать
требуется купить лицензию, стоимость которой около $100 на каждое
рабочее место. Есть ли у школ необходимые средства? Мне кажется, что
нет. Разумеется, можно купить один диск на рынке и установить Windows
на все компьютеры, но такой подход наказуем. Как же быть в такой
ситуации? Да очень просто – выбрать UNIX. Свободно распространяемая
операционная система позволит вам выполнить любую задачу, которую вы
поставите перед ней.
Практически не уступая Windows в изобразительных
возможностях, UNIX во многих отношениях значительно превосходит
своего главного соперника. Я предвижу скептические замечания: “UNIX -
это для серверов, а что будет делать рядовой пользователь? Работать в
консоли с редактором vi?” Ну, зачем же так? Под UNIX есть прекрасная
графическая система, не уступающая Windows, есть офисные пакеты,
подобные MS Office. Так что рядовой пользователь будет вполне доволен.
UNIX сочетает в себе мощь серверной операционной
системы и элегантность рабочей станции для пользователя.
Теперь не трудно сделать заключение, эта книга для тех, кто
хочет освоить одну из самых старых операционных систем, величие
которой заключается в том, что, несмотря на стремительное развитие
компьютерной техники, когда возникали одни и уходили в небытие другие
системы, она остается одной из самых распространенных операционных
систем, корнями уходя в “глубокую древность”. По эмоциональному
восприятию ее можно сравнить разве что с акулой, пережившей эпоху
динозавров.
В этой книге речь пойдет о UNIX FreeBSD, о том, как ее
установить, настроить и работать в ее среде.
4
Как создавалась эта книга
Работая в Windows, я начал скучать... Все уже было
настроено, все работало (может не так хорошо, как хотелось, но работало).
Почивать на лаврах как-то еще не хотелось, возраст не позволял. Вот я и
решил освоить новую систему.
Произошло это года два-три назад, тогда я только делал
робкие попытки установить Linux. Немного освоясь, я заменил Windows на
Linux RedHat 7.2 на интернет сервере гимназии. Я был поражен
стабильностью работы нового сервера. Месяцами он работал, и не было
необходимости его перезагружать (должен сказать, что для Windows
сервера гимназии рекорд непрерывной работы без перезагрузки составлял
чуть более месяца). Теперь очередь должна была дойти до интранет
сервера гимназии. Но ученические машины работали под Windows NT 4.0,
и они входили в домен, поддерживаемый сервером Windows NT. Значит,
нужно было перевести гимназию на новую операционную систему.
Осталось найти только повод. И кампания MicroSoft его нам дала, объявив
о начале “крестового похода” против пиратства на Украине. В июне 2002
года гимназия была полностью переведена на новую операционную
систему... Интранет-сервер с тех пор и по сей день (уже более полугода) не
перезагружался. И необходимости в этом пока нет.
Устойчивость, способность к самовосстановлению после
сбоев вызывает восхищение. Простота администрирования, гибкость
сетевой конфигурации – все это говорит только в пользу UNIX систем.
Но за все надо платить. Если вы впервые знакомитесь с
UNIX системой, то вам она покажется невероятно запутанной, сложной.
Требуются значительные усилия воли, чтобы заставить себя разобраться в
принципах работы этой системы. Особенно трудно это сделать, если
знаешь, что рядом есть запретный плод - Windows, в котором уже все
настроено...
По мере того, как я знакомился с системой, я записывал свои
наблюдения. Затем слегка их упорядочил, “причесал”, и вот, получилась
эта небольшая книга. Здесь собраны ответы на все мои вопросы, которые
возникали по мере изучения UNIX. Описан также опыт использования
UNIX систем в гимназии 28 г. Запорожья.
Хочется надеяться, что данная книга поможет учителям

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

Благодарности
Изучая UNIX системы, я, в основном, пользовался
электронными справочниками, документацией и различными книгами.
Однако, это не единственный источник моих знаний по данной системе.
Помощь небезразличных людей сыграла немалую роль в моем
образовании. Их советы, пожелания всегда внимательно выслушивались,
анализировались и постепенно внедрялись в жизнь.
Огромная благодарность Лозовскому С.Н., администратору
компании “Марка”. Его консультации всегда были очень полезными. С его
помощью был собран необходимый пакет программ, предоставленный на
компакт-диске.
Немалую работу по корректировке текста взяла на себя
Лещенко Ю.В., которая на протяжении уже нескольких лет активно
использует информационные технологии в административной работе.

6
Операционная система

UNIX

FreeBSD
Введение
Операционная система – это пакет программ,
обеспечивающий управление всеми устройствами компьютера,
поддерживающий файловую структуру хранения данных; она
является важнейшим звеном в диалоге человека и компьютера.
Операционная система запускается автоматически при
включении компьютера. Она обеспечивает пользователю удобный способ
общения (интерфейс) с устройствами компьютера, позволяет запускать
другие программы, обеспечивает хранение данных на внешних носителях
информации (дискетах, жестких дисках, оптических дисках и т.п.).
Операционная система позволяет выполнять сложные
действия с устройствами компьютера при помощи ввода простых,
понятных человеку команд. Например, чтобы очистить экран монитора,
система должна обработать более 4000 байтов видео памяти. Естественно,
сделать это вручную возможно, но каждый раз при очистке экрана нужно
вновь и вновь выполнять этот набор команд! Не думаю, что такой способ
общения с компьютером, доставит радость (особенно после 10-ой очистки
экрана).
Управление любым устройством – это операции низкого
уровня, поэтому программам требуется выполнить сотни, тысячи действий,
что является непосильной задачей для пользователя компьютера. Такую
работу можно и нужно выполнять, но делать это должен не человек, а

7
программа. Человек только указывает, что нужно очистить экран, вводя
простую команду. Система, распознав ее, передает управление
соответствующей программе, которая и выполнит указанную команду (при
этом компьютер выполнит по указанию этой программы тысячи
необходимых для этого элементарных операций!).
Ситуация еще осложняется тем, что различные типы
устройств требуют различных операций для выполнения одной и той же
задачи. Например, видеоадаптеры различных фирм-производителей для
выполнения простейшего действия – очистить экран - используют
различный набор элементарных операций. Однако для пользователя
команда очистки экрана, не зависимо от типа видеоадаптера, должна быть
одинаковой. Операционная система берет на себя такие “мелочи”, позволяя
пользователю отвлечься от подобных деталей.
Итак, в необходимости использования операционных систем
уже никто не сомневается. Возникает другой вопрос: какую систему
выбрать? В мире разработано достаточное количество разнообразных
операционных систем, но выбор наиболее подходящей системы для
решения ваших задач, совсем не прост. Необходимо учесть множество
факторов, и не последним тут является финансовый фактор. Несерьезный
подход к выбору системы может в дальнейшем породить множество
проблем, которых можно было бы избежать, правильно оценив задачи,
стоящие перед вашей вычислительной системой.

Сравнительная характеристика FreeBSD


и Windows
Как всякая операционная система, FreeBSD должна
упростить работу человека с компьютером. С этим заданием, кажется,
справляются все системы, и определить какая лучше практически
невозможно, так как все зависит от привычки работать с той или иной
системой. И все же, дать сравнительную характеристику двух, наиболее
распространенных систем – FreeBSD и Windows - нужно. Это позволит
более полно представить возможности одной и другой системы.
Разумеется, было бы глупо утверждать, что одна система
лучше другой, как было бы глупо утверждать, что легковой автомобиль
лучше грузового. Каждый товар, а программа - это тоже товар, находит
своего покупателя. Поэтому, отвлекаясь от пристрастий и личных
предпочтений, попытаемся дать объективную сравнительную
8
характеристику двух, наиболее распространенных систем: Windows и
FreeBSD.

Windows FreeBSD
Многозадачность Да Да
Поддержка многих Да (NT4, 2000, XP) Да
пользователей Нет (95/98/ME)
Поддержка работы в Да Да
сети
Интерфейс Графический Текстовый
Существует множество
графических оболочек
Файловая система VFAT, NTFS FFS
Ограничение доступа к Да (NT4, 2000, XP) Да
каталогам и файлам Нет (95/98/ME)
Доступность исходного Нет Да
кода
Возможность Нет Да
модификации ядра
системы
Методы Наглядный, Редактирование
администрирования интуитивно-понятный текстовых файлов, по
интерфейс, множество подобию множества
мастеров настройки, примеров, особенно
разворачивая кластер, просто, если знаешь!
необходимо настроить Настраивая кластер,
каждый компьютер достаточно скопировать
отдельно (сценарий с дискеты
установки создать конфигурационные
можно, но выглядит он файлы (либо запустить
слишком “мудрено”) сценарий установки)
Печать Просто, система печати Настройка на первый
использует экранные взгляд кажется очень
шрифты сложной.
Настройка новых Автоматически, главное Обнаружение
устройств наличие драйвера автоматически,
конфигурирование
требует знаний о

9
Windows FreeBSD
“железе”
Монтирование CD, Автоматически, при Вручную, есть
floppy установке в устройство возможность
автоматического
монтирования
Сравнительная характеристика Windows и FreeBSD

Просматривая это таблицу, можно сделать вывод, что та


система лучше, которая более полно отвечает вашим требованиям. Если
это компьютер, предназначенный для домашнего пользования, и вы
предполагаете использовать его в качестве мультимедийного устройства,
то Windows, как мне представляется, подходит в больше степени. Хотя это
совсем не означает, что FreeBSD с такой задачей не справится. Но, если вы
собираетесь установить сервер или компьютер для работы на нем многих
пользователей, разграничить доступ, то для этой цели больше подходит
FreeBSD. И как в предыдущем случае, это вовсе не означает, что с такой
задачей не справится Windows (разумеется, речь идет о Windows NT/2000).
Мы много слышали, что Windows – система неустойчивая,
слабо защищена, хуже работает в сети, чем UNIX. Слышали также, что
UNIX тяжело администрировать: необходимо знание большого набора
команд. А уж интерфейс UNIX и вовсе не выдерживает критики...
Особенно вызывает недоумение, если это утверждает человек, чья
профессиональная деятельность связана с администрированием систем и
сетей. Категории “менее”, “слабо” или “хуже” не являются
количественными и, следовательно, они не могут быть основным
критерием при выборе системы. Это скорее эмоциональные категории, а,
как известно, эмоции и разум не всегда за одно.
Я не стараюсь доказать, что UNIX лучше или хуже Windows,
я хочу лишь сказать, что и в одной и в другой системе есть, как
преимущества, так и недостатки. Не существует идеальных систем. Есть
только поклонники той или иной системы... но об этом – как-нибудь, в
другой раз...
Сейчас же речь пойдет об операционной системе...

10
FreeBSD
и немного философии
FreeBSD - это операционная система типа UNIX. Она
работает на компьютерах Intel x86 и Alpha, Добровольцы со всего мира
трудятся над ее совершенствованием и исходный код этой системы
доступен каждому.
Существует несколько причин, которые объясняют
популярность этой системы:

 системой FreeBSD пользуются крупнейшие компании мира;


 система чрезвычайно стабильна;
 система проста в работе;
 система открыта.

Многие видят Unix чрезвычайно запутанную, сложную и


непонятную операционную систему. На самом деле Unix представляет
собой яркий пример разработки операционной системы по принципу KISS
(Keep It Simple, Stupidо).
Конструктивно Unix базируется на множестве небольших
программ, каждая из которых отлично решает совершенно определенную
задачу. Эти маленькие программы, при необходимости, можно объединить
в единое целое для решения задач любой сложности.
Открытость системы означает, что всем пользователям
предоставляется исходный текст абсолютно всех программ, который
можно, по необходимости, изменить и выполнить компиляцию, как
нужного модуля, так и всей системы в целом. Использование такой
возможности положительно сказывается на производительности системы,
так как пользователь (root) имеет возможность включить поддержку только
тех устройств, которые реально применяются на данном компьютере. Это
уменьшает требуемые для нормальной работы системы ресурсы
компьютера, что в итоге повышает его производительность.
Существуют также и противники концепции программного
обеспечения с открытым программным кодом. Основным их аргументом
является то, что для создания качественного программного обеспечения

11
требуется большая группа благожелательно настроенных программистов.
И если некоторые из них не будут столь благожелательны, то вся идея
открытого исходного кода теряет смысл.
Однако, как показала практика, в мире достаточно
благожелательно настроенных людей, которые стремятся создать
надежный, безопасный программный продукт. Особенно много
благожелательно настроенных программистов трудилось над созданием
Linux, начиная с первого и самого главного – Линуса Торвальда.
Открытый исходный код – это открытая политика системы,
которую может проверить каждый, найти и исправить в нем ошибку и
сообщить о ней всем остальным.
Именно такая политика позволяет создать операционную
систему, способную удовлетворить требования многих профессиональных
пользователей.
Успех операционной системы, прежде всего, зависит от ее
стабильности, возможности выполнять свои обязанности как можно
дольше, обеспечивать надежную защиту документов своих пользователей.
Операционная система UNIX полностью соответствует этим требованиям.
Ее “умение” работать без перезагрузки месяцами, а то и годы, способствует
ее популярности в серверных решениях. Такая устойчивость объясняется
удачно выбранной философией системы, ключевые элементы которой
состоят в следующем:

 наличие простых команд;


 возможность объединения команд в модули (конвейеры);
 открытость исходного кода;
 простота стиля интерфейса;
 отсутствие типов файлов.

Все это способствует дальнейшему процветанию этой


системы и ее развитию. Можно быть уверенным, что, зародившись в 60-е
годы 20-го столетия, эта система еще долгое время будет лидировать по
популярности, как среди профессионалов, так и среди рядовых
пользователей.

12
Графическая оболочка

KDE
Текстовый интерфейс UNIX имеет ряд недостатков, которые
в силу определенных причин устранить невозможно. К числу этих
недостатков можно отнести: однообразный шрифт, бедность цветовой
гаммы, слабую разрешающую способность, практически не позволяющую
вывести на экран рисунок, график, фотографию. Таких недостатков
лишены системы с графическим интерфейсом. Для управления
компьютером посредством операционной системы с графическим
интерфейсом достаточно было “ткнуть” указатель “мыши” в нужное место
на экране. Отпала необходимость знания команд системы, интерфейс стал
интуитивно понятен, компьютером может управлять ребенок, не умеющий
еще толком читать! Богатая цветовая гамма, четкие рисунки, разнообразие
стилей оформления интерфейса системы, делают работу с компьютером
привлекательной. Все это склонило чашу весов в пользу графического
интерфейса.
В начале 90-х годов ХХ столетия появились первые
серьезные разработки графического интерфейса операционных систем.
Начиная с этого времени, началась эра операционных систем нового
поколения – систем с графическим интерфейсом. Одной из первых в этом
марафоне стала кампания Microsoft, разработав графический интерфейс
для операционной системы MSDOS.
В 1995 году компания Microsoft выпустила операционную
систему с графическим интерфейсом - Windows 95. Простота работы,
приятный дизайн, богатые изобразительные возможности обеспечили этой
системе огромную популярность. Windows 95 за короткий срок сумел
найти своих почитателей, он устанавливался практически на всех
домашних компьютерах.

13
Такую популярность UNIX никогда не испытывал.
Разрабатываясь в профессиональной среде, UNIX оставался популярным
только для избранного круга пользователей, чья профессиональная
деятельность была неразрывно связана с компьютерами и компьютерными
сетями. Желая исправить этот недостаток и распространить UNIX среди
непрофессионалов, программисты всего мира предприняли попытку
создать графический интерфейс, не уступающий возможностям Windows
95.
Одна за другой возникали оболочки для UNIX: некоторые
копировали интерфейс Windows, некоторые брали только стиль, некоторые
были похожи только сами на себя. В любом случае, UNIX приобрел
графический интерфейс и теперь есть все основания не только на
профессиональную деятельность, но и на “любительскую”.

Рабочий стол KDE-2.2.2

Одной из наиболее популярных графических оболочек


14
является KDE. Ее мы и выбрали в качестве базовой. Хотя это вовсе не
означает, что эта графическая оболочка лучше других (термин “лучше” уже
обсуждался), просто - ее мы выбрали. Именно эту оболочку мы и будем в
дальнейшем рассматривать, изучая UNIX.
Графическая оболочка KDE предоставляет пользователю
удобный интерфейс для осуществления разнообразных операций над
файлами и каталогами. Она содержит встроенные текстовый и графический
редакторы, утилиты для поддержания в порядке файловой системы,
архиватора, программы для управления мультимедийными устройствами.
Все это способствует продвижению операционной системы UNIX на рынок
малых компьютеров для работы в малом офисе и дома.
Другой, не менее популярной графической оболочкой,
можно считать Gnome. Эта оболочка неизменно поставляется с основным
пакетом системы, обладая простым интерфейсом, она способна выполнять
все необходимые действия над файлами и каталогами.

Рабочий стол Gnome


Для Gnome написано большое количество программ
15
прикладного характера. Это и текстовые редакторы, и графические,
электронные таблицы, системы управления базами данных и т.п.
Следует еще отметить одну очень простую, требующую
мало ресурсов, графическую оболочку qvwm. Ее дизайн копирует дизайн
Windows 95.
Однако большим недостатком последней является
отсутствие динамической настройки рабочего стола, что значительно
уменьшает ее шансы занять достойное место среди графических оболочек
UNIX систем.
Использование различных графических оболочек позволяет
более эффективно решать поставленные задачи. Нельзя также не учитывать
психологический фактор: один и тот же вид рабочего стола может
действовать угнетающе, разнообразие же, напротив, позволяет быть всегда
в “форме”.

Рабочий стол qvwm

16
На прилагаемом диске есть еще две графические оболочки,
которые определенно претендуют на свое место в UNIX системах. Это -
fvwm95 и xfcm. Первая - по внешнему виду копирует интерфейс Windows
95, а вторая - представляет собой что-то среднее между Windows 95 и
каким-то своим, особенным стилем.

xfce рабочий стол

И, тем не менее, несмотря на большое многообразие


графических оболочек, стандартным интерфейсом UNIX-систем остается
текстовый интерфейс, в котором управление всеми процессами
операционной системы выполняется посредством ввода разнообразных
команд в командной строке. Чаще всего такой подход оправдан. На
серверах, которые работают зачастую без монитора, графический
интерфейс вовсе не нужен, да и управление работой сервера производится
скорей всего с удаленных терминалов, а это проще всего сделать,
используя командную строку и текстовый интерфейс.
17
Но это вовсе не означает, что настройку системы можно
выполнить, только применяя команды в командной строке. Существует
множество графических программ, при помощи которых можно выполнить
настройку тех или иных параметров системы. Особенность UNIX как раз
состоит в том, что параметры сохраняются в виде текстовых файлов,
которые можно изменить как при помощи простейшего текстового
редактора, так и при помощи сложных графических программ (в отличие от
Windows, где настройку можно производить только при помощи
специализированных графических программ).
Графические системы UNIX предоставляют более удобный,
с точки зрения рядового пользователя интерфейс взаимодействия
пользователя с компьютером. Однако не нужно думать, что при этом
возрастают возможности системы, нет, просто несколько изменяется стиль
работы – и не более. При этом нужно учитывать, что применение
графической оболочки значительно увеличивает требования к аппаратным
возможностям компьютера.
Для нормальной работы описываемых в этой книге
программ требуется компьютер, оснащенный процессором, с тактовой
частотой не ниже 700 МГц и объемом оперативной памяти не менее 128
Mb. На сегодня такой компьютер вполне доступен.
Но, пора отвлечься от пространных рассуждений и перейти к
практической части нашего повествования. Итак, компьютер включен и
начинается загрузка операционной системы.

18
Глава 1

Первый сеанс работы

1.1. Процесс запуска

При включении компьютера, после прохождения всех


тестов, начинается загрузка операционной системы. Во время загрузки на
экран дисплея выводится информация о запуске тех или иных служб
системы. Завершается загрузка включением графического режима (если
система сконфигурирована таким образом) и запуском программы kdm
(менеджера пользователей), которая предлагает пользователю ввести имя и
пароль для входа в систему. При вводе имени следует знать, что имя
пользователя может содержать только маленькие буквы английского
алфавита и цифры, а при вводе пароля имеет значение регистр символа
(например, маленькая буквы “a” и большая “A” имеют разный код, а
следовательно, система воспринимает их как два различных символа).

1.2. Вход в систему

Когда все процессы запуска операционной системы


завершатся, вы увидите на экране окно программы kdm (менеджер
пользователей), в котором необходимо набрать (выбрать) имя пользователя
и ввести пароль.
Если имя или пароль набраны неверно, то система
предложит повторить набор имени и пароля, в противном случае
выполняется загрузка основных библиотек графический оболочки и
личных настроек пользователя.
Если при входе в систему вы выбрали графическую
оболочку KDE, то на экране появится картинка, свидетельствующая о
правильности набора имени и пароля и выполняющемся входе в систему.

Панель запуска служб KDE

19
По мере загрузки оболочки будут активизироваться
пиктограммы соответствующих служб, и, в завершении загрузки, будет
восстановлен предыдущий ваш сеанс работы в системе (если конечно он
был). Это означает, что если, на момент завершения предыдущего сеанса,
вы не завершили работу в какой-либо программе, то при последующем
входе в систему произойдет автоматический запуск этого приложения.

1.3. Настройка графической среды

Операционная система Unix является многозадачной и


многопользовательской системой. Это означает, что на одной машине
могут работать несколько пользователей и для каждого из них система
отводит отдельную папку (каталог) для хранения персональных
документов и настроек рабочей среды. Доступ к такой папке есть только у
администратора и у владельца. Остальным пользователям в доступе к
вашей папке будет отказано (если, конечно, вы не изменили права доступа
к вашей папке).
При первом входе в систему сама система создает настройки
рабочей среды “по умолчанию” (администратор сети имеет возможность
самостоятельно определять конфигурацию рабочего стола пользователей
“по умолчанию”). Эти настройки пользователь может изменить в любой
момент времени, воспользовавшись специальной программой: Центр
управления (Control Center) либо Мастером настройки рабочего стола
(при первом входе в систему мастер запускается автоматически).

1.4. Рабочий стол

Итак, загрузка системы завершена. В нижней части экрана


появилась горизонтальная полоса с рисунками - пиктограммами и часами.
Эта полоса называется панель задач.

Панель задач

Панель задач предназначена для быстрого запуска наиболее


часто используемых программ, а также для отображения пиктограмм
запущенных приложений. Правая пиктограмма - аналог кнопки "Пуск" MS

20
Windows предназначена для вызова Главного меню, из которого можно
запустить любую программу, установленную в системе. Остальная часть
экрана - рабочий стол, служит для размещения ярлыков программ, с
которыми пользователь часто работает, а также для хранения документов,
с которыми пользователь в данный момент работает. Для создания ярлыка
необходимо указатель курсора поместить на свободном пространстве
рабочего стола и щелкнуть правой кнопкой мыши. В появившемся
контекстном меню выбрать необходимый пункт. Только не следует
слишком загромождать рабочий стол множеством ярлыков. Увеличение
числа ярлыков на рабочем столе ведет к снижению продуктивности работы
с теми документами, к которым нужен быстрый доступ в любой момент
времени. Психологи утверждают, что человек может окинуть взором не
более 7-8 объектов, чтобы быстро найти нужный. Поэтому, 7-10 ярлыков
на рабочем столе вполне достаточно для комфортной работы с системой.

Главное меню и рабочий стол KDE

Чтобы изменить свойства рабочего стола (например,


установить необходимые обои рабочего стола, выбрать подходящую

21
цветовую гамму), необходимо вызвать контекстное меню рабочего стола и
выбрать пункт «Настроить рабочий
стол». После запуска программы
«Настойка рабочего стола»,
установите нужные параметры и
утвердите изменения. Рабочий стол
будет преображен. В графической
оболочке KDE представлен очень
широкий спектр настроек внешнего
вида рабочего стола. Существует
возможность установить различные
стили интерфейса, оформление окон,
выбрать или определить самостоятельно
цветовую гамму и многое другое. Все
это создает необходимый комфорт при
работе с системой.

1.5. Выход из системы

Для завершения работы в системе необходимо в главном


меню выбрать пункт Logout (Выйти) и подтвердить выход из системы
нажатием кнопки Logout (Выход). Система закроет ваш рабочий стол и
запустит менеджер пользователей, предоставляя возможность другому
пользователю войти в систему.

1.6. Выключение компьютера

Чтобы выключить компьютер нужно в окне "Вход в


систему" нажать кнопку Shutdown (Выключить компьютер) и
подтвердить данное действие. После того, как будет сообщено, что система
остановлена, можно выключить питание компьютера.

Категорически запрещается выключать компьютер, не


дождавшись сообщения об остановке системы. Это может привести
как к поломке самого компьютера, так и к нарушению
работоспособности системы вплоть до ее полного разрушения!

Для перезагрузки компьютера необходимо в окне "Вход в


систему" нажать кнопку Shutdown (Выключить компьютер) и выбрать в

22
окне подтверждения Reboot (Перезагрузить), либо после сообщения
системы об остановке нажать любую клавишу на клавиатуре.

Завершение работы с системой

Если ваш компьютер поддерживает программное управление


питанием, то можно настроить его автоматическое отключение от сети
после завершения работы. Подробнее об этом написано в главе “Установка
дополнительных служб”.

23
Глава 2

Настройка рабочей среды

2.1. Первый вход в систему

При первом входе в систему запускается программа


настройки рабочего стола. Следуя инструкциям этой программы,
выполняется первичная настройка рабочей среды пользователя (язык
интерфейса, стиль оболочки, оформление окон).

Первый вход с систему – мастер настройки рабочего стола

2.2. Запуск программы настройки Control Center

Дальнейшую настройку рабочей среды следует производить


при помощи программы Control Center (Центр управления KDE). Для
запуска программы Control Center нажмите кнопку быстрого запуска
24
Control Center в панели задач. Окно программы разделено на две части:
левая часть - дерево элементов настроек, а правая - параметры выбранных
элементов настроек. Программа достаточно проста в освоении, поэтому
рекомендуем запустить ее и просмотреть, какие параметры могут
принимать те или иные объекты KDE. Но, при этом следует помнить, что
всякое “бездумное” изменение параметров может повлечь за собой
нежелательные последствия (например, “таинственное” исчезновение
панели задач или что-то в этом роде).

2.3. Настройка шрифтов

Для нормальной работы с кириллицей в системе необходимо


установить нужные шрифты и кодировку. В данной системе применяется
кодировка koi8-r и (или) koi8-u. Чтобы установить ее раскройте пункт
Personalization (Персональные) и выберите подпункт Country &
Language (Страна и язык). При этом в правой части окна будут
отображены текущие настройки, которые необходимо изменить так, как
показано на следующем рисунке:

Центр управления – настройка языка интерфейса KDE

Теперь осталось указать, какая раскладка клавиатуры будет


25
использоваться в системе и запустить программу, которая будет
переключать раскладку клавиатуры (англ/рус, например). Это
устанавливается в разделе Peripherals (Периферия) пунктом Keyboard
(Клавиатура). Установите в поле Enabled keyboard layouts (Включить
выбор раскладок клавиатуры) флажок. Выберите в списке
дополнительных раскладок клавиатуры русскую (Russian) раскладку. Не
забудьте применить введенные изменения. Для переключения раскладок
клавиатуры необходимо один раз нажать комбинацию клавиш Ctrl+Alt+K,
либо подвести указатель мышки к индикатору раскладки на панели задач и
нажать левую кнопку. Если выбран стиль оформления Qt Windows, то для
переключения раскладки клавиатуры нажатием Ctrl+Alt+K необходимо
выполнить дополнительные настройки (смотри Привязки клавиш).

Установка раскладки клавиатуры

Система готова к работе с кириллицей!


Желательно сейчас перезагрузить KDE, завершив сеанс
работы в системе и войдя в систему вновь (перезагрузка всей системы не
требуется)! Если вас не устраивают шрифты (слишком мелкие или
"некрасивые"), то изменить их можно при помощи той же программы

26
Control Center (Центр управления), но выбрав раздел Look & Feel
(Внешний вид и интерфейс) и подпункт Fonts (Шрифты). Установите
желаемый шрифт.
Нетрудно заметить, что в данном разделе настроек можно
установить свою схему рабочего стола: цвет, стиль, оформление окон и т.п.
Здесь достаточно много различных вариантов, которые позволят вам
выразить свои предпочтения в полном объеме. Рекомендуем вам
поэкспериментировать!!!
Возможно, в результате подобных экспериментов (чего греха
таить?), возникнет ситуация, при которой дальнейшая работа в KDE станет
практически невозможной – например, исчезнет панель задач. Все попытки
ее восстановить могут не привести к желаемому результату. В самое время
позвать на помощь администратора. Наиболее простой способ вернуть ваш
KDE к “жизни” - это удалить каталог .kde в вашем домашнем каталоге.
Правда, плата за такую “помощь” – это повторная настройка рабочей
среды. Зато поэкспериментировали...

2.4. Особенности настройки рабочего стола в KDE 3

Если в вашей системе установлена графическая оболочка


KDE версии 3, то настройка рабочего стола несколько упростится, хотя
основные действия по выбору языка интерфейса, настройке
дополнительных раскладок клавиатуры выполнить все же придется.
Первым, приятным отличием от KDE 2 является тот факт,
что выбор языка интерфейса можно сразу указать при первом входе в
систему (мастер настройки рабочего стола обеспечит правильный перевод
всех надписей и установить соответствующую кодировку). Основные
элементы управления KDE 3 такие же, как и в ее предшественнице,
поэтому мы не будем подробно описывать их работу. Следует сказать, что
в новой версии графической оболочки предлагается более широкий выбор
стилей интерфейса, что, несомненно, является положительным фактором.
Главное меню приобрело приятный дизайн, появился более
широкий выбор стилей иконок (есть даже в стиле Windows XP), все это
оставляет благоприятное ощущение при работе в новой графической
оболочке. В состав новой оболочки вошли все наиболее популярные
программы из состава предшественницы. Кроме того, стандартный набор
программ KDE пополнился новыми программами, позволяющие более
полно реализовать все возможности графического интерфейса.
27
Рабочий стол KDE 3.0

Первоначально в гимназии предполагалось использование


графической оболочки KDE 2.2.2, но за время написания этой книги успела
выйти новая версия оболочки - KDE 3.1, которая содержит огромное
количество новшеств, идущих явно на пользу UNIX системам, а точнее, его
продвижению на рынок домашних и офисных систем.

28
Глава 3

Домашний каталог

3.1. Назначение Домашнего каталога

Домашний каталог - это выделенная область на жестком


диске, предназначенная для хранения личных документов пользователя, а
также конфигурационных файлов рабочей среды (описание настроек: цвет
окон, стиль, шрифты и т.д.). Каждому пользователю, зарегистрированному
в системе, создан такой каталог. По умолчанию максимальный объем
такого каталога не ограничен, но чаще всего администраторы системы
устанавливают ограничения (QUOTA) на максимальный занимаемый
объем, например, 30 МБайт. Это связано с тем, что, в случае
неограниченного объема домашнего каталога пользователей, свободный
объем диска быстро будет исчерпан, а это приведет к неустойчивой работе
системы в целом.

Окно konqueror – домашний каталог

29
3.2. Настройка доступа к домашнему каталогу

Очевидно, что к домашнему каталогу пользователя должен


получить доступ только владелец и, естественно, администратор (root).
Чтобы исключить доступ других пользователей, необходимо проверить,
установлен ли необходимый уровень безопасности. Для этого запустите
файловый менеджер (аналог проводника Windows) Konqueror и войдите в
каталог /home. Найдите каталог, имя которого совпадает с вашим сетевым
именем - это и есть домашний каталог. Выделив его указателем мыши,
щелкните левой кнопкой и в контекстном меню выберите пункт Properties
(Свойства).

Настройка безопасности домашнего каталога

На экране появится окно с двумя закладками: General


(Общие) и Permissions (Права). На первой вкладке устанавливается ярлык
вашего каталога и общая информация о каталоге: занимаемый объем
каталога, дата последней модификации; а на второй - устанавливается
уровень доступа. Чтобы доступ к каталогу мог получить только владелец
каталога, установите флажки в строке User (Владелец), а остальные
уберите. Вторая строка Group (Группа) - дает возможность получить
30
доступ пользователям группы, в которую входите и вы, а третья - Все
остальные пользователи системы. После нажатия кнопки OK внесенные
изменения вступят в силу. Будьте внимательны: убрав флажки в
категории “Владелец” вы отказываете в доступе сами себе. Не
делайте этого!

3.3. Основные файлы, находящиеся


в домашнем каталоге

Если вы откроете домашний каталог, то увидите там


множество файлов и подкаталогов, которых не создавали. Некоторые
имена файлов начинается с точки. Что это за файлы, и какое их
назначение?
В Домашнем каталоге хранятся так называемые скрытые
файлы - имя таких файлов начинается с точки. Такие файлы удалять не
рекомендуется, т.к. в них записана конфигурация вашей рабочей среды. По
умолчанию файловый менеджер не показывает скрытые файлы, но при
необходимости можно установить режим, при котором скрытые файлы
станут видимыми.

Еще раз отмечу, что скрытые файлы в домашнем


каталоге несут определенную нагрузку, обеспечивая нормальную
работоспособность системы. Поэтому, такие файлы удалять не
следует!

Но "вредный" пользователь должен знать, что, удалив


такой или такие файлы, он никак не повлияет на работоспособность
системы в целом, и другие пользователи при этом не пострадают. А
вот у самого такого пользователя могут возникнуть проблемы при
повторном входе в систему!

К администраторам очень часто обращаются с претензией,


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

31
Кроме служебных файлов в домашнем каталоге хранятся все
личные документы пользователя, КЭШ файлы (например, копии
посещаемых страниц в интернете), ссылки на различные ресурсы в
интернет и многое другое.

3.4. Файловые менеджеры

Файловый менеджер - это программа, предоставляющая


пользователю удобный интерфейс для работы с файлами и каталогами. В
UNIX системах, традиционно, операции над файлами и каталогами
осуществляют, вводя команды в командной строке, но такой стиль работы
многим кажется экзотическим, особенно на первых порах. На этот случай
предусмотрена возможность работы с файлами и каталогами через
"посредника" - файлового менеджера. Таких программ написано огромное
множество, рассмотрение которых не является задачей данного курса. Мы
рассмотрим только две: Midnight Commander и Konqueror. Первая
предоставляет текстовый интерфейс, вторая – графический.

3.4.1. Midnight Commander

Midnight Commander это наиболее популярный файловый


менеджер, используемый в UNIX системах. При помощи этой программы
можно выполнять большое количество различных функций:

 наглядно изображать содержание каталогов на дисках


 изображать дерево каталогов
 удобно копировать, перемещать, переименовывать,
удалять файлы и каталоги
 просматривать текстовые файлы
 редактировать текстовые файлы
 выполнять любые команды UNIX
 изменять атрибуты файлов и каталогов
 изменять права доступа к файлам и каталогам
 и многое другое...

Запуск Midnight Commander осуществляется набором в


командной строке консоли:

% mc или midc

32
После запуска программы на экране появляется два
прямоугольных окна, ограниченные одинарной рамкой (далее эти окна
будут называться панелями). Ниже панелей - строка полезных советов,
далее - командная строка консоли. Еще ниже – строка, напоминающая о
назначении функциональных клавиш Midnight Commander.
Панели Midnight Commander служат для отображения
содержания каталогов. Для визуального отличия каталогов от файлов перед
именами каталогов ставят символ “/”. Каталог “/..” означает надкаталог.

Файловый менеджер mc

Файлы, имена которых помечены символом “*”, являются


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

33
Midnight Commander позволяет выполнять действие не
только над одним файлом или каталогом, а и над группой файлов и
каталогов. Для выбора нескольких файлов и каталогов применяют клавишу
Insert: повторное нажатие этой клавиши на выделенном имени файла или
каталога отменяет выделение. Над выделенными файлами и каталогами
можно выполнять следующие действия:

 копировать
 перемещать
 удалять
 изменять права доступа.

При копировании файлов и каталогов с помощью Midnight


Commander надо выбрать файл или каталог (или группу файлов и
каталогов) и нажать клавишу F5. На экране появится запрос о том, куда
надо скопировать выбранные файлы и каталоги. В запросе будет
предложено имя каталога, изображенного на другой (неактивной) панели.
Поэтому целесообразно перед копированием файлов и каталогов в другой
каталог вывести оглавление этого каталога на другую панель Midnight
Commander. Тогда для ответа на запрос надо будет просто нажать клавишу
Enter.
Для перемещения выбранных файлов и каталогов
необходимо нажать клавишу F6. Как и в случае копирования файлов, на
экране появится запрос, в котором будет предложено имя каталога,
изображенного на неактивной панели. Нажав Enter, выбранные файлы и
каталоги будут перемещены в указанный каталог.
Чтобы переименовать выбранный файл или каталог следует
также нажать клавишу F6, но в появившемся запросе ввести новое имя
файла и каталога.
Для удаления файлов и каталогов следует нажать клавишу
F8 и утвердительно ответить на запрос об удалении - Midnight
Commander удалит выбранные файлы и каталоги.
Для выхода из Midnight Commander следует нажать клавишу
F10 и подтвердить выход нажатием Enter.
Для более полного ознакомления с возможностями Midnight
Commander обратитесь к встроенной справке, нажав клавишу F1 или введя
команду в командной строке:

34
man midc

3.4.2. Konqueror

Konqueror – основной файловый менеджер графической


системы KDE. По своим возможностям, стилю представления информации
и правилам работы он напоминает Explorer Windows. Окно Konqueror
также разделено на две части, но, если в Midnight Commander обе части
абсолютно равноправны, то в Konqueror левая часть окна предназначена
для отображения дерева каталогов, в то время как правая - для отображения
содержимого текущего каталога.

Окно Konqueror подготовленное для копирования файлов

Операции над файлами и каталогами осуществляются


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

35
Чтобы упростить копирование файлов и каталогов Konqueror
поддерживает технологию “перетащить и бросить”. Указатель мышки
следует навести на нужный файл или каталог, удерживая левую кнопку,
перетащить его в другое окно и отпустить кнопку. Будет предложено три
варианта действий над файлом: скопировать, перетащить или отменить
данное действие. Для большего удобства работы с файлами и каталогами
окно менеджера можно разделить на две части: в одной открыть каталог
отправитель, а в другой – получатель. И применив метод “перетащить и
бросить” выполнить операции над файлами или каталогами.
Konqueror можно использовать не только как файловый
менеджер, а также для работы в интернете, просматривать Web страницы и
каталоги FTP серверов. Для этого в адресной строке достаточно ввести
адрес удаленного сервера с указанием протокола передачи данных.

Страница сайта гимназии 28

Чтобы упростить поиск нужного файла, рекомендуется


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

36
информацией.
Для этого в меню программы следует выбрать пункт
Вид/Предварительный просмотр и указать, для каких типов файлов
использовать данный режим работы.

Настройка предварительного просмотра файлов

Возможности Konqueror этим не ограничены. В менеджере


есть встроенная система архивации файла или каталога, имя которого
находится в адресной строке, с последующей его отправкой адресату по
электронной почте (пункт меню Адрес/Оправить файл).
Для поиска файлов или каталогов можно воспользоваться
службой поиска файлов (см. меню Сервис/Поиск). Поиск файлов можно
осуществить по имени, по размеру, по дате создания и т.д.
Все эти возможности главного менеджера файлов KDE
делают работу с ним приятной, удобной и быстрой.

37
Глава 4

Пароль

4.1. Правила выбора пароля

Для предотвращения несанкционированного доступа к


личным документам необходимо правильно выбрать пароль входа в
систему. Если пользователи имеют небезопасные пароли, то все остальные
предпринимаемые меры защиты могут оказаться неэффективными.
Поэтому, перед администратором системы стоит ответственная задача -
убедить пользователей в выполнении правил выбора паролей.
Рекомендуется при выборе пароля учитывать следующие
факторы:

 пароль должен был длиной не менее 6 символов;


 пароль не должен быть словом из словаря;
 пароль не должен быть как-то связан с вами
(например, ваш номер телефона, имя любимой или
любимого и т.д.);
 пароль должен состоять из маленьких и
больших букв, цифр и специальных знаков.

Выполнение этих правил значительно затрудняет


злоумышленнику подбор вашего пароля.
После смены пользователем пароля ОС шифрует его и в
файле /etc/master.passwd записывает в зашифрованном виде (второе поле
учетной записи). Оригинальный вид пароля не сохраняется. Существует
множество программ, при помощи которых выполняется подбор пароля.
Такие программы используют для шифрования пароля тот же алгоритм,
что и операционная система. Затем сравнивается шифр пароля,
хранящегося в /etc/masster.passwd и шифр сгенерированного пароля. В
случае совпадения шифров пароль (в незашифрованном виде) сообщается
злоумышленнику. Обычно такие программы начинают подбор пароля с
перебора наиболее распространенных слов (слов из словаря). Как правило,
такой перебор не занимает много времени, поэтому, если ваш пароль – это

38
слово из словаря, то его расшифровка займет несколько секунд.
Сложнее дело обстоит, если пароль представляет собой
произвольную буквенно-цифровую последовательность. Чтобы разгадать
такой пароль программа подбора начинает перебирать все буквы, как
маленькие, так и большие, и цифры, предполагая в начале, что пароль
состоит из одного символа. Если пароль по окончанию такого перебора не
разгадан, то программа предполагает, что пароль состоит из двух символов
и начинает перебор всевозможных вариантов с двух символьным паролем.
Затем программа будет перебирать три символа, затем четыре... Так будет
продолжаться до тех пор, пока не будет найдена последовательность
символов, шифр которой совпадет с шифром пароля пользователя. С
увеличением числа символов в пароле, увеличивается и количество
различных вариантов, и, как следствие, увеличивается время подбора
такого пароля. Иногда, время, требуемое для подбора пароля, измеряется
сутками, а значит, желающих воспользоваться вашим паролем может не
найтись.

4.2. Установка или смена пароля

Для установки или смены пароля пользователя необходимо


запустить программу passwd или yppasswd (если в сети работает служба
NIS), указав имя пользователя:

например: passwd admin

Изменение пароля для входа в систему

Программа запросит старый пароль (если он ранее был

39
установлен) и потребует ввести новый с подтверждением. Если старый
пароль верный и новый подтвержден, пароль в системе будет изменен.
Постарайтесь не забыть пароль, так как в этом случае вам без помощи
администратора не войти в систему. А, поверьте, администратора не очень-
то радует "просьба" пользователя сменить ему пароль...

Замечание: для запуска программы passwd необходимо


запустить окно эмулятора терминала и только затем набрать команду.

40
Глава 5

Файловая система UNIX

5.1. Файловая система

Файловая система – это система правил, согласно которых


операционная система обеспечивает хранение данных на диске. Эти
правила определяют формат хранения данных, их размещение на диске,
адресацию и идентификацию. Файловой системой также называют
иерархию каталогов. Основным элементом файловой системы является
файл – именованная область данных на диске. Каждому файлу назначается
имя, на основании правил, определяющих файловую систему. Файл также
характеризуется объемом (измеряется в байтах) и местонахождением на
диске (путь).
Для облегчения поиска файлов их объединяют в группы –
каталоги. Как правило, в каталоги объединяют файлы схожие по
назначению или относящиеся к одному какому-либо проекту (например,
программе). Каталоги могут содержать в своем составе не только файлы,
но и другие каталоги, называемые подкаталогами.
Файловая система UNIX (Fast File System) предоставляет
пользователю большую свободу при выборе имени файла или каталога, что
значительно упрощает работу с файлами и каталогами. Также существует
возможность ограничения доступа к файлам и каталогам, что повышает
надежность системы в целом.
Графически представить файловую систему можно в виде
дерева каталогов, т.е. схематически изобразить подчиненность одних
каталогов другим. Корнем дерева каталогов является каталог, давший
начало остальным каталогам. Его принято называть корневым каталогом.
Каталоги, непосредственно принадлежащие корневому каталогу,
называются каталогами первого уровня. Каталоги, принадлежащие
каталогам первого уровня, называют каталогами второго уровня и т.д.
Каталоги второго уровня являются подкаталогами для своих каталогов
первого уровня, в то время как каталоги первого уровня называются над
каталогами для своих подкаталогов. Следовательно, только корневой
каталог не имеет своего надкаталога. Корневой каталог обозначается “/” и
всегда изображается вверху дерева каталогов. От него расходятся “ветви”
41
каталогов первого уровня. Для просмотра дерева каталогов достаточно
запустить Midnight Commander и на одну из панелей вызвать дерево
каталогов (F9/Левая панель/Дерево) или открыть окно Konqueror и в левой
части окна включить показ дерева каталогов (обычно этот режим
используется по умолчанию).
Чтобы более детально разобраться в особенностях файловой
системы UNIX, следует выяснить назначение основных каталогов. Как
правило, наиболее важные каталоги являются каталогами первого уровня,
что обеспечивает быстрый и удобный доступ к ним. Рассмотрим кратко
назначение основных каталогов файловой системы UNIX.

Каталог Описание каталога


/ Корневой каталог
/bin Каталог размещения программ, являющихся внешними
командами операционной системы
/boot Каталог нахождения загрузчика операционной системы
/dev Хранилище описаний всех устройств, известных системе
/etc В этом каталоге собраны файлы, описывающие
конфигурацию операционной системы
/home Домашний каталог пользователей, здесь находятся
личные документы пользователей системы. Как
правило, содержимое этого каталога размещается на
сервере
/mnt Каталог для временного монтирования других файловых
систем
/modules Подгружаемые модули (библиотеки) ядра системы
/root Домашний каталог супер пользователя (root)
/sbin Этот каталог содержит готовые к исполнению
программы для системного программирования, и не
используются при начальной загрузке системы
/usr Хранилище прикладных программ. В этом каталоге
устанавливаются все дополнительные программы
прикладного характера
/var Каталог для хранения изменяющихся файлов (журналов
служб, каталогов FTP и HTTP сервисов)

Чтобы обеспечить нормальную работу операционной


системы, необходимо строго придерживаться правил, принятых в данной

42
файловой системе. Ведь именно от ее корректной работы зависит работа
операционной системы в целом. Например, можно рассмотреть выбор имен
файлов. В Windows системе наравне допускается использование как малых,
так и больших букв в имени файла. Поэтому имена файлов TeST.txt и
text.txt распознаются системой, как одинаковые. В UNIX системах малые и
большие буквы в именах файлов интерпретируются по-разному. Это
означает, что имена TeST.txt и test.txt считаются разными и могут
назначаться различным файлам одного и того же каталога. Такая
особенность файловой системы UNIX часто является причиной ошибок
при выборе имени файла или каталога (по существу, каталог это тот же
файл, интерпретируемый системой несколько иначе).

43
Глава 6

Основные команды UNIX

6.1. Краткий обзор команд

Для управления файловой системой UNIX предлагает


богатый набор простых команд. Эти команды позволяют выполнять
различные действия по поддержанию файловой системы, например,
копирование, удаление, создание файлов и каталогов, а также изменение
атрибутов файлов и каталогов, создание новых файловых систем,
монтирование уже существующих и т.п.
Рассмотрим кратко несколько команд:

cd Делает текущим указанный каталог


pwd Выводит имя текущего каталога
ls Выводит содержимое каталога
mkdir Создает указанный каталог
rmdir Удаляет указанный каталог
touch Создает указанный файл
rm Удаляет указанный файл
cp Копирование файлов и каталогов
mv Перемещение файлов и каталогов
find Поиск файлов
chmod Назначает права доступа
mount Монтирует файловую систему
umount Демонтирует файловую систему
man Справка по указанной команде
vi Текстовый редактор
pico Текстовый редактор
ee Текстовый редактор
passwd Изменяет пароль пользователя
top Показывает список работающих
процессов

Чаще всего, команды применяются в сочетании с


различными опциями, позволяющими конкретизировать указанную

44
команду, например:

 -i Запрос на подтверждение выполняемой команды


 -v Вывод сообщения о выполняемом действии
 -f Выполнение действий без запросов, даже если права доступа
и запрещают это. Например, удалить файл, доступ к которому дан
только для чтения.

Указанные опции справедливы практически для всех выше


указанных команд. Кроме указанных опций существуют и другие,
работающие с конкретной командой или группой команд. Например, опция
-R. Эта опция позволяет применить команду не только к конкретному
файлу или каталогу, но и ко всем вложенным в указанный каталог
подкаталогов. Например:

# cp -R /home/admin/text /home/admin/new

команда скопирует каталог text со всеми подкаталогами в каталог new.


При указании имени файла и каталога допускается в
некоторых командах использовать символы “?” и “*”, означающие один
любой символ или любая последовательность символов в имени файла или
каталога.
Для более полного описания указанных команд следует
обратиться к встроенной справке, выполнив команду man. Например:

# % man ls.

6.2. Команды для работы с файлами

Над файлами можно выполнять следующие действия:

Создавать:
touch ~/test.pas
создать файл test.pas в домашнем каталоге
Копировать:
cp /etc/hosts ~/
скопировать файл hosts из каталога /etc в домашний каталог
Удалять:
rm ~/test.bak

45
удалить файл test.bak в домашнем каталоге
Переименовывать:
mv ~/test.pas ~/test.bak
переименовать test.pas в test.bak
Переместить:
mv ~/test.bak /tmp/test.bak
Переместить файл test.bak в каталог /tmp
Редактировать текстовый файл:
ee ~/test.pas
или
vi ~/test.pas

При указании пути к домашнему каталогу допускается


использование тильды (~/), что означает переход в домашний каталог.
Также можно применить и значение переменной окружения $HOME,
которая содержит путь к домашнему каталогу текущего пользователя,
например, последняя команда с использованием переменной окружения
записывается в виде:

vi $HOME/test.pas

6.3. Команды для работы с каталогами

Над каталогами допускаются следующие действия:


Создание:
mkdir ~/newdir
создать подкаталог newdir в домашнем каталоге
Копировать:
cp -r /etc ~/newdir
копировать каталог /etc (и все его содержимое) в каталог
newdir
Удалять:
rmdir ~/olddir
удаляет каталог, если olddir пустой
rm -r ~/olddir
удаляет каталог olddir и все его содержимое
Перемещать:
mv -r ~/newdir /tmp

перемещает каталог newdir в /tmp


46
Нетрудно заметить, что для работы с каталогами и всеми его
подкаталогами и файлами в командах применяется ключ -r,
сигнализирующий команде, что она применима не только к указанному
каталогу, но и ко всем его подкаталогам и файлам.

6.4. Монтирование файловых систем

При запуске системы происходит автоматическое


монтирование файловых систем различных дисков, описанных в файлах
/etc/fstab. Поэтому при правильно сконфигурированной системе не
требуется выполнять действия по монтированию основных файловых
систем. Однако существует ряд устройств, монтирование файловых систем
которых невозможно (или нежелательно) при старте системы. Это,
например, дисководы, CDROM. Если при старте системы монтирование
этих устройств не выполняется, то это приходится, по необходимости,
производить вручную. Для этого система располагает рядом команд.
Монтируя устройства, необходимо знать его физическое
имя, установленное в системе. Например, устройству CDROM
соответствует имя /dev/acd0c, а floppy диску - /dev/fd0. Зная это, операция
монтирования CD записывается в виде команды:

# mount -t cd9660 /dev/acd0c /cdrom


или
# mount /cdrom

если параметры устройства заданы в /etc/fstab (это по умолчанию). А


монтирование floppy диска осуществляется вводом команды:
# mount /dev/fd0 /mnt

(/etc/fstab никакой записи по умолчанию не содержит относительно floppy)


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

47
mount FFS UFS (FreeBSD)
mount_msdos FAT16, FAT32 (DOS, Windows 95/98/ME)
mount_ntfs NTFS (Windows NT/2000/XP)
mount_ext2fs EXT2FS (Linux)
mount_cd9660 cd9660 (CDROM)

Полный список монтируемых файловых систем можно


получить в руководстве по команде mount, введя:

# man mount

По завершению работы с файловой системой подключенного


устройства ее можно (а чаще всего это обязательное действие)
размонтировать. Для этого применяется команда umount. В качестве
параметров следует указывать имя устройства и точку монтирования,
например:

# umount /cdrom

для размонтирования CD (устройство не указано, т.к. в /etc/fstab есть


соответствующая запись);

# umount /dev/fd0
или
# umount /mnt

для размонтирования floppy диска (если до этого он был смонтирован в


каталог /mnt).
При размонтировании устройства тип файловой системы не
указывается.
Не рекомендуется извлекать носитель из устройства
(например, дискету), если операция размонтирования не
произведена. Это может привести к потере данных.

6.5. Команда top

Для контроля над работой системы существует несколько


полезных команд. Одна из них – это команда top. Эта команда позволяет
просмотреть список работающих процессов системы:

48
# top

Программа top

Список процессов упорядочивается по величине загрузки


процессора. Если какой либо процесс загрузил процессор компьютера
больше чем обычно, то возникает подозрение, что в его работе произошел
сбой. Такой процесс можно удалить (снять задачу). Для этого нажмите во
время работы программ top клавишу k и введите UID сбойного процесса.
Команда top выводит на экран несколько первых процессов,
количество которых зависит от геометрии окна терминала. Чтобы получить
весь список работающих процессов введите команду:

# top –S 300 | less

В этом случает поток выходных данных – список 300 первых


процессов (в системе, скорее всего работающих процессов меньше) будет
переадресован программе less.
Иногда нет необходимости просматривать весь список

49
работающих процессов. В этом случае команду top можно применить в
паре с командой grep, которая выберет для показа список только нужных
процессов:

# top | grep kdeinit

Результат работы программы top

Для завершения работы с программой нажмите q.

50
Глава 7

Программирование командной строки

7.1. Интерпретатор Shell

Интерпретатор Shell – это наиболее важная программа для


пользователей FreeBSD. Она выполняет запросы на запуск различных
программ.
Стандартно, после запуска интерпретатора на экране
появляется приглашение, означающее, что система готова к вводу
различных команд. Классическое приглашение интерпретатора Shell – это
знак # или %. Иногда, вид приглашения другой: он содержит еще какую-
либо информацию, например, имя компьютера на котором запущен
интерпретатор.
Итак, интерпретатор стартовал, приглашение к работе
получено... Что дальше?
Дальше нужно набрать команду и нажать Enter. Если
команда набрана без ошибок, то интерпретатор выполнит ее. Существует
несколько общих правил, которых следует придерживаться при
использовании интерпретатора Shell.
Во-первых: если необходимо выполнить несколько команд,
то их можно набрать в одной строке, используя в качестве разделителя
точку с запятой:

# clear; ls

Во-вторых: если команда настолько длинная, что не


помещается в одну строку на экране, то ее можно набрать в нескольких
строках интерпретатора. Для этого в конце каждой строки (за исключением
последней) необходимо использовать символ “\”, означающий, что команда
будет продолжена, и интерпретатор не будет выполнять введенную ее
часть:

# clear; ls \
top\
ls

51
В-третьих: интерпретатор позволяет группировать команды,
заключая их в круглые скобки:

# (date; who)

В этой главе рассмотрим наиболее часто применяемые


средства программирования в среде интерпретатора Shell.

7.2. Программные каналы

Часть команд, выполняя обработку данных, выводят


результат обработки на экран. Но, согласно философии UNIX, в системе
используются небольшие программы, выполняющие конкретное действие,
поэтому возможно, что для получения конечного результата работы одной
программы будет недостаточно. Поэтому, исходные данные
обрабатываются первой программой, затем результат этой обработки
передается другой программе в виде потока данных. Для этого в UNIX
применяется идея программного канала. Программный канал представляет
собой средство связи выходного потока первой программы и входного
потока второй без создания временных файлов. Соединение программных
каналов двух или более программ называется конвейером.
Организовать конвейер в UNIX очень просто: для этого
служит вертикальная черта. Например, получить список файлов каталога в
алфавитном порядке:

# ls | sort

или выполнить подсчет файлов в каталоге:

# ls | wc -l

В конвейер можно связать несколько программ, например,


подсчитать сколько раз пользователь morfey входил в систему:

# who | grep morfey | wc -l

Программы, связанные конвейером, выполняются


одновременно, а не последовательно, одна за другой. Это дает возможность
обрабатывать большие объемы данных, объем которых может
превосходить объем оперативной памяти компьютера.

52
7.3. Создание собственных команд

Если для работы вам необходимо часто выполнять одну и ту


же последовательность команд, то проще всего создать командный файл, в
котором будет записана данная последовательность команд. Например,
создадим новую команду lss, которая будет выводить список файлов в
алфавитном порядке:

# echo 'ls | sort' > lss

Осталось назначить права на запуск:

# chmod +x lss

и новая команда создана.

7.4. Аргументы и параметры команд

Используя собственные команды, нередко возникает


необходимость применить их для конкретного случая. Для этого нужно при
запуске команды передать ей в качестве параметра значение,
характеризующее такой конкретный случай.
Например, в выше созданной команде lss вывод списка
файлов возможен только для текущего каталога. А как быть, если нужно
просмотреть содержимое другого каталога, не делая его при этом текущим?
В этом случае вызов команды lss должен осуществляться с указанием
параметра – интересующего вас каталога.
Для того чтобы ваша команда обработала такой параметр, ее
необходимо несколько видоизменить, например:

# ls $1 | sort

Запись $1 означает, что при выполнении данной команды


вместо $1 будет подставлено значение первого параметра, например, две
следующие команды означают одно и тоже – вывод содержимого
каталога /usr:

# lss /usr
# ls /usr | sort

Если ваша команда должна обрабатывать два параметра, то


53
второй параметр заменяет каждое вхождение $2 и так далее до $9.
Если количество параметров может варьироваться, то
используют сокращенную запись $*, означающую “все аргументы”.
Применяя механизм обработки параметров, вы в значительной степени
расширяете возможности собственных команд.

7.5. Переменные

При работе программ на Shell языке часто возникает


необходимость создания переменных для хранения значений на время
работы программы. Для этого командный интерпретатор поддерживает
возможность создания, выбора и изменения переменных. Например, в
следующем фрагменте создана переменная FIRST, присвоено ей значение
“Это переменная” и осуществлен вывод ее значения на экран:

FIRST=”Это переменная”
echo “Значение переменной FIRST равно “$FIRST

При запуске такой программы, на экране будет получено


сообщение:

Значение переменной FIRST равно Это переменная

Для просмотра значения переменной обычно применяют


команду echo.
Существует несколько стандартных переменных, которые
создаются самой системой. Это, например,

$0 - имя запускаемой программы


$# - количество параметров, указанных при запуске программы
$1 -$9 - значение параметра (первого, второго и т.д.)

7.6. Подстановка команд

Иногда, в собственных сценариях, нужно выполнить


команду системы и присвоить ее вывод некоторой переменной. В этом
случае прибегают к понятию подстановка команды. Для этого команду
заключают между символами ` и рассматривают ее как функцию:

NewData=`date`
54
В указанном примере переменной NewDate будет присвоено
значение текущей даты:

среда, 19 марта 2003 г. 07:18:23 (EET)

Далее с этой переменной можно выполнять любые действия,


как с обычной переменной.

7.7. Арифметические операции в сценариях

Командный интерпретатор не имеет встроенной арифметики,


но простейшие арифметические действия все же можно выполнить:

TEMP=`expr var1 + var2`

В переменной TEMP будет записана сумма значений переменных var1 и


var2. Команда expr позволяет вычислить простейшие арифметические
операции только с целыми числами. Для записи арифметических
выражений, арифметические операции обозначают следующим образом:

+ сложение
- вычитание
\* умножение
/ деление нацело
% остаток от деления

Для вычисления значения логического выражения (команды


expr позволяет выполнить и это) применяют операции отношения:

= равно
!= не равно
\> больше
\< меньше

(символ \ перед знаком операции экранирует данный символ, который в


системе является служебным и выполняет определенные функции,
например: символ “>” означает перенаправление вывода результата работы
программы)

Например:

55
expr 3+2 = 2+3

Результат будет равен 0 (FALSE).

Команду expr можно применить к сравнению не только


числовых значений, но и строк:

excpt “STR1”=”STR2”

Результат будет равен 1, если строки STR1 и STR2 равны


между собой, и 0 – в противном случае.

7.8. Команда test

Для проверки результата логического выражения применяют


команду test. Эта команда чаще всего записывается в сокращенном виде:
квадратные скобки [].
Внутри скобок записывается выражение логического типа,
например:

[ $a -eq $b ]

означающее сравнение значений переменных a и b. Для записи операций


отношений применяют следующую символику:

-eq True, если операнды равны


-ne True, если операнды не равны
-qt True, если первый операнд больше второго
-ge True, если первый операнд больше или равен второму
-lt True, если второй операнд больше первого
-le True, если второй операнд больше или равен первому

Замечание: при записи условий в команде test обязательно


нужно поставить разделитель (хотя бы один пробел) между операндом и
квадратной скобкой.

7.9. Ветвление

Для реализации разветвляющегося алгоритма интерпретатор


Shell поддерживает оператор ветвления (условный оператор) if. Оператор if
проверяет, если условие истинно, то выполняются операторы внутри блока

56
if, в противном случае, либо ничего не происходит, либо при
использовании полной формы оператора ветвления, выполняются
операторы находящиеся после слова else. Полный оператор ветвления
записывается в виде:

if <условие>
then
<операторы 1>
else
<операторы 2>
fi

Ветвь else не является обязательной. Для проверки условий


применяется команда test, которую удобно записывать в виде квадратных
скобок, например [ -d /usr/doc.txt ]. Она проверяет наличие в каталоге /usr
файла doc.txt. Если файл найден, то результат тестирования true, в
противном случае – false.
Например, созданная нами программа должна вызываться
обязательно хотя бы с одним параметром. Если параметр отсутствует, то
программа должна сообщить ошибку запуска:

if [ $# -ge 1 ]
then
echo “Вызов программы осуществлен, верно”

else
echo “Не указан обязательный параметр”
echo “Программа прекращает работать”
exit 1
fi
Переменная $# содержит количество параметров, указанных
при вызове программы. Операция отношения -ge означает равно или
больше (>=).

7.10. Циклы

Для повторения определенного фрагмента программ


применяют операторы цикла. Интерпретатор команд допускает
использование трех разновидностей циклов: while, until и for.

57
Смысл этих циклов такой же, как и в Pascal. Исключение
составляет цикл for.

7.10.1 Цикл while

Цикл while обеспечивает повторение тела цикла до тех пор,


пока условие цикла является true:

i=0
while [ $i -le 20 ]
do
echo -n $1”, “
i=`expr $i + 1`
done

Приведенный пример очень красноречив: тело цикла будет


повторяться до тех пор, пока значение переменной i не превысит 20.

7.10.2 Цикл until

Цикл until является антиподом к циклу while: тело цикла


будет повторяться лишь тогда, когда результат команду тест будет False.

i=0
until [ $i -gt 20 ]
do
echo -n $1”, “
i=`expr $i + 1`
done

Этот фрагмент программы выполняет те же действия, что и в


предыдущем параграфе с циклом while.

7.10.3. Цикл for

Количество повторений тела цикла зависит от параметра


цикла, точнее, от списка его значений, записанных в заголовке цикла:

for i in 2 4 6
do
echo $i

58
done

В результате работы такой программы на экран будет


выведено 3 строки:

2
4
6

В общем случае, в заголовке цикла после слова in


перечисляется список значений переменой i.
Возможет и такой вариант, когда список значений параметра
цикла читается из файла /etc/wert.txt:

for i in `cat /etc/wert.txt`


do
echo $i
done

7.10.4. Выход из цикла

Для быстрого выхода из цикла (до его естественного


завершения) применяют команду break или continue.
Команду break применяют тогда, когда нужно прекратить
выполнение цикла. Управление передается команде, следующей за done.
Если нужно прекратить не работу цикла, а только данное
повторение тела цикла, и после чего проверить условие, на завершение
цикла, то применяют команду continue.

7.11. Фильтры

Программы, которые берут данные из входного потока,


обрабатывают их и записывают результат обработки в выходной поток,
называются фильтрами.
Наиболее часто системные администраторы применяют
фильтр grep, который производит поиск данных во входном потоке, в
соответствии с заданным шаблоном и записывает в выходной поток:

# ls | grep tt*

59
Сообщает список файлов, имена которых начинаются на tt, или команда

# grep 'admin' /etc/passwd

сообщит строку учетной записи пользователя admin (если такой


существует).
Кроме фильтра grep применяют еще и фильтр sort. Этот
фильтр сортирует данные входного потока в заданном порядке:

# ls | sort

выводит список файлов текущего каталога в алфавитном порядке.


Для указания порядка сортировки при вызове команды
можно указать параметры:

-n сортирует по числовому значению


-r изменяет смысл условия сортировки на
противоположный
-f сортировка по алфавиту
-o указать имя файла для выходного потока

Программа sort обычно сортирует целые строки, но можно


применить ее только для заданных полей строки. Обозначение +n
указывает, что при сравнении пропускается n полей, например:

# ls -l | sort +3nr

сортировка по длине файла, в порядке возрастания их объема.

60
Глава 8

Архивация

Архивация данных. Архиваторы

Для выполнения работ по архивированию данных с UNIX


системе можно использовать несколько видов архиваторов. Наиболее
распространенным является gzip. Однако самостоятельно этот архиватор
используется редко, так как он предназначен для работы с одним файлом.
Чтобы выполнить архивацию нескольких файлов или каталогов в один
архив необходимо предварительно их объединить в один файл, после чего
выполнить его архивацию.
Для объединения группы файлов и каталогов в один файл
применяется программа tar, например:

# tar -cf newarc.tar dir

будет создан архив newarc.tar состоящий из файлов и подкаталогов


каталога dir.
При запуске программы в данном примере указывается два
ключа:
-c - создать новый архив
-f - имя нового архива

Допускается применение и других ключей, например:

-v - вывод списка обрабатываемых файлов


-x - извлечение файлов из архива

Итак, объединив файлы в один, можно приступить к их


архивированию. Для этого воспользуемся программой gzip:

# gzip newarc.tar

Будет создан файл newarc.tar.gz (вместо файла newarc.tar).


Вам может показаться, что архивация файлов несколько
запутанная, и требует выполнения двух этапов: объединения файлов в один
и архивация. Значит, для этого нужно выполнить две команды, а это
61
несколько неудобно. Все это верно, но процесс архивирования можно
значительно упростить, если вспомнить, что в UNIX-системах допускается
создание программных конвейеров и собственных команд. Вот как можно
выполнить предыдущие действия в одной команде (точнее в конвейере из
двух программ):

# tar -cf - -C dir . | gzip > newarc.tar.gz

Результат будет тот же. Но опять можно услышать упрек: Это что? Такую
сложную команду нужно вводить каждый раз?
Если вы больше ничего не предприняли, то, конечно,
придется ее вводить. Но у вас есть возможность создать собственную
команду, где будет записана данная строка, например, создадим команду
tgz:

#!/bin/sh
# Команда tgz создает архив tar.gz. При вызове команды следует
указать
# два параметра: каталог для архивирования и имя архива.
# Например: tgz dir newarc.tar.gz
#
tar -cf - -C $1 . | gzip > $2

Как видите, процесс архивирования значительно упростился.


Эту команду можно несколько модифицировать, сделать ее несколько
дружелюбной по отношению к пользователю:

#!/bin/sh
if [ -z $1 ]
then
echo “Не указан ресурс”
exit 1
fi
NAMEARC=$2
if [ -z ${NAMEARC} ]
then
NAMEARC=$1.tar.gz
fi

62
tar -cf - -C $1 . | gzip > ${NAMEARC}

exit 0

Создав такой файл и назначив ему права на выполнение,


процесс архивирования свелся к простейшему вводу команды:

# tgz dir

Будет создан архив dir.tar.gz в том же каталоге, что и указанный для


архивирования каталог.
Этот сценарий есть на прилагаемом к книге компакт-диске.
Скопируйте его в каталог /usr/local/bin и приступайте к архивированию, не
прилагая при этом значительных усилий.
Надеюсь, что вы самостоятельно создадите команду
извлечения файлов из архива.

63
Глава 9

Сетевые протоколы

9.1. Понятие сетевой протокол

Чтобы осуществить передачу данных с одного компьютера к


другому недостаточно простого соединения при помощи сетевого кабеля.
Необходимо, чтобы данные, передаваемые одним компьютером, могли
быть “поняты” другим. Иначе говоря, компьютеры должны
“разговаривать” друг с другом на одном языке.
Для этой цели были разработаны особые правила, соблюдая
которые, компьютеры могут передавать данные по сети и получать их.
Такие правила называются сетевым протоколом.
Для поддержки различных сетевых служб разработаны
различные протоколы. Например, для передачи гипертекстовых
документов применяют протокол HTTP, в то время как для передачи
файлов по сети используется протокол FTP.
Несмотря на большое разнообразие различных протоколов,
их можно разделить на две группы: транспортные и служебные.
Транспортные протоколы обеспечивают установку
соединения между компьютерами и не используются для передачи данных.
Это осуществляют служебные протоколы, в основе которых лежит один из
транспортных протоколов. На сегодняшний день наиболее
распространенным транспортным протоколом является протокол TCP
(Transmission Control Protocol) и UDP (User Datagram Protocol). На
основании правил TCP теоретически можно создать компьютерную сеть с
более чем 4 млрд. компьютеров.
TCP обеспечивает соединение между двумя узлами в сети,
разбивает передаваемые данные на небольшие TCP-пакеты и передает их
по сети. На стороне получателя происходит обратное действие: TCP-
пакеты объединяются в более крупные пакеты и передаются протоколу
верхнего уровня (служебному). Получатель собирает пакет из TCP-пакетов
в том порядке, в котором они отправлялись, а не в том, в котором
принимались.
Отправляя каждый TCP-пакет, отправитель ожидает ответ от

64
получателя. Если ответ не поступает, или получатель сообщает
контрольную сумму, не соответствующую оригиналу, то этот пакет
отправляется повторно.
Для однозначного определения компьютера в сети, согласно
правил TCP, каждому компьютеру присваивается адрес, записываемый в
виде последовательности четырех чисел (октетов), называемый IP адресом.
Принято IP адрес записывать в точечной нотации. Например, IP адрес
сервера гимназии 212.8.36.4. Первые два числа характеризуют сеть, в
которой находится компьютер. Третье число – подсеть, и, наконец,
последнее – номер компьютера в данной подсети. Интервал изменения
каждого числа – от 0 до 255 (но существуют определенные адреса,
использование которых в качестве IP адреса компьютера недопустимо).
Например, в интернете нет компьютера IP адрес, которого начинался бы с
числа 224 и более. Дело в том, что диапазон адресов с 224.0.0.0 до 254.0.0.0
зарезервированы, как экспериментальные адреса и не определяют
конкретную сеть. Кроме того, октеты 0 и 255 зарезервированы для
специальных целей. Адрес с нулевым значением номера узла обозначает
всю сеть, а адрес, номер узла которого равен 255, обозначает
широковещательный запрос. При пересылке по такому адресу сообщение
будет принято всеми узлами заданной сети. Например, 192.168.255.255 не
является адресом, какого либо узла, а обозначает все компьютеры сети
192.168.0.0.
Служебные протоколы (или протоколы верхнего уровня)
обеспечивают передачу данных различных служб, например пересылку
файлов (FTP), отправку и получение электронной почты (SMTP и POP3) и
т.д.

9.2. Компьютерные сети

Группу компьютеров, объединенных в единую


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

65
Одноранговые сети, это сети в которых все компьютеры имеют равные
права при взаимодействии друг с другом. В таких сетях каждый компьютер
непосредственно имеет возможность передать данные на любой другой
компьютер этой сети.
В сетях с выделенным сервером взаимодействие между
компьютерами осуществляется через посредника – сервер. Сервер
контролирует передачу данных, обеспечивает их хранение, разграничивает
доступ к ним между пользователями сети.
Нетрудно понять, что сеть с выделенным сервером более
эффективна, чем одноранговая сеть. Однако требует дополнительных
затрат на приобретение компьютера и настройку его в качестве сервера.
Для малых организаций, где количество компьютеров невелико,
достаточно установить одноранговую сеть. Но главным критерием выбора
типа сети является не количество компьютеров, а организация работы
пользователей в сети. Если необходимо обеспечить пользователям доступ к
личным документам с любого компьютера в любое время, то для этого
нужен компьютер, в котором будут храниться личные документы всех
пользователей системы, и определен порядок доступа к ним. Этот
компьютер и будет исполнять роль сервера. Так как в школе за одним
компьютером в разное время работают несколько учеников, и нет строгого
закрепления компьютеров за каждым из них, то в этом случае
рекомендуется выбрать сеть с выделенным сервером. Затраты на его
приобретение и установку нужного программного обеспечения будут в
дальнейшем оправданы возможностью построения эффективной
информационной сети.
На сервере необходимо установить специальное
программное обеспечение, которое позволит другим компьютера сети
использовать ресурсы сервера. Именно такое программное обеспечение и
делает компьютер сервером. Традиционно, считается, что на сервере
должны быть установлены службы FTP, HTTP, POP3 или IMAP4.
Чтобы обеспечить взаимодействие компьютеров сети
следует определить каждому из них IP адрес. Абсолютно произвольно это
сделать нельзя. Дело в том, что для локальных сетей определен диапазон
адресов:

от 10.0.0.0 до 10.255.255.255 (класс А)


от 172.16.0.0 до 172.32.255.255 (класс В)
от 192.168.0.0 до 192.168.255.255 (класс С)
66
Следовательно, IP адрес компьютера необходимо определить
из указанных интервалов адресов. В нашем описании используется сеть
класса С, а значит, адрес компьютера в сети задается набором чисел,
например:

192.168.1.1 – 192.168.1.254

Напомню, что адреса 192.168.1.0 и 192.168.1.255 не


используются в качестве IP адреса компьютера.
Для простоты, выберем для сервера IP адрес 192.168.1.1,
тогда для компьютеров-клиентов 192.168.1.101, 192.168.1.102 и т.д. Так как
IP адрес компьютера запоминать неудобно, то каждому компьютеру
назначается символическое имя, например: k31-01.s28. Соответствие имени
компьютера и его IP адреса следует закрепить в файле /etc/hosts. Например:

#IP адрес FullName ShortName


127.0.0.1 localhost.s28 localhost
192.168.1.1 server.s28 server
192.168.1.101 k31-01.s28 k31-01

Подобная таблица, содержащая информацию о локальном


компьютере и его сервере, должна быть заполнена на каждом компьютере
сети. На сервере такая таблица должна содержать информацию обо всех
компьютерах, включенных в сеть:

#IP адрес FullName ShortName


127.0.0.1 localhost.s28 localhost
192.168.1.1 server.s28 server
192.168.1.101 k31-01.s28 k31-01
192.168.1.102 k31-02.s28 k31-02
192.168.1.103 k31-03.s28 k31-03
192.168.1.104 k31-04.s28 k31-04
...

Назначение этой таблицы (файла /etc/hosts) состоит в том,


что соответствующие службы выполняют трансляцию символического

67
имени компьютера в его IP адрес. И только после удачной трансляции
происходит взаимодействие компьютеров. Если в локальной таблице
нужного соответствия не найдено, компьютер обращается за “помощью” к
серверу. Правильно настроенный сервер должен “знать” все компьютеры
своей сети. Для этого в файле /etc/hosts на сервере следует записать
соответствие символических имен и IP адресов всех компьютеров сети. Не
забывайте вносить изменения в файл /etc/hosts при изменениях сетевых
настроек компьютеров сети, а также при изменении их количественного
состава.
Для определения принадлежности компьютера к той или
иной сети применяется маска сети. Это четырех байтовое число,
записываемое в точечной нотации, например: 255.255.255.0. При
определении принадлежности компьютера к сети, сравнивается результат
логического умножения IP адреса компьютеров на их маску сети
(побитовое перемножение). В случае совпадения результатов, считается,
что компьютеры принадлежат одной сети. Например:

192.168.1.101&255.255.255.0=192.168.1.0
и
192.168.1.103&255.255.255.0=192.168.1.0

Так как результаты совпали, то эти компьютеры одной сети, а компьютеры:

192.168.2.101&255.255.255.0=192.168.2.0
и
192.168.1.103&255.255.255.0=192.168.1.0

разных сетей и непосредственное взаимодействия между ними не


возможно.
Чтобы клиенты-компьютеры могли запросить информацию у
сервера о компьютерах не своей сети, кроме IP адреса компьютера
необходимо указать адрес шлюза, через который будет, осуществляется
взаимодействие компьютеров одной сети с компьютерами другой. В
данном случае это будет IP адрес сервера. Предполагается, что сервер
может взаимодействовать с компьютерами другой сети непосредственно.
Таким образом, для настройки работы компьютера в сети
необходимо задать четыре параметра:

символическое имя компьютера


68
IP адрес компьютера и маску сети
IP адрес шлюза (сервера)

Эти параметры можно задать при помощи программы


/stand/sysinstall или вручную, в файле /etc/rc.conf, добавив или изменив
строки:

hostname="k31-01.s28"
ifconfig_rl0="inet 192.168.1.101 netmask 255.255.255.0"
defaultrouter="192.168.1.1"

Теперь перейдем к более детальному рассмотрению


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

9.3. Подключение к серверу FTP

Чтобы практически реализовать подключение к удаленному


компьютеру необходимо знать его сетевой адрес и протокол, который
обеспечит данное подключение.
В качестве примера, рассмотрим подключение к серверу по
протоколу FTP. Как известно, протокол FTP обеспечивает долговременное
подключение к серверу как анонимно, так и авторизированно. В первом
случае, пользователь получает доступ к каталогам общего пользования, и,
как правило, с правом только “читать”. Авторизированное подключение
дает доступ к личному каталогу на сервере с правом полного доступа
(чтение, запись и удаление).
Для анонимного подключения в адресной строке браузера
(Internet Explorer, Netscape, Mozilla, Konqueror, Opera и др.) ввести имя
сервера, указав протокол:

ftp://server.s28

Если на сервере работает FTP-server, то будет установлено


FTP-соединение. В окне браузера отобразится корневой каталог FTP-
сервера гимназии.
Дальнейшая работа с каталогами на сервере аналогична
работе с локальными каталогами. Следует сказать, что на сервере гимназии

69
к каталогу incoming есть доступ, как на чтение, так и на запись и удаление
файлов и каталогов (только для пользователей локально сети). Это каталог
предназначен для упрощения обмена файлами между пользователями сети.
К остальным каталогам установлен доступ только для чтения.

Подключение к анонимному FTP серверу

Для авторизированного подключения к серверу по


протоколу FTP необходимо перед именем сервера указать имя
пользователя, разделив имя пользователя и имя сервера символом “@”,
например:

ftp://admin@monster.s28

После установки соединения сервер запросит пароль, введя его,


вы получите доступ к
персональному каталогу на
FTP сервере.
Чаще всего,
профессиональные
пользователи работают с
FTP-клиентами –

70
программами, специально предназначенными для работы с FTP-серверами.
Такие программы несколько упрощают подключение и работу с файлами
или каталогами FTP сервера, приближая ее к работе с локальными файлами
и каталогами. Это может быть Far, midc и другие.

9.4. Подключение к серверу HTTP

Протокол HTTP обеспечивает подключение к серверу


только на время передачи данных (в отличие от FTP), после чего
соединение разрывается. Основное назначение протокола – передача
гипертекстовых документов. Этот документ состоит из обычного текста и
множества ссылок на другие тексты или на файлы других форматов,
например, картинки. Для каждой ссылки создается отдельная “нить”, по
которой происходит передача соответствующей порции информации. По
завершению передачи, “нить” разрывается. В окне обозревателя
отображается полученная информация. Так происходит до тех пор, пока не
будут получены все файлы по ссылкам, содержащиеся в данном
гипертекстовом документе.
Для подключения к серверу HTTP достаточно в адресной
строке интернет обозревателя, например, Konqueror, ввести имя сервера,
указав тип протокола подключения:

http://server.s28

Многие программы, ориентированные на работу по


протоколу HTTP допускают возможность ввести имя сервера, не указывая
его тип: по умолчанию предполагается, что это HTTP сервер.
В окне браузера отобразится первая веб-страница сайта,
размещенному на этом сервере.
Если ваш сервер подключен к интернет, то можно его
использовать в качестве шлюза для остальных компьютеров сети.
Компьютеры локальной сети через сервер смогут получать информацию из
интернет. Для этого на сервере можно установить SQUID – прокси сервер.
Для подключения к интернет через прокси сервер в настройках
обозревателя нужно указать IP адрес сервера и порт подключения.
Работа прокси сервера заключается в том, чтобы
переадресовывать запросы от компьютеров, находящихся в локальной сети
в сеть интернет, а при получении ответа выполнить обратную

71
переадресацию. Главным преимуществом применения прокси сервера
является уменьшение объема передаваемых данных по входящему каналу.
Это возможно за счет использования КЭШ-памяти (специально выделенная
область памяти на диске сервера, где хранятся копии полученных файлов
из интернета). При последующем обращении к этой информации прокси
сервер возьмет ее из КЭШа, и не будет повторно скачивать ее из интернета.
А как следствие - увеличение скорости работы в интернет.
Предположим, что прокси сервер установлен на компьютере,
имя которого server.s28. Тогда, чтобы получить доступ в интернет, на
пользовательских машинах в свойствах обозревателя интернет, например
Konqueror, необходимо ввести следующую информацию:

Окно настройки прокси интернет-обозревателя

Здесь предполагается, что порт, прослушиваемый прокси


сервером, установлен 3128 (такой порт предполагается по умолчанию
прокси сервером SQUID, являющимся стандартным для UNIX систем).
72
Если на server.s28 предполагается установить HTTP сервер,
то для компьютеров локальной сети получение информации со своего
сервера через интернет неэффективно. Поэтому в нижнем поле
Исключения имя сервера server.s28 и его короткое имя server добавлено
для того, чтобы запросы к сайту, размещенному на server.s28,
обрабатывались напрямую, минуя прокси сервер.

9.5. Подключение по протоколу ssh

Для осуществления удаленного администрирования в UNIX-


системах используется протокол ssh. Чтобы подключиться к удаленному
серверу, необходимо в командной строке терминала локального
компьютера указать:

# ssh admin@server

после чего будет затребован пароль, и если у вас есть права для такого
подключения, то в данном окне будет запущен интерпретатор командной
строки удаленного сервера и все команды, вводимые в нем, будут
выполняться на сервере, а результат их выполнения - отображаться в окне
вашего терминала.
Для завершения сеанса работы с удаленным сервером
достаточно ввести команду exit, после чего соединение с сервером будет
разорвано.
Следует иметь в виду, чтобы такое подключение состоялось
необходимо, чтобы на сервере был запущен демон сервера ssh и открыт
доступ к 22 порту.
Получив доступ к удаленному компьютеру, вы можете
работать с ним так же, как работали бы, если непосредственно сидели за
ним. Применяя команды командной строки, можно выполнить
перенастройку служб (демонов) удаленного компьютера (если, конечно, у
вас есть на это права).
Если вы подключились к удаленному компьютеру с правами
пользователя группы wheel, то у вас есть возможность получить права root.
Для этого введите команду su, а затем - пароль пользователя root. При
правильно введенном пароле вам будут делегированы права root на
удаленном компьютере: он весь в ваших руках...
Что можно сделать? Все, что угодно... например, выключить

73
его...

# shutdown -p now

Соединение будет разорвано, удаленный компьютер будет


выключен (или подготовлен к выключению, если на нем не
поддерживается программное управление питанием).
PS: Для удаленного администрирования сервера можно
применять еще одну программу – telnet. Эта программа выполняет
практически те же функции, что и ssh. Но ее применение считается не
безопасным, так как передача данных от одного компьютера к другому
происходит в не зашифрованном виде. Это означает, что злоумышленник
легко может перехватить ваши данные, в том числе и ваш пароль.

74
Глава 10

Обзор установленного программного


обеспечения

Для решения различных образовательных задач по


информатике на каждом компьютере компьютерного класса установлены
дополнительные прикладные программы:

 Пакет офисных программ OpenOffice 1.0.2;


 Графические редакторы xPaint и Gimp;
 Компилятор языка Pascal FreePascal 1.0.6;
 Среда для разработки собственных программ FTE и xwpe;
 Интернет обозреватели Mozilla, Netscape, Opera;
 Мультимедийные программы XMMS, MPLayer, mpg123;
 Архиваторы ZIP, RAR;
 Простая в настройке, легкая в работе графическая оболочка
qvwm.

Хочу обратить внимание на то, что это список


дополнительных программ, не входящих в состав операционной системы и
графической оболочки KDE.
Безусловно, этот список программ не является обязательным
и достаточным. Набор прикладных программ зависит от тех целей, которые
ставятся при обучении. Так как в гимназии основное внимание обращается
на изучение алгоритмов, которые реализуются при помощи
алгоритмического языка Pascal, то в системе установлено несколько
различных компиляторов этого языка. Такое разнообразие компиляторов
объясняется неоднородностью компьютерной техники и программного
обеспечения вне пределов гимназии.
При изучении офисных приложений предлагается
использовать программный пакет OpenOffice, который в состоянии
заменить MS Office.
В пакет OpenOffice вошли текстовый процессор,
электронная таблица, программа подготовки различных презентаций,
75
графический редактор. Возможности данного офисного пакета соизмеримы
с возможностями известного офисного пакета от Microsoft. Навыки,
полученные учащимися при изучении пакета программ OpenOffice,
позволят им без особого труда, если это потребуется, освоить офисный
пакет MS Office.

OpenOffice, тестовый редактор

Компилятор FreePascal позволит учителю обучать основам


программирования учащихся на базе алгоритмического языка PASCAL,
разработанного специально для таких целей. Однако удачно выбранная
концепция языка позволила использовать PASCAL и в разработке
реальных программ прикладного характера. Краткое описание языка и
работу с FreePascal рассмотрено в главе, посвященной программированию.
Программные оболочки xwpe и FTE позволят вам
оптимизировать процесс написания собственных программ. При помощи
подобных программ-оболочек компиляция и запуск программ
осуществляется нажатием одной кнопки (подробней - в разделе,
посвященном программированию).
76
Графический редактор xpaint относится к простым
редакторам, однако его возможностей достаточно, чтобы обучать на уроках
основным приемам обработки графической
информации. Кроме редактора xpaint в системе
может быть установлен по желанию еще один
графический редактор – gimp. По своим
возможностям это редактор не уступает Adobe
PhotoShop, а по некоторым показателям и
превосходит его.
В крайнем случае, можно создавать простые
изображения при помощи стандартного
графического редактора kpaint, входящего в состав
KDE.
Для просмотра видео фильмов по желанию
администратора (и если позволяет
производительность компьютера) можно
установить Mplayer, который позволяет
воспроизводить видео записи различных форматов,
включая DivX, VCD, DVD, MPEG1/2, AVI и
некоторые другие. Полную информацию о данном
программном продукте можно получить на сайте
разработчиков http://mplayerhq.hu. Это достаточно
удобная программа, которая по сравнению с
другими известными мне программами позволяет просматривать видео на
компьютерах с не очень высокими техническими характеристиками
(например, на K6-2-500 вполне сносно все работает).
Для управления просмотра фильмом предусмотрены
“горячие клавиши”. Вот некоторые из них:

1 Уменьшить контрастность
2 Увеличить контрастность
3 Уменьшить яркость
4 Увеличить яркость
9 Уменьшить громкость
0 Увеличить громкость
“стрелка вправо” На минуту вперед
“стрелка влево” На минуту назад
PgUp На 10 минут вперед
77
PgDn На 10 минут назад
Пробел Пауза
F Экран/оконный режим
Q Завершить работу

Есть и другие функции, такие как ускорить или замедлить


звук по отношению к видео и т.д. Полный список “горячих клавиш” можно
посмотреть в файле ~/.mplayer/input.conf.

Идет просмотр фильма

Перед первым запуском видео проигрывателя следует


выполнить его настройку. Для этого в домашнем каталоге необходимо
создать каталог .mplayer и скопировать туда конфигурационный файл
config, находящийся в каталоге /usr/local/share/mplayer под именем
config.example.
Для любителей использования визуальных средств
управления просмотром видео программ в конфигурационном файле config
необходимо убрать знак комментария в строках: gui и skin. Первая говорит
о том, что будут использоваться средства визуального контроля, а вторая –
какой внешний вид (обложки) при этом должен быть. На прилагаемом
диске предлагается полный набор различный обложек для этой программы.
Для прослушивания аудио программ рекомендую XMMS.

78
По внешнему виду и управлению очень напоминает WinAMP. Позволяет
проигрывать файлы в формате .mp3. Программа поддерживает технологию
смены внешнего вида. Есть возможность составлять списки фонограмм
(“плей-лист”). Кроме XMMS в UNIX системе существует консольные
проигрыватели аудио программ (mpg123 или mpg321). Эти программ
удобно применять для запуска звуковых эффектов в определенные
моменты времени. Например, если занести в планировщик cron расписание
звонков, то компьютер будет точно в назначенное время оповещать о
начале или завершении урока.
В гимназии 28 г
Запорожья уже нес-
колько лет применяется
такая система оповеще-
ния. Ее можно
использовать также для
проведения радио газет,
информировать уча-
щихся и учителей о
каких либо изменениях в режиме работы гимназии и т.п. Более подробно
об этом можно прочесть, зайдя на сайт гимназии http://www.s28.zp.ua на
страницу “Технический центр”.
В графической системе KDE имеется собственный
проигрыватель аудио программ Noatun. Его возможности достаточно
разнообразны. Поддерживаются различные обложки (в том числе и для
WinAmp).
Для просмотра фотографий или рисунков, предусмотрено
несколько различных программ, как встроенных в KDE, так и программ от
различных, сторонних производителей. Например, можно настроить
Konqueror таким образом, чтобы при просмотре содержимого каталога
вместо ярлыков он показывал миниатюры графических файлов (в меню
Вид/Предварительный просмотр/Изображения). Кликнув на нужной
миниатюре, в окне Konqueror загрузится рисунок в масштабе один к
одному.
Если вас не устраивает стандартный сервис KDE для
просмотра графики, то предлагается два варианта “смотрелок”: GtkSee и
GwenView. Обе эти программы в чем-то напоминают ASDSee в Windows
системе.

79
Программы просмотра изображений позволяют
просматривать как в оконном режиме, так и на полный экран. Достаточный
набор “горячих” клавиш позволяет эффективно управлять просмотром
изображений.

Программа просмотра картинок Gwenview

Для работы в интернете существует несколько


альтернативных возможностей: Konqueror, Netscape, Mozilla и Opera.
Анализируя работу учащихся с этими программами, можно сделать вывод,
что наиболее удачной является Opera. Быстро запускается, имеет средства
закачки файлов с поддержкой до закачки после обрыва (начиная с KDE 3.1,
konqueror также поддерживает восстановление закачки файлов после
обрыва).
Переписку между пользователями сети можно осуществить
при помощи почтовой программы Kmail, которая входит в состав KDE,
либо при помощи ICQ. Программа simicq является очень простой и
удобной программой.

80
Для создания архивных файлов, в системе установлено
несколько программ-архиваторов. Это стандартные для UNIX систем
архиваторы gzip, bz2 и дополнительные zip и rar.
С правилами создания архивов можно ознакомится, запустив
нужный архиватор без каких либо параметров, либо воспользовавшись
man-руководством.
Подробнее о работе с архиваторами описано в главе 8

81
Глава 11

Программирование (Free Pascal)

Обучение программированию есть главная задача, которую


школа должна решить на уроках информатики. Наиболее подходящим
языком программирования в учебной среде, как нам представляется,
является Pascal. Нами была выбрана свободно распространяемая версия
этого языка программирования - Free Pascal 1.0.6 (есть возможность
применять для обучения программированию и другие языки, такие как C,
BASIC, FORTRAN).
Синтаксис основных инструкций Free Pascal 1.0.6 совпадает
с синтаксисом известной версии Turbo Pascal 7.0 фирмы Borland. Поэтому
переход на Free Pascal не должен вызвать особых трудностей. Но есть и
различия, например, при работе с динамической памятью. Надо помнить,
что компилятор Free Pascal написан под 32-разрядную ОС, в то время как
Turbo Pascal под 16-разрядную. Различие в адресации памяти может
вызвать некоторое неудобство (... на первых порах).

Создание программ на FreePascal

82
Для написания программ нам понадобится обычный
текстовый редактор, например, kwrite или kate, в котором будет
производиться набор текста программы. Запустите его, наберите текст
программы и сохраните его в домашнем каталоге под именем, например,
revers.pas (расширение указывает на язык программирования и его
обязательно нужно указать).
Запустите эмулятор терминала (консоль) и произведите
компиляцию программы. Для этого запустите компилятор Free Pascal,
введя команду:

% ppc386 revers.pas

где revers.pas - имя вашей программы. Если при компиляции сообщений


об ошибках не было, то теперь можно запустить программу revers, введя
(.pas в этом случае не указывается):

% ./revers

Перед именем программы следует указать ./. Это


необходимо, так как FreeBSD, при настройках по умолчанию, не ищет
программы для запуска в домашнем каталоге, а указание ./ говорит
системе, что поиск нужно выполнить в текущем каталоге.
Ваша программа будет исполнена в окне терминала. Внеся
изменения в текст программы при помощи текстового редактора и
сохранив эти изменения, необходимо повторить выше описанные действия.
Рекомендуется открыть окно текстового редактора и окно эмулятора
терминала на разных виртуальных рабочих столах и, переключаясь от
одного экрана к другому выполнять необходимые действия.
Очень эффективным средством для подготовки собственных
программ является редактор kate. Этот текстовый редактор позволяет
настроить подсветку служебных слов в тексте программы, что улучшает
читаемость исходного кода. Редактор содержит встроенную консоль, что
позволяет редактировать тексты программы и компилировать ее в одном
окне программы. Настройка редактора чрезвычайно проста и заключается в
установке подходящего шрифта редактора, включения показа консоли и в
подборе варианта подсветки. К достоинству этого редактора можно
отнести также возможность работы одновременно с несколькими
документами.

83
Редактор Kate

Существует и другой способ выполнения собственных


программных опусов. Он заключается в использовании оболочек типа
xwpe, специально предназначенных для таких целей. Но прежде, чем
использовать эту оболочку, ее необходимо настроить. Дело в том, что
Pascal не является системой программирования по умолчанию в UNIX,
поэтому если не выполнить настройку оболочки, то при компилировании
программы запускаться будет компилятор языка программирования С.
Разумеется, если текст программы написан на C, то никаких
дополнительных настроек можно не производить.
Для настройки среды разработки программ следует указать,
какой язык программирования применяется при написании программ, а
также указать имя компилятора (см. меню программы, пункт “Options”).
Для запуска оболочек для разработки собственных программ
следует в главном меню выбрать пункт “Запустить программу” и ввести
имя соответствующей программной оболочки, например xwpe. При
желании ее можно включить в главное меню, воспользовавшись
84
программой редактирования главного меню (см. пункт главного меню
“Настройки панели”).

Редактор xwpe

Применение программных оболочек для проектирования


собственных программ позволит сэкономить время, требуемое на
разработку программного продукта.
В качестве оболочки для разработки собственных программ
на алгоритмическом языке Pascal рекомендуется применять FTE,
интерфейс которой очень близок к интерфейсу Borland Pascal 7.0 (см.
рисунок ниже). Как и в случае с оболочкой xwpe, FTE также следует
настроить на использование заданного языка программирования.
Разумеется, что если вы будете использовать эмулятор среды
Windows, то список возможных трансляторов значительно возрастет. Мной
был опробован компилятор Borland Pascal 7.0 for Windows. Результат
вполне удовлетворительный. Одним большим недостатком является
невозможность использовать программ отладки (debugger), что несколько
усложняет процесс отладки программ. Есть возможность использовать

85
редактор ресурсов. Подробнее о настройке эмулятора Windows описано
несколько ниже.

Редактор FTE

Использовать “синий, старый, добрый” Borland Pascal for


DOS также можно, однако, для этого нужно настроить особую программу –
виртуальный компьютер, например, bochs. Подробнее о запуске PC
эмулятора в разделе Виртуальный компьютер.
Впрочем, обучать программировать можно не только на базе
алгоритмического языка Pascal. Операционная система FreeBSD содержит
встроенные компиляторы с языка C и Perl, а также достаточно мощный
язык командной строки. Немного о языке командной строки рассказано в 7
главе.
В заключение, я хочу кратко проинформировать о
существовании в KDE собственной системы разработки программ
Kdevelop.
Это среда с элементами визуального программирования
значительно упростит написание программ, работающих в графической

86
среде FreeBSD. Есть встроенный отладчик, сборщик программ.
Для разработки интерфейса будущего приложения можно
применить среду визуального проектирования Dessinger, которая может
быть вызвана непосредственно из редактора KDEVelop.

BP для Windows в UNIX среде

Подводя итог вышесказанному, можно заметить, что


обучению программированию в среде UNIX способствует большой набор
программных средств редактирования текстов программ, различных
языков программирования (некоторые из них встроены в операционную
систему). Можно смело сказать, что UNIX сам по себе есть большой
компилятор. Надо научится только пользоваться им.
Мощь командного интерпретатора Shell позволяет создавать
свои собственные команды, имея под рукой простейшие средства
редактирования (а иногда и без них, посредством самого интерпретатора).

Все это должно использоваться на уроках информатики.


Пора уже прекратить обучать детей, особенно в старших
87
классах, тому, какие кнопочки нужно нажать, чтобы компьютер что-то
сделал. Мы и так значительно упростили процесс обучения. Учащиеся
должны осознано работать с компьютером. Выполняя какие-либо действия,
они должны иметь представление о том, что происходит в недрах
операционных систем. Только в этом случае, при необходимости, они
смогут легко перестроиться при переходе с одной системы на другую.
Меня часто спрашивают, чем же все же UNIX для меня
лучше, чем Windows. Ответ очень прост и он содержится в ответах на
следующие вопросы: “Люди, работающие в UNIX среде, умеют работать в
Windows?... А наоборот?...И почему?...”
Надеюсь, что найти ответы на подобные вопросы вы
сможете без особого труда.
Я считаю, что важно не запоминание последовательности
нажатий на кнопки (мы так часто это наблюдаем!), а изучение принципа
работы, который остается практически одинаковым в любой операционной
системе.
Иногда, просматривая методические пособия, можно найти
вопросы, знание ответов на которые не добавляют ровно ничего.
Например:
Сколько способов копирования файлов существует в Windows?
Не правда ли, информативный вопрос... Наверное,
предполагается и такой же полезный ответ... развивающий.
Безусловно, подобные вопросы можно задавать и изучая
UNIX. Но, почему-то, при изучении Windows такие вопросы преобладают.
Почему? Наверное, потому, что больше спросить нечего! А вот в UNIX
можно найти такое количество действительно полезных вопросов (а
значит, и полезных на них ответов), что просто нет необходимости
выдумывать подобные, “мыльные”, вопросы.
Вывод очевиден: процесс обучения имеет смысл только
тогда, когда у обучаемого возникает проблема логического содержания. И
решая ее, он развивается.
Собственно, это наболело... Немного отвлекся...
Возвращаемся к основной теме нашего повествования.

88
Глава 12

Компьютерная сеть гимназии 28

Гимназия 28 города Запорожья уже много лет


специализируется на углубленном изучении математики, физики и
информатики. C 1998 года в гимназии создана компьютерная сеть,
объединяющая компьютеры в единый домен. На первых порах сеть была
построена на базе ОС Windows NT. Однако финансовые трудности и
желание изучить что-то новое вынудили гимназию отказаться от этой
операционной системы и перейти на свободно распространяемую систему
FreeBSD 4.8.
Как это часто бывает, переход на новую операционную
систему был встречен не очень дружелюбно. Приводились различные
доводы в пользу "старой" системы, но реальность была такова, что,
несмотря на все проблемы методического характера (учебные программы
были ориентированы на изучение Windows) переход был осуществлен. На
все компьютеры кабинета информатики была установлена FreeBSD 4.8.
Для снижения трудностей вызванных сменой операционной системы, на
рабочих местах был установлен графический пакет KDE 3.1, настроенный
таким образом, что у пользователя, умеющего работать в среде Windows,
возникало минимум проблем. (Если быть точным, то вначале была
установлена операционная система FreeBSD 4.5 и графический пакет KDE
2.2.2, но со временем обновлена до версии 4.8 и KDE 3.1).
Кроме KDE на всех компьютерах установлена еще одна
графическая оболочка – qvwm. Эта более простая, быстро запускаемая
графическая оболочка, настроенная также по аналогии с Windows (для
большего сходства фон рабочего стола был позаимствован в Windows ME)
позволит в дальнейшем отказаться от KDE, как от базовой оболочки
системы.
Таким образом, формально для рядового пользователя, в
общем, ничего и не изменилось. Графическая система, почти те же правила
работы с файлами и каталогами, практически тот же офисный пакет, только
вот система стала другой. Но об этом, возможно, догадаются не все...
Конечно же, это шутка. Отличия будут заметны, но они не настолько
радикальны, чтобы пользователь не смог разобраться с новым
интерфейсом.
89
Все эти компьютеры объединены в единую компьютерную
сеть и образуют единое информационное пространство гимназии.

Упрощенная схема сети гимназии 28

Компьютерная сеть гимназии представляет собой группу


компьютеров, объединенных между собой и управляемых с единого
компьютера - сервера. Поэтому настройка сети начиналась с установки и
конфигурации сервера. Перед администратором стояла задача создать сеть,
в которой любой пользователь сети мог работать на любой машине и при
этом получил бы доступ ко всем своим документам. Чтобы реализовать
такую идею, на сервере необходимо установить некоторые службы
(демоны), что и было сделано.
На сервере Гимназии установлено 4 сетевых карты (RLT8039
100Mb), которые обеспечивают работу 4-х физически независимых
подсетей – три кабинета информатики и компьютеры администрации
Гимназии. Такое разбиение на подсети выполнено для того, чтобы
повысить надежность сети гимназии в целом. В случае каких-либо
неполадок в одной из подсетей, остальные продолжают работать в
нормальном режиме. К тому же, деление всей сети на подсети упрощает и
контроль администратора сети за работой каждой подсети в отдельности,
90
разрешая или запрещая то или иное действие для компьютеров той или
иной сети. Например, доступ в интернет круглосуточно разрешен для всех
пользователей административной подсети и только в определенное время
для пользователей компьютерных классов, причем каждому классу
возможно выделение своего “эфирного” времени.
Благодаря Запорожскому государственному университету
(http://www.zsu.zp.ua) Гимназия имеет выход в интернет по выделенному
каналу. Для обеспечения защиты сети Гимназии от несанкционированного
доступа через интернет подключение к интернет осуществляется через
выделенный компьютер, исполняющий роль межсетевого экрана (интернет
сервер). На интернет сервере установлена операционная система UNIX
FreeBSD 4.7. Так как Гимназии выдан только один IP-адрес в интернете, то
для обеспечения работы всех клиентов сети в интернет, на интернет
сервере настроен прокси сервер SQUID 2.4.
Работает сайт гимназии (http://www.s28.zp.ua) и ftp сервер
(ftp://ftp.s28.zp.ua). На ftp сервере выложены только программы и
разработки учащихся и учителей гимназии. Все это доступно и можно
“скачать”. Особое внимание уделено системному администрированию
UNIX систем. Электронный вариант этой книги (PDF) также находится на
ftp сервере гимназии.

12.1. Конфигурация сервера

После установки операционной системы FreeBSD 4.5 на


компьютере, который предполагается использовать как сервер (в нашем
случае это PIII-650/RAM256M/HDD80G/VideoATI4M/Yamaha724),
необходимо выполнить конфигурацию системы в соответствии с
требованиями к будущей сети:

 Обеспечить доступ всех пользователей к своим


документам с любой машины гимназии;
 Определить каждому пользователю максимальный
объем домашнего каталога;
 Обеспечить возможность переписки пользователей
сети и обмен документами;
 Установить правила работы пользователей в сети и
обеспечить контроль, за их выполнением.

91
Для выполнения первой задачи на сервере необходимо
установить две службы: NFS и NIS. Первая из них обеспечит доступ к
личным документам пользователя с любой машины, а вторая - даст
возможность зарегистрироваться пользователю в системе на любом
компьютере сети.
Для выполнения второй задачи необходимо выполнить
перенастройку ядра системы и последующую его компиляцию. В
конфигурационном файле ядра необходимо добавить строку:

options QUOTA

после чего необходимо перекомпилировать ядро и перегрузить систему


(смотри раздел посвященный обновлению ядра).
Если система запустилась на новом ядре, то осталось
выполнить ряд настроек, чтобы демон, контролирующий объем файлов
пользователей, начал работать.
Для решения третьей задачи, администратор должен
установить на сервере программный пакет qppoper-4.0.4 или imap. Это
зависит от того, какой протокол будет использоваться клиентами для
чтения почты с сервера: POP3 или IMAP4. Установив пакет,
отредактируйте конфигурационный файл супер демона (inetd.conf) и
перезапустите систему (можно сервер не перезапускать, а перезапустить
только супер демон, введя команду kill -HUP inetd).
Для решения последней задачи - обеспечения безопасности
сервера и личных документов пользователей - нужно установить и
сконфигурировать межсетевой экран, отредактировать файл
/etc/hosts.allow, установить необходимый доступ к каталогам
пользователей и к сетевым каталогам общего пользования.

12.2. Конфигурация рабочей станции

Выполнив необходимые действия по конфигурации сервера,


можно приступать к установке и конфигурации клиентских машин. Для
этого в гимназии был разработан сценарий установки дополнительных
программ и автоматической настройкой системных параметров UNIX и
KDE. Этот сценарий и все необходимые пакеты программ записаны на
отдельном диске. Установив операционную систему (желательно все
ресурсы), необходимо только запустить в командной строке сценарий

92
/cdrom/install и все описанные в этом руководстве программы будут
установлены. Будут также скопированы основные конфигурационные
файлы (или модифицированы), что избавит администратора от
однообразных действий по конфигурированию системы. А это особенно
“напрягает” при разворачивании целого кластера, состоящего из пары
десятков компьютеров, настройки которых должны быть схожими.
Сценарий установки /cdrom/install выполнит также настройку системы для
работы с мультимедийными устройствами (по желанию). Будут
установлены дополнительные пакеты для управления звуковой картой,
установлен видеопроигрыватель, эмулятор Windows и многое другое.

93
Глава 13

Установка операционной системы

13.1. Общие замечания перед установкой системы

Развитие любой сети разумно начинать с установки и


конфигурации главного компьютера – сервера. Сервер предоставляет в
общее пользование собственные ресурсы, контролирует работу остальных
компьютеров сети, позволяет разграничить доступ пользователей к
ресурсам сети. В качестве сервера следует выбрать надежный, достаточно
мощный компьютер, так как ему предстоит работать непрерывно и
выполнять запросы от многих пользователей без значительных задержек.
Для предотвращения внезапных остановок сервера, вследствие перепада
напряжения в электрической сети, рекомендуется установить блок
бесперебойного питания (UPS).
Формально процесс создания сервера состоит из нескольких
этапов:
 установки операционной системы;
 настройки конфигурации системы;
 установки и конфигурации дополнительных
программ, обеспечивающих работу различных служб;
 настройки системы безопасности.

Установка сервера (как и рабочей станции) в нашем случае


сводится к стандартной установке операционной системы (конфигурация
по умолчанию), после чего необходимо запустить на выполнение
соответствующий скрипт, который выполнит тонкую настройку системы.
Наиболее просто установить операционную систему с
лазерного диска, для этого необходимо подключить к компьютеру
устройство чтения лазерных дисков (CDROM) и выполнить загрузку
компьютера с CD.
Дальнейшие действия следует выполнять согласно
инструкциям программы установки системы. Процесс установки FreeBSD
управляется при помощи специальной программы (sysinstall)
При работе с программой установки следует знать, что для
94
выбора нужного пункта следует использовать клавиши со стрелками,
утверждая его нажатием на пробел или Enter. В некоторых случаях, когда
выбор уже сделан (нажат пробел или Enter), то отказаться от него можно,
нажав Esc.
Установить ту или иную службу или программу можно
сразу, по ходу установки системы, или потом, после установки c помощью
программы /stand/sysinstall.

13.2. Установка операционной системы

Итак, после запуска компьютера с CD вам будет предложена


возможность сконфигурировать ядро системы. Если это ваша первая
установка, то лучше выбрать первый пункт, согласно которого будет
установлено стандартное ядро GENERIC (конфигурацию ядра можно
изменить и потом, после установки системы).

Главное меню программы установки системы

Выбрав конфигурацию ядра системы, запускается основная


диалоговая программа установки sysinstall. Все дальнейшие этапы
95
установки системы выполняются именно посредством этой программы.
На этой станице следует выбрать пункт Standart, после чего
начинается процесс начальной настройки устанавливаемой операционной
системы. При этом возможно несколько вариантов установки системы, но
если это первая установка, то лучше выбрать стандартный вариант.
Определившись с вариантом установки системы, выделив
соответствующий пункт, необходимо нажать на пробел, тем самым,
утвердив свой выбор.
Следующий вопрос – это выбор диска, куда следует
установить систему (если он не один). Выбрав диск (клавишами со
стрелками “Вверх” и ”Вниз” и утвердив нажатием на пробел или Enter),
программа установки запрашивает геометрию диска (запустив программу
Fdisk). При помощи этой программы следует определить, какая часть диска
будет отведена под установку FreeBSD. В нашем примере на диске был
установлен Windows, который занимал все пространство диска.

Выбор раздела для установки системы

Чтобы установить FreeBSD, необходимо удалить раздел FAT


96
(нажать “D”) и затем выделить место под будущую систему. Проще всего
это сделать, нажав клавишу “A” и все пространство диска будет отведено
под FreeBSD.

Весь объем диска выделен под систему

Для завершения работы программы Fdisk следует нажать


“Q”, после чего программа установки предлагает вариант загрузки
системы: использовать менеджер систем или нет? Если на компьютере
предполагается установка только одной операционной системы, то
менеджер систем не требуется, поэтому необходимо выбрать второй пункт
и нажать пробел.
В случае установки на одном диске нескольких
операционных систем, следует выбрать первый пункт, в результате будет
установлен менеджер загрузки систем и при запуске компьютера у вас
появится возможность выбрать нужную для данного сеанса работы
операционную систему.
Если на компьютере установлено несколько жестких дисков,
то следующий вопрос – на какой диск устанавливать загрузчик. Выбрав

97
диск, как это уже было ранее, необходимо распределить дисковое
пространство, отведенное под систему. Если вы сейчас устанавливаете
клиентскую машину, то достаточно нажать кнопку “A” (по умолчанию
распределить) и завершить работу программы нажатием кнопки “Q”. В
случае если установка системы производится под будущий сервер, то такой
вариант распределения логических дисков нежелателен.
Вопрос о распределении дискового пространства
невозможно решить раз и навсегда. Это связано с особенностями
использования будущего сервера. Например, если это будет FTP сервер, то
необходимо увеличить диск, монтируемый в каталог /var. Это же нужно
сделать, если предполагается использования электронной почты для
большого числа клиентов. Если данный компьютер используется как NFS
сервер, то необходимо создать диск, монтируемый в каталог /home, и т.д.

Создание слайсов (разделов) диска по умолчанию

Следовательно, прежде чем выполнить установку сервера,


вы должны внимательно проанализировать его будущее назначение и
выбрать наиболее подходящее распределение дискового пространства. Не
98
исключено, что данный компьютер одновременно будет исполнять роль
NIS, NFS, FTP и HTTP серверов. Значит, нужно в этом случае пойти на
разумный компромисс, распределив пространство диска таким образом,
чтобы нормально работали все установленные службы.
В простейшем случае установки сервера, необходимо
добавить хотя бы еще один логический диск, указав точку монтирования
/home. Именно этот раздел и будет экспортироваться сервером для общего
пользования всеми компьютерами данной сети (в этом разделе будут
храниться личные документы всех пользователей системы).

Создан новый раздел ad2s1g с точкой монтирования /home

Чтобы добавить новый раздел нужно удалить раздел ad2s1g


(монтируемый к /usr в первоначальном варианте разбиения) нажатием
клавиши “D”, предварительно выделив соответствующую строку. Затем
переместить курсор на строку “Disk” и нажатием клавиши “C” создать
новый раздел. Вам будет предложено под этот раздел все доступное
пространство диска, что не может быть принято, так как кроме этого
раздела необходимо создать еще один.
Поэтому определитесь, какой объем диска вы предполагаете
99
выделить под каталог /home и укажите его (следует иметь в виду, что
объем раздела задается не в Байтах, а в блоках: размер блока указан чуть
выше). Указав объем раздела необходимо указать его тип: там только два
варианта FS (файловая система) и Swap (диск подкачки). Укажите FS.
Осталось только указать точку монтирования данного раздела (/home) и
приступить к созданию еще одного раздела, монтируемого в каталог /usr.
Под этот раздел отведите всю оставшуюся часть диска.
В любом случае, при распределении дискового пространства
сервера следует придерживаться следующих правил:

 объем разделов / (корневой), swap и tmp не следует изменять;


 объем раздела /usr должен быть не менее 2GB, а лучше больше;
 объем раздела /home вычисляется в зависимости от
предполагаемого числа пользователей и максимального объема
выделяемого каждому пользователю под его личные документы;
 объем раздела /var определяется в зависимости от числа
пользователей электронной почты, чьи почтовые ящики находятся
на данном сервере и от перспектив развития FTP сервера.

Завершив работу по распределению пространства диска


(нажать “Q”), программа установки запрашивает вариант установки
системы.
Рекомендуется выбрать полный вариант. Если объем диска
достаточен: более 2 Гб, выберите пункт “All”. При этом будет задан еще
один вопрос об установке коллекции портов. Если это клиентская машина,
то скорее всего вам порты не понадобятся, если это сервер, то
рекомендуется их установить.
Порты – это большой набор готовых сценариев установки
различных дополнительных программ. И если у вас сервер будет
подключен к интернету, то, запустив сценарий установки выбранной
программы, она будет найдена в интернете и установлена на ваш
компьютер.
Выбрав вариант установки (рекомендуется All), следует
выделить пункт Exit и нажать пробел. Далее последует вопрос, где искать
дистрибутив системы (чаще всего это CDROM). Начинается процесс
форматирования диска и копирование файлов системы. Этот процесс
займет некоторое время (минут 10-15), после чего программа установки
100
продолжит диалог с вами. Теперь вам следует определить сетевую
конфигурацию системы.

Начало установки системы. Выбор варианта установки

13.3. Сетевая конфигурация

После установки основных пакетов системы необходимо


выполнить первичную ее настройку. И начать следует с настройки сети. На
запрос программы установки, используется ли сеть, ответить
утвердительно (если используется) и выбрать тип сетевой карты,
установленной в вашем компьютере. Чаще всего тип сетевой карты
определяется автоматически и в списке сетевого оборудования
перемещается на первое место. Поэтому вам остается только подтвердить
такой выбор. Далее следует два вопроса относительно сетевых протоколов:
будет ли использоваться протокол TCP версии 6 и использовать ли DHCP
при определении IP адреса данного компьютера. В нашем случае ни то ни
другое использоваться не будет.
Так как DHCP не используется, то IP адрес следует
101
назначить “вручную”. Такой IP адрес называется статическим
(неизменным). Кроме IP адреса следует указать имя компьютера и шлюз
(чаще в сего в качестве шлюза указывают IP адрес сервера), например:

Установка сетевых параметров системы

Имя компьютера school_01


Домен (имя группы компьютеров) s28
IP адрес сервера (GateWay) 192.168.1.1
IP адрес данного компьютера 192.168.1.101
Маска подсети 255.255.255.0

Для перемещения между полями используйте клавишу


табуляции, а когда все будет сделано, выберите “ОК” и нажмите Enter.
Разумеется, устанавливая операционную систему на другой
компьютер имя компьютера и его IP адрес должны быть другими. При
этом если на выбор имени компьютера ограничений не накладывается, то
выбор IP адреса должен быть осуществлен по определенным правилам. В

102
нашем случае разрешается изменять только последний октет адреса,
например: 192.168.1.102, 192.168.1.103 и т.д.
Теперь вам будет задано ряд вопросов относительно свойств
сети. Ответ зависит от дальнейшего назначения компьютера:

Будет ли использоваться данный компьютер как шлюз?


Сервер Да
Рабочей станция Нет

Будет ли разрешен FTP доступ к данному компьютеру?


Сервер Да
Рабочей станция Нет

Будет ли данный компьютер NFS сервером?


Сервер Да
Рабочей станция Нет

Будет ли данный компьютер NFS клиентом?


Сервер Нет
Рабочей станция Да

Установить повышенный уровень безопасности?


Сервер Нет
Рабочей станция Нет

На этом завершается настройка сети, и программа установки


предлагает настроить мышь и X-сервер.
Ручной манипулятор типа “Мышь” настроить крайне просто.
Следует указать, к какому порту подключено устройство, и проверить его
работу. В случае положительного результата перейти к настройке X-
сервера (графического режима системы).
Настройка графического режима состоит из 4-х пунктов:

 выбор частотного режима работы монитора


 выбор типа видео адаптера
 установка альтернативной клавиатуры и способа ее
переключения

103
 выбор разрешения экрана и настройка глубины цветности
Все эти параметры устанавливаются при помощи
специальной программы, которая запускается программой установки
операционной системы, разобраться с ней не составит особого труда.

Выбор программы настройки графического режима

По завершению настройки параметров графического


режима, программа установки сообщит, что в случае неправильного
выбора параметров последствия могут быть непоправимые, вплоть до
выхода из строя адаптера или монитора. Поэтому, если вы не знаете
возможностей своего монитора, и узнать не представляется возможным,
попробуйте сначала указать стандартные параметры: низкую частоту
обновления и небольшое количество точек на экране, например: 800х600,
75 Гц.
Далее вам следует выбрать тип рабочего стола. Рекомендую
вам отказаться от установки какой-либо графической оболочки (установка
KDE 3.1 будет выполнена позже, с диска прилагаемого к книге).
104
Отказавшись от установки графической оболочки, вам будет
предложено создать нового пользователя системы. В нашем случае от этого
также нужно отказаться. Это связано с тем, что учетные записи
пользователей системы будут созданы только на сервере.
Осталось установить пароль главного пользователя системы
(root) и завершить установку FreeBSD. При этом система задаст вопрос об
установке дополнительных программ, вернувшись на начало процесса
установки. От этого следует отказаться, так как установка дополнительных
программ будет осуществлена с дополнительного компакт-диска.

13.4. Установка дополнительных программ

После перезагрузки системы войдите как супер пользователь


root и установите компакт диск с дополнительным программным
обеспечением, смонтируйте его, выполнив команду:

# mount /cdrom

Запустите сценарий установки дополнительного


программного обеспечения для рабочей станции, введя команду:

server # /cdrom/install

Сценарий установки и настройки различных служб в


диалоговом режиме уточняет конфигурацию и набор приложений, которые
должны быть установлены.
Укажите необходимые пакеты (нажатие только Enter
означает согласие со значением по умолчанию) и подождите, пока не будут
установлены и настроены выбранные программы. Перезагрузите
компьютер – FreeBSD готова к работе в качестве рабочей станции.
Данный сценарий настраивает систему для работы в
качестве рабочей станции. Дополнительные программы для рабочей
станции можно установить, запустив на выполнение нужный сценарий из
каталога /cdrom/setup/workstation.
Для настройки сервера следует запустить сценарии,
находящиеся в каталоге:

# /cdrom/setup/server

105
Установите необходимые службы, запустив на выполнение,
соответствующие сценарии этого каталога или запустите сценарий install
all для установки всех серверных служб. Запуск этих сценариев можно
осуществить, как после установки пакета программ для рабочей станции,
так и до. Если компьютер будет исполнять роль выделенного сервера, то
установку пакета программ рабочей станции можно не производить.

Установка дополнительных программ и настройка системы

Сценарии установки рабочей станции и сервера очень


похожи между собой. Различия проявляются только при установке сетевых
служб: NIS и NFS. Если для рабочей станции устанавливается клиентская
часть этих служб, то на сервере выполняется настройка их серверов.
Конечно, для сервера нет необходимости устанавливать

106
полный графический пакет, но, учитывая нехватку компьютеров в школах,
и невысокие требования к безопасности сервера, допускается
использование сервера в качестве рабочей станции.
Особое внимание я бы хотел обратить на последние два
вопроса сценария установки. Они касаются конфигурации ядра системы:
Compiling kernel now ? - Построить новое ядро системы?
Edit file S28 KERNCONF? - Редактировать файл конфигурации ядра?

Файл конфигурации ядра системы в редакторе ee

Первый из этих вопросов указывает, что после установки


системы необходимо собрать новое ядро. Если вы на этот вопрос ответили
отрицательно, но выбрали пакеты, для работы которых требуется
пересобрать ядро, то ваш ответ будет игнорирован, и будет собрано новое
ядро.
Второй вопрос возможен лишь тогда, когда на первый вы
ответили положительно (что рекомендуется).
Если компьютер, на котором производиться установка
системы Celeron, PII, PIII, P4, Athlon или Duron (тип процессора i686), то

107
редактирование конфигурационного файла ядра можно пропустить (если
конечно вы не желаете установить какие-то дополнительные параметры
ядра).
В случае если компьютер оборудован процессором типа i586
(P1, k6-2, Ciryx), то необходимо изменить некоторые параметры
конфигурации ядра. Для этого укажите необходимость редактирования
файла-конфигурации ядра, ответив на последний вопрос сценария
установки положительно.
В результате, будет запущен текстовый редактор ee и открыт
конфигурационный файл ядра.
Найдите в тексте строки:

machine i386
#cpu I386_CPU
#cpu I486_CPU
#cpu I586_CPU
cpu I686_CPU
ident S28

В этом фрагменте файла указано, что новое ядро системы


будет оптимизировано под i686 процессор. Если на вашем компьютере
установлен процессор другого типа, то закомментируйте эту строку

#cpu I686_CPU

(поставьте # в начале строки) и снимите символ комментария со строки с


указанием нужного типа процессора (например, i586):

machine i386
#cpu I386_CPU
#cpu I486_CPU
cpu I586_CPU
#cpu I686_CPU
ident S28

Сохраните измененный файл, для чего нажмите Ctrl+C и


введите команду exit (в нижней части экрана появится строка для ввода
команды). Файл будет сохранен и начнется процесс установки выбранных
программных пакетов. Если вы решите завершить работу с редактором, не

108
сохраняя изменения, то в командной строке редактора (по нажатию
Ctrl+C) введите команду quit.

Внимание! Неверно указанный тип процессора приведет к


невозможности запуска системы (см. главу об обновлении ядра).

По завершению установки всех выбранных пакетов и сборки


нового ядра, программа установки потребует ввести пароль пользователя
root, после чего система будет перезагружена и готова к работе.
Для дальнейшей работы с системой ознакомьтесь с главой
“Сопровождение системы”
P.S. В последних версиях сценария установки
дополнительных программ (начиная с версии 1.3.3) применяется
автоматическое определение типа процессора, поэтому вопросы о
необходимости компилировать ядро и редактировать его конфигурацию
отсутствуют.
Вместо этих вопросов сценарий задает другой (в версии
1.3.3), требуя указать тип процессора, и предлагает вариант, определенный
автоматически. Если предлагаемый тип процессора соответствует
действительности, то на этот вопрос ответьте нажатием Enter. В противном
случае укажите правильное значение (одно из ниже указанных):

386, 486, 586 или 686

Это значение типа процессора и будет использоваться при


сборке нового ядра системы.
Предполагается, что в следующих версиях сценария
установки и конфигурирования (начиная с 1.3.4) системы вопрос о типе
процессора будет упразднен.

109
Глава 14

Сетевые службы

Для создания полнофункциональной сети необходимо


обеспечить сетевое взаимодействие участников сети. Сеть может
обеспечить передачу файлов, почтовых сообщений, прослушивание
музыки, просмотр фильмов и т.д.
В наши дни почти все сети построены на основе
стандартного набора протоколов TCP/IP. Пройдя почти 30-ти летний путь
развития, этот набор протоколов дал надежный способ отправки и приема
данных по сетям с пакетной коммутацией.
На базе этого протокола, для решения специализированных
задач, созданы различные сервисные протоколы. Они позволяют
обеспечить простой и надежный способ сетевого взаимодействия
компьютеров.
Универсальность набора протоколов TCP/IP позволяет
объединять в единую сеть компьютеры, работающие под управлением
различных операционных систем (FreeBSD, Linux, Windows, NetWare и
т.д).
В этой главе мы рассмотрим работу и настройку некоторых
сервисных протоколов, которые в удобной для пользователей форме
позволят осуществить передачу файлов на другой компьютер, получить
доступ к общим ресурсам сети, общение между пользователями и многое
другое.

14.1. NFS

Сетевая служба NFS (сетевая файловая система)


обеспечивает такой режим работы сервера, при котором часть его
файловой системы может быть использована другими компьютерами сети.
Например, это могут быть каталоги личных документов всех
пользователей. Активизируя такую службу, вы обеспечиваете нормальную
работу всех пользователей с любого компьютера в сети. Его домашний
каталог будет подключен к тому компьютеру, на котором выполняется
вход в систему, поэтому пользователь получит доступ к своим документам,
работая на разных машинах сети.
110
NFS-сервер: Все очень просто: нужно только добавить две
строки в /etc/rc.conf:

nfs_server_enable=”YES”
portmap_enable=”YES”

Теперь осталось указать, какие каталоги сервера будут


доступны NFS-клиентам сети. Это следует указать в файле /etc/exports.
Например, в нашем случае с сервера должен экспортироваться каталог
/home.

# Файл /etc/exports
# Экспорт каталога /home, Каталог должен быть точкой монтирования
# физической файловой системы
#
/home -alldirs -network 192.168.1 -mask 255.255.255.0

В этой строке указано, что каталог /home может


монтироваться к файловым системам клиентских компьютеров, если их IP
адрес начинается с 192.168.1.

Перезагрузите компьютер. Что бы каждый раз, после


изменения списка экспортируемых каталогов не перезагружать компьютер,
перезапуск сервера NFS можно осуществить командой:

# kill –HUP `cat /var/run/mountd.pid`

Для проверки работы NFS сервера введите команду:

# showmount –e

которая выводит список экспортируемых файловых систем сервера. В


нашем случае

/home 192.168.1.0

что означает, что запуск сервера NFS осуществен успешно.

Все описанные действия по настройке NFS-сервера можно


выполнить, запустив сценарий /cdrom/setup/server/install.NFS.

NFS-клиент: Для запуска демона NFS клиента достаточно


111
добавить в файл rc.conf одну единственную строку:

nfs_client_enable=”YES”

и перезапустить компьютер.
Демон NFS работает. Чтобы монтирование сетевых папок
выполнялось при запуске системы, укажите соответствующие строки в
файле /etc/fstab. Например, если server экспортирует каталог /home, то
такая строка в файле /etc/fstab должна выглядеть следующим образом:

server:/home /home nfs rw,-b 0 0

Не забудьте, что в файле /etc/hosts вы должны указать, какой


IP адрес соответствует компьютеру с символическим именем server.
Завершив все приготовления, проверьте возможность
монтирования указанных сетевых файловых систем, введя команду:

# mount -a

и если все заработало, то можно приступать к настройке следующих служб.

Будьте внимательны! Ошибка в файле /etc/fstab может


привести к невозможности следующего запуска системы.

14.2. NIS

Сетевая служба NIS (сервер имен) обеспечит контроль, за


правильностью ввода имени пользователя и пароля. В случае неверного
ввода вход в систему будет запрещен. Удобство использования службы
NIS состоит в том, что база данных пользователей хранится только на
сервере (в противном случае эту базу данных нужно создавать на каждом
компьютере сети).

NIS-сервер: Для запуска сервера имен следует изменить


файл /etc/rc.conf, добавив в него строки:

nis_server_enable=”YES”
nis_yppasswdd_enable=”YES”
nisdomainname=”s28_nis”

Перезагрузите компьютер. После перезагрузки необходимо


112
продолжить настройку NIS-сервера. Для этого необходимо вызвать
команду ypinit -m для создания всех файлов, необходимых для работы
NIS-сервера. Программа инициализации NIS-сервера предложит вам
несколько вопросов:

Do you want this procedure to quit on non-fatal errors? [y/n: n] ответить “y”

At this point, we have to construct a list of this domains YP servers.


server.s28 is already known as master server.
Please continue to add any slave servers, one per line. When you are
done with the list, type a <control D>.
master server : server.s28
next host to add: ответить “control D”

The current list of NIS servers looks like this:


server.s28
Is this correct? [y/n: y] ответить “Y”

Теперь осталось проверить, созданы ли файлы NIS-сервера.


Посмотрите содержимое каталога /var/yp, в нем должен быть создан
каталог s28_nis (или другой, если имя домена NIS вы выбрали
самостоятельно), и файл masster.passwd. Именно этот файл является
текстовым вариантом базы данных NIS пользователей. При создании
нового пользователя, вам следует добавить соответствующую запись в этот
файл, после чего изменить базу данных пользователей службы NIS:

# cd /var/yp/
# make

В результате выполнения этой команды, база данных


пользователей будет обновлена и новый пользователь сможет
зарегистрироваться в сети.

Внимание: если учетная запись нового пользователя была


создана при помощи команды adduser, то изменения коснулись
локальной базы данных пользователей (записано в файл
/etc/master.passwd) на сервере. В результате, новый пользователь не
сможет зарегистрироваться с удаленного компьютера (сервер
службы NIS не содержит информации о новом пользователе).
Поэтому необходимо строку с информацией о новом пользователе в

113
файле /etc/master.passwd скопировать в файл
/var/yp/masster.passwd и обновить базу данных NIS сервера, введя
команду make. Чтобы обе базы данных синхронно изменялись, при
добавлении нового пользователя рекомендуется использовать
программу adduser, записанную на прилагаемом компакт-диске.
Скопируйте ее в каталог /usr/sbin.

Все описанные действия по настройке NIS-сервера можно


выполнить, запустив сценарий /cdrom/setup/server/install.NIS.

NIS-клиент: Для запуска NIS клиента необходимо в файл


/etc/rc.conf добавить две строки:

nis_client_enable=”YES”
nisdomainname=”S28_nis”

Первая указывает на необходимость запуска демона NIS-


client, а вторая устанавливает имя NIS-домена. Разумеется, на сервере
должен работать NIS сервер с указанным именем домена.
Последним этапом при настройке NIS-клиента является
указание системе проверять не только локальную базу данных
пользователей, но и базу данных, хранящуюся на сервере. Для этого
следует модифицировать два файла: /etc/passwd и /etc/master.passwd. В
первый файл следует добавить (это должна быть последняя строка) строку
(“плюс” и 6 двоеточий):

+::::::

во второй (“плюс” и 9 двоеточий)

+:::::::::

Обновить базу данных паролей, выполнив команду:

# cd /etc/
# pwd_mkdb master.passwd

Служба NIS позволяет сообщать компьютеру-клиенту не


только имя и пароль пользователя, но и некоторую информацию обо всей
сети. Например, служба NIS может оказать «содействие» компьютеру
клиента в разрешении символического имени (получение IP-адреса
114
компьютера по его имени). В этом работа службы NIS несколько
напоминает работу сервиса WINS в Windows. Что бы не создавать на всех
компьютерах локальной сети полную таблицу hosts, достаточно создать
такую таблицу только на сервере, и запустить службу NIS. На компьютере
клиента в файле /etc/host.conf раскоментировать строку:

# nis.

Это даст возможность компьютеру клиента просматривать не только


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

14.3. QUOTA

После настройки служб NIS и NFS каждому пользователю


будет создана персональная папка (Домашний каталог), которая
физически размещается на диске сервера. Если пользователей в сети
планируется достаточно много, то, не установив ограничение на объем
домашнего каталога, диск сервера достаточно быстро будет заполнен до
отказа. В результате нарушится нормальная работа всех пользователей
сети, независимо от того, насколько велик домашний каталог того или
иного пользователя. Чтобы такого не произошло, администратор сети
должен на сервере установить ограничения на объем, занимаемый
домашним каталогом каждого пользователя.
Чтобы обеспечить контроль системы за суммарным объемом
всех файлов каждого пользователя, в системе необходимо установить
пользовательские квоты (QUOTA). Если вы используете стандартное ядро
GENERIC, то вам придется изменить его конфигурацию, добавив в ядро
поддержку квот. Скопируйте файл GENERIC в файл с именем, например,
S28 и добавьте строку

options QUOTA

Соберите новое ядро (см. раздел посвященный обновлению

115
ядра), перезагрузите компьютер, и если все благополучно произошло, то
система готова контролировать объем всех файлов и каталогов каждого
пользователя системы.
Добавьте строку enable_quotas=”YES” файл /etc/rc.conf, она
нужна для включения глобальной поддержки квот, а также следует
модифицировать файл /etc/fstab, изменив четвертое поле – поле опций,
добавив в него тип устанавливаемой пользовательской квоты - на
пользователя или на группу пользователей: userquota или grupquota:
# See the fstab(5) manual page for important information on automatic mounts
# of network filesystems before modifying this file.
#
# Device Mountpoint FStype Options Dump Pass#
...
/dev/ad2s1h /home ufs rw,userquota 2 2
...

После выполнения всех настроек следует перезагрузить


компьютер. Осталось только определить размеры квот каждому
пользователю или группе. Это можно сделать для каждого пользователя
или для диапазона UID (пользовательский личный номер).
Установить квоту для конкретного пользователя можно,
применив команду:

# edquota -u admin

В результате в редакторе, запускаемом по умолчанию (скорее всего vi)


появится текст:

Quotas for user test:


/home: bloks in use: 64738, limits (soft = 500000, hard = 550000)
inodes in use: 53643, limits (soft = 500000, hard = 550000)

из которого следует что общий объем всех файлов пользователя admin в


каталоге /home, составляет 53643 кБ, при этом занимают они на диске
64378 кБ. А так как, максимальный объем файлов и занимаемый ими объем
не должен превышать 500000 кБ, то данному пользователю пока нет
причин изыскивать резервы, удаляя ненужные файлы. Кроме того,
временно, admin может превышать 500000 кБ ограничение (soft quota),
доводя объем файлов до 550000 кБ (hard quota), но не белее. При чем

116
превышение soft ограничения разрешается на срок не более 7 суток (по
умолчанию), после чего запись новой информации на диск будет
заблокирована. Для снятия блокировки нужно уменьшать объем файлов, до
тех пор, пока их общий объем не станет меньше soft ограничения. С этого
момента можно вновь превысить soft ограничение, и вновь на срок до 7
суток.
Sotf quota – мягкое ограничение, которое можно временно
нарушать (на срок до 7 суток, по умолчанию), и hard quota – жесткое
ограничение, превышать которое система не разрешит даже на короткое
время.
Что бы изменить временное ограничение на превышение
объема домашнего каталога (по умолчанию установлено 7 суток)
применяйте команду edquota –t.
Хотелось обратить внимание на различие между блоками и
индексными дескрипторами. Блоки относятся к общему выделенному
объему на диске для хранения файлов и каталогов. В то время как
индексные дескрипторы указывают реальный объем файлов.
Установив квоту для admin, можно применить ее в качестве
шаблона для оставшихся пользователей (это можно сделать даже для еще
не существующих пользователей). Для этого следует ввести команду:

# edquota -p admin 1000-9999

Отныне система будет контролировать использование


рабочего пространства диска для всех пользователей системы. Если есть
необходимость некоторым пользователям изменить квоты, то это нужно
сделать отдельно для каждого такого пользователя, вводя команду:

# edquota -u <имя пользователя>.

PS. Ясно, что все сказанное о квотах следует настраивать


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

117
14.4. POP3

Протокол POP3 обеспечивает получение почтовых


сообщений с сервера адресату. Установка сервиса достаточно проста:
необходимо установить пакет qpopper-4.0.4.tgz или более позднюю версию
и внести изменения в файл inetd.conf в соответствии с инструкцией,
выводимой на экран при установке пакета:

# pkg_add qpopper-4.0.4.tgz

**************************************************************
To enable the qpopper-daemon, add the following line to your /etc/inetd.conf:
pop3 stream tcp nowait root /usr/local/libexec/qpopper qpopper -s
**************************************************************

# vi /etc/inetd.conf
...

По завершению указанных действий следует перезапустить


супер демон, введя команду:

# killall -HUP inetd

Установка демона завершена, все должно работать!!!


Для упрощения установки данной службы на прилагаемом
диске записан скрипт (/cdrom/setup/server/install.qpopper), который
установит необходимый пакет, внесет изменения в конфигурационный
файл супер демона и запустит демон POP3.
PS. Иногда, для запуска демона требуется изменить файл
/etc/rc.conf. В него нужно добавить строку, запускающую супер демон, так
как именно через него выполняется запуск почтового демона (и многих
других, например ftpd, описанный ниже). Итак, если в файле /etc/rc.conf
нет строки inetd_enable=”YES”, то добавьте ее.

14.5. Postfix

Для отправки почтовых сообщений применяют протокол


SMTP, работа которого поддерживается программой sendmail. После
установки системы демон sendmail автоматически запускается и готов к
работе. Для стандартных конфигураций настройка sendmail вполне

118
приемлема. Но в случае не стандартной конфигурации почтового сервера
настройка sendmail требует от администратора больших временных и
интеллектуальных затрат. Поэтому во многих случаях пакет программ
sendmail можно заменить на пакет программ postfix, при этом значительно
упростив администрирование почтового сервера. Кроме того, считается,
что postfix работает быстрее и требует меньше ресурсов.
Для установки пакета postfix смонтируйте прилагаемый к
пособию CD и запустите скрипт установки:
# mount /cdrom
# /cdrom/setup/server/install.postfix

Во время установки пакета вам будет задано несколько


вопросов, ответить на которые необходимо положительно. Первый вопрос
касается создания новой учетной записи для администратора почтового
сервера, а второй – подтвердить необходимость переназначить программы
запуска с sendmail на postfix.
Собственно на этом установка и настройка пакета программ
завершена. Postfix готов к работе.

14.6. FTP

По существу, установив систему, вы установили и демон


FTP. Но вам все же следует выполнить кое-какие настройки.
Во-первых, необходимо сразу определиться, будет ли у вас
работать анонимный FTP-сервер?
Во-вторых, должны ли пользователи FTP-сервера получать
доступ ко всем каталогам сервера (путь даже только для чтения) или же
только к персональному каталогу?
В гимназии 28 работает анонимный сервер FTP и сервер FTP
требующий авторизацию. Если вы при установке системы не указали
использование анонимного сервера FTP, то это можно сделать при помощи
программы /stand/sysinstall (как, впрочем, и отказаться от данного
сервиса).
Чтобы пользователям сервера FTP запретить просмотр всех
каталогов сервера, необходимо в каталог /etc добавить файл ftpchroot. В
этом файле указать имена всех пользователей, которым запрещено
подниматься выше корневого каталога FTP сервера (каждое имя

119
пользователя в отдельной строке).
Для полного запрета пользователю подключатся к серверу
по протоколу FTP нужно указать имя этого пользователя в файле
/etc/ftpusers.

Так, как FTP демон загружается через inetd, то необходимо


внести изменения в файл /etc/inetd.conf. Уберите символ комментария в
строке FTP. Перезапустите демон inetd:

# killall -HUP inetd

На этом можно завершить конфигурацию FTP сервера (не


забудьте проверить наличие в /etc/rc.conf строки inetd_enable=”YES”, и
если ее нет, то добавить).

14.7. HTTP

Установка HTTP сервера несколько сложнее, чем установка


FTP сервера. Это связано с тем, что HTTP сервер не входит в состав самой
операционной системы и является отдельным программным продуктом.
Следовательно, перед его использованием необходимо выполнить
установку соответствующих пакетов. Практически всегда, по умолчанию,
речь идет о HTTP сервере APACHE. На момент написания этих строк
вышла последняя версия сервера 2.0.44. Ее установку и настройку мы и
опишем в этом параграфе.
Наиболее эффективно выполнить установку сервера
APACHE через порты (специально сконфигурированные файлы-сценарии
установки различных программ непосредственно с серверов интернета).
Чтобы ускорить установку, рекомендуем скопировать файлы из каталога
/cdrom/src/appache2/ в каталог /usr/ports/distfiles/ (см. компакт-диск,
прилагаемый к книге), а затем запустить сценарий установки программы:

# mount /cdrom
# cp /cdrom/src/apache2/* /usr/ports/distfiles/
# cd /usr/ports/distfiles/www/apache2/
# make install all clean

Если у вас есть уже готовый пакет сервера Apache, то можно


установить его, введя команду (установка в этом случае будет значительно
быстрее):
120
# pkg_add apache-2.0.44.tgz

По завершению установки (во время установки на экране


будут “бежать“ строки, информирующие о процессе компиляции и
установке программы), необходимо изменить конфигурационный файл
сервера Apache, внеся в него имя сервера-компьютера, электронный адрес
администратора и возможно другие параметры, например, путь к каталогу
WWW сервера:

# vi /usr/local/etc/apache2/httpd.conf

Найдите строки и укажите электронный адрес


администратора и имя сервера, например:

ServerAdmin admin@server.s28
ServerName server.s28:80

Сохранив изменения в файле, осталось запустить HTTP


сервер:

# /usr/local/etc/rc.d/apache2.sh start

Для проверки его работоспособности, запустите Konqueror и


в адресной строке, введите имя вашего сервера. Должна загрузиться
тестовая страница сервера. Если это произошло, то вы на правильном пути,
осталось самое малое - создать сайт и разместить на сервере.
На прилагаемом диске есть сценарий установки HTTP
сервера (/cdrom/setup/server/install.apache). Запустите его и ответьте только
на два вопроса: имя сервера и электронный адрес администратора HTTP
сервера. Все остальное сделает скрипт.

14.8. Подключение к интернет

Механизм подключения к интернет однозначно описать


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

121
подключения к интернет через модем по телефонной линии с “дозвоном”.
Здесь будет рассмотрен несколько другой вариант подключения, а именно,
подключение через модем по выделенному каналу.
Такое подключение имеет ряд преимуществ перед
подключением с “дозвоном”, но требует от администратора более высокой
квалификации. Прежде всего, это связано с тем, что при подключении по
дозвону, провайдер динамически выделяет вашему серверу IP адрес и
подключение происходит на сравнительно короткое время. В случае
подключения по выделенному каналу, IP адрес вашего сервера будет
фиксирован. Находясь в постоянном соединении, ваш сервер может быть
атакован через интернет, и если не предприняты меры по его защите, то
такой сервер может быть легкой “добычей” для любителей позабавиться.
Защита сервера будет рассмотрена несколько ниже. А сейчас
выполним необходимые действия по настройке служб, обеспечивающих
постоянное соединение с провайдером.
Предположим, что для такого соединения вы выбрали модем
ZyXel-336e (в принципе, это не столь важно, так как большинство модемов,
поддерживающих постоянное соединение, поддерживают стандартный
набор команд). Итак, в первую очередь следует создать файл, в котором
будут записаны команды модема для его инициализации: например это
файл /usr/local/etc/chat.u336e и его содержимое:

ABORT ERROR
ABORT 'NO CARRIER'
TIMEOUT 2
'' AT
OK AT&F
OK ATL0
OK AT*Q2
OK AT&D3
OK AT*P4
OK AT*M0
OK AT&L1
OK ATD
TIMEOUT 90
CONNECT

Описание каждой команды можно выяснить в инструкции на

122
модем (или смотри приложение). Возможно, в вашем модеме некоторых
команд не существует, тогда удалите их из списка.

Следующее действие – создание командного файла, который


будет использоваться при разрыве соединения: например, это файл
/usr/local/etc/chat.d_u336e:

'' '+++'
TIMEOUT 10
OK ATH

Чтобы осуществить подключение к интернет через модем


необходимо настроить PPP (Point-to-Point Protocol – Протокол
двухточечного соединения) интерфейс. Для этого необходимо обеспечить
работу демона pppd. Демон pppd преобразует пакеты локальной сети в
формат PPP и отправляет их в интернет через соединение PPP. Чтобы
запуск демона pppd осуществлялся автоматически при старте системы,
создадим скрипт ppp.sh в каталоге /usr/local/etc/rc.d/. При запуске демона
pppd необходимо указать параметры, которые будут определять свойства
PPP соединения. Полный список параметров можно получить,
ознакомившись с man руководством. Если предполагается установить
постоянное соединение по выделенной линии без дозвона, то запуск
демона pppd осуществляется запуском скрипта ppp.sh:

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
/usr/sbin/pppd -d -d -d -d \
-bsdcomp \
-vj \
holdoff 0 \
lcp-echo-failure 3 \
lcp-echo-interval 20 \
disconnect 'chat -v -f /usr/local/etc/chat_d.u336e' \
connect 'chat -v -f /usr/local/etc/chat.u336e' \
persist \
connect-max-attempts 9999 \

123
asyncmap 20A0000 \
escape FF \
ipcp-accept-local \
ipcp-accept-remote \
lock modem \
defaultroute \
crtscts \
mtu 1500 \
/dev/cuaa0 57600

Этот скрипт автоматически, при старте системы, инициирует


подключение к серверу провайдера (конечно, на той стороне должен быть
настроен модем на ожидание такого соединения). В случае разрыва
соединения, оно автоматически будет установлено вновь. Чтобы детально
ознакомиться с параметрами демона pppd, вызовите справку, введя
команду:

# man pppd

Все сценарии и командные файлы, описанные в этом


параграфе, содержатся на дополнительном компакт-диске.

14.9. Прокси сервер SQUID

Итак, ваш сервер подключен к сети интернет. В этом случае


серверу присвоено два IP адреса: первый - локальный, например:
192.168.1.1, а второй - внешний (определен вашим провайдером),
например: 212.8.36.4. Именно этим IP адресом представлен ваш сервер в
интернете. При правильно настроенном сервере локальный IP адрес
сервера из сети интернет должен быть недоступен. А значит, не доступны и
другие адреса локальной сети. Следовательно, установить
непосредственное соединение между компьютером локальной сети и узлом
сети интернет невозможно. Но, несмотря на это, администратор сети
должен предоставить пользователям возможность получать информацию
из сети интернет. Как быть в этом случае?
Существует несколько вариантов решения возникшей
проблемы. Каждый из них по отношению к другим имеет, как
преимущества, так и недостатки. Например, можно установить службу
трансляции IP адресов (NAT), или каждому компьютеру локальной сети

124
присвоить IP адрес из пула адресов домена в сети интернет. Но наиболее
просто разрешить эту проблему можно, установив прокси сервер.
Прокси сервер обеспечивает не только подмену IP адресов,
но и КЭШирует полученную информацию, что в конечном итоге
способствует увеличению скорости работы в интернет.
Традиционно в UNIX системах используется прокси сервер
SQUID. Это достаточно гибкая, надежная и эффективная служба. Она
позволяет фильтровать запросы, отсекая часть, адресованных к
запрещенным ресурсам интернет, устанавливать время работы клиентов.
Для установки прокси сервера необходимо установить пакет
squid-2.5_1.tgz и выполнить его настройку. Конфигурация прокси
описывается в единственном файле /etc/local/etc/squid/squid.conf.
Рассмотрим наиболее существенные вопросы конфигурации прокси
сервера SQUID.
Файл конфигурации прокси сервера достаточно большой,
почти все строки закомментированы, в нем дано подробное объяснение
каждого параметра. Чтобы проще было администрировать работу прокси
сервера, мы будем вносить все изменения в конец файла.
Первое, что нужно указать, это к какому сетевому
интерфейсу следует “привязать” прокси сервер. Для этого добавим строку:

http_port 192.168.1.1:3128

Такая запись, прежде всего, важна для клиентов сети, так как
именно эти параметры следует вводить при настройке обозревателя
интернет, указывая, что подключение осуществляется через прокси сервер:
его IP адрес и порт подключения.
Затем следует определить параметры “соседей”. Наверняка
выход в интернет будет осуществляется через прокси сервер вашего
провайдера. Например, это сервер 212.1.3.5 и порт подключения 8080:

cache_peer 212.1.6.5 parent 8080 0 default

Чтобы прокси сервер смог выполнить преобразование


символических имен в IP адреса необходимо указать адрес ближайшего
DNS сервера, например:

dns_nameservers 212.1.6.2

125
На этом основные параметры определены, и можно сделать
попытку запуска прокси сервера, введя в командной строке:

# /usr/local/etc/rc.d/squid start

Если вы ввели все правильно, то прокси сервер готов к


работе. Только он будет пропускать все запросы в любое время и от любого
пользователя. Но для начала и это уже хорошо.
Убедившись, что все работает, можно усложнить задачу:
пользователям с компьютеров в кабинете информатики (192.168.1.101-
192.168.1.117) разрешить доступ только с 15:00 до 19:00, а с компьютеров
администрации (192.168.1.10-192.168.1.19), доступ в интернет должен быть
круглосуточный (компьютер 192.168.1.33 – компьютер администратора
сети). Для этого нужно определить несколько правил (выбор имен правил
произвольный):
правило all – указывает диапазон возможных подключений. В
нашем случае это полный диапазон IP адресов (в дальнейшем все
подключения, попадающие под это правило, будут запрещены);
правило k31_i – устанавливает диапазон IP адресов кабинета
информатики;
правило k31_t – устанавливает интервал времени работы в
интернете с компьютеров кабинета информатики;
Установив правила для компьютеров кабинета, необходимо
применить их:

http_access allow k31_i k31_t

Такая запись говорит прокси серверу, что разрешить доступ


в интернет для компьютеров кабинета информатики (правило k31_i) в
только указанное время (правило k31_t).
Аналогично устанавливаются правила и для других
участников сети. Последней строкой в списке правил стоит строка,
запрещающая доступ в интернет, всем, если вышестоящие правила для
данного подключения не выполняются. Например, запрос отправлен с
компьютера 192.168.1.45. В выше описанных правилах такой компьютер не
определен, значит, он попадает под последнее правило, которое запрещает
ему доступ в интернет. Следовательно, набор правил согласно
поставленной задаче выглядит так:
126
# Все
acl all src 0.0.0.0/0.0.0.0
# Правила работы в кабинете информатики (k31)
acl k31_t time 15:00-19:00
acl k31_i src 192.168.1.101-192.168.1.117
# Правила работы администрации (dir)
acl dir_i src 192.168.1.10-192.168.1.19 192.168.1.33
# Разрешить согласно правил k31
http_access allow k31_i k31_t
# Разрешить согласно правил dir
http_access allow dir_i
# Запретить всем остальнным
http_access deny all

Перезапустите прокси сервер:

# /usr/local/etc/rc.d/squid stop
# /usr/local/etc/rc.d/squid start

Убедитесь, что ваши изменения приобрели силу. Теперь


можно перейти к еще более сложным вопросам администрирования прокси
сервера.
В интернете, наряду с полезной информацией, можно найти
огромное количество сайтов, просмотр которых в стенах средней школы,
не желательный. Чтобы запретить доступ к таким сайтам, необходимо
создать текстовый файл, в котором вы перечислите все сайты (известные
вам), доступ к которым следует запретить. Например, это будет файл
/usr/local/etc/squid/squidblock/porn.block.txt, и его содержимое:

xxx
boy
sleazydream.com
.yadro.ru
38ddd.com
.sex.de
.playboy.com.br
.clubhardcore.com
www-cache.fh-bingen.de
.monkeylove.com

127
...

Теперь вернемся к файлу конфигурации прокси сервера.


Создадим правило, например porn_block:

acl porn_block url_regex -i "/usr/local/etc/squid/squidblock/porn.block.txt"

и запретим доступ, согласно этого правила:

http_access deny porn_block

Замечу только, что эти строки следует вставить перед


строкой, запрещающей любые подключения:

...
# Запретить всем остальным
http_access deny all

Таким образом, прокси сервер, при получении запроса,


просматривает правила в порядке их записи. Найдя правило,
соответствующее данному подключению, выполняет необходимое
действие. На этом просмотр правил завершается.
Не забудьте после каждого изменения конфигурации прокси
сервера перезапускать его. Для более детального знакомства с
возможностями SQUID следует ознакомиться с полным текстом
конфигурационного файла, а также с man-руководством.

14.10. SAMBA

Не редко встречаются сети, в которых работают компьютеры


под управлением различных операционных систем, например Windows и
UNIX. Благодаря стандартному стеку протоколов TCP/IP такое
взаимодействие вполне возможно, однако есть специализированные
протоколы, облегчающие пользователям работу по сети, имеющиеся в
одной системе и не используемые в другой. К таким протоколам следует
отнести протокол SMB (SAMBA). Этот протокол принят в качестве
основного протокола взаимодействия компьютеров, управляемых Windows
системой. Именно по этому протоколу происходит передача данных от
компьютера к компьютеру, когда пользователь открывает папку “Сетевое
окружение”. Естественно, компьютеры, работающие под управлением

128
UNIX систем, отображаться в этой папке не будут.
Это не означает, что нет способа передать информацию с
одного Windows-компьютера на UNIX-компьютер. Для этого можно
использовать, например протокол FTP.
Естественно, такое различие в методах взаимодействия
между компьютерами, работающими под управлением различных
операционных систем, несколько усложняет работу пользователя. Какой же
выход может быть найден? Выход есть: необходимо установить и
настроить поддержку протокола SMB в UNIX системах.
Чтобы установить пакет программ SAMBA смонтируйте
прилагаемый к пособию CD, перейдите в каталог /cdrom/packages/ALL и
выполните команду:

# pkg_add samba 2.2.8.tgz

После успешной установки пакета (об этом свидетельствует


отсутствие каких либо сообщений во время установки) следует приступить
к настройке параметров программы. Параметры задаются в файле
/usr/local/etc/smb.conf. Если такого файла не существует (при этом
существует файл /usr/local/etc/smb.conf.default), то создайте копию с
указанным именем:

# cp /usr/local/etc/smb.conf.default /usr/local/etc/smb.conf

Откройте вновь созданный файл в любом текстом редакторе.


Логически этот файл можно разделить на несколько разделов:

 Глобальный
 Ресурсы
 Принтеры

«Глобальные» параметры определяют правила для всей


системы, параметры раздела «Ресурсы» указывают на правила
предоставления в общее пользование определенных ресурсов данного
сервера, а раздел «Принтеры» описывает правила использования принтеров
удаленными пользователями.
Чтобы осуществить запуск демона SAMBA необходимо
внести ряд изменений в конфигурационный файл smb.conf.
Во-первых: указать имя рабочей группы (домена)
129
компьютеров, входящих в вашу подсеть (в примере имя рабочей группы
S28):

workgroup = S28

Во-вторых: Ограничить доступ компьютеров к серверу


(доступ разрешен только для компьютеров, IP-адрес которых начинается
на 192.168.1. и 192.168.2., а также для петлевого интерфейса 127.):

host allow = 192.168.1. 192.168.2. 127.

В-третьих: Указать, какие интерфейсы будут


использоваться SAMBA. Иногда на компьютере используется несколько
интерфейсов. В этом случае возможно использование для SAMBA только
некоторых из них (В примере описан один интерфейс 192.168.1.1 – это IP-
адрес сервера на котором устанавливается SAMBA):

interfaces = 192.168.1.1/24

запись /24 указывает на маску подсети 255.255.255.0

В-четвертых: Следует определить статус вашего сервера в


сети. Есть возможность его сделать ведущим обозревателем сети:

local master = yes

В противном случае (значение параметра no) будут применяться общие


правила выбора обозревателя сети (как для рядовых Windows-
компьютеров). Если предполагается использовать данный сервер, как
главный обозреватель домена (только в случае отсутствия Windows NT
server), то следует установить значение параметра:

domain master = yes

Параметр:

preferred master = yes

позволит форсировать выбор главного обозревателя домена, что повышает


шансы данному серверу выиграть выборы.
На этом можно сделать паузу и попробовать запустить

130
демон SAMBA, введя команду:

# /usr/local/etc/rc.d/samba.sh.sample start

Если вы не допустили ошибок, то демон начнет работать.


Проверить его работу можно при помощи команды:

# findsmb

Если в полученном списке будет строка с параметрами настраиваемого


сервера, то это будет означать, что SAMBA работает. Если в сети есть
Windows-компьютер, то откройте папку «Сетевое окружение». Ваш
UNIX-компьютер должен быть представлен в сетевом окружении.
Дальнейшая настройка протокола касается ресурсов,
которые будет предоставлять сервер для пользователей сети (на языке
Windows это означало создать папки общего доступа). Например:
[usr]
comment = usr folder
path = /usr
public = yes
writeable = yes
printable = no
only guest = yes

Создан общий ресурс usr (имя сетевой папки) и указаны следующие ее


свойства:
 Имя сетевого ресурса – usr
 Коментарий – usr folder
 Путь на диске - /usr
 Права на доступ – общие

После изменения конфигурационного файла следует


перезапустить демон SAMBA:

# /usr/local/etc/rc.d/samba.sh.sample stop
# /usr/local/etc/rc.d/samba.sh.sample start

Если все уже настроено и работает, то осталось выполнить


последнее действие: обеспечить автоматический запуск SAMBA при старте
компьютера. Для этого нужно переименовать файл автозапуска:
131
# mv /usr/local/etc/rc.d/samba.sh.sample /usr/local/etc/rc.d/samba.sh

И проверить его атрибуты (файл должен быть исполняемым).

14.11. Защита сервера

Защита сервера это самая важная задача, которую должен


решать администратор на протяжении всего срока работы сервера.
Некоторые неправильно полагают, что главное - это установить и
настроить операционную систему, а защита от несанкционированного
доступа - дело второстепенное. Это принципиально неверный подход.
Окружающий мир далеко не дружелюбен, незащищенный сервер это
легкая добыча для желающих позабавиться, нанеся урон другим людям.
После установки и конфигурации сетевых служб следует
незамедлительно приступить к настройке системы безопасности сервера.
Для этого необходимо изменить сценарий запуска системы
rc.conf, добавив в него следующие строки:

filewall_enable=”YES”
firewall_type=”/usr/local/etc/firewall.rules”

Первая строка обеспечит подключение модуля,


выполняющего контроль за входящим и исходящим трафиком, вторая –
указывает файерфолу, в каком файле записаны правила, определяющие
какие пакеты можно отправлять/получать и кому/куда, а какие нет,
например:

# /usr/local/etc/firewall.rules, S28 03:10:2002

add 00010 allow all from localhost to any


add 01000 allow tcp from 192.168.0.0/24 to 192.168.1.254
add 01050 allow udp from 192.168.0.0/24 to 192.168.1.254
add 02000 allow udp from any to any 1024-65535,domain
add 03000 allow tcp from any to any http
add 03010 allow tcp from any to any ftp,ftp-data,pop3
add 03020 allow tcp from any to any 1024-65535,ssh,smtp,domain
add 04000 allow icmp from any to any icmptype 0,3,8,11,12,13,14
add 06000 deny all from any to any
Не трудно понять смысл этих правил:

132
 первое правило разрешает с интерфейса localhost
любое подключение;
 второе правило разрешает подключение к серверу
(192.168.1.254) по протоколу TCP всем
компьютерам локальной сети;
 третье правило разрешает подключение к серверу
по протоколу UDP всем компьютерам локальной
сети и т.д.
 правило с индексом, например 03010, разрешает
подключение к серверу всем, но только на указанные
порты (21, 20, 110)
 последнее правило запрещает подключение к
серверу с любого компьютера, если в предыдущих
правилах такое подключение не было разрешено.

Правила в указанном примере не могут быть приняты, как


рабочие правила в системе, так как все зависит от конфигурации системы и
разнообразии запущенных на сервере служб (см. man firewall).
После установки правил межсетевого экрана его следует
активизировать. Выполнить это, можно воспользовавшись сценарием
/etc/netstart:

# /etc/netstart

Если ошибок при записи правил не было, то файерфол будет


запущен, контролируя входящий и исходящий трафик.
Эксплуатируя сервер, вы обнаружите “дыры” в системе
защиты, которые со временем нужно “залатать”. Просматривайте каждый
день системные журналы, анализируйте и делайте выводы: насколько
хорошо защищен ваш сервер. Контроль за работой сервера является
повседневной заботой администратора, в то время как установка и
настройка сервера выполняется один раз и возможно на очень долго (чем
лучше защищен сервер, тем дольше он сможет выполнять свои функции)!

133
Глава 15

Установка дополнительных служб

15.1. Управление питанием компьютера

Если у вас компьютер поддерживает программное


управление питанием (формат ATX), то во FreeBSD существует
возможность обеспечить такой сервис. Для этого нужно добавить в файл
/etc/rc.conf еще две строки:

apm_enable=”YES”
apmd_enable=”YES”

первая из них обеспечит работу программ мониторинга за состоянием


батареи, вторая – запуск демона, управляющего питанием компьютера
Однако в стандартном ядре GENERIC возможность
программного управления питанием заблокирована. Поэтому, если вы все
же собрались в полной мере использовать возможности своего компьютера,
то вам придется изменить конфигурацию ядра системы. Если
пользовательская конфигурация ядра еще не создана, то создайте ее. Для
этого создайте копию файла /sys/i386/conf/GENERIC, выполнив команду:

# cd /sys/i386/conf/
# cp GENERIC S28

Найдите в файле S28 (так названа пользовательская конфигурация) строки:

# Power management support (see LINT for more options)


device apm0 at nexus? disable flags 0x20 # Advanced
Power Management

и поставьте знак комментария перед disable flags ...

# Power management support (see LINT for more options)


device apm0 at nexus? # disable flags 0x20 # Advanced Power Management

Перейдите в каталог /usr/src/ и запустите сборку нового


ядра, набрав команду (более подробно об этом написано в разделе об
обновление ядра):
134
# make kernel KERNCONF=S28

После завершения создания нового ядра перезагрузите


компьютер. Войдите в систему как супер пользователь и в консоли
наберите команду (для проверки работы нового сервиса):

# shutdown -p now

Система будет остановлена и компьютер будет выключен.


Чтобы в KDE при завершении работы компьютер также отключался от
сети, необходимо изменить команду, выполняемую при выборе пункта
“Выключить компьютер”. Для этого в Центре управления KDE найдите
пункт “Система/Менеджер входа в систему/Сеансы” и замените команду
при выключении компьютера с /sbin/halt на /sbin/shutdown -p now.
Команда shutdown позволяет останавливать компьютер не
только по ее вводу, но и в явно указанное время, например:

# shutdown -p 21:20

В 21:20 компьютер будет выключен. Надеюсь, что это так...

15.2. Печать

Так уж сложилось, что производители принтеров долго не


могли найти согласия в вопросе о выборе управляющих сигналов для
производимых ими принтеров. В результате для каждого типа принтера
необходим особый драйвер. Однако в 80-х годах в качестве стандартного
языка управления принтером постепенно утвердился язык PostScript,
разработанный фирмой Adobe System, Inc.
PostScript – это система правил для описания выводимой на
печать страницы с текстом или графикой. Чтобы печать таких документов
была возможной, необходимо, чтобы принтер “понимал” этот язык. И
такие принтеры вскоре появились. Однако, такие принтеры были
значительно дороже обычных. В результате распространение таких
печатающих устройств было ограниченным.
Несмотря на это, система печати UNIX была ориентирована
на использование именно PostScript-совместимых принтеров, и если такой
принтер есть, то особых сложностей в настройке печати не будет. Но в
последнее время рынок заполнили принтеры, специально разработанные

135
под Windows-системы, в которых нет поддержки PostScript языка.
Настроить печать с таким принтером в UNIX системе стало несколько
затруднительно.
Основные офисные программы выполняют преобразование
выводимой на печать страницы в PostScript формат. Однако если принтер
не поддерживает такой формат данных, то вместо ожидаемого результата в
виде твердой копии электронного документы, принтер начинает печатать
всевозможный “мусор” (текст программы на языке PostScript).
Чтобы избежать такого поведения принтера, необходимо
преобразовать документ в формате PostScript в формат, “понятный”
данному принтеру. Такое преобразование можно осуществить при помощи
специальной программы – gs. Но теперь возникает вопрос о типе вашего
принтера (то, от чего хотели уйти разработчики PostScript языка – создать
такую систему команд, которую бы “понимали” все типы принтеров). Его
необходимо указать в параметре -sDEVICE при вызове конвертора. В
частности, для HP LaserJet 6L вызов gs выглядит следующим образом:

gs -sPAPERSIZE=a4 \
-dNOPAUSE \
-dBATCH \
-sDEVICE=laserjet \
-sOutputFile"-" \
-q - 2>/dev/null

Сам вызов программы gs следует указать в главном


конфигурационном файле системы печати /etc/printcap. Таким образом,
печать документов в UNIX системах происходит по следующей схеме:

Документ --> PostScript --> gs --> Printer

при этом файл /etc/printcap является связующим звеном между всеми


этапами преобразований документа к формату, пригодном для печати.
После установки операционной системы файл /etc/printcap
существует, но все строки в нем закомментированы. Необходимо
раскомментировать нужные строки (или дописать), например:

# @(#)printcap 5.3 (Berkeley) 6/30/90


# $Id: printcap,v 1.5.2.1 1998/02/07 19:17:32 ache Exp $
...

136
# HP Laserjet 6L, не PostScript-совместимый принтер.
hp|lp:\
:sh:sf:af=/var/spool/output/lpd/hp/acct.log:\
:sd/var/spool/output/lpd/hp:lf=/var/log/lpd-errs:mx#0:\
:if=/usr/local/libexec/ps2hp:\
:lp=/dev/lpt0:

Следует обратить внимание на строку


if=/usr/local/libexec/ps2hp, в этой строке указывается, какой фильтр
следует использовать для преобразования PostScript документа в формат,
пригодный для печати (если вы используете Epson совместимый принтер,
то измените в этой строке имя фильтра с ps2hp на ps2epson). В нашем
примере это файл ps2hp, в котором происходит вызов программы gs с
необходимыми параметрами:

#!/bin/sh
/usr/local/bin/gs -sPAPERSIZE=a4 \
-dNOPAUSE \
-dBATCH \
-sDEVICE=laserjet \
-sOutputFile="-" \
-q - 2>/dev/null
exit 0

Список всех типов принтеров, поддерживаемых программой


gs, можно получить, введя команду gs -help или смотрите приложение.
Затем необходимо активизировать систему печати. Для этого
в /etc/rc.conf добавить строку:

lpd_enable=”YES”

И завершить настройку системы печати следует


конфигурацией параллельного порта:

lptcontrol -e -d /dev/lpt0

Параметр -e следует указать, если принтер и BIOS


поддерживает ECP или EPP расширение. Это позволит увеличить скорость
передачи данных от компьютера к принтеру. Параметр -d указывать не
обязательно, если у вас принтер подключен к параллельному порту lpt0
137
(как это бывает у большинства компьютеров). Чтобы эти настройки
устанавливались автоматически, команду lptcontrol необходимо добавить в
один из начальных сценариев, например: /usr/local/etc/rc.d/lptstart.sh:

#!/bin/sh
lptcontrol -e -d /dev/lpt0

Не забудьте назначить этому файлу права доступа на


выполнение, например:

# chmod 655 /usr/local/etc/rc.d/lptstart.sh

На прилагаемом диске есть готовый пакет файлов


(printset.tgz) и сценарий его установки (install.printer), запустив на
выполнение который система печати будет установлена и
сконфигурирована. Однако проверьте, соответствует ли ваш принтер тому,
который будет установлен, и если нет, то внесите необходимые
исправления.

15.3. Запуск Windows-приложений во FreeBSD

Так уж случилось, но Windows вошел в нашу жизнь прочно


и многие программы, написанные в его среде, хотелось бы использовать и
UNIX системах. Такая возможность есть. Для этого необходимо установить
эмулятор Windows – wine. Разумеется, не все программы могут работать
под эмулятором Windows, но wine постоянно совершенствуется и все
больше программ написанных в Windows среде, могут работать и в среде
эмулятора wine.
Чтобы установить эмулятор Windows, необходимо
установить пакет wine-*.tgz. Под “*” подразумевается версия пакета. На
момент написания этих строк последней версией wine была версия
2002.12.19 и создать дерево каталогов системы Windows в корневом
каталоге UNIX.
Следует также иметь в виду, что wine будет работать только
при поддержке опции USER_LDT в ядре (добавить строку options
USER_LDT). Поэтому, если используется стандартное ядро (GENERIC),
то вам придется внести изменения, указав в KERNCONF необходимую
опцию и перекомпилировать ядро (см. главу, посвященную вопросу об
обновлении ядра).

138
Выполнив все действия с ядром системы можно приступать
к дальнейшей настройки среды эмулятора Windows.
В домашнем каталоге создать папку .wine и в нее
скопировать конфигурационный файл config (пример такого файла
находится в каталоге /usr/local/etc/wine.conf.sample), изменив имя на
config. Стандартно, эмулятор настроен так, что при его запуске создается
три логических диска, к которым есть доступ для Windows программ.
Если при запуске программ в эмуляторе надписи на русском
языке будут нечитаемые, то попробуйте в разделе [fonts] файла
~/.wine/config закомментировать установленные шрифты и
раскомментировать шрифты с koi8-r кодировкой.
После всех приготовлений скопируйте нужные вам Windows
программы в каталог с (или его подкаталоги) и запустите программу, введя
команду в командной строке:

# wine freecell.exe

FreeCell – в FreeBSD

Здесь предполагается, что текущий каталог содержит


программу freecell.exe. Если при запуске программы вам будет сообщено
139
об ошибке “не найдена библиотека *.dll, то найдите ее в Windows системе
и скопируйте в каталог /c/Windows/System/ эмулятора.
На прилагаемом диске есть все необходимые
конфигурационные файлы и сценарий их установки.

15.4. Виртуальный компьютер

Несмотря на все положительные стороны применения


программ типа wine, их возможности в значительной мере ограничены. Как
правило, работают только те программы, которые не требуют прямого
обращения к физическим устройствам.
Есть другой, более надежный способ запуска программ,
написанных для другой операционной системы. Это программы bochs и
Vmware. Рассмотрим здесь установку, настройки и работу с программой
bochs. Такой выбор связан, прежде всего, с тем, что Vmware
распространяется на коммерческой основе, в то время как bochs является
FreeWare (свободно распространяемой).
Для установки PC-эмулятора следует установить пакет
bochs-2.0.1,1.pkg (на дополнительном компакт диске он есть):

# pkg_add bochs-2.0.1,1.pkg

После его установки следует произвести некоторые


настройки, которые зависят от ваших требований к дальнейшей работе
программы.
Предположим, что вы хотите использовать в своей работе
сеанс MSDOS для запуска Borland Pascal 7.0. Это означает, что при
запуске программы bochs будет запущена эмуляция MSDOS. Что для этого
нужно сделать? Первое, создать системную дискету с данной
операционной системой и необходимыми сервисными программами
(например, Norton Commander, DrWeb и т.п.). Проверьте, нормально ли
запускается компьютер с этой системной дискеты. После таких
приготовлений создайте образ дискеты (например, a.img в домашнем
каталоге root):

# cp /dev/fd0 /root/a.img

Второе, завершив работу с системной дискетой, пора


приступить к конфигурированию bochs. Запустите программу bochs.
140
Программа запустится в режиме установки параметров:

You can also start bochs with the -q option to skip these menus.
1. Restore factory default configuration
2. Read options from...
3. Edit options
4. Save options to...
5. Begin simulation
6. Quit now
Please choose one: [5]

Выберите “3” (Установка параметров). Далее вам будет


предложено настроить целый ряд устройств. Важным является 6 и 8
(память и диск). Начнем с установки объема выделяемой оперативной
памяти для гостевой операционной системы.
----------------------------
bochs Options Menu
---------------------------
0. Return to previous menu
1. Log file: /dev/null
2. Log prefix: %t%e%d
3. Debug log file: -
4. Log options for all devices
5. Log options for individual devices
6. Memory options
7. Interface options
8. Disk options
9. Serial or Parallel port options
10. Sound Blaster 16 options
11. NE2000 network card options
12. Other options

Please choose one: [0]

Выбрав “6” найдите пункт, в котором устанавливается объем


оперативной памяти виртуального компьютера (пункт 1). Введите “1” и
укажите объем оперативной памяти, выделяемой под виртуальный
компьютер, например 4 МБ (при этом единицы измерений не вводить). На

141
этом настройка параметров памяти завершена. Для возврата к
предыдущему меню нажмите “0”.
Теперь можно приступить к установке параметров диска.
Поскольку у нас есть только образ системной дискеты, то запуск гостевой
операционной системы должен осуществляется именно с него. Поэтому в
меню настройки параметров диска выберите пункт 16 и укажите floppy в
качестве загрузочного диска, а в пункте 3 – отключите использование hd,
введя “no”:

0. Return to previous menu


1. Floppy Disk 0: /dev/fd0, size=1.44M, inserted
2. Floppy Disk 1: b.img, size=1.44M, inserted
3. ATA channel 0: enabled: yes, ioaddr1: 0x1f0, ioaddr2: 0x3f0, irq: 14
4. First HD/CD on channel 0: enabled: yes, hard disk, inserted on '30M.sample',
615 cylinders, 6 heads, 17 sectors/track, model 'Generic 1234', biosdetect 'auto',
translation 'auto'
5. (disabled)
6. ATA channel 1: enabled: no
7. (disabled)
8. (disabled)
9. ATA channel 2: enabled: no
10. (disabled)
11. (disabled)
12. ATA channel 3: enabled: no
13. (disabled)
14. (disabled)
15. New hard drive support: yes
16. Boot from: floppy drive
17. Skip Floppy Boot Signature Check: no
Please choose one: [0]

Но пока еще мы не указали, в каком файле хранится образ


системной дискеты. По умолчанию, предполагается, что это реальная
дискета установленная в нулевом дисководе. Внесем поправку, в
соответствии с нашими требованиями, выбрав пункт “1” (напомню, имя
образа системной дискеты a.img):
...
1. Floppy Disk 0: /dev/fd0, size=1.44M, inserted

142
...
-------------------
Floppy Disk 0
-------------------
Enter new filename, or 'none' for no disk: [/dev/fd0] a.img
What type of floppy disk? [1.44M] < Нажмите Enter >
Is the floppy inserted or ejected? [inserted] < Нажмите Enter >

На этом можно завершить настройки программы и вернуться


в главное меню:

1. Restore factory default configuration


2. Read options from...
3. Edit options
4. Save options to...
5. Begin simulation
6. Quit now
Please choose one: [5]

Сохраните параметры (пункт “4”) и запустите эмуляцию


(пункт “5”). Если все вы правильно сделали, то будет произведен запуск
MSDOS в окне FreeBSD.
Возможно, что запуск будет неудачным, тогда проверьте,
есть ли полный доступ к образу системной дискеты (должен быть для
чтения и записи), находится ли образ в домашнем каталоге текущего
пользователя, а также в любом текстовом редакторе отредактируйте
конфигурационный файл ~/.bochrc, закомментировав строку ata0:
enabled=0.
Повторите запуск. Теперь уж точно все заработало!!! Вы
сможете запускать любые! программы, написанные под эмулированную
операционную систему (в данном случае, под MSDOS). Правда, за такой
сервис приходится платить – скоростью работы программ.. Atlon 1.7 Ghz
выглядит как Pentium 100.
Для завершения работы с программой необходимо
“выключить” виртуальный компьютер (не перепутайте с физическим
компьютером, который работает под FreeBSD).
Чтобы при запуске эмулятора MSDOS пропустить диалог

143
настройки параметров, создайте небольшой сценарий и поместите его в
каталог /usr/local/bin/, например:

#!/bin/sh
# Этот сценарий dos запускает эмулятор MSDOS (.dosrc)
bochs -qf ~/.dosrc

Эмуляция DOS в FreeBSD

Ключ q означает пропустить диалог настройки, а ключ f


позволяет явно указать имя конфигурационного файла. Благодаря этому
можно создать насколько различных вариантов запуска эмулятора, с
различными гостевыми операционными системами.
Например, я экспериментировал с MS Windows 95. Ясно, что
для практической работы быстродействия гостевой системы недостаточно.
Было просто интересно, как все это выглядит...
Для запуска Windows мне пришлось при помощи программы
bximage создать образ диска, затем запустить эмулятор DOS и при помощи
144
fdisk произвести разметку, создав логический диск с, затем, выполнив
форматирование, я установил на него Windows 95. Дистрибутив при этом
находился на смонтированном компакт-диске.

Windows 95 в окне FreeBSD

Несколько слов по поводу программы bximage: это


программа поставляется в комплекте с bochs и служит для создания образа
floppy или hard диска. При ее запуске следует ответить на три вопроса: тип
диска [floppy | hard], объем (МБ) и имя файла – образа диска. Если это
floppy диск, то его перед использованием следует отформатировать, а если
это hard диск, то необходимо выполнить разметку на логические диски
(при помощи программы fdisk), и только после этого выполнить
форматирование. Эти операции осуществляются после запуска
эмулированной операционной системы и ее средствами.
На дополнительном компакт диске есть сценарий установки
виртуального компьютера bochs и пример эмуляции MSDOS.
Кстати, создать образ можно не только floppy или hard-
дисков, а и cd. Если вы сконфигурируйте гостевую систему таким образом,
чтобы она поддерживала работу CDROM, то монтировать можно будет не

145
только cd диски, а и их образы (сколько возможностей при этом
возникает!). А если образы всех HD и CD разместить на сервере, то учитель
может легко подключать те или иные файлы-образы, требуемые для
данного урока. Да и конфигурационный файл bochs тоже желательно
разместить на сервере. Все остальное зависит от ваших возможностей и
желания.
Еще хотелось бы отметить, что для нормальной работы в
эмуляции MSDOS необходимо выполнить некоторые “мелочи”, связанные
с ограничением доступа к общим ресурсам. Дело усложняется тем, что к
floppy и hard дискам, а точнее к их образам, должен быть полный доступ у
всех пользователей. И если сделать эти диски общего пользования, то
нарушается безопасность работы различных пользователей: любой другой
пользователь сможет удалить или прочесть информацию другого
пользователя (разумеется, речь идет об информации обрабатываемой в
среде эмулятора). Чтобы устранить такую возможность, я предлагаю
следующий вариант распределения ресурсов:

системный диск - floppy 2.88 (a.img)


рабочий диск - floppy 1.44 (b.img)

Эти файлы хранятся в домашнем каталоге каждого пользователя.


Диск, с программами общего пользования – CDROM (точнее
его образ), хранится в каталоге /home, здесь же хранятся и
конфигурационный файлы bochs (Каталог /home находится на сервере и
монтируется к файловой системе каждой рабочей станции, поэтому
доступен всем пользователям сети).
Если возникает необходимость переноса личных документов
пользователей, которые они создают в гостевой операционной системе на
дискету, то администратор может перенести образ b.img рабочей дискеты
на физическую дискету, выполнив команду:

# cp b.img /dev/fd0

или с дискеты в домашний каталог:

# cp /dev/fd0 b.img

предварительно установив текущим домашний каталог пользователя.

146
15.5. Игры

Ясное дело, что обойти эту тему просто было невозможно. В


школе, где основными пользователями компьютеров являются дети,
невозможно сделать вид, что игр не существует. Рано или поздно проблема
установки игр возникнет.
Не буду “мудрствовать лукаво”, но разнообразие игр в UNIX
среде значительно беднее, чем в Windows. Да это и понятно: UNIX в
основном развивался как серверная операционная система, в то время как
Windows ориентирован был для работы дома и в малом офисе.
Однако в последнее время появляются достаточно
качественные игры, написанные специально для работы в UNIX среде. К
таким играм можно отнести, ставшую уже популярной, игру Quake. В
гимназии есть три версии игры: Quake I, Quake II и Quake III Arena.
Последняя из них, работает только после установки драйверов nVIDIA для
GeForce.
Естественно, что кроме указанных игр есть и другие, не
менее популярные, например UnrealTournament, однако с их установкой
возникают определенные трудности.
В интернете можно найти достаточное количество серверов,
на которых размещены различные игры, работающие в UNIX среде.
Для большинства “крутых” игр требуется установить
дополнительные драйвера, благодаря которым будет поддерживается
технология OpenGL. Если в компьютере установлен видеоадаптер GeForce,
то проблема решается установкой драйверов от nVIDIA. На
дополнительном компакт-диске есть скрипт установки этих драйверов.
Перед установкой следует предпринять ряд мер
предосторожностей: создать резервные копии файлов /boot/loading.conf,
/etc/X11/XF86Config. Это полезно на случай, если установка nVIDIA
драйвера приведет к невозможности запустить графическую систему.
Если установка подобных игр требует определенных
навыков от администратора и технических возможностей компьютера, то
установка стандартных игр графического пакета KDE очень проста и не
прихотлива. Это можно сделать сразу, при установке системы. В
стандартный пакет игр входят игры четырех групп: Аркадные, Карточные,
Настольные и Стратегии. Эти игры кроме развлекательной функции несут
в себе также и развивающую (в отличии от Quake). Например, Сокобан.
147
Эта игра требует от играющего умение логически мыслить. Поэтому такие
игры можно использовать на уроках в начальных классах. И даже ставить
за это оценки, ведь играя, можно развиваться.

Логическая игра Сокобан

15.6. Обучающие программы

В стандартный пакет KDE входит комплект обучающих


программ. Для этого нужно установить пакет kdeedu-3.1 (это пакет
устанавливается по умолчанию). При помощи программ этого пакета
можно проводить тестирование по любой теме и любого предмета.

Кроме тестирующих программ в пакет входят и программы


демонстрационного толка, например, звездное небо. Эта программа
является электронной версией подвижной звездной карты, известной всем
учителям астрономии. Естественно, электронный вариант позволяет более
полно представить звездное небо и изучит его.

148
Для изучения грамматики также есть простые в
эксплуатации программы.

Главное окно тестирующей программы

Звездное небо
149
Математикам будет интересна программа построения
графиков функции:

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

Химики, смогут получить возможность работать с


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

150
физических свойствах химического элемента. Для получения информации
о выбранном элементе достаточно кликнуть кнопкой мышки.

Электронная таблица Менделеева

К сожалению, эта программа не переведена на русский язык.


Возможно, в дальнейшем мы получим русский вариант этой программы.
Наличие этих программ позволяет применять
компьютерную технику не только на уроках информатики, но и на других
уроках, что должно способствовать развитию интереса учащихся к данному
предмету.
Учителя информатики должны привлекать к использованию
компьютерной техники учителей других предметов (правда пока не ясен
механизм выполнения такой работы), что в конечном итоге позволит более
полно изучить возможности компьютерной техники учениками школ.

151
Глава 16

Обновление ядра

При установке FreeBSD по умолчанию устанавливается ядро


стандартной конфигурации GENERIC. Однако такая конфигурация ядра
подходит не для всех вариантов использования системы. Например, в
GENERIC отсутствует поддержка звуковых карт, графического порта agp,
автоматического управления питанием (apm) и многое другое. Чтобы
обеспечить работу того или иного аппаратного узла, в ядре системы
должна быть установлена его поддержка. И для этой цели следует
перекомпилировать ядро (собрать новое ядро).
Конфигурация стандартного ядра описывается файлом
/sys/i386/conf/GENERIC. Сделайте копию этого файла, назначив ему имя,
например: S28:

# cd /sys/i386/conf
# cp GENERIC S28

и все изменения в конфигурацию ядра вносите именно в этот файл.


Рассмотрим несколько важных добавлений в конфигурацию
ядра:
Добавить поддержку звуковых карт:

device pcm

Добавить поддержку графического порта agp:

device agp

Добавить поддержку программного управления питанием

device apm

Включить поддержку контроля системы за выполнением установленных


ограничений (QUOTA):

options QUOTA #Quota disk

152
Включить поддержку файловых систем:

options NTFS #NTSF File System


options EXT2FS #Linux File System

Включить поддержку межсетевого экрана и трансляции IP адресов:

options IPDIVERT #IPDivert (NAT)


options IPFIREWALL #Firewall

Это только малая часть возможных изменений


конфигурации ядра (все варианты можно посмотреть в файле LINT).
Добавив нужные строки в файл S28, осталось выполнить компиляцию ядра
(не следует слишком увлекаться, добавляя все новые и новые устройства в
ядро). Если вы это устройство не используете, то не рекомендуется
добавлять его поддержку в ядро. Это замедляет систему, увеличивает
объем занимаемой памяти. Принцип “на всякий случай, а вдруг
понадобится” не пригоден для UNIX-систем - вот когда понадобится, тогда
и добавите. Для сборки нового ядра перейдите в каталог /usr/src/ и
произведите его компиляцию:

# cd /usr/src/
# make kernel KERNCONF=S28

Если ошибок в новом конфигурационном файле нет, то


после выполнения компиляции новое ядро и подгружаемые им модули
будут установлены в системе, при этом старое ядро и каталог с модулями
будет переименованы (*.old).
Осталось перегрузить компьютер на новом ядре. Если
система запустилась, и работает нормально, то старую копию ядра и
каталог подгружаемых модулей можно удалить.
В случае неудачного запуска системы на новом ядре,
следует запустить систему на старом. Для этого необходимо перезагрузить
компьютер (вам, скорее всего, потребуется нажатие на Reset) и в самом
начале загрузки системы нажать на пробел:

>> FreeBSD/i386 BOOT


Default: 0:ad(0,a)/kernel
boot:

153
В появившемся приглашении наберите имя “старого” ядра
/kernel.old или /kernel.CENERIC. Система загрузит предыдущую или
стандартную его версию.
Теперь можно изменить конфигурацию ядра и собрать его
еще раз. Возможно, вторая попытка будет более удачной.
Однако при этом, вам следует учесть, что при повторной
компиляции ядра рабочее (старое, на котором сейчас запущена система)
ядро будут заменено нерабочим (версия ядра, предыдущей сборки). И если
в результате последней сборки система не запустится вновь, то вам
придется переустанавливать систему. Чтобы этого не случилось, создайте
копию рабочего ядра до перезапуска системы, например:

cp kernel.old kernel.my

Теперь, в случае неудачи, вы всегда сможете запустить


систему на этом ядре.

154
Глава 17

Сопровождение системы
Server

Итак, система установлена и настроена. Дальнейшее


сопровождение рабочих станций не требуется, за исключением особых
случаем, когда необходимо обязательное вмешательство администратора,
например, сбой аппаратных средств и повреждение системы в результате
такого сбоя. А вот с сервером вам придется регулярно работать:
добавление или удаление пользователей, устранение проблем в связи с
переполнением профилей и многое другое.
Что необходимо делать и на что следует обратить внимание
администратора сети? На эти вопросы я попытаюсь дать ответ в этой главе.

17.1. Создание конфигурации рабочего стола


пользователей по умолчанию

Администратор системы прежде, чем создавать учетные


записи пользователей должен определить конфигурацию рабочего стола по
умолчанию.
Что это означает? При создании учетной записи
пользователя в создаваемый ему домашний каталог будут скопированы
основные конфигурационные файлы, определяющие конфигурацию
рабочей среды пользователя.
Как это сделать? Для этого настройте рабочую среду,
например, пользователя root: определите стиль интерфейса, оформление
окон, укажите раскладку альтернативной клавиатуры, выберите фон
рабочего стола и т.п.
Сконфигурировав рабочую среду для пользователя root,
запустите Midnight Commander, и в одной из панелей откройте каталог
/usr/share/skel (на другой панели должен быть открыт домашний каталог
/root). Там будет несколько файлов. Скопируйте в этот каталог
конфигурационные файлы рабочей среды root. Они находятся в
подкаталоге .kde. Если конфигурация рабочей среды по умолчанию
предполагает настройку и других программ, то конфигурационные файлы
этих программ также следует скопировать в каталог /usr/share/skel/.
155
Например, каталоги .mplayer – конфигурация проигрывателя видео
файлов, и .wine – конфигурация эмулятора Windows.
Конечно, наиболее просто скопировать весь каталог /root в
/usr/share/skel, но при этом будет скопировано множество временных
файлов, которые будут просто занимать место в профиле пользователя.
Если выбран такой путь, то нужно после копирования удалить все
временные файлы.
Теперь, при создании учетной записи пользователя, в его
профиль будут скопированы все конфигурационные файлы рабочей среды.
Это упростит пользователю работу, по “облагораживанию” его рабочего
стола и настройке различных, обязательных программ.
Можно создать несколько вариантов настройки рабочей
среды пользователей. Для этого в каталоге /usr/share создайте подкаталог,
например skel-2. При создании учетной записи вам будет задан
соответствующий вопрос, в каком каталоге находятся файлы начальной
конфигурации рабочей среды пользователя.

17.2. Создание группы пользователей

Покончив с конфигурацией рабочего стола, можно


приступить к созданию учетных записей пользователей системы. Но
прежде следует решить, какие группы пользователей вы предполагаете
создать.
Система по умолчанию создает новую группу при создании
учетной записи пользователя. Таким образом, каждый пользователь
принадлежит к своей группе. Такой вариант допустим, но не является
эффективным: вы не сможете определить права для заданной группы
пользователей, например, сотрудникам школы разрешить доступ к
определенному сетевому ресурсу, а ученикам нет.
Чтобы упростить себе дальнейшую работу по
предоставлению доступа к различным ресурсам, создадим две группы
пользователей: user и person. К первой будут принадлежать все ученики
школы, а ко второй – сотрудники.
Для создания новых групп перейдите в каталог /etc и
найдите файл group. Это текстовый файл. Откройте его в любом текстовом
редакторе и добавьте две строки:

user:*:100:
156
person:*:200:

Сохраните файл. Новые группы созданы. Теперь можно


приступить к созданию учетных записей пользователей.

17.3. Создание учетных записей пользователей

В FreeBSD используется две базы данных паролей


пользователей: локальная (/etc/master.passwd) и сетевая
(/var/yp/master.passwd). При создании учетной записи пользователя
синхронно создаются записи, как в локальной, так и в сетевой базе
данных.

Если вы установили службу NIS, то для создания учетной


записи пользователей вам потребуется видоизмененная программа adduser.
Она есть на прилагаемом компакт-диске (/cdrom/config/nis/adduser).
Скопируйте ее в каталог /usr/sbin.

Создание учетной записи

157
Запустите эту программу (в окне консоли). Программа
задаст несколько вопросов, на которые рекомендуется ответить нажатием
Enter (не пропустите вопрос “Enter username”). Введите:
 имя пользователя (login);
 его полное имя и фамилию;
 командный интерпретатор (оставить по умолчанию);
 домашний каталог (оставить по умолчанию);
 номер пользователя (UID – оставить по умолчанию);
 языковую группу (оставить по умолчанию);
 пользовательскую группу (user – если ученик, person- если
сотрудник школы);
 пароль (с подтверждением).
Далее, принять все по умолчанию (отвечать нажатием Enter
до вопроса о создании еще одной учетной записи).
Завершив работу по созданию учетных записей необходимо
оградить сервер от “непрошеных гостей”. Дело в том, что, создав учетные
записи пользователей, вы дали им возможность подключатся к серверу по
средством ssh или telnet. Такая возможность не очень благоприятная для
работы сервера. Поэтому необходимо запретить пользователям NIS
подключатся к серверу в качестве локальных пользователей сервера.
Это можно сделать при помощи простого текстового
редактора: перейдите в каталог /etc и откройте в редакторе файл
master.passwd. В этом файле записаны все необходимые данные о каждом
пользователе системы.
Чтобы запретить подключение новых пользователей к
серверу по ssh, достаточно изменить значение второго поля учетной записи
пользователей. Например, вместо шифрованного пароля (второе поле
учетной записи – это шифрованный пароль для входа в систему) введите
“*” (звездочка). Осталось обновить базу данных локальных пользователей
системы, введя команду (предполагается, что текущим установлен каталог
/etc):

# pwd_mkdb master.passwd

Теперь пользователь, чей пароль был изменен, не сможет


подключиться к серверу по ssh или telnet (вы его исключили из списка
пользователей сервера, как локального (консольного) пользователя).

158
Означает ли это, что теперь пользователь не сможет войти в
систему с пользовательского компьютера? Конечно же, нет. Дело в том, что
для входа в систему используется другая база данных
(/var/yp/master.passwd), которая синхронно изменялась при создании
учетной записи нового пользователя. (Если вы использовали
модифицированную программу adduser).

17.4. Удаление учетных записей пользователей

Для удаления учетной записи пользователя применяется


команда rmuser. Эта команда удаляет запись из главной базы данных
(/etc/master.passwd). Для удаления записей из базы данных NIS проще
всего воспользоваться текстовым редактором.
Перейдите в каталог /var/yp/ и откройте в редакторе файл
master/passwd. Удалите ненужные учетные записи. Сохраните файл и
обновите базу данных пользователей NIS, введя команду:

# make

Учетная запись удалена. Команда rmuser не удаляет


пользователя из базы данных NIS. Поэтому возможен конфликт, если после
удаления учетной записи пользователя командой rmuser (будет удален
также и домашний каталог) не удалить соответствующую запись из базы
данных NIS. Для удаления учетной записи из базы данных пользователей
NIS необходимо открыть в текстовом редакторе файл
/var/yp/master.passwd и удалить нужную строку, после чего командой
make обновить базу данных пользователей NIS.

17.5. Пользователь забыл пароль

Достаточно распространенная ситуация. Пользователь не


может войти в систему, так как забыл пароль. Но прежде, чем что-либо
предпринимать, проверьте, правильно установлена раскладка клавиатуры и
правильно ли пользователь набирает свое сетевое имя (распространенная
ошибка – использование заглавных букв в имени). Если пользователь
делает все правильно, то вероятнее всего - он действительно забыл пароль.
Что в этом случае должен сделать администратор?
Удалить пароль, сделав второе поле учетной записи данного пользователя
пустым, обновите базу данных паролей.

159
Как это сделать? Перейдите в каталог /var/yp и откройте в
текстовом редакторе файл master.passwd. Удалите шифрованный
(последовательность символов между первым “:” и вторым). Обновите базу
данных NIS:

# make

Осталось пользователю войти в систему и установить


пароль. Но менеджер пользователей KDE не разрешит вход в систему с
пустым паролем. Поэтому, перейдите в текстовую консоль (Ctrl+Alt+F2) и
введите имя пользователя. Войдя в систему, наберите команду passwd и
имя пользователя, например:

# passwd ivan

Введите и подтвердите пароль. Подробнее об установке


пароля смотри главу 9.
Теперь, вернувшись в графическую консоль (Alt+F9),
повторить вход в систему.

17.6. Пользователь не может войти в систему


Имя и пароль введены верно

Экран на секунду гаснет, и система требует вновь ввести


имя и пароль пользователя. При этом сообщения, что неверное имя или
пароль не возникает.
Скорей всего эта проблема возникла из-за превышения
квоты на объем домашнего каталога. Если это так, то разрешить эту
проблему можно и без участия администратора.
Для этого пользователь должен перейти в текстовую консоль
(Ctrl+Alt+F2) и войти в систему. Запустить Midnight Commander и
просмотреть содержимое домашнего каталога. Возможно, в каталоге
появился файл с расширением .core (отчет о сбое какого-либо
приложения). Его следует удалить. Если объем этого файла достаточно
большой, то можно предположить, что проблема превышения объема
домашнего каталога решена и повторить вход в систему, перейдя в
графическую консоль (Alt+F9).
Если такого файла нет, или его объем настолько мал, что
полный объем домашнего каталога значительно не изменился, то следует
160
проверить содержимое КЭШ каталогов интернет-обозревателей. Например,
если в качестве основного интернет-обезревателя пользователь использует
Konqueror, то каталог с КЭШ файлами находится в подкаталоге
.kde/share/apps/konqueror/cache. Удалите все файлы этого подкаталога.
В общем случае, для определения объемов всех
подкаталогов можно ввести команду:

# du | less

Список всех каталогов с указанием их объемов в МБ будет


перенаправлен в просмотрищик less. Просматривая текст, вы обнаружите
каталог с “необъяснимо” большим объемом. Проанализировав его
содержимое, возможно, вы удалите часть файлов. Это может решить
возникшую проблему. Если же удаление файлов недопустимо (ввиду их
важности), то пользователь должен сообщить об этом администратору и
потребовать увеличить квоту на объем домашнего каталога.

17.7. Изменение квот

Получив требование пользователя, увеличить ему


максимальный объем домашнего каталога, администратор должен
проанализировать необходимость и возможность выполнения такого
требования. Если администратор решает удовлетворить данное требование,
то для изменения квоты он должен выполнить на сервере ряд действий.
Зарегистрироваться на сервере как root и выполнить
команду:

# edquota -u ivan

В результате, в редакторе, запускаемом по умолчанию


(скорее всего vi), появится текст, например:

Quotas for user ivan:


/home: bloks in use: 64738, limits (soft = 50000, hard = 55000)
inodes in use: 53643, limits (soft = 50000, hard = 55000)

Отредактируйте значения ограничений и сохраните


изменения. Они вступают в силу сразу, после сохранения.

17.8. Почтовая служба

161
Для осуществления общения между пользователями
рекомендуется установить почтовую службу. Установка демонов рассылки
и получения почтовых сообщений рассматривалась в главе 7, сейчас
рассмотрим создание почтовых клиентов.
Чтобы пользователь смог отправить почтовое сообщение
другому пользователю сети, он должен быть пользователем компьютера, на
котором установлен почтовый сервер. В нашем случае этот компьютер -
есть сервер. Поэтому в локальной базе данных (/etc/master.passwd)
необходимо создать (или, если запись создана, изменить ее) учетную
запись почтового клиента. Это лучше всего сделать вручную, открыв
данный файл в текстовом редакторе. Создайте (измените) строку – учетную
запись клиента, например ivan, следующим образом:

# $FreeBSD: src/etc/master.passwd,v 1.25.2.6 2002/06/30 17:57:17 des Exp $


# Служебные учетные записи
root::0:0:russian:0:0:Charlie &:/root:/bin/csh
# Учетные записи пользователей системы
admin::1000:0:russian:0:0:Krewsun Y:/home/admin:/bin/csh
ivan::1001:100:russian:0:0:Cat Ivan:/home/ivan:/nonexestent

/nonexestent – в поле командного интерпретатора означает,


что пользователь ivan не может осуществить консольное подключение к
серверу (при помощи ssh или telnet), но почтовые программы, используя
эту запись, смогут идентифицировать пользователя.
Внимание! Прошу не путать назначение локальной базы
данных паролей и сетевой. Внося изменения в локальную базу данных, вы
изменяете порядок работы пользователей непосредственно с сервером.
Затем администратор должен определить пароль, который
должен вводить пользователь при получении почтовых сообщений (это
делается на сервере):

# passwd ivan

При выборе пароля следует соблюдать правила, описанные в


главе 9.
Учетная запись для пользователя ivan создана таким
образом, что он сможет получать почтовые сообщения и при этом не иметь
консольного доступа к серверу.

162
17.9. Добавление нового компьютера в сеть

Рано или поздно, но вам придется выполнять и такую


работу. Установив операционную систему на новый компьютер и настроив
сетевые параметры, вы должны об этом проинформировать сервер.
Например, новый компьютер Delta и его IP адрес
192.168.1.217. При этом не имеет значения, какая операционная система на
нем установлена.
Чтобы сервер мог сообщить о прибытии “новенького”
остальным компьютерам сети, вы должны выполнить на нем (на сервере)
следующие действия:
Во-первых: добавить строку в файл соответствий
символических имен и IP адресов компьютеров:
192.168.1.217 Delta.s28 Delta

Т.е. в файл /etc/hosts. Это позволит серверу обращаться к


компьютеру Delta не только по его IP адресу, но и по символическому
имени.
Во-вторых: необходимо обновить базу данных сервера NIS.
Эта база данных содержит не только учетные записи пользователей сети,
но и другую информацию обо всех компьютерах сети. Например, файл
/etc/hosts также включен в эту базу данных. Следовательно, для
обновления базы данных NIS вы должны перейти в каталог /var/yp и
выполнить команду make:

# cd /var/yp
# make

База данных будет обновлена, а значит о новом участнике


сети “узнают” и “аборигены”.
Делайте это каждый раз, когда добавляете новый
компьютер в сеть.

17.10. Планирование событий

Операционная система FreeBSD, как и другие UNIX-


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

163
необходимо выполнить и это задание в точно назначенный срок будет
выполнено.
Осуществляется это при помощи демона cron. Для того
чтобы добавить новое задание достаточно выполнить команду:

# crontab -e

В результате выполнения этой команду будет запущен


текстовый редактор (скорее всего vi). Если запуск команды осуществляется
первый раз, то будет открыт пустой список заданий.
Создадим первое задание: каждый час система должна
проигрывать музыкальный фрагмент, например /usr/ring/bell.mp3:

0 * * * * /usr/local/bin/mpg123 /usr/ring/bell.mp3

Что означает эта строка? Все очень просто: каждая запись


состоит из 6-ти полей.

1-е поле: минуты (0-59)


2-е поле: часы (0-23)
3-е поле: дни (1-31)
4-е поле: месяц (1-12)
5-е поле: день недели (0-7) {0 и 7 – воскресенье}
6-е поле: команда

В качестве значения поля можно использовать символ *,


означающий любое допустимое значение. Следовательно, во введенной
строке записано: в 0 минут, каждого часа, каждого дня, каждого месяца и в
любой день недели выполнить команду /usr/local/bin/mpg123
/usr/ring/bell.mp3. Создадим второе задание: удалять все файлы в каталоге
/usr/incoming только в 5 часов утра в рабочие дни:

0 5 * * 1-5 rm -R –f /usr/incoming/*

Если возникает необходимость выполнять задания каждые,


например 15 минут, то в поле минут можно указать */15. Такая запись
позволит запускать задания в 0, 15, 30, 45 минут. Например:

*/15 * * 1-6 /usr/local/delcores >> /var/log/delcores.log


164
Описанный формат файла crontab является
пользовательским, и хранится в каталоге /var/cron/tabs. Кроме
пользовательских файлов заданий в системе еще существуют глобальный
файл /etc/crontab, которым управляет, естественно, root.
Формат глобального файла заданий несколько отличается от
пользовательского. Каждая строка файла состоит не из 6-ти, а из 7 полей.
,-е поле в глобальном файле crontab содержит имя пользователя, от имени
которого запускается данное задание, например:

0 5 * * 1-5 root rm -R –f /usr/incoming/*

Для обозначения некоторых стандартных графиков запуска


заданий вместо первых пяти полей используется сокращенная запись:
@reboot Только один раз - при запуске системы
@yearly 0011*
@monthly 001**
@weekly 00**0
@daily 00***
@hourly 0****

Полный список таких обозначений можно получить, вызвав


справку по crontab:

# man crontab

17.11. Установка нового программного обеспечения

Как бы там ни было, но программное обеспечение,


кажущееся сегодня достаточным, завтра может быть непригодным.
Поэтому вопрос об установке нового программного обеспечения и
удалении старого рано или поздно будет актуален.
В операционной системе FreeBSD операция установки
нового программного обеспечения выглядит очень просто. Существует два
основных способа установки новых программ: установка с портов и с
пакетов.
Порты – это набор сценариев установки программ
непосредственно из интернета. Запустив нужный сценарий, система

165
свяжется с нужным сервером в интернете, скопирует с него исходные
тексты программ, запустит их компиляцию и выполнит установку.
Главным недостатком такого метода является относительно
низкая скорость установки программы. Однако такой недостаток меркнет
перед преимуществами, которые он предоставляет. Вы получаете исходные
тексты программ (на С), в результате компиляции, новая программа будет
“увязана” с уже установленными программами в системе.
Чтобы воспользоваться таким методом установки программ
необходимо, как минимум, две вещи: подключение к интернету и набор
портов. Если все это есть, то перейдите в каталог портов: /usr/ports и
выберите нужную вам программу. Например, есть желание установить
новую версию Midnight Commander (/usr/ports/misc/mc).
Перейдя в каталог /usr/ports/misc/mc, выполните команду:

# cd /usr/ports/misc/mc
# make install all clean

Придется подождать... Программа будет установлена.


Если у вас несколько компьютеров, на которые нужно
установить эту программу, то такая установка отнимет у вас слишком
много времени, поэтому, установив программу на одном из компьютеров,
создайте бинарный пакет программы. Для этого перейдите в каталог
/var/db/pkg/ и наберите команду:

# pkg_create -b <имя пакета>

Чтобы упростить ввод такой команды (имя пакета может


быть достаточно длинным), запустите midc, и на одной из панелей
откройте указанный каталог. Теперь осталось выделить нужный каталог
(его имя соответствует имени установленного пакета) и в командной строке
написать команду:

pkg_create -b %f

Нажав Enter, в этом же каталоге будет создан пакет с


именем mc-4.5.55._5.tgz. Это и есть бинарный пакет программы. Но тут вас
может подстерегать неприятное обстоятельство: работа данного пакета
может зависеть от присутствия в системе другого. При установке
программы, все зависимости будут автоматически установлены. Но при
166
переносе программы на другой компьютер в бинарных пакетах вы должны
создать все пакеты, от которых зависит работа данной программы. Как
узнать какие это пакеты? Очень просто: откройте файл +CONTENTS в
каталоге mc-4.5.55_5 (напомню, именно эту программу мы рассматриваем
в качестве примера) и просмотрите строки начинающиеся с @pkgdep.
Таких строк, чаше всего, несколько, в них указываются имена пакетов, от

которых зависит работа данной программы. Создайте бинарные пакеты,


имена которых указываются в файле. Возможно, часть пакетов уже
создано. Это вам несколько облегчит задачу.
Создание пакета программы

Итак, бинарные пакеты программ созданы. Теперь осталось


их перенести на другой компьютер и там установить.
Перенос пакетов дело простое, и уже описывался (с
использованием команды scp). Поэтому, здесь я только расскажу, как
установить эту программу.
Перейдите в каталог, куда вы скопировали вновь созданные
пакеты, и введите команду:

167
# pkg_add mc-4.5.55_5.pkg

Программа будет установлена, и установлены все пакеты, от


которых зависит ее работа.
Чтобы удалить этот пакет из системы, введите команду:

#pkg_delete mc-4.5.55_5

И опять же, это удобно сделать с помощью midc.

168
Глава 18

Сопровождение системы
Рабочая станция

Рабочая станция (пользовательский компьютер) после


установки всех необходимых пакетов особого сопровождения не требует.
Пользователям запрещено изменять что-либо в системных каталогах, и
если аппаратные средства компьютера в исправности, то система способна
работать без вмешательства администратора.
Но администратор должен работать не только с
компьютерами, но и с людьми. Ведь сеть, построенная им, предназначена в
первую очередь для улучшения условий труда пользователей.
Следовательно, у пользователей время от времени возникают вопросы,
решить которые они сами не в силах. В этом случае они обращаются за
помощью к администратору.

18.1. Настройка почтового клиента

Настройку почтового клиента в принципе может выполнить


и сам пользователь, если он знаком с конфигурацией почтовых служб сети.
Чаще всего, эту работу выполняет администратор. Конечно, можно
написать инструкцию и раздать ее пользователям. Вот такую инструкцию
сейчас и рассмотрим.
Для нормальной работы почтового клиента необходимо
настроить два протокола: протокол на получение сообщений (POP3) и на
отправку (SMTP).

18.1.1. Настройка протокола POP3

Для настройки протокола получения почтовых сообщений


необходимо знать следующие параметры:

 имя почтового клиента


 пароль почтового клиента на получение сообщений
 имя сервера POP3
 порт подключения

169
Запустив почтовый клиент, например kmail, выберите пункт
меню Настройка/Настроить Kmail. Откроется окно настройки Kmail.

Окно настройки почтового клиента Kmail

Перейдите на вкладку Получение и нажмите кнопку


Добавить. Выберите пункт POP3 и нажмите OK.

Тип учетной записи


170
Настройка POP3

Заполните эту форму. Нажмите OK. Если введенные данные


соответствуют параметрам вашей сети, то настройка протокола получения
почтовых сообщений завершена. Теперь приступайте к настройке
протокола, который обеспечит отправку ваших сообщений.

18.1.2. Настройка SMTP

Вернувшись в главное окно настройки почтового клиента,


выберите вкладку Отправка и нажмите кнопку Добавить.
Будет предложено два варианта отправки сообщений:
укажите SMTP и нажмите OK.

171
Окно настройки SMTP

Заполните эту форму. На этом настройка почтового клиента


завершена.

18.2. Компьютер “завис”

Совершенных систем не существует. Поэтому возможна


ситуация, когда, после некоторых ваших действий, компьютер просто
“откажется” реагировать на внешние прерывания. В этом случае говорят,
что компьютер “завис”. Как вывести его из этого состояния?
Самый простой, и самый рискованный, способ - это
выключить и вновь включить компьютер (либо нажать кнопку Reset на
системном блоке). Несмотря на поддержку режима softupdate, нет никакой

172
гарантии, что система в следующий раз запустится вновь. Поэтому, такой
способ вывода компьютера из “зависания” следует применять только лишь
в самых крайних случаях.
Есть другой способ вывести компьютер из такого состояния.
Так как этот компьютер находится в сети, то, наверняка, сетевые службы
продолжают работать (виснет, как правило, графическая оболочка, а не
система). Поэтому включите второй компьютер и попробуйте
подключиться к “капризной машине” по ssh.
Если такое подключение состоялось, то получите права root
на зависшем компьютере и перезагрузите его. Например, зависший
компьютер fox, вы admin и подключаетесь с компьютера center:

center # ssh admin@fox


% su
passwd:
fox # reboot

Следует иметь в виду, что пользователь admin, должен


принадлежать привилегированной группе wheel, в противном случае
получить права root будет невозможно.
Если подключиться по сети к зависшему компьютеру
невозможно, то следует прибегнуть к первому способу: нажать на кнопку
Reset.

18.3. Пользовательская установка OpenOffice

Офисный пакет OpenOffice предназначен для создания


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

Система\OpenOffice\OpenOffice setup.

После установки в главном меню будет создана папка, в


которой вы найдете ярлыки запуска всех программ офисного пакета.
PS. Если после установки OpenOffice в главном меню не
173
появится папки с ярлыками для запуска программ пакета, то завершите
этот сеанс работы с системой и начните его снова. Главное меню будет
обновлено.
При помощи указанной программы установки вы сможете
также удалить или переустановить офисный пакет OpenOffice.

18.4. Установка nVIDIA драйвера

Если на вашем компьютере установлен видеоадаптер TNT2


или GeForce, то для более полного использования их возможностей
рекомендуется установить специальные драйвера. Основное преимущество
от использования этих драйверов можно будет ощутить в играх, например,
Quake.
Для установки nVIDIA драйверов смонтируйте компакт-
диск, прилагаемый к книге, и запустите скрипт установки:

# mount /cdrom
# /cdrom/setup/install.nvidia

Если в файле /sys/i386/conf/S28 (конфигурации ядра


системы) отсутствует опция USER_LDT, то скрипт добавит ее и запустит
перекомпиляцию ядра.
По завершению сборки нового ядра следует перезапустить
систему.
Внимание: Не устанавливайте драйвера nVIDIA, если на
вашем компьютере не установлен видеоадаптер TNT2 или GeForce.
Нет никакой гарантии, что драйвера будут корректно
работать. Это только текстовая версия драйверов, поэтому на компьютеры,
выполняющие ответственные функции их устанавливать не рекомендуется.
Во всяком случае, прежде чем установить драйвера, подумайте, будете ли
вы использовать те возможности, которые они перед вами откроют. В
офисных приложениях использование драйверов nVIDIA не дает никаких
преимуществ.
Рекомендация. Если вы решили установить nVIDIA
драйвер, то сделайте это до установки графического пакета KDE.
Результаты тестирования драйвера показали, что в этом случае графическая
система работает более устойчиво.
Сценарий установки дополнительного программного
174
обеспечения и настройки системы (/cdrom/install) включает установку
nVIDIA драйвера и выполняет это в первую очередь. Затем выполняется
установка остальных пакетов.

175
Глава 19

Несколько полезных советов

19.1. Защита процесса загрузки

По умолчанию, когда система входит в


однопользовательский режим (boot -s в командной строке загрузчика), она
не запрашивает пароль, предоставляя при этом доступ с правами root. Для
устранения такой “дыры” в безопасности в файле /etc/ttys, содержащем
терминальные настройки необходимо заменить secure на insecure в строке
console. После перезагрузки компьютера войти в однопользовательский
режим возможно только после ввода пароля root.

19.2. Блокировка комбинации клавиш Ctrl+Alt+Delete

Проблема состоит в том, что нажатие клавиш


Ctrl+Alt+Delete заставляет систему перезагрузится, независимо от прав
пользователя. Иногда такое поведение системы является предметом
опасений. Чтобы устранить эту возможность, необходимо заново собрать
ядро, включив в его конфигурацию, следующую опцию:

options SC_DISABLE_REBOOT

19.3. Блокировка комбинации клавиш Ctrl+Alt+BS

Достаточно неприятным свойством графической системы


является ее реакция на сочетание клавиш Ctrl+Alt+Backspace –
происходит немедленная перезагрузка x-сервера. Даже если система
заблокирована (пользователь отлучился и, не завершая сеанс работы,
заблокировал рабочую станцию), нажатие этой комбинации клавиш
приводит к прерыванию сеанса работы с системой, а если к этому времени
измененные документы не были сохранены, то эти изменения будут
утеряны. Чтобы устранить такое свойство графической системы (не
делайте этого до тех пор, пока не убедитесь в устойчивой работе
графической системы), достаточно добавить в конфигурационный файл x-
сервера /etc/XF86Config следующий раздел:

Section “ServerFlags”

176
Option “DontZap”
EndSection

19.4. Запуск приложения на удаленном компьютере

Для запуска приложения на удаленном компьютере и


отображения его вывода на локальном, необходимо в качестве значения
переменной DISPLAY на указанной удаленной машине указать адрес
локальной. (Это имеет смысл, если удаленная машина – сервер и находится
в закрытом помещении и доступ к ней осуществляется администратором,
как правило, удаленно). Это можно сделать во время сеанса работы ssh:

$ DISPLAY=fox:0; export DISPLAY


$ xcalc

В результате, на удаленном компьютере будет запущена


программа xcalc, а вывод будет осуществлен на локальной машине.

19.5. Использование удаленных клиентов x-сервера

Графическая система x-Window позволяет запускать


приложения не только на локальном компьютере, но и на удаленном. При
этом приложение запускается на удаленном компьютере, а вывод на экран
пересылается на локальный.
Для осуществления такой возможности (по умолчанию всем
клиентам запрещено такое подключение) необходимо добавить в список
авторизации, введя команду:

$ xhost +fox

Приложения с компьютера fox могут отображать свой вывод


на локальной машине.
Так как теперь все пользователи получили возможность
подключаться к удаленному компьютеру fox, то такое действие
рекомендуется делать в случае большой необходимости.
После завершения работы, администратор должен убрать из
списка авторизации fox. Это выполняется командой:

$ xhost -fox

177
19.6. Копирование файлов и каталогов
с удаленного компьютера

Если файлы или каталоги располагаются на FTP сервере,


или находятся в каталоге, экспортируемом в NFS, то выполнение такой
операции не вызывает трудностей. А что делать, если файлы находятся в
“недоступном” для удаленного клиента каталоге? В этом случае следует
прибегнуть услугам ssh.
Для этого используйте команду копирования scp. Например:

$ scp -r admin@server.s28:/usr/ports/distfiles /usr/ports/distfiles/

Система потребует ввести пароль пользователя admin, и если


пароль будет введен верно, то копирование файлов будет осуществлено.
Естественно, что пользователь admin должен быть зарегистрирован на
удаленном компьютере, и иметь права на чтение (как минимум) указанных
файлов и каталогов.

19.7. Работа с образами CD

Вам принесли лазерный диск с очень ценной для вас


информацией. Но время работы с ним у вас ограничено. Диск нужно
вернуть владельцу. Как быть в этой ситуации? Конечно, можно
скопировать нужные файлы, но при этом может быть нарушена
целостность информации и она станет недоступной. Либо программа
каждый раз проверяет наличие CD и без него отказывается работать. В
этом случае необходимо создать образ всего диска, выполнив команду:

# cp /dev/acd0c ~/disk.iso

В домашнем каталоге будет создан файл disk.iso,


представляющий собой образ CD. При этом следует иметь в виду, что его
объем будет достаточно велик: 600-700 МБ. Что же делать потом с этим
файлом? Его можно смонтировать, как физический лазерный диск. Для
этого следует выполнить две команды:

# vnconfig vn0c ~/disk.iso


# mount -t cd9660 /dev/vn0c /cdrom

В каталоге /cdrom будет смонтирована файловая система

178
CD, сохраненная в образе disk.iso. Дальнейшая работа с ним такая же, как
и с реальным CD. По завершению работы с образом его необходимо
размонтировать. Выполнить это надо, выполнив также две команды:

# umount /cdrom
# vmconfig -u vn0c

Я не сказал еще одного: это все будет работать только после


того, как вы добавите еще одну строку в конфигурацию ядра:

pseudo-device vn

с последующей его компиляцией.

19.8. Создание собственных сценариев

Если работу с образами CD вы планируете выполнять


регулярно, то каждый раз вводить две команды, слишком
непозволительная роскошь! В этом случае рекомендуется создать
собственный сценарий запуска команд. Для этого создайте новый файл,
например mount_iso:

# touch mount_iso

и откройте его в каком либо текстовом редакторе:

# ee mount_iso

Первая строка стандартная. Она указывает командному


процессору, какой интерпретатор использовать для исполнения
последующих команд. Далее комментарий и, собственно, сами команды:

#!/bin/sh
# Скрипт монтирования образов CD
#
vnconfig vn0c $1
mount -t cd9660 /dev/vn0c $2

Скопируйте это файл в /usr/local/bin и не забудьте назначить


этому файлу права доступа на выполнение, например, выполнив команду:

179
# chmod 655 /usr/local/bin/mount_iso

Теперь, чтобы смонтировать образ диска достаточно ввести


команду:

# mount_iso ~/disk.iso /cdrom

Аналогично следует поступить и при создании скрипта,


выполняющего размонтирование образа диска. Предоставляю это сделать
самостоятельно.

19.9. Запись компакт-дисков

Если у вас есть CDRW, то для записи компакт-дисков


потребуется установить дополнительно пакет msisofs. После установки
пакета запись на диск осуществляется в два этапа: создание образа диска и
прожиг диска.
Для создания образа диска можно применить выше
указанный пакет программ. Например, вы создали каталог /usr/cd/,
информация с которого должна быть записана на компакт-диске. Тогда, в
простейшем случае, команда для создания образа диска будет записана в
виде:

# mkisofs -o /usr/cd.iso /usr/cd/

где /usr/cd.iso – файл-образ CD.


Программа mkisofs допускает применение различных опций,
которые уточняют формат записи данных. Например, некоторые из них:

-V - дать имя диску


-l - разрешить использовать длинные имена

После создания образа диска, его необходимо перенести на


CD. Это осуществляется командой burncd, например:

# burncd -f /dev/adc0c -s 16 data /usr/cd.iso fixate

где -f - физическое имя CDRW


-s - скорость записи
data - тип записываемой информации
fixate - закрыть сессию
180
Чтобы объединить эти две команды, и тем самым упростить
процесс записи CD, создан скрипт savecd:

#!/bin/sh
S1="Кревсун Ю, Запорожье, Гимназия 28, 2002"
S2="E-mail: admin@s28.zsu.zp.ua"
S3="tel.: +380680 335125"
SPEED=10
DEV=/dev/acd0c
VOLUME=NewDisk
# Базовый каталог
DIR_BASE=/usr
# Каталог, содержимое которого будет перенесено на CD.
# По умолчанию находится в базовом каталоге.
DIR=cd
# ВНИМАНИЕ!!! Строки ниже изменять не рекомендуется.
DIR_ISO=${DIR_BASE}
NAME_ISO=${DIR_ISO}/cd.iso
if [ -z ${1} ]
then
echo "Для получения справки используйте команду с ключем -h"
exit
fi
for i ; do
case ${i} in
-V)
VOLUME=$2
shift
shift
;;
-f)
DEV=$2
shift
shift
;;
-o)
NAME_ISO=$2
shift
shift
181
;;
-c)
CL="Y"
shift
;;
-d)
DR=$2
shift
shift
;;
-s)
SPEED=$2
shift
shift
;;
-e)
ee /usr/local/bin/savecd
shift
exit
;;
-h)
echo ""
echo "savecd [<параметр>]"
echo ""
echo " -V <Имя тома> (по умолчанию "${VOLUME}")"
echo " -o <Имя файла образа> (по умолчанию "${NAME_ISO}")"
echo " -d <Каталог ресурса>"
echo " -s <скорость записи> (по умолчанию "${SPEED}")"
echo " -c Выполнить очистку диска (только для CDRW)"
echo " -f <устройство> (по умолчанию "${DEV}")"
echo " -e <Редактировать скрипт (только для специалистов)>"
echo " -h Получить эту справку"
echo ""
echo "Если не указан каталог ресурса, то образ диска не создается"
echo "и запись осуществляется указанного образа диска"
echo ""
echo "Пример: savecd -f /dev/acd0c -c -s 10 -V setupBSD -d /usr/setup"
echo ""

182
echo ${S1}
echo ${S2}
echo ${S3}
echo ""
shift
exit
;;
esac
done
if [ "$CL" = "Y" ]
then
echo "Очистка заголовка CD диска"
burncd -f ${DEV} -s ${SPEED} blank || {
exit
}
fi
if [ -z $DR ]
then
echo "Запись CD диска"
burncd -f ${DEV} -s ${SPEED} data ${NAME_ISO} fixate
exit
fi
echo "Создание образа CD диска"
mkisofs -o ${NAME_ISO} -l -V ${VOLUME} -J -R ${DR} && {
echo "Образ диска создан успешно!";
echo "Выполняется запись диска...";
burncd -f ${DEV} -s ${SPEED} data ${NAME_ISO} fixate
}
Применение этого скрипта упрощает запись компакт-дисков,
например:
# savecd -s 16 -d /usr/cd/
Результат работы это команды такой же, как и при вводе
двух предыдущих: будет создан образ и записан на диск.

19.10. Автомонтирование раздела Windows

Если на компьютере установлено две операционных

183
системы, например Windows и FreeBSD, то раздел диска выделенный под
Windows можно сделать доступным во FreeBSD. Для этого существует,
как минимум, две возможности: первая, это включить монтирование
раздела Windows в файл /etc/fstab, и вторая, создать скрипт монтирования
и поместить его в /usr/local/etc/rc.d/.
Первая возможность кажется более простой, однако,
существуют некоторые ограничения на ее использование. Предположим,
что на диске Windows есть файлы с русскими именами. Тогда, для
нормального восприятия таких имен файлов, команда монтирования
должна иметь вид:

# mount_msdos -W koi2dos /dev/ad0s1 /windows

В этом случае указать -W koi2dos в файле /etc/fstab


невозможно (во всяком случае, у меня не получилось), а именно эта опция
и обеспечивает нормальное восприятие русских имен файлов системы
Windows во FreeBSD.
Поэтому, чтобы осуществить автоматическое монтирование
раздела Windows, был написан скрипт windows.sh и размещен в каталоге
/usr/local/etc/rc.d/.
Дело в том, что все файлы этого каталога, имена которых
заканчиваются на .sh, автоматически выполняются при запуске и остановке
системы. Причем, при запуске системы выполняется запуск скрипта с
параметром start, а при остановке – с параметром stop.
Следовательно, скрипт, выполняющий монтирование
раздела Windows при старте и размонтирование его при остановке системы
выглядит следующим образом:

#!/bin/sh
DEVWINDOWS=/dev/ad0s1
case "$1" in
start)
mount_msdos -W koi2dos ${DEVWINDOWS} /windows && echo -n "
mount_windows"
;;
stop)
umount ${DEVWINDOWS} && echo -n " umount_windows"
;;

184
*)
echo "Usage: `basename $0` {start|stop}" >&2
;;
esac
exit 0

Прежде, чем использовать этот скрипт, проверьте,


соответствует ли в вашей конфигурации компьютера физическое имя диска
с Windows разделом (значение переменной DEVWINDOWS). При
необходимости, измените значение этой переменной.
Не забудьте назначить этому файлу права доступа на
выполнение и создать каталог /windows, например:

# chmod 655 /usr/local/etc/rc.d/windows.sh


# mkdir /windows

При старте системы раздел диска с Windows системой будет


автоматически монтироваться в файловую систему FreeBSD.

185
Глава 20

Системная политика

Совместное использование ресурсов компьютерной сети


предполагает выполнение каждым пользователем определенных правил.
Эти правила должен разработать администратор, учитывая специфику
работы вашей организации. Выполнение этих правил каждым
пользователем способствует более быстрому развитию возможностей
вашей компьютерной сети. Это связано с тем, что администратор не будет
тратить много времени на восстановление того или иного ресурса сети, а
будет целиком заниматься ее усовершенствованием.
Но для того, чтобы пользователи могли выполнять правила
работы в сети, их необходимо сформулировать и опубликовать. В
некоторых организациях пользователи даже подтверждают свое согласие с
правилами письменно.
Назовем такие правила работы в компьютерной сети
системной политикой. Что должна описывать системная политика
организации? Конечно, однозначного ответа на этот вопрос нет. Но
некоторые общие положения можно сформулировать и сейчас. Например:

1.Пользователь обязуется:
1.1.Работать в сети только от своего имени.
1.2.Не передавать свои права (Login и Password) другому
пользователю.
1.3.Не тестировать другие компьютеры сети на определение
работающих демонов.
1.4.Не подключаться к другому компьютеру по ssh без
согласия текущего пользователя данного компьютера.
1.5.Не устанавливать новое программное обеспечение.
1.6.Соблюдать правила, принятые в данной операционной
системе при включении и выключении компьютера.
1.7.Передавать информацию другим пользователям только
установленными средствами связи.
1.8.Сообщить администратору сети о неполадках в работе

186
компьютера и сети.
2.Пользователь имеет право:
2.1.Требовать от администратора восстановления
работоспособности той или иной службы сети.
3.Администратор имеет право:
3.1.Контролировать сетевой трафик пользователей. В случае
неправомерного использования пользователями
возможностей сети, предпринимать меры по устранению
такой возможности.
3.2.Удалять самостоятельно установленные пользователями
программы.
3.3.Отключать от сети компьютер пользователя в случае
многократного нарушения правил поведения в сети.
3.4.Определять сетевое имя пользователя и его пароль (это
мера используется тогда, когда пользователь не
однократно нарушал правила выбора пароля).
4.Администратор обязан:
4.1.Немедленно восстанавливать работоспособность сети в
случае сбоя.
4.2.Информировать пользователей об изменениях в
конфигурации сети, если эти изменения касаются
пользователей.
4.3.Проводить разъяснительную работу среди пользователей
о необходимости применять то или иное программное
или аппаратное средство.
4.4.Инструктировать пользователей о более совершенных
методах работы в сети.
Конечно, это не полный перечень обязанностей и прав
пользователей и администратора. Возможно, некоторые правила будут
сформулированы только после длительной эксплуатации сети. Например,
выбор сетевого имени пользователя. На первый взгляд, пустяковая задача.
Но все же и здесь можно сформулировать некоторые правила. Не
разрешать пользователям выбор сетевого имени по имени пользователя.
Возможна ситуация, что в сети будет работать, например, два Ивана. Тогда
возможна конфликтная ситуация: вы зарегистрировали первого, дав ему

187
сетевое имя ivan, а второй Иван (а если этот второй - начальник?) не может
уже получить такое же сетевое имя. Поэтому проще, если сетевое имя
будет отвлеченным от личности пользователя словом.
Администратор сети должен в любой момент получить доступ
к любому компьютеру сети. Для этого у него должен быть набор ключей от
всех кабинетов, где установлены компьютеры.
Пользователей не должен смущать тот факт, что
администратор имеет доступ ко всем ресурсам сети. Эта возможность
также должна быть отображена в системной политике.
Использование четких правил системной политики позволит
избежать множества конфликтов между пользователями сети и
администратором. Опубликуйте ее на сайте вашей организации и
проинформируйте всех пользователей о необходимости выполнять ее.
С примером системной политики школы вы можете
ознакомиться на сайте гимназии 28 города Запорожья
(http://www.s28.zp.ua).

188
Глава 21

Бездисковые станции

Идея бездисковых рабочих станций стара как мир.


Операционная система установлена на одном компьютера – сервере
терминалов, а загрузка рабочих станций осуществляется по сети с диска
сервера. Такая организация работы группы компьютеров имеет ряд
преимуществ. Во-первых: устанавливать и настраивать операционную
систему нужно только на одном компьютере, во-вторых: рабочие станции –
это относительно маломощные компьютеры, на которых нет жестких
дисков. Производительность рабочих станций определяется
производительностью сервера. Следовательно, выбрав достаточно мощный
компьютер под терминал-сервер, можно построить достаточно
эффективную вычислительную систему на базе малопроизводительных
компьютеров. Что для этого требуется? А не так уж и много: установить
операционную систему на компьютере, который будет исполнять роль
терминал-сервера, настроить его, как терминал сервер и сгенерировать
загрузочный модуль для рабочих станция (его можно записать на дискету
или в ROM память сетевой карты).

21.1. Как это работает?

При включении терминал-клиента по сети отправляется


широковещательный запрос (запрос, обрабатываемый всеми
компьютерами сети), сообщающий всем о своем присутствии в сети. В
запросе как бы говорится: вот он я, мой MAC-адрес сетевой карты такой-
то, сообщите мне мои сетевые параметры и другую полезную информации
о себе. И если в сети работает терминал-сервер, то именно он дает ответ на
такой запрос: по данному MAC-адресу в базе данных сервера
(/etc/bootptab) числится компьютер с таким-то именем и таким-то IP-
адресом. Сервер отправляет эту информации (и другую дополнительную)
инициатору запроса, в результате чего вновь включенный компьютер
узнает свое имя, свой IP-адрес, маску подсети, шлюз, а также каталог
нахождения операционной системы и имя файла-ядра системы. С этого
момента начинается загрузка операционной системы.
Для получения начальной информации от сервера возможно
использование двух протоколов DHCP или BOOTP. Различия этих
189
протоколов состоят в механизме получения сетевых параметров
операционной системы бездисковой станции: первый – получение
динамического IP-адреса, а второй – статического, заранее определенного
для этого компьютера. Более просто настроить BOOTP, который и будет
использоваться в данном описании. В дальнейшем, при работе эти
протоколы не используются (они нужны только на начальной стадии
загрузки). Поэтому никаких ограничений на дальнейшую работу
использование BOOTP по сравнению DHCP не накладывает.
После получения начальной информации бездисковая станция
получает образ ядра операционной системы по протоколу tftp
(тривиальному ftp).

21.2. Создание сервера

Что бы осуществить загрузку операционной системы по сети


на бездисковых компьютерах необходимо выполнить настройку сервера
для работы с бездисковыми станциями и создать загрузочную дискету для
старта загрузки операционной системы по сети.
Рассмотрим детально создание терминал-сервера.
Создание сервера терминалов начинается на этапе установки
операционной системы. Это заключается в создании дополнительного
раздела диска. Объем такого диска 64 МБ (132000 блоков). Точка
монтирования /terminal. Необходимость создания отдельного раздела на
диске диктуется требованиями безопасности системы. Дальнейшая
установка операционной системы выполняется, как на обычный
компьютер. После установки системы, ее настройке и установке
дополнительных программ, можно приступить к настройке необходимых
программ, работа которых позволяет данному компьютеру исполнять роль
терминал-сервера.
Перейдите в каталог /etc/terminal и найдете программу
mk_term_server. Это сценарий создания терминал сервера. Запустите его
на выполнение. Вам будет задано несколько вопросов, и лучше всего
ответить на них нажатием Enter (принять, предлагаемые по умолчанию
значения). В результате работы этой программы в каталоге /terminal будет
создан образ операционной системы, которая будет доступна рабочим
станциям. Именно этот каталог является корневым каталогом для рядовых
компьютеров сети.
Рекомендуется перезагрузить терминал-сервер.
190
Что изменилось?
Во-первых: произведен запуск демона сервера NFS. Файл
/etc/exports содержит строки, указывающие, какие каталоги диска сервера
экспортировать в сетевую файловую систему;
Во-вторых: создан образ системы терминал клиентов (в
каталоге /terminal);
В-третьих: создана база данных терминал клиентов
/etc/bootptab (пока не содержит никаких записей);
В-четвертых: выполнена модификация файла /etc/inetd.conf.
В результате осуществлен запуск демона bootpd, отвечающего за
начальное взаимодействие терминал-клиента и терминал-сервера, а также
демона tftpd, обеспечивающего передачу файлов на этапе загрузки
операционной системы терминал-клиента;
В-пятых: в корневом каталоге создан каталог /conf, в котором
находятся конфигурационные файлы операционной системы каждого
терминала.
После перезагрузки сервер терминалов практически готов
выполнять свои функции.

21.3. Создание загрузочной дискеты

Теперь следует создать образ загрузочной дискеты для


рабочих станций. Смонтируйте диск, прилагаемый к книге, и найдете файл
/packages/ports/etherboot.tar.gz. Разархивируйте его, например, в каталог
/tmp. Вставьте дискету в дисковод, перейдите в каталог /tmp/echerboot-
5.0.8/src/ и наберите команду (здесь предполагается, что сетевая карта,
установленная на терминал-клиенте Realtek 8139):

gmake bin32/rtl8139.fd0

В результате выполнения этой команды на дискете будет


записан загрузочный модуль, который обеспечит запуск операционной
системы на терминал-клиенте (по умолчанию будет использоваться
протокол DHCP). Если на вашем компьютере установлена другая сетевая
карта, то вместо rtl8139 укажите тип вашего устройства. Что бы узнать, как
обозначен тип вашей сетевой карты, просмотрите файл NIC, находящийся
в текущем каталоге. В общем случае команда выглядит следующим
образом:
191
gmake bin32/<тип сетевого адаптера>.<носитель>

На этом подготовка терминал-клиента завершена. Попробуйте


загрузить рабочую станцию с этой дискеты. На экране появится
сообщение:

.000041.0000 done
Rom segment 0x0800 length 0x8000 reloc 0x9400
Etherboot 5.0.8 (GPL) Tagged ELF (FreeBSD) a.out for [RTL8139]
Boot from (N)etwork or (L)ocal ?

Возможно два варианта загрузки: по сети или с локального


диска (если такой существует). Выбрав N (по сети), будет осуществлена
попытка подключения к серверу по протоколу BOOTP (или DHCP):

Probing… [RTL8139]Found Realtek 8139 ROM address 0x0000


-ioaddr 0XCC00, addr 00:20:ED:1E:00:FC…

Но загрузка системы пока не возможна. Это связано с тем, что


на терминал-сервере в базе данных /etc/bootptab нет соответствия между
указанным MAC-адресом сетевой карты (это уникальный физический
адрес сетевой карты, присваиваемый ей на заводе-изготовителе) вновь
включенной рабочей станции и сетевыми параметрами терминал-клиента.
Собственно говоря, сервер ничего не знает о таком компьютере клиента.
Далее следует приступить к заполнению базы данных бездисковых станций
на сервере.

21.4. Создание базы данных терминалов

Что бы внести в базу данных сервера информацию о новом


клиенте (речь идет о компьютере) следует выполнить второй сценарий из
каталога /etc/terminal - add_terminal. При запуске этого сценария будет
задано три вопроса:

 IP-адрес бездисковой станции


 Символическое имя бездисковой станции
 MAC-адрес сетевой карты бездисковой станции

В результате на диске сервера будет создан файл свопинга и в


базу данных (/etc/bootptab) занесена нужная информация о новом

192
компьютере – терминал-клиенте (его символическое имя, IP-адрес).
Повторите загрузку терминал-клиента. Началась загрузка
операционной системы. Об этом свидетельствует множество точек,
побежавших по экрану (это передавалось ядро системы с сервера на
компьютер клиента). Далее процесс загрузки сопровождается
классическими сообщениями о запуске тех или иных служб системы.

21.5. Конфигурация системы бездисковых станций

Конфигурации операционной системы бездисковой станции


определяется конфигурационными файлами, хранящимися в каталоге
/conf. При добавлении новой записи в базу данных терминалов
выполняется копирование каталога /conf в каталог /terminal/conf. Именно
из последнего каталога берутся конфигурационные файлы при загрузке
операционной системы терминал-клиента.

Предупреждение! Если вы изменили конфигурационные


файлы, какого либо терминала в каталоге /terminal/conf, то следует
иметь ввиду, что добавляя новую запись в базу данных терминалов
(add_terminal) информация из каталога /conf будет перенесена в
каталог /terminal/conf, что приведет к потере таких изменений.
Поэтому, изменяя содержимое каталога /terminal/conf, изменяйте
соответственно и содержимое каталога /conf.

Структура каталога /conf крайне проста: подкаталог default и


подкаталоги с именем IP-адрес бездисковой станции. В первом хранятся
любые конфигурационные файлы, которые могут быть применены ко всем
терминалам, а в остальных – конкретно для терминала с указанным IP-
адресом.
В каталог /conf или /terminal/conf вы можете записать любые
конфигурационные файлы необходимые для запуска операционной
системы терминалов, но если какого либо необходимого для системы
конфигурационного файла в этом каталоге не существует, то
соответствующий файл будет взят из системы терминал-сервера.
Наиболее важными конфигурационными файлами для
бездисковых станций являются rc.conf, fstab, XF86Config. Возможно, вам
понадобится и *.sh файлы (файлы автозапуска каких либо служб-демонов
системы).

193
21.6. Запуск графической системы на бездисковых
станциях

Существует два основных способа запуска графической


оболочки на бездисковых станциях: стандартный, когда все процессы
выполняются на бездисковой станции, а сервер используется, как
удаленный диск, и терминальный. Последний способ применяется в
случае, если бездисковая машина относительно слабая, и ее
производительность не достаточна для нормальной работы графической
системы. В этом случае все процессы протекают на сервере, а бездисковый
компьютер используется только для отображения информации, выводимой
на экран.
Для стандартного запуска графической системы необходимо
после загрузки операционной системы на бездисковом компьютере войти,
как суперпользователь и набрать команду startx.
Для запуска графической системы в терминальном режиме,
после входа в систему на бездисковой станции необходимо выполнить
команду X –query <IP-адрес сервера>. Однако при этом следует
предварительно подготовить сервер для возможности такого подключения.
На сервере должен быть запущен kdm (возможно использование xdm или
gdm) и разрешена поддержка протокола XPDM.
Запуск графической системы можно выполнить и
автоматически, сразу после загрузки операционной системы. Для этого
необходимо создать файл *.sh и скопировать его в каталог конфигурации
тех бездисковых станций, на которых необходим запуск графической
системы.

21.7. Сопровождение сервера бездисковых станций

За время эксплуатации сервера бездисковых станций были


замечены некоторые недостатки в его работе. Это связано с рядом
программ, которые работают не совсем стабильно (такие программы
«виснут», значительно уменьшая производительность всей системы). Для
контроля, за состоянием системы на сервере рекомендуется запустить
монитор загрузки центрального процессора, и если длительное время
загрузка процессора неоправданно высокая, то, при помощи программы
top (или ps) легко выяснить причину такой «занятости» процессора. В
случае если это действительно не управляемый процесс, то, применив
194
команду:

kiil –9 <номер процесса>

его можно снять. При повторном зависании этого же процесса становится


ясным, что его работа программы, порождающей этот процесс не
стабильна. В этом случае необходимо предпринять меры по устранению
данной проблемы. Возможно, эта программа не является важной для
работы, например это хранитель экрана. Запретите его использование
(установите доступ только для root). Если же эта программа вам нужна для
работы, то попробуйте найти в сети интернет более новую версию или ее
аналог.
Регулярно следите за загрузкой процессора сервера,
особенно первое время его работы.

195
Заключение

Ну что сказать...?

Применение операционной системы FreeBSD в средней школе


демонстрирует очередной раз ее универсальность. Одна и та же система с
успехом выполняет функции, как сервера, так и рабочей станции офисного
типа. На уроках учащиеся осваивают основы программирования, веб-
дизайна, работу в сети с различными сетевыми службами, искусство
создания презентаций и подготовки текстовых документов. Выполняют
расчеты при помощи электронных таблиц, изучают смежные дисциплины
(физику, математику, химию, астрономию), используя новейшие
информационные технологии: интернет, компьютерное моделирование и
многое другое.
Опыт, накопленный в гимназии по использованию
программного обеспечения на базе UNIX систем, позволяет сделать
простой и важный вывод: Операционная система FreeBSD полностью
способна обеспечить нормальный учебный процесс. И не только как
система для обучения. Все делопроизводство в гимназии осуществляется
именно под управлением FreeBSD. И поверьте: многие вопросы легче
решить во FreeBSD, чем в Windows.
Защищенность, устойчивость в работе – все это и есть UNIX!
Используйте ее в своей работе, и вы ощутите все преимущества этой
операционной системы. Надо только попробовать... И вы уже никогда не
откажитесь от соблазна почувствовать себя важным звеном в современном
компьютерном мире: Вы управляете им, а не он вами!

196
Приложения
Список дополнительных программ,
установленных в системе

No Пакет Описание
1 ru-X11-3.3 Русификатор, шрифты
2 mc-4.5.55_5 Midnight commander
3 Pico-4.0 Текстовый редактор
4 ru-xxkb-1.6 Индикатор раскладки клавиатуры
5 koi8-u-monaco Украинские шрифты
6 linux_base_7.1 Поддержка Linux приложений
7 kdebase-3.1_1 KDE - графическая оболочка
8 kdenetwork-3.1 Сетевые программы KDE
9 kdeutils-3.1 Различные утилиты
10 koffice-1.2.1,1 Koffice - набор офисных программ
11 qvwm-1.1.12 Qvwm - графическая оболочка
12 icewm-1.0.20 Icewm - графическая оболочка
13 xpaint-2.6.7 Графический редактор
14 ru-kde-i18n-3.1 Русификатор KDE
15 Ru-koffice-i18n-1.2,1 Русификатор koffice
16 gview-0.1.15 Программа просмотра картинок
17 xwpe Оболочка для разработки собственных
программ
18 FreePascal 1.0.6 Свободно распространяемая версия
компилятора языка Pascal
19 kdegraphics-3.1 Пакет программ для работы с графикой
20 OpenOffice 1.0.2 Пакет офисных программ
21 Linux-netscape-4.8 Netscape Communicator 4.8 (Интернет-
обозреватель)
22 Gimp 1.2.3 Графический редактор
23 Mozilla 1.3 Интернет-обозреватель
197
No Пакет Описание
24 Opera 6.11 Интернет-обозреватель
25 Mplayer Видео проигрыватель
26 XMMS Аудио проигрыватель
27 GwenView Программа для просмотра графических
файлов
28 bochs PC эмулятор

198
Список конфигурационных файлов

No Файл Описание
1 /etc/host.conf Определяет
последовательность
просмотра серверов при
разрешении имен
2 /etc/hosts Таблица символических имен
компьютеров
3 /etc/fstab Список монтируемых
файловых систем
4 /etc/exports Список каталогов для NFS
5 /etc/ttys Конфигурация терминалов
6 /etc/inetd.conf Конфигурационный файл
супер демона
7 /etc/rc.conf Сценарий запуска системы
8 /etc/hosts.allow Файл, определяющий доступ
к службам компьютера по
сети
9 /usr/X11R6/share/qvwm/system.qvwmrc Конфигурация графической
оболочки qvwm
10 /etc/printcap Конфигурация системы
печати
11 /etc/firewall.rules Список правил для
межсетевого экрана

199
Украинизация KDE 3

200
Словарь терминов

Термин Толкование
NIS Сетевая информационная служба, обеспечивает контроль
над регистрацией пользователей в системе
NFS Сетевая файловая система
KDE Графическая оболочка UNIX-подобных систем
FTP Протокол передачи файлов по сети
HTTP Протокол передачи гипертекстовых документов по сети
POP3 Почтовый протокол, служит для получения почты
SMTP Почтовый протокол, служит для отправки почтовых
сообщений
BIOS Базовая система ввода-вывода. Управляет начальной
загрузкой компьютера
FireWall Межсетевой экран. Программа или устройство,
контролирующее все пакеты, поступающие на данный host
и выходящие из него
TCP Транспортный протокол. Служит основой для передачи
информации между компьютерами
Протокол Система правил, согласно которых осуществляется
передача данных от одного компьютера к другому
IP адрес Адрес компьютера в сети. IP адрес задается в виде
четырехбайтовых чисел (октетов), например: 192.168.1.45
Quota Ограничение чего-либо, например объема личного каталога
пользователей
DHCP Протокол динамического распределения IP адресов
Провайдер Организация, предоставляющая услуги интернет

201
Основные команды модемов

Команда Выполняемое действие


ATDP333333 Набрать номер 333333 (импульсный набор номера)
ATM0 Выключить динамик
ATM1 Включить динамик на время набора номера и
выключить его после установления соединения
ATM2 Включить динамик модема и не отключать его на все
время сеанса связи (режим используется для
настройки соединения)
ATS0=0 Отключить режим автоподнятия трубки (установка по
умолчанию)
ATS0=n Включить режим автоподнятия трубки. Поднятие
трубки произойдет после n-го звонка
ATS7=n Определить время установления связи n секунд
ATX3 Игнорировать отсутствие гудка в трубке.
ATX4 Не производить набор номера, если гудка в трубке
нет
AT&F Установить “заводские” настройки модема
AT&W Сохранить текущие настройки модема
ATZ Восстановить последний сохраненный набор
настроек
ATLn Уровень громкости встроенного динамика (n=0-7)
AT*Fn Удаленное администрирование
0 – отключено
1 – включено (установить AT&T4)
AT*Pn Уровень ослабления выходного сигнала (n=0-15, по
умолчанию 9)
AT&Vn Показать настройки n-го профиля (n=0-5)
AT&Ln Тип линии
0 – Dial-Up
1- 2W линия
2 – 4W линия

202
Команда Выполняемое действие
+++ Escape sequence code, entered in data state, wait for
modem to return to command state
ATS20=n Скорость передачи данных (bps)
N=0 230400
N=1 115200 (по умолчанию)
N=2 76800
N=3 57600
N=4 38400
N=5 19200
N=6 16800
N=7 14400
N=8 12000
N=9 9600
N=10 7200
N=11 4800
N=12 2400
N=13 1200
N=14 460800
N=15 300
N=16 307200

Применяйте эти команды в программах управления


модемами. Для объединения команд допускается использование одного
префикса AT. Например, чтобы выполнить две команды ATZ и ATS0=3,
нужно набрать ATZS0=3. Допускается между командами использовать
разделитель – пробел: ATZ S0=3.

203
Драйверы GhostScript 7.05
В данной таблице вы найдете, какой драйвер системы gs
соответствует модели вашего принтера.

Драйвер Тип принтера


ap3250 Epson AP3250 printer
appledmp Apple Dot Matrix Printer (should also work with
Imagewriter)
bj10e Canon BubbleJet BJ10e
bj200 Canon BubbleJet BJ200
bjc600 Canon Color BubbleJet BJC-600, BJC-4000 and BJC-70
also good for Apple printers like the StyleWriter 2x00
bjc800 Canon Color BubbleJet BJC-800
ccr CalComp Raster format
cdeskjet H-P DeskJet 500C with 1 bit/pixel color
cdjcolor H-P DeskJet 500C with 24 bit/pixel color and
high-quality color (Floyd-Steinberg) dithering;
also good for DeskJet 540C and Citizen Projet IIc (-
r200x300)
cdjmono H-P DeskJet 500C printing black only;
also good for DeskJet 510, 520, and 540C (black only)
cdj500 H-P DeskJet 500C (same as cdjcolor)
cdj550 H-P DeskJet 550C/560C/660C/660Cse
cp50 Mitsubishi CP50 color printer
declj250 alternate DEC LJ250 driver
djet500c H-P DeskJet 500C alternate driver
(does not work on 550C or 560C)
dnj650c H-P DesignJet 650C
epson Epson-compatible dot matrix printers (9- or 24-
pin)
eps9mid Epson-compatible 9-pin, interleaved lines
204
Драйвер Тип принтера
(intermediate resolution)
eps9high Epson-compatible 9-pin, interleaved lines
(triple resolution)
epsonc Epson LQ-2550 and Fujitsu 3400/2400/1200 color
printers
hl7x0 Brother HL 720 and HL 730 (HL 760 is PCL compliant)
ibmpro IBM 9-pin Proprinter
imagen Imagen ImPress printers
iwhi Apple Imagewriter in high-resolution mode
iwlo Apple Imagewriter in low-resolution mode
iwlq Apple Imagewriter LQ in 320 x 216 dpi mode
jetp3852 IBM Jetprinter ink-jet color printer (Model #3852)
la50 DEC LA50 printer
la70 DEC LA70 printer
la70t DEC LA70 printer with low-resolution text enhancement
la75 DEC LA75 printer
la75plus DEC LA75plus printer
lbp8 Canon LBP-8II laser printer
lips3 Canon LIPS III laser printer in English (CaPSL) mode
ln03 DEC LN03 printer
lj250 DEC LJ250 Companion color printer
lj4dith H-P LaserJet 4 with Floyd-Steinberg dithering
lp8000 Epson LP-8000 laser printer
lq850 Epson LQ850 printer at 360 x 360 DPI resolution;
also good for Canon BJ300 with LQ850 emulation
m8510 C.Itoh M8510 printer
necp6 NEC P6/P6+/P60 printers at 360 x 360 DPI resolution
nwp533 Sony Microsystems NWP533 laser printer [Sony only]
oki182 Okidata MicroLine 182
205
Драйвер Тип принтера
okiibm Okidata MicroLine IBM-compatible printers
paintjet alternate H-P PaintJet color printer
pj H-P PaintJet XL driver
pjetxl alternate H-P PaintJet XL driver
pjxl H-P PaintJet XL color printer
pjxl300 H-P PaintJet XL300 color printer;
also good for PaintJet 1200C and CopyJet
r4081 Ricoh 4081 laser printer
sj48 StarJet 48 inkjet printer
sparc SPARCprinter
st800 Epson Stylus 800 printer
stcolor Epson Stylus Color
t4693d2 Tektronix 4693d color printer, 2 bits per R/G/B
component
t4693d4 Tektronix 4693d color printer, 4 bits per R/G/B
component
t4693d8 Tektronix 4693d color printer, 8 bits per R/G/B
component
tek4696 Tektronix 4695/4696 inkjet plotter
uniprint Unified printer driver -- Configurable Color ESC/P-,
ESC/P2-, HP-RTL/PCL mono/color driver
xes Xerox XES printers (2700, 3700, 4045, etc.)

206
207
208
209
210
211
FreePascal
(Выдержка статьи из интернет)

Главным инструментом любого программиста является


компилятор. Сейчас большинство печатных изданий уделяет основное
внимание таким монстрам как Microsoft Visual C++ и Borland Delphi,
забывая при этом о других, бесплатных продуктах. И забывая, к
сожалению, о том, что для написания коммерческих программ
программист должен обладать легальной копией такого компилятора. Увы,
большинству российских разработчиков-одиночек это просто не по
карману. Каково же решение? Использовать бесплатный компилятор! Для
C++ выбор достаточно велик – и, главное, есть масса информации про
альтернативные решения; а вот для Паскаля всё не так хорошо.
В этой статье будет рассказано об очень перспективном
бесплатном компиляторе Паскаля – Free Pascal Compiler.

Системные требования

В официальной документации написано, что для


минимальной работоспособности потребуется процессор не ниже Intel
80386 и 4МБ памяти – это действительно минимальная конфигурация для
запуска компилятора, для нормальной работы лучше иметь железо не хуже,
чем Pentium-75/16МБ. Требуемое место на диске зависит от того, что вы
будете устанавливать – можно работать с 8МБ (имея при этом
функциональность, превосходящую Borland Pascal), можно поставить и на
90МБ – и пользоваться всеми возможностями этого замечательного
продукта.

Инсталляция

Сначала, конечно, нужно достать дистрибутив. Это можно


сделать без особых проблем: он всегда доступен для свободного
скачивания со страницы http://www.freepascal.org/download.html (на момент
написания этих строк, последней версией была 1.0.4). Существуют пакеты
для DOS, Windows, Linux, OS/2 и FreeBSD. Если вы будете писать под DOS
или Windows (думаю, что большинство из вас сделает именно так), то
лучше сразу скачать один 22-х мегабайтный архив
212
ftp://ftp.freepascal.org/pub/fpc/dist/Dos/dosw32104full.zip, в который
включены наборы для этих двух операционных систем.

Теперь, наконец, дистрибутив скачан, распакован, и можно


приступать непосредственно к инсталляции.
Текстовый инсталлятор под Dos, Windows и Linux выглядит
одинаково. Если вы ставите Free Pascal впервые, то рекомендую выбрать
для инсталляции все пакеты дистрибутива. Разберёмся повнимательнее, что
тут к чему:

•Dos/Go32v2 – набор средств разработки для DOS. Для запуска


DOS’овского компилятора надо отметить галочками первые 2
пункта
•IDE – это аналогичная Borland Pascal среда разработки; но пока
она находится в состоянии beta-тестирования, и ещё не совсем
готова к использованию… о её замене я расскажу ниже
•Extra utilities, GNU utilities – GNU утилиты diff, patch, yacc и тому
подобные; если вы точно знаете, что они вам не понадобятся –
не устанавливайте
•GNU debugger – тут вроде всё понятно
•Free Component Library (FCL) – набор всевозможных Delphi-
подобных классов – может пригодиться
•API units – платформенно-зависимая основа для Free Vision
(многоплатформенный аналог Turbo Vision); в стандартный
дистрибутив не входит из-за проблем с лицензией Borland.
•Basic units - набор юнитов для FCL
•Miscellaneous units – тут есть полезные юниты – например для
работы с ZIP-архивами
•Win32 – название говорит само за себя. Основная часть пакетов
тут аналогична предыдущему меню, но есть и отличия
•OpenGL units – Да! Тут можно писать графические приложения
под OpenGL
•GTK units – набор всевозможных классов
•Networking units – тут находится интерфейс для работы с WinSock
•Database (interbase, mySQL) – если верить названию этих
компонент, то они предназначены для работы с базами данных,
но мне так и не довелось их применить

213
Из меню Common хорошо бы поставить все примеры; и, если
вы не прочь почитать англоязычную документацию (очень, кстати,
помогает) – отметьте галочкой и Documentation (PDF-вариант гораздо
лучше смотрится в печатном виде).

Вкладку Sources обсуждать не стоит – это исходный код


всего вышеперечисленного (даже самого компилятора) и нужно
обязательно установить оттуда всё, без всяких там «если…». Ведь только
ради этого стоит скачать и установить этот продукт!

После инсталляции хорошо бы ещё создать в каталоге


bin\go32v2 файл fpc.bat со строчкой вида: @ppc386 –Tgo32V2 %1 и файл
fpcw.bat соответственно с: @ppc386 –Twin32 %1

Думаю, их назначение понятно – облегчить программисту


жизнь, не заставляя его каждый раз набирать дикую командную строку.
Также хорошо бы прописать в PATH путь к каталогу bin\go32v2.

Что у нас в меню?

Чем же отличается FPC от Borland Pascal или Delphi? Чем


прийдётся заплатить за бесплатность? На самом деле немногим – ну разве
что нет полноценной IDE. А вот в остальном – этот компилятор успешно
тягается даже с Delphi; это полноценная реализация объектно-
ориентированного Паскаля с поддержкой классов и механизма обработки
исключений. Итак – основные характеристики:

•Генерация «родного» кода для нескольких платформ: DOS (с


использованием DJ Delorie's GO32V2 – это достаточно известный и
часто используемый экстендер защищённого режима), Windows
(NT и 9x), Linux (поддержка форматов out и Elf), OS/2 (с
использованием EMX).
•Высокоскоростной оптимизирующий компилятор.
•Генерация 32-битного кода. Пользователи Borland Pascal оценят
это по достоинству – работать с памятью будет гораздо проще.
•Синтаксис языка почти полностью совместим с Borland Pascal и
достаточно хорошо совместим с Delphi.
214
•Поддержка ANSI-строк.
•Поддержка исключений.
•Поддержка RTTI.
•Перегрузка процедур, функций и операторов, поддержка функций
с переменным числом параметров. Вот этого действительно не
хватало в других реализациях Паскаля. Теперь можно легко
написать аналог «Сишного» printf(), или сделать полноценную
библиотеку для работы с векторами и матрицами!
•Возможно использовать С++-подобные операторы, вроде a++ и
a+=b – но это на любителя; возможно, кому-то пригодится.
•Встроенный ассемблер поддерживает синтаксис AT&T и Intel,
понимает MMX и SIMD инструкции (с последними в Delphi явные
проблемы, а Borland Pascal тут вообще отдыхает).
•Вместо исполняемого файла компилятор может просто
сгенерировать программу на ассемблере, которую потом можно
самому прогнать через GAS, NASM, MASM или TASM.
•Можно вызывать внешние процедуры, написанные на C (хороший
пример тому – порт библиотеки MIDAS для FPC, но об этом
потом).
•Выборочная компоновка – из юнитов в исполняемый файл
включаются только те процедуры, которые действительно
используются – это помогает сильно сэкономить на размере
получаемой программы.
•Поддерживается GNU debugger (входит в комплект поставки).

Особенности синтаксиса и совместимость.

В официальной документации FPC сказано, что синтаксис


языка максимально приближен к BP; но поскольку в FPC было введено
много дополнений (и к тому же – это 32-битный компилятор), существуют
и некоторые ограничения на совместимость:

•Списки параметров уже определённых функций должны точно


совпадать. Если вы в Interface-части юнита написали Procedure
a1(a:Longint), то и в Implementation придётся писать Procedure
a1(a:Longint), но не Procedure a1.
•Символы // означают начало комментария до конца строки.

215
•Mem[], MemL[], MemW[] и Port[] находятся в юните go32.ppu. Это
из-за мультиплатформенности компилятора.

Protected, Public, Published, Try, Finally, Except, Raise относятся к


зарезервированным словам. Поэтому нельзя называть функции или
переменные такими именами. Если всё же нужно скомпилировать старый
Turbo Pascal’евский код - можно использовать ключ –So при компиляции.

•Far и Near игнорируются (для 32х битного компилятора они не


нужны).
•Interrupt работает только при компиляции под DOS.
•Булевые выражения вычисляются только до того момента, когда
их значение будет однозначно определено (shortcut evaluation).
•По умолчанию для ассемблерных вставок компилятор использует
синтаксис AT&T. Чтобы использовать синтаксис Intel, нужно
использовать директиву {$ASMMODE INTEL}
•Юнитa Overlay больше нет (32-битный компилятор).
•Откомпилированные юниты (tpu, tpp) не совместимы. Вам
придётся перекомпилировать ваши старые юниты, если вы хотите
использовать их с FPC.
•Для использования ресурсов Windows нужно сначала написать
файл ресурсов в формате RC (это можно сделать, например, с
помощью Resource Workshop) а потом использовать компилятор
ресурсов windres, поставляемый с FPC. Для подключения
откомпилированного файла ресурсов к программе используйте
директиву {$R <имя файла ресурса}.

Нововведения

По сравнению с Borland Pascal, и даже с Delphi – введено


много расширений, большей частью позаимствованных из C и C++.
Процедуры работы с файлами поддерживают длинные имена
файлов на файловых системах FAT16 и FAT32.

И это всё?

Некоторые спросят: “A как же работать с графикой и


216
звуком? ” Поспешу их обрадовать – есть множество всевозможных
библиотек для графики и звука (и для многого другого). Очень хороша
графическая библиотека GraphiX, которую просто глупо сравнивать со
стандартным юнитом Graph. Для работы со звуком можно использовать
fMod (в некоммерческих продуктах) и ISS (в shareware). Если и этого не
достаточно – возможна компоновка к вашей программе статической
библиотеки, написанной на C/C++ (с помощью директивы {$L <имя
библиотеки>}.

На сайте http://www.freepascel.org в разделе Contributed units


можно найти библиотеки и проекты практически на все случаи жизни –
самое приятное, что почти все их можно использовать совершенно
бесплатно (ну, разумеется, хорошо бы упомянуть соответствующего автора
в своей программе, и вообще поставить его в известность).

IDE

Отсутствие работоспособной текстовой (и графической) IDE


можно компенсировать различными способами. Я предлагаю для этого
просто использовать ваш любимый текстовый редактор. Я, например,
набираю код в редакторе Borland Pascal – там удобная подсветка
синтаксиса, под рукой все необходимые инструменты. Можно
использовать редактор Far’a, можно настроить RhIDE – это уже кому как
нравится.

Вывод

Какие впечатления мы имеем после беглого обзора? FPC по


праву можно назвать хорошим компилятором (вернее сказать –
«диалектом») Паскаля. Этот продукт очень быстро развивается, и его
качество уже не уступает коммерческим конкурентам. Если при его
использовании вы найдёте какой-нибудь баг – не поленитесь сообщить о
нём в команду разработчиков; они очень оперативно исправляют ошибки!

217
Литература

1.Сервер Red Hat Linux для Windows: Пер. С англ./Пол Сэри – К.:
Издательство “ДиаСофт”, 2001.

2.Кирх О., Доусон Т., Linux для профессионалов. Руководство


администратора сети, второе издание.- Спб.: Питер, 2001

3.Визерпун Крэг, и др, Освой самостоятельно Linux за 24 часа, 3-е издание.:


Пер. С англ.: -М.: Издательский дом “Вильямс”, 2001

4.Эбен Майкл, Таймэн Брайан,: FreeBSD. Энциклопедия пользователя: Пер.


С англ.: К.: ООО “ТИД “ДС”, 2002.

218
Оглавление

Предисловие
Для кого эта книга
О чем эта книга
Как возникла книга
Благодарности
Введение
Сравнительная характеристика Windows и UNIX
Операционная система FreeBSD и немного философии
Обзор графических оболочек
KDE
Gnome
Qvwm
xfce
1. Первый сеанс работы
1.1. Процесс запуска
1.2. Вход в систему
1.3. Настройка графической среды
1.4. Рабочий стол
1.5. Выход из системы
1.6. Выключение компьютера
2. Настройка рабочей среды
2.1. Первый вход в систему
2.2. Запуск программы настройки Contol Center
2.3. Настройка шрифтов
2.4. Особенности настройки рабочего стола в KDE 3
3. Домашний каталог
3.1. Назначение домашнего каталога

219
3.2. Ограничение доступа к домашнему каталогу
3.3. Основные файлы, находящиеся в домашнем каталоге
3.4. Файловые менеджеры
3.4.1. Midnight Commander
3.4.2. Konqueror
4. Пароль
4.1. Правила выбора пароля
4.2. Установка или смена пароля
5. Файловая система UNIX
5.1. Файловая система
6. Основные команды UNIX
6.1. Краткий обзор команд
6.2. Команды для работы с файлами
6.3. Команды для работы с каталогами
6.4. Монтирование файловых систем
6.5. Команда top
7. Программирование командной строки
7.1. Интерпритатор Shell
7.2. Программные каналы
7.3. Создание собственных команд
7.4. Аргументы и параметры команд
7.5. Переменные
7.6. Подстановка команд
7.7. Арифметические операции в сценариях
7.8. Команды test
7.9. Ветвление
7.10. Циклы
7.10.1. Циклы while
7.10.2. Циклы until
7.10.3. Циклы for
220
7.10.4. Выход из цикла
7.11. Фильтры
8. Архивация
8.1. Архивация данных. Архиваторы
9. Сетевые протоколы
9.1. Понятие сетевой протокол
9.2. Компьютерные сети
9.3. Подключение к FTP серверу
9.4. Подключение к HTTP серверу
9.5. Подключение по протоколу ssh
10. Обзор установленного программного обеспечения
11. Программирование FreePascal
12. Компьютерная сеть гимназии 28
12.1. Конфигурация сервера
12.2. Конфигурация рабочей станции
13. Установка операционной системы
13.1. Общие замечание перед установкой системы
13.2. Установка операционной системы
13.3. Сетевая конфигурация
13.4. Установка дополнительного программного обеспечения
14. Сетевые службы
14.1. NFS
14.2. NIS
14.3. QUOTA
14.4. POP3
14.5. FTP
14.6. HTTP
14.7. Подключение к интернет
14.8. Прокси сервер SQUID
14.9. SAMBA
221
14.10. Защита сервера
15. Установка дополнительных служб
15.1. Управление питанием компьютера
15.2. Печать
15.3. Запуск Windows-приложений во FreeBSD
15.4. Виртуальный компьютер bochs
15.5. Игры
15.6. Обучающие программы
16. Обновление ядра
17. Сопровожение системы. Сервер
17.1. Создание конфигурации рабочего стола пользователей по
умолчанию
17.2. Создание группы пользователей
17.3. Создание учетных записей пользователей
17.4. Удаление учетных записей пользователей
17.5. Пользователь забыл пароль
17.6. Пользователь не может войти в систему. Имя и пароль
введены верно
17.7. Изменение квот
17.8. Почтовая служба
17.9. Добавление нового компьютера в сеть
17.10. Планирование событий
17.11. Установка нового программного обеспечения
18. Сопровождение системы. Рабочая станция
18.1. Настройка почтового клиента
18.1.1. Настройка протокола POP3
18.1.2. Настройка SMTP
18.2. Компьютер “завис”
18.3. Пользовательская установка OpenOffice
18.4. Установка nVIDIA драйвера

222
19. Несколько полезных советов
19.1. Защита процесса загрузки
19.2. Блокировка комбинации клавиш Ctrl+Alt+Delete
19.3. Блокировка комбинации клавиш Ctrl+Alt+Backspace
19.4. Запуск приложений на удаленном компьютере
19.5. Копирование файлов и каталогов с удаленного
компьютера
19.6. Использование удаленных клиентов x-сервера
19.7. Работа с образами CD
19.8. Создание собственных сценариев
19.9. Запись CD
19.10. Автомонтирование разделов Windows
20. Системная политика

21. Бездисковые станции

Заключение “Ну что, сказать?”

Приложения
Список дополнительных программ, установленных в системе
Список конфигурационных файлов системы
Украинизация KDE-2.2.2
Словарь терминов
Основные команды модемов
Драйверы GhostScript 7.05
Установка операционной системы (схема)
FreePascal (статья из интернет)

Литература

223

Вам также может понравиться