Колисниченко Д.Н. - Linux-сервер своими руками (1077324), страница 39
Текст из файла (страница 39)
Файл конфигурацииПо умолчанию используется файл конфигурации / e t c / s y s l o g . c o n f .Кроме этого вы можете указать другой файл конфигурации с помощьюопции -/ Давайте рассмотрим установки демона на примере обычногофайла конфигурации (см. листинг 5.4).Листинг 5.4.# Протоколирование аутентификации. Файл протокола /var/log/auth.logauth,authpriv.* /var/log/auth.log# Префикс "-" используется, если вы хотите синхронизировать# файл после каждой записи в него.*.*;auth,authpriv.none -/var/log/syslog# Сообщения пользовательских программuser.* -/var/log/user.log# Протоколировать все (кроме mail (почты)).
Уровень info и выше.# Частные (private) сообщения протоколироваться не будут (попе)*.info;mail.none;authpriv.none -/var/log/messages# Файл регистрации частных сообщений имеет ограниченный доступ.# Обычно в этот файл записываются сообщения об удаленном доступе к ртой/55Процессы# машине, например, сообщения от демона FTP о том, какие пользователи и# когда регистрировались на данном сервере.authpriv.* /var/log/secure# Протоколирование почты# Уровень отладки, информации и замечанийmail . = d e b u g ; m a i l .
= i n f o ; m a i l . = n o t i c e - / v a r / l o g / m a i l / i n f o# Уровень предупрежденийmail.=warn -/var/log/mail/warnings# Уровень ошибокmail.err -/var/log/mail/errors# Протоколирование демона cron. Уровни отладки, информации,# предупреждений и ошибокcron.=debug;cron.=info;cron.=notice -/var/log/cron/infocron.=warn -/var/log/cron/warningscron.err -/var/log/cron/errors# Протоколирование ядраkern.=debug;kern.=info;kern.=notice -/var/log/kernel/infоkern.=warn -/var/log/kernel/warningskern.err -/var/log/kernel/errors# Протоколирование очереди печатиIpr.=debug;lpr.=info;Ipr.=notice -/var/log/lpr/infolpr.=warn -/var/log/lpr/warningsIpr.err -/var/log/lpr/errors# Протоколирование новостейnews.=debug;news.=infо;news.=noticenews.=warn -/var/log/news/warningsnews.err -/var/log/news/errors-/var/log/news/info# Протоколирование демоновdaemon.=debug;daemon.=info;daemon.=noticedaemon.=warn -/var/log/daemons/warningsdaemon.err -/var/log/daemons/errors-/var/log/daemons/infоf Критические сообщения*.emerg *# Сохранять ошибки почты и новостей (уровень err и выше)# в отдельном файлеuucp,news.crit -/var/log/spooler# Загрузочные сообщенияlocal?.* -/var/log/boot.log156ПроцессыКак вы уже заметили, файл конфигурации состоит из двух полей: объектпротоколирования и файл, в который будут записываться сообщения, порождаемые этим объектом.
Для каждого объекта можно указать один из уровнейпротоколирования: debug, info, notice, warn, err. Первые три относятся кинформационным сообщениям. Уровень warn -- это предупреждения, аerr — ошибки. Существуют специальные сообщения — критические. Обычноони выводятся прямо на консоль.Как для обозначения объектов, так и для обозначения уровней протоколирования можно использовать символ *, который обозначает все объектыили все уровни. Например, если вы хотите протоколировать все сообщениядемонов в файл /var/log/daemons, то используйте такую конструкцию:daemon.* / v a r / l o g / d a e m o n s .Пример протоколирования всех сообщений уровня emerg (критический уровень) приведен выше. Если вы хотите отправлять сообщения не в файл, а впоименованный канал (FIFO), используйте символ | перед именем файла-потока.5.8.4. Сетевое протоколированиеСейчас разберемся, как обеспечить протоколирование в сети.
Протоколирование в сети - - это перенаправление сообщений на демон syslogd,запущенный на другой машине, где они будут записаны на диск.Для передачи сообщений используется протокол UDP. Он менее надежный, чем TCP, но отправление пакетов происходит несколько быстрее.Начните с того, что убедитесь, не закомментирована ли следующая строка ввашем файле /etc/services:syslocj 514/udpЗатем необходимо внести некоторые коррективы в файл конфигурации.Как и прежде, определите объекты протоколирования, а вместо файловпротоколов используйте параметр @hostname, где hostname — это имя компьютера, на который будут перенаправлены сообщения.
Например, дляперенаправления всех сообщений об ошибках на узел сети hostname можноиспользовать такую запись:*.err @hostnameДля перенаправления всех сообщений используется запись:* . * @hostnameИмя узла желательно указать в файле /etc/hosts, так как демон syslogdможет быть запущен после сервера доменных имен или сервер DNS окажется недоступным.Вы можете организовать центральный сервер протоколирования длявсей вашей локальной сети.
Для того, чтобы указать, какие хосты вы хотитепротоколировать, используйте опцию -1 список_хостов. В списке указываются простые имена машин, то есть без указания имени домена. Имена машинразделяются двоеточием (:). Возможно, вы также захотите использоватьопцию -s для указания дополнительного сокета для прослушивания.
Дляперенаправления сообщений используйте опцию -г на машине-клиенте, приэтом сообщения будут перенаправлены на сервер (см. табл. 5.7).157Процессы5.8.5. Демон klogdДемон klogd предназначен для перехвата и протоколирования сообщенийядра Linux (klogd расшифровывается как kernel-logging deamon). В своейработе вы можете использовать параметры демона, указанные в табл. 5.9.Параметры демона klogdПараметрТаблица 5.9Описание-с пУстанавливает уровень сообщений, которые будут выводиться на экран-d-f файлЗаписывать сообщения в указанный файл раньше демона syslogd-i-1Режим отладкиПозволяет перезагрузить символьную информацию ядра о модулях-nПерезагружает статическую символьную информацию и информацию о модулях ядраНе переходить в фоновый режим. Этот параметр используется, когда демон управляетсяпрограммой init-0Демон читает и протоколирует все сообщения, которые он найдет в буферах сообщенийядра.
После одного цикла чтения/протоколирования демон завершает работу-sЗаставляет демон klogd использовать системные вызовы для обращений к буферамсообщений ядра-k файлИспользует указанный файл в качестве файла, содержащего символьную информацию ядра-VВыводит версию и завершает работуДля просмотра сообщений ядра используется команда dmesg. Обычноона используется так:dmesg | lessДанная команда выводит сообщения ядра при запуске системы. С помощью параметра -с этой команды можно очистить ring-буфер ядра. Параметр-п задает уровень сообщений, которые будут выводиться на консоль.По умолчанию демон klogd вызывается системным вызовом для того,чтобы препятствовать отображению всех сообщений на консоль. Это правило не распространяется на критические сообщения ядра (kernel panic), таккак эти сообщения все равно будут отображены на консоли.Демон реагирует на сигналы: SIGHUP, SIGKILL, SIGINT, SIGTERM,SIGTSTP, SIGUSR1; SIGUSR2, SIGCONT.
Сигналы SIGTSTP и SIGCONTиспользуются для начала и завершения протоколирования сообщений ядра.Сигналы SIGUSR1 и SIGUSR2 аналогичны опциям -i и -I соответственно.То есть первый перезагружает информацию о модулях, а второй статическуюинформацию и информацию о модулях. Использовать сигнал GIGUSR1(как и все остальные) можно так: # kill -USR1 PID.5.8.6. Параметры ядраПараметр debug ядра Linux задает уровень отладки. Сообщения ядра (важные ине очень) передаются через функцию prinfk(). Если сообщение очень важное, то егокопия будет передана на консоль, а также демону klogd для регистрации сообщенияна жестком диске.
Сообщения передаются на консоль, потому что иногда невозможно запротоколировать сообщение на жестком диске (например, отказ диска).Предел того, что будет отображаться на консоли, задается переменнойconsole_loglevel. По умолчанию на консоли отображается все, что вышеуровня DEBUG (7). Список уровней можно найти в файле k e r n e l .
h .158Русификация Linux66.1. Русификация консолиВыбор языка системы производится при установке системы или припомощи соответствующих конфигураторов: keyboarddrake в Linux Mandrake иsetup в Linux Red Hat. В случае некорректного отображения русских символов нужно подправить файл / e t c / i n p u t r c (см. листинг 6.1), изменивследующие строки:Листинг 6.1. Фрагмент файла inputruc# SBits supports.set m e t a - f l a g onset convert-meta o f fset input-meta onset output-meta onДля русификации Midnight Commander в меню Options/Display bits необходимо включить поддержку восьмибитного ввода и вывода. После чеготребуется сохранить текущую конфигурацию.6.2. Русификация системы X WindowsКак ни странно, при выборе русскоязычного варианта установки русские шрифты устанавливаются на диск, но не прописываются в конфигурационных файлах.
Конечно, оконная среда КОЕ (К Desktop Environment),как и Gnome, в большинстве случаев использует эти шрифты, но некоторыеэлементы меню или подписи значков отображаются совсем не так, какнужно.Для корректного отображения русскоязычной информации на экране всистеме X Window нужно сделать следующее. Зарегистрировавшись какпользователь root, открыть в любом текстовом редакторе файл конфигурации XFree86 — / e t c / x l l / X F 8 6 C o n f i g и перед строкойFontPath " u n i x / : - l "добавить строкуFontPath " / u s r / X I 1 R 6 / l i b / f o n t s / C y r i l l i c / "Естественно, пакет XFree86-cyrillic-fonts должен быть предварительноустановлен.