Не так давно мы рассказывали о настройке сервера на базе Ubuntu 9.04. С тех пор прошло не так уж много времени, но за это время успел увидеть свет дистрибутив 9.10 и было бы неплохо обновить сервер до последней версии. Также мы расскажем как настроить автоматическое обновление - залог стабильности и безопасности вашего сервера.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Обновление дистрибутива
Если вы не используете LTS версии Ubuntu Server, то потребность в переходе на новую версию будет возникать раз в полгода. Но стоит ли обновляться так часто? Наше мнение - стоит. Несмотря на то, что любая версия Ubuntu имеет 18 месячную поддержку (LTS версии 3 и 5 лет), это будут обновления безопасности, в то время как новая версия дистрибутива содержит последние версии используемого ПО. Мы советуем рассматривать новые выпуски Ubuntu Server как Service Pack Windows (ведь ни у кого не вызывает сомнений ставить их или нет), которые тоже содержат как обновления безопасности так и новые версии ПО.
Итак, мы решили обновить свой сервер под управлением Ubuntu Server 9.04 до версии 9.10. Сделать это несложно, все что вам нужно это аккуратность, работающий интернет канал и немного свободного времени. Не забудьте предупредить клиентов, которых обслуживает данный сервер о временных перебоях в обслуживании (а лучше всего это сделать в перерыв или во внерабочее время).
Сначала нужно установить update-manager-core (если он ещё не установлен):
sudo apt-get install update-manager-core
Теперь выполним обновление дистрибутива:
sudo do-release-upgrade
Система проверит наличие нового релиза, обновит информацию о пакетах и репозиториях, и выдаст вам заключение, где будет указан размер архивов и предполагаемое время загрузки для вашего канала. Вы можете подтвердить или отказаться от обновления, например если скорость вашего интернета не позволяет скачать такой объем трафика в течении перерыва.
По окончании загрузки пакетов начнется обновление системы. С этого момента процесс остановить нельзя и нужно следовать инструкциям на экране. Особое внимание следует уделить запросу на перезапись конфигурационных файлов. Если данные файлы относятся к настроенным нами ранее службам сервера, наиболее правильным решением будет отказаться от их перезаписи. В конце нам будет предложено перезагрузить систему, после чего следует убедиться в работоспособности всех служб сервера.
В нашем случае пришлось откорректировать конфигурационный файл прокси-сервера squid, изменив строку:
error_directory /usr/share/squid/errors/Russian-koi8-r
на:
error_directory /usr/share/squid/errors/ru
В любом случае, если что-то перестало работать, попробуйте вручную перезапустить нужные службы, скорее всего вы получите сообщение об ошибке или перезагрузите сервер и посмотрите логи (/var/log/syslog).
Автоматическая установка обновлений
Следующим важным шагом будет настройка автоматической установки обновлений безопасности. По умолчанию это действие производится вручную администратором, однако гораздо лучше если сервер будет устанавливать обновления сам, скажем раз в неделю. Для этих целей будем использовать планировщик cron. Сначала создадим файл скрипта в директории /etc/cron.weekly, что обеспечит ему еженедельное исполнение:
sudo touch /etc/cron.weekly/updates
Откроем его в редакторе Midnight Commander (F4) и внесем следующий текст:
echo "**************" >> /var/log/updates
date >> /var/log/updates
aptitude update >> /var/log/updates
aptitude safe-upgrade -o Aptitude::Delete-Unused=false --assume-yes --target-release `lsb_release -cs`-security >> /var/log/updates
echo "Security updates (if any) installed"
Сохраним (F2) и, выйдя из mc, добавим ему права на исполнение:
sudo chmod +x /etc/cron.weekly/updates
Теперь наш скрипт будет исполняться еженедельно записывая результат своей работы в
/var/log/updates, чтобы избежать излишнего разрастания лог-файла необходимо обеспечить его ротацию. Для этого воспользуемся штатной утилитой logrotate. Создадим файл:
sudo touch /etc/logrotate.d/updates
И внесем в него следующий текст:
/var/log/updates {
rotate 2
weekly
size 250k
compress
notifempty
}
При указанных настройках файл будет заменяться новым каждую неделю (weekly) или по превышении им размера 250 кБ (size 250k), при этом будут сохранятся два предыдущих файла (rotate 2) в сжатом виде (compress), при пустом логе ротация не происходит (notifempty).
При необходимости можно легко изменить период установки обновлений. Достаточно переместить скрипт updates в соответствующую директорию. Например его перемещение из /etc/cron.weekly в /etc/cron.daily позволит устанавливать обновления ежедневно.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии