О сайте

Данный сайт служит для размещения статей, новостей и просто различного рода полезной информации на тему Opensource. Администрирования Linux/Unix систем. Разработки, установки и настройки ПО.
По своей сути данный ресурс - 1 большая записная книжка. Некоторые моменты своей профессиональной деятельности я забываю достаточно быстро, так как настраиваемые мной системы требуют обычно только обновления ПО для поддержания безопасности. Поэтому стараюсь все особенности настройки, использования и т.д. сразу документировать. Так что http://contrib.ru для этого и создан.
Основной момент в том, что я не могу объять необъятное, а в мире OpenSource достаточно тем для изучения. Поэтому всем пользователям данного ресурса я предлагаю поделиться своей информацией, опытом и наработками друг с другом.

По всем вопросам, предложениям и т.д. прошу писать на мой email: .

Новый раздел на сайте - Форумы

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

Восстановление Windows XP на EeePC 901 по сети при помощи PXE

Описание возникшей ситуации - сломанная ОС на нетбуке EeePC 901 (atom, 2 SSD HDD 4Gb + 16 Gb), отсутствие внешнего usb CD/DVD привода, отсутствие usb флешки, как результат - все популярные способы восстановления операционной системы с recovery DVD диска не подходят.
Но, EeePC 901 поддерживает загрузку при помощи протокола PXE, чем мы и воспользуемся.

Минимальные требования для реализации задачи:
1) EeePC 901.
2) Компьютер у установленным DHCP, TFTPD сервером и возможностью запуска Norton Ghost 11.
3) Диск EeePC 901 Recovery DVD или его образ в виде iso (у меня как раз был образ, как вариант - можно использовать этот образ).
4) Пакет syslinux 3.84, именно в этой версии пакета появилась поддержка загрузки iso дисков по сети.
5) Norton Ghost 11, найти данную программу в сети интернет достаточно просто, ключевое слово для поиска ghost32.exe.
6) Hirens Boot CD 10.1

Настройка DHCP и TFTPD сервера под Debian Linux:
Под рукой у меня был только ноутбук с OS Debian Lenny, соответственно его будем использовать в роли DHCP и TFTP сервера.
Устанавливаем и настраиваем DHCP сервер:

  1. sudo aptitude install dhcp3-server
  2.  
  3. cat /etc/dhcp3/dhcpd.conf
  4.  
  5. # Задаем имя домена, у меня такое.
  6. option domain-name "example.com";
  7.  
  8. default-lease-time 600;
  9. max-lease-time 7200;
  10.  
  11. allow booting;
  12. allow bootp;
  13.  
  14. # У меня используется роутер, соответственно настроена такая подсеть.
  15. subnet 192.168.1.0 netmask 255.255.255.0 {
  16. # Выдаем IP адреса из этого пула, если кто-то запросит их естественно. Данный пул не пересекается с существующим.
  17. range 192.168.1.200 192.168.1.253;
  18. option broadcast-address 192.168.1.255;
  19. # Задаем адрес шлюза
  20. option routers 192.168.1.1;
  21. # Задаем адрес DNS сервера
  22. option domain-name-servers 192.168.1.1;
  23. }
  24.  
  25. # Задаем настройки для загрузки EeePC 901
  26. group {
  27. # Задаем адрес tftpd сервера.
  28. next-server 192.168.1.3;
  29. host tftpclient {
  30. # Указываем MAC адрес сетевого интерфейса EeePC 901
  31. hardware ethernet 00:22:15:97:21:B5;
  32. # Задаем название файла загрузчика
  33. filename "pxelinux.0";
  34. }
  35. }
  36.  
  37. /etc/init.d/dhcp3-server restart

Все, DHCP сервер настроен и готов к работе.

Настраиваем TFTPD сервер, я выбрал сервер tftpd-hpa.

Устанавливаем сервер:

  1. aptitude install tftpd-hpa

Настраиваем сервер:
  1. cat /etc/default/tftpd-hpa
  2.  
  3. #Defaults for tftpd-hpa
  4. RUN_DAEMON="yes"
  5. OPTIONS="-l -s /var/lib/tftpboot"
  6.  
  7. /etc/init.d/tftpd-hpa restart

Все, сервер настроен и готов к работе.

Организация резервного копирования БД MySQL

Для любого администратора, который отвечает за работоспособность БД MySQL важным фактором является корректный backup данной БД.
Утилита mysqldump, которая входит в дистрибутив MySQL и служит для организации базового backup`ирования небольших БД, меня не устраивает.
Причины достаточно просты:
- можно указать 1 кодировку для БД, что ведет к таким косякам, например данные в БД в cp1251, кодировка при реализации backup - latin1 в итоге получаем полный дамп "????" вместо данных.
- в результате работы утилиты mysqldump получается текстовый файл с sql коммандами, а если БД у вас несколько десятков GB, то восстановление может занять несколько часов или даже дней.

Поэтому я выбрал для себя и для реализации стратегии резервирования данных технологию мгновенных снимков ФС (snapshots). Технология мгновенных снимков ФС позволяет реализовать полноценное резервирование БД, быстрое восстановление данных БД в случае отказа дисковой подсистемы, ошибки ПО, оборудования и т.д.

Snapshots доступны как для Linux в виде lvm snapshots, так и для FreeBSD. Базовая ФС для FreeBSD - UFS2 достаточно давно поддерживает технологию мгновенных снимков ФС. Далее я опишу основную логику создания резервных копий БД и приведу примеры простых скриптов для реализации функции резервирования БД при помощи снапшотов.

Создание копии репозитория rpm пакетов при помощи mrepo

Основная цель данной статьи - описание процедуры создания локального репозитория rpm пакетов для дистрибутива Red Hat Enterpise Linux 5 при помощи утилиты mrepo.

Установка:
Последнюю версию (на момент написания статьи 0.8.6) собранную в rpm пакет можно скачать по ссылке: mrepo-0.8.6-1.noarch.rpm.
Также для установки данной утилиты нужно поставить пакет createrepo.
Устанавливаем данный пакеты следующими командами:

rpm -iUhv http://dag.wieers.com/rpm/packages/createrepo/createrepo-0.4.8-1.el5.rf.noarch.rpm
rpm -iUhv http://contrib.ru/sites/default/files/mrepo-0.8.6-1.noarch.rpm

Для создания создания репозитория для утилиты apt требуется, чтобы данный пакет был установлен на том сервере, где создается репозиторий.
Подготовка закончена.

Настройка оповещения Nagios по ICQ

Простое решение для нотификации работы серверов при помощи ICQ:

1) Ставим vicq клиент. Регистрируем для него UIN. Из примера конфигурационного файла создаем работающий конфиг. Обязательные параметры uin и password.

2) Настраиваем nagios для отсылки сообщений о проблемах:

а) Задаем для своего контакта параметр pager равный номеру вашего ICQ.

б) Задаем 2-е дополнительне комманды в commands.cfg

  1. # ICQ Notification
  2. define command{
  3. command_name notify-host-by-icq

Перезапуск проекта

Сегодня решил перезапустить проект на базе Drupal 6.6. Установка CMS прошла успешно, как и руссификация интерфейса.
Список установленных модулей:

./token
./path_redirect
./geshifilter
./xmlsitemap
./pathauto
./transliteration
./bbcode
./community_tags
./tagadelic
./globalredirect
./google_analytics
./akismet

Руский перевод для них также нашелся на сайте http://drupaler.ru.