Денис Колисниченко - Linux-сервер своими руками
19.7.9. Обработка сигналов и протоколирование
Возможно, вы хотите обеспечить выполнение вашего сценария после выхода пользователя из интерпретатора или выполнить какие-нибудь действия при отключении удаленного пользователя от системы. «Перехватить» сигнал (прерывание) можно с помощью команды trap. Формат команды trap следующий:
trap имя сигналы
где: имя — это имя функции или набор команд, которые должны быть выполнены при получении сигнала;
сигналы — наиболее часто используется перехват сигналов, описанных в табл. 19.42. Полный список сигналов вы найдете в гл. 5.
Сигналы Таблица 19.42
Номер Название Описание 01 SIGHUP Освобождение линии (hangup) 02 SIGINT Прерывание (interrupt) 03 SIGQUIT Выход (quit) 09 SIGKILL Уничтожение процесса (kill). He перехватывается и не игнорируется 15 SIGTERM Программный сигнал завершенияПример. Игнорирование сигналов 1, 2, 3, 15
trap : 1 2 3 15
: — это пустой оператор, не выполняющий никаких действий.
Рассмотрим, как можно протоколировать работу собственного сценария. Для этого существуют два способа – с помощью команды tee и команды script.
Способ 1:
$LOGFILE=my_log
if ["$LOGGING" != "true"] then export LOGGING="true"; exec $0 I tee $LOGFILE; fi
Способ 2:
$LOGFILE=my_log
if ["$LOGGING" != "true"]; then export LOGGING="true"; exec script $0 $LOGFILE; fi
В первом случае мы устанавливаем флаг протоколирования LOGGING и заново запускаем наш сценарий. При этом перенаправляем весь стандартный вывод команде tee, которая выполнит протоколирование. Второй способ аналогичен первому за исключением того, что мы не будем самостоятельно запускать сценарий — это за нас выполнит команда script. Оба способа можно использовать для протоколирования работы других программ:
script program ~/program.log
20
Графический интерфейс пользователя.
Система X Window
Система X Window является мощной графической средой для UNIX-станций. Данная система была разработана Массачусетским технологическим институтом (MIT) и стала стандартом для всех UNIX-систем. Практически каждая рабочая станция UNIX работает на одном из вариантов системы X Window.
Группа программистов, возглавляемая Дэвидом Вексельблатом (David Wexelblat) создала свободно распространяемую версию MIT X Window для процессоров i80386–Pentium IV и совместимых с ними. Эта версия получила название XFree86, поскольку могла выполняться в операционных системах, предназначенных для процессоров, использующих систему команд х86 — Linux, FreeBSD и другие. XFree86 является торговой маркой XFree86 Project, Inc.
Данная глава включена в книгу последней, так как графический интерфейс на сервере — это излишество. Зачем тратить драгоценные системные ресурсы на графический интерфейс, если хороший администратор подходит к серверу очень редко, а иногда вообще один раз — во время первоначальной настройки? Однако, если вы начинающий администратор, графический интерфейс поможет вам быстрее настроить тот или иной сервис. Может случиться такое, что вы установите новую версию дистрибутива и окажется, что расположение некоторых системных файлов будет изменено. Чтобы не тратить время на прочтение документации, вы можете использовать один из конфигураторов, например, netconf или linuxconf. Графический конфигуратор уж точно знает, где и что лежит. Но применение графического интерфейса только для конфигураторов не оправдано, потому что упомянутые конфигураторы работают и в консоли.
Другая причина применения GUI (Graphic User Interface — графический интерфейс пользователя) — удобство: браузер netscape удобнее, чем lynx, хотя и к последнему можно привыкнуть, если в нем часто работать. Обычно, если позволяют системные ресурсы, устанавливается система X Window, но не настраивается для автоматического запуска. Какой бы ни была причина установки вами системы X Window, если вы все-таки установили ее, то эта глава для вас. В этой главе мы рассмотрим конфигурирование X Window (далее X), а также работу в графических средах KDE и Gnome.
Двумя предложениями выше я упомянул, что установить X вы можете, если позволяют системные ресурсы. Какие же минимальные системные требования X? Как бывает со многими Linux-приложениями, здесь более критичен объем оперативной памяти, чем частота процессора. Intel Pentium III 600 MHz/32 MB работал при запущенном КОЕ в два раза медленнее, чем Celeron 433 MHz/64 MB. Для комфортной работы с KDE и многими Х-приложениями необходимо 64 или даже 128 Мб оперативной памяти. Желательно иметь в запасе 64…128 Мб своп-пространства. Частота процессора — не менее 200 MHz. Как видите, если для работы сервера, например, шлюза, достаточно процессора Intel Pentium 133 MHz и 32 MB памяти, то при установке X минимальные системные требования возрастают. Я понимаю, что делаю из мухи слона, потому что сейчас минимальная конфигурация компьютера — Celeron 400 MHz /128 MB, но все это сказано для владельцев старых компьютеров. Например, если у вас где-нибудь завалялся старенький IP 166 ММХ/32 MB, он еще может принести большую пользу, если использовать его как шлюз для доступа к Интернет целой сети предприятия. И все это будет работать намного быстрее, чем организованный на скорую руку шлюз на платформе Windows 98 + WinGate, даже При использовании Pentium III. Более мощные компьютеры можно загрузить, соответственно, и более ответственными и ресурсоемкими процессами под управлением окон — набором текстов в Word и просмотром МР4. Извините, я немного отвлекся. Я говорил о стареньком компьютере, который может нам еще пригодиться. Так вот, если не хотите испортить приятное впечатление от Linux, не устанавливайте на таком компьютере X Window. Помню свою первую попытку установить Linux + X Window. Тогда у меня был как раз IP 166ММХ. Установить-то установил, и X настроил, а вот удовольствия от работы не было никакого. При использовании менее ресурсоемких оконных менеджеров, например, fvwm и fvwm2, все работало удовлетворительно, а вот KDE тогда еще самой первой версии жутко притормаживал.
20.1. Установка и запуск системы
Удобнее всего устанавливать систему X Window при установке операционной системы. Если вы еще не сделали этого, сейчас рассмотрим установку системы из пакетов. Обычно все необходимые пакеты находятся на первом инсталляционном диске Linux. Перейдите в каталог /mnt/cdrom/Mandrake/RPMS, если вы используете Mandrake, или /mnt/cdrom/RedHat/RPMS, если вы используете Red Hat Linux. Проще всего установить все пакеты сразу:
rpm –in XFree*
Для установки всех программ для X Window введите команду:
rpm –ih x*
Такая команда у вас будет работать, если вы не используете или еще не установили демон xinetd. В противном случае менеджер RPM-пакетов сообщит вам, что пакет xinetd уже установлен и установка всех пакетов будет прервана.
Естественно, такой вариант (вариант установки всех программ) вас не устраивает — уж больно он неэкономно относится к дисковому пространству. Попробую перечислить необходимые пакеты для установки X Window и KDE. В любом случае вам нужно установить следующие пакеты:
XFree86-4.0.1-2 8mdk.i586.rpm — основной пакет
XFree86-libs-4.0.1-28mdk.i586.rpm — библиотеки
XFree86-server-4.0.l-28mdk.i586.rpm
XFree86-server-common-3.3.6-18mdk.i586.rpm
XFree8 6-xfs-4.0.1-28mdk.i586.rpm — сервер шрифтов
XFree86-glide-module-4.0.1-28mdk.i586.rpm — модуль glide
XFree86-FBDev-3.3.6-18mdk.i586.rpm
XFree86-Xvfb-4 .0.1-28mdk.i586.rpm — виртуальный буфер кадров для X Window
XFree86-Xnest-4.0.1-2 8mdk.i586.rpm
XFree86-100dpi-fonts-4.0.1-28mdk.i586.rpm
XFree86-75dpi-fonts-4.0.1-28mdk.i586.rpm
XFree86-cyrillic-fonts-4.0.1-28mdk.i586.rpm
xinitrc-2.4.4-32mdk.noarch.rpm
XFree86-SVGA-3.3.6-18mdk.i586.rpm
Последний пакет является сервером для вашей видеоплаты. Данный сервер может работать с большинством видеоадаптеров SVGA. Если у вас другая видеоплата, например, Mach 8, 32, 64; AGX, S3, VIRGE, IBM 8514, установите соответствующий сервер. Этим вы обеспечите корректную работу всей системы. X Window. После установки X перейдем к установке KDE. Если ввести команду:
rpm –ih kde*
система установит много ненужных пакетов с документацией. Все пакеты kde-i18n* содержат одну и ту же документацию, но на разных языках — от бразильского до украинского. Данные пакеты также выполняют локализацию KDE. В любом случае вам нужно установить только один пакет из всех этих — kde-i18n-Russian-2.0-1mdk.i586.rpm. Устанавливать его нужно после остальных пакетов среды KDE.
Вот какие пакеты вам нужно установить:
1. kdebase-2.0-7mdk.i586.rpm — базовый пакет
2. kdelibs-2.0-5mdk.i586.rpm — библиотеки
Откройте для себя мир чтения на siteknig.com - месте, где каждая книга оживает прямо в браузере. Здесь вас уже ждёт произведение Денис Колисниченко - Linux-сервер своими руками, относящееся к жанру Программное обеспечение. Никаких регистраций, никаких преград - только вы и история, доступная в полном формате. Наш литературный портал создан для тех, кто любит комфорт: хотите читать с телефона - пожалуйста; предпочитаете ноутбук - идеально! Все книги открываются моментально и представлены полностью, без сокращений и скрытых страниц. Каталог жанров поможет вам быстро найти что-то по настроению: увлекательный роман, динамичное фэнтези, глубокую классику или лёгкое чтение перед сном. Мы ежедневно расширяем библиотеку, добавляя новые произведения, чтобы вам всегда было что открыть "на потом". Сегодня на siteknig.com доступно более 200000 книг - и каждая готова стать вашей новой любимой. Просто выбирайте, открывайте и наслаждайтесь чтением там, где вам удобно.

