Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
serverguide-precise-ru.pdf
Скачиваний:
77
Добавлен:
03.05.2015
Размер:
1.86 Mб
Скачать

Глава 23. Другие полезные приложения

Существует множество очень полезных приложений, разработанных командой Ubuntu Server Team и другими разработчиками, интегрированных в Ubuntu Server Edition, но которые могут быть не очень хорошо известны. Эта глава демонстрирует несколько полезных приложений, которые делают управление сервером Ubuntu (или множеством Ubuntu серверов) более простым.

439

Другие полезные приложения

1. pam_motd

При входе на сервер Ubuntu вы можете заметить информативное сообщение дня (Informative Message Of The Day — MOTD). Эта информация собирается и отображается с использованием пары пакетов:

landscape-common:: предоставляет основные библиотеки для landscapeclient, который может использоваться для управления системой с помощью веб-приложения Landscape. Пакет включает утилиту /usr/ bin/landscape-sysinfo, которая используется для сбора информации, выводимой в MOTD.

update-notifier-common:: используется для автоматического обновления

MOTD через модуль pam_motd.

pam_motd выполняет сценарии в /etc/update-motd.d в порядке чисел, предваряющих имена файлов. Вывод сценариев записывается в /var/run/motd с сохранением порядковых номеров и затем объединяется с /etc/motd.tail.

Вы можете добавить вашу собственную динамическую информацию в MOTD. Например, чтобы добавить информацию о местной погоде:

• Сначала установите пакет weather-util:

sudo apt-get install weather-util

Утилита weather использует данные METAR из National Oceanic and Atmospheric Administration и прогнозы от National Weather Service. Чтобы найти информацию для вашего региона вам потребуется 4-хсимвольный

индикатор местоположения ICAO. Он может быть определен при заходе на сайт National Weather Service1 .

Несмотря на то, что National Weather Service является правительственным агентством США, оно имеет доступ к данным от погодных станций по всему миру. Однако локальная информация о погоде может предоставляться не для всех мест за пределами США.

Создайте файл /usr/local/bin/local-weather, простейший shell сценарий, использующий weather с вашим ICAO индикатором местоположения:

#!/bin/sh

#

#

# Prints the local weather information for the MOTD.

#

#

1 http://www.weather.gov/tg/siteloc.shtml

440

Другие полезные приложения

#Replace KINT with your local weather station.

#Local stations can be found here: http://www.weather.gov/tg/siteloc.shtml

echo

weather -i KINT echo

• Сделайте сценарий исполняемым:

sudo chmod 755 /usr/local/bin/local-weather

• Создайте символьную ссылку в /etc/update-motd.d/98-local-weather:

sudo ln -s /usr/local/bin/local-weather /etc/update-motd.d/98-local-weather

Наконец, выйдите из сервера и войдите повторно, чтобы увидеть новое сообщение MOTD.

Теперь вы будете получать приветствия с некоторой полезной информацией и информацией о погоде, которая может быть не такой полезной. Надеемся, пример с application>local-weather

441

Другие полезные приложения

2. etckeeper

etckeeper позволяет легко сохранять содержимое каталога /etc в репозиторий системы контроля версий (VCS). Он отслеживает когда apt автоматически сохраняет изменения в /etc при установке или обновлении пакетов. Помещение /etc под контроль версий сейчас рассматривается как лучшая практика в индустрии, и назначение etckeeper — сделать этот процесс безболезненным, насколько это возможно.

Установите etckeeper, введя следующую команду в терминале:

sudo apt-get install etckeeper

Основной файл конфигурации, /etc/etckeeper/etckeeper.conf, достаточно простой. Основной опцией является выбор какую VSC использовать. По умолчанию etckeeper настроен на использование в качестве системы контроля версий bzr. Хранилище автоматически инициализируется (и сохраняет начальное состояние) в процессе установки. Есть возможность отменить это, выполнив следующую команду:

sudo etckeeper uninit

По умолчанию etckeeper будет сохранять незафиксированные изменения в / etc ежедневно. Это может быть отменено использованием опции настройки AVOID_DAILY_AUTOCOMMITS. Он также будет автоматически сохранять изменения до и после установки пакетов. Для более точного отслеживания изменений рекомендуется фиксировать изменения вручную, добавляя описание фиксации следующим образом:

sudo etckeeper commit "..Reason for configuration change.."

С помощью команд VCS Вы можете просмотреть логи о файлах в /etc:

sudo bzr log /etc/passwd

Чтобы показать интеграцию с системой управления пакетами, установите postfix:

sudo apt-get install postfix

После завершения установки, все postfix конфигурационные файлы должны быть записаны в репозиторий:

Committing to: /etc/ added aliases.db

442

Другие полезные приложения

modified group modified groupmodified gshadow modified gshadowmodified passwd modified passwdadded postfix added resolvconf added rsyslog.d modified shadow modified shadow-

added init.d/postfix

added network/if-down.d/postfix added network/if-up.d/postfix added postfix/dynamicmaps.cf added postfix/main.cf

added postfix/master.cf added postfix/post-install added postfix/postfix-files added postfix/postfix-script added postfix/sasl

added ppp/ip-down.d

added ppp/ip-down.d/postfix added ppp/ip-up.d/postfix added rc0.d/K20postfix added rc1.d/K20postfix added rc2.d/S20postfix added rc3.d/S20postfix added rc4.d/S20postfix added rc5.d/S20postfix added rc6.d/K20postfix

added resolvconf/update-libc.d

added resolvconf/update-libc.d/postfix added rsyslog.d/postfix.conf

added ufw/applications.d/postfix Committed revision 2.

В качестве примера, как etckeeper отслеживает изменения вручную, добавьте новую систему в /etc/hosts. Используя /etc/hosts вы сможете увидеть какие файлы были изменены:

sudo bzr status /etc/ modified:

hosts

Теперь сохраните изменения:

sudo etckeeper commit "new host"

Дополнительную информацию по bzr смотрите в разделе Раздел 1, «Bazaar» [308].

443

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]