четверг, 23 августа 2012 г.

Ссылки на базы совместимого с linux оборудование

http://linuxshare.ru/hardwaredb.html - мало, но удобно

http://www.openprinting.org/printers - по совместимости с ПРИНТЕРАМИ + указан необходимый драйвер.

http://en.opensuse.org/Hardware?LANG=en_UK - только openSUSE совместимость

http://www.linuxcompatible.org/compatlist3.html - все в кучу. Почти форум обсуждения оборудования

http://linuxhcl.com/browse/search - делает поиск по оборудованию для определенного дистра. не удобно, что нет выбора модели, а только производитель.

http://kmuto.jp/debian/hcl/ - автопроверка для Debian по выводу lspci -n выводит названия драйвера

http://hardware4linux.info/search/ - не находит ни одного laptop чтобы в ubuntu 11.10 работали usb.

http://help.ubuntu.ru/совместимость/главная - всё удобно, но маловато

Запуск LAM (LDAP account manager) Xubuntu 12.04

1 Уже установлен и начально настроен LDAP

2 Устанавливаем lam
sudo apt-get install ldap-account-manager

3 Заходим 127.0.0.1/lam
Выбираем  configuration LAM configuration  пароль по умолчанию lam
Выбираем server settings Edit server profiles    здесь можно будет указать к какому LDAP серверу должен подключиться LAM  и каким пользователям сервера разрешено подключаться.
Важно на всех вкладках заполнить информацию именно о своем домене вместо my-domain 

среда, 22 августа 2012 г.

Система резервного копирования Bacula. Часть 1 - установка и настройка.

  Рано или поздно перед любым системным администратором встает задача создания резервных копий. Решать ее можно по разному: можно делать резервные копии собственноручно, можно автоматизировать работу и написать подходящие скрипты, а можно использовать существующее ПО.
  Анализ рынка показал что систем резервного копирования в мире СПО как кот наплакал, а находящихся в актуальном состоянии и того меньше, посему непродолжительным размышлением была выбрана система резервного копирования - Bacula.
   По двум причинам:
  • находится в актуальном состоянии
  • является изначально свободной 
  • позволяет выполнять скрипты перед началом копирования и после завершения
Обзор:
    Bacula - это набор компьютерных программ, которые позволяют системному администратору управлять резервным копированием, восстановлением из копий различных данных в сети с различных компьютеров.
Структура:
    Bacula Director - центральный элемент системы, который управляет всеми остальными компонентами.
    Bacula Console - инструмент управления.
    Bacula Storage - управляет чтением и записью файлов на устройствах хранения.
   Catalog - соединение, запись и выборка из БД.
   Bacula File - клиент.
Расположение файлов конфигурации:
    /etc/bacula/
Расположение скриптов создания структуры БД:
   /usr/share/bacula-director   
Расположение примеров конфигурационных файлов:
 /usr/share/bacula-common/defconfig/
Особенности:
   Наличие как сервера так и клиента под большое число различных ОС.
Установка сервера:
    Установку будем производить на Ubuntu 12.04 x86_64, в качестве базы данных будем использовать MySQL.
    1. Установка MySQL:
        sudo apt-get install mysql-client mysql-common mysql-server
    2. Установка Bacula:
        sudo apt-get install bacula bacula-common bacula-common-mysql bacula-console bacula-director-common bacula-director-mysql bacula-sd bacula-sd-mysql bacula-server
    3. Установка консоли управления:
     sudo apt-get install bacula-console bacula-console-qt  
Установка клиента:
    На клиенте необходимо установить лишь один пакет - bacula-client:   
    sudo apt-get install bacula-client

Пример настройки:
  При настройки Bacula главное правильно задать пароли и имена в различных секциях, будьте внимательны и осторожны!!! Не запутаться с именами и паролями от секций поможет документация, там есть схема (стр. 140 или http://www.bacula.org/5.2.x-manuals/en/main/main/Customizing_Configuration_F.html#SECTION002240000000000000000), смотрите внимательно! Настройку будем производить поэтапно, сначала настроим Bacula Director (файл конфигурации bacula-dir.conf), потом Bacula Storage (файл конфигурации bacula-sd.conf), далее настроим Bacula Console (файл конфигурации bconsole.conf) и напоследок настроим клиента Bacula File (файл конфигурации bacula-fd.conf на клиенте). Таким образом понадобятся две машины (можно и на одной, но так не интересно): сервер и клиент.
   Итак начнем.
!!! Внимание: Перед началом настройке сделайте резервные копии конфигурационных файлов, т.к. статья предполагает настройку с "чистого листа"!!!  

В файле /etc/bacula/bacula-dir.conf нам нужно будет определить следующие секции:
  • Director - определяет имя Director'а и пароль для управления с консоли
  • Messages - отправка и логирование сообщений
  • Pool
  • Storage - определяет устройство хранения: физическое или файл на диске
  • Catalog - описывает подключение к базе данных
  • Client - описывает клиента
  • Job - определяет задачи копирования/восстановления, по работе на клиента
  • FileSet - определяет набор файлов для резервного копирования
  • Schedule - определяет расписание запуска работ (Job)
Поехали!
1. Определяем секцию Director:

Director {                      
    #уникальное имя директора
    Name = bacula-serv
    #порт, который будет слушать директор     
    DIRport = 9101              
    QueryFile = "/etc/bacula/scripts/query.sql"
    WorkingDirectory = "/var/lib/bacula"
    PidDirectory = "/var/run/bacula"
    #максимальное кол-во одновременно запущенных работ
    Maximum Concurrent Jobs = 10  
    Password = "<пароль>"       
    Messages = Daemon
    DirAddress = <IP - адресс сервера>
}
!!! Внимание: в дальнейшем имя директора нужно будет указать в секции Director в файлах bacula-sd.conf, bacula-fd.conf и bconsole.conf!!!

2. Определяем секцию Messages:

Messages {
    Name = Daemon
    mailcommand = "/usr/sbin/bsmtp -f \"\(Bacula) \<%r\>\" -s \"Bacula daemon message\" %r"
    mail = root@localhost = alert,error,fatal,terminate, !skipped
    console = all, !skipped, !saved
    append = "/var/lib/bacula/log" =all, alert, error, fatal, terminate, !skipped
}

Messages {
    Name = Standart
    director = backup-dir = all
}

3. Определяем секцию Pool:

Pool {
    Name = bgb
    Pool Type = Backup
    Recycle = yes
    AutoPrune = yes
    Volume Retention = 90 days
    Maximum Volume Bytes = 3G
    Maximum Volumes = 3
    LabelFormat = "Vol"
}

4. Определяем секцию Storage:

Storage {
    Name = BGB-F
    Password = "<пароль для storage>"
    Address = <IP - адресс сервера>
    SDPort = 9103
    Device = BGB-ST
    Media Type = File
}

5. Определяем секцию Catalog:

Catalog {
    Name = MyCatalog
    dbname = bacula; DB Address = "127.0.0.1"; user = bacula; password = "123456"
    #dbname -  имя базы данных
    #DB Address - адрес сервера с БД
    #user - пользователь под которым соединяемся с БД
    #password - пароль для подключения к БД
}

6. Определяем секцию Client:

Client {
    #уникальное имя клиента
    Name = client-fd
    Address =<IP - адрес кл>
    FDPort = 9102
    #указываем имя Catalog, описанного выше
    Catalog = MyCatalog
    Password = "<пароль для клиента>"
    File Retention = 45 days
    Job Retention = 90 days
    AutoPrune = yes
}

7. Определяем секцию FileSet:

FileSet {
    #уникальное имя
    Name = "bgb-set"
    Include {
        Options {
            signature = MD5
        }
    #в нашем примере будем бэкапить лишь один каталог - /etc
    File = /etc
    }
}

8. Определяем секцию Schedule:

Schedule {
    Name = "DaylyFullBGBBackup"
    Run = Full mon-sat at 16:40
}

9. Определяем секцию Job:

Job {
    Name = "Backup"
    Type = Backup
    Level = Full
    #указываем имя клиента для которого будет выполняться работа
    Client = client-fd
    #указываем имя набора файлов для копирования
    FileSet = "bgb-set"
    #указываем имя хранилища
    Storage = BGB-F
    #указываем имя пула
    Pool = bgb
    Messages = Standart
    #указываем имя расписания
    Schedule = "DaylyFullBGBBackup"
    Write Bootstrap = "/var/lib/bacula/bgb.bsr"
}

В файле /etc/bacula/bacula-sd.conf нам нужно будет определить следующие секции:
  • Storage - определяет демона управления хранением
  • Director - определяет имя директора и пароль
  • Device - описывает характеристики устройства хранения
  • Messages - отправка и логирование сообщений
Поехали!

1. Определяем секцию Storage:

Storage {
    Name = backup-sd
    WorkingDirectory = "/var/lib/bacula"
    Pid Directory = "/var/run/bacula"
    SDPort = 9103
    SDAddress = <IP - адресс сервера>
    Maximum Concurrent Jobs = 1
}

2. Определяем секцию Director:

Director {
    #имя, данное директору, в секции Director файла bacula-dir.conf
    Name = bacula-serv
    #пароль берем из секции Storage файла bacula-dir.conf
    Password = "StorePass"
}

3. Определяем секцию Device:

Device {
    #имя берем из секции Storage, поле Device файла bacula-dir.conf 
    Name = BGB-ST
    #берем значение из секции Storage, поле Media Type файла bacula-dir.conf
    Media Type = File
    Archive Device = /home/bacula/backup/
    LabelMedia = yes;
    Random Access = yes;
    AutomaticMount = yes;
    RemovableMedia = no;
    AlwaysOpen = no;
}

4. Определяем секцию Messages: 

Messages {
    Name = Standart
    director = bacula-serv = all
}

В файле /etc/bacula/bacula-fd.conf нам нужно будет определить следующие секции:
  • Director - определяет имя директора и пароль
  • FileDaemon - описывает собственно клиента
  • Messages - отправка и логирование сообщений
Поехали!

1. Определяем секцию Director: 

Director {
    #имя, данное директору, в секции Director файла bacula-dir.conf
    Name = bacula-serv
    #пароль берем из секции Client файла bacula-dir.conf
    Password = "FdPass"
}

2. Определяем секцию FileDaemon:

FileDaemon {
    Name = client-fd
    FDport = 9102
    WorkingDirectory = /usr/lib/bacula
    Pid Directory = /var/run/bacula
    FdAddress = <IP - адрес клиента>
    Maximum Concurrent Jobs = 2
}


3. Определяем секцию Messages:

Messages {
    Name = Standart
    director = bacula-serv = all, !skipped, !restored
    append = "/var/log/bacula/" = all, error, alert, warning,!skipped
}

Осталось запустить демоны: bacula-dir и bacula-sd на сервере,и  bacula-fd на клиенте.

понедельник, 6 августа 2012 г.

Свободные системы инвенторизации программных и аппаратных ресурсов

  Встала задача провести инвентаризацию программного и аппаратного парка ПК пользователей в организации. Естественно ходить с программкой на флешке к каждому ПК было лень и захотелось как-то автоматизировать процесс. Продолжительный поиск в интернете навел на следующую систему: 
Описание: 
  Open Computer and Software Inventory Next Generation это приложение разработанное чтобы помоть системному или сетевому администратору следить за конфигурацией аппаратного и программного обеспечения компьютеров в сети.
 Информация предоставляемая системой:
  •   тип машины (физическая или виртуальная),
  •   количество логических дисков, тип ФС, размер, процент используемого пространства,
  •   тип операционной системы,
  •   установленное программное обеспечение,
  •   производитель, тип, серийный номер подключенного монитора,
  •   информация о аппаратном обеспечении компьютера (процессор, ОЗУ, карты расширения, BIOS);
Система управляется через web-интерфейс:
Обнаруженные машины

Установка:
 Для CentOS 6.3 и Ubuntu 12.04 в репозиториях есть собранные пакеты версий 1.3.3 и 2.0.2 соответственно (для CentOS необходимо подключить репозиторий EPEL).
  CentOS 6.3:
  • yum install  ocsinventory ocsinventory-agent ocsinventory-server  ocsinventory-reports
  Ubuntu 12.04:
  • apt-get install ocsinventory-server ocsinventory-reports ocsinventory-agent
  Установка из репозиториев проходит штатно, каких-либо проблем не возникает. На сайте разработчиков доступна версия 2.0.5, установка из  
исходников на CentOS 6.3 не составляет особого труда, нужно лишь внимательно читать руководство, правда в процессе могут возникнуть различные проблемы в основном связанные с отсутствием какой-либо библиотеки, например нужна библиотека php-mbstring, но в руководстве это не отражено. На Ubuntu 12.04 из исходников ставить не пробовал.

Достоинства:
  •   Поддержка большого количества ОС
  •   Подробная документация
  •   Большое количество способов установки агента инвентаризации
  •   Возможность формировать локальные файлы с информацией на конечном компьютере с последующим импортом в базу

Недостатки:
  1. Неполная поддержка Русского языка
  2. Агент не может получить серийный номер материнской платы
  3. Отсутствие уведомлений при обнаружении изменения конфигурации
  4. Не предусмотрено/нельзя добавить поле "Инвентарный номер" 
  5. (На вкус и цвет) не очень удобный интерфейс