четверг, 22 апреля 2010 г.

Проделки yum.

Всегда считал, что софт, считающий себя умнее человека - вреден, сегодня лишний раз убедился в этом.
Вчера несколько часов настраивал почту (postfix + sasl + courier-imap + courier-authlib + mysql) на новом сервере (CentOS 5.4 x86_64). Из коробки такая схема не работает, так что пришлось пересобрать часть пакетов. Провозился часов пять, пока настроил и перенес данные со старого сервера, еще раз проверил хождение почты и пошел домой.
Сегодня с утра решил проверить логи:
postfix/smtpd[14124]: fatal: unsupported dictionary type: mysql
postfix/qmgr[14310]: fatal: unsupported dictionary type: mysql
Полез проверять логи yum - ночью запустилось обновление системы и часть моих пересобранныех пакетов было "обновлено". Вредитель нашелся в заданиях рутового крона, раньше вроде в cron.daily было. Чтобы поправить ситуацию в будущем добавил в /etc/yum.conf
[main]
...
exclude=postfix courier-authlib*

четверг, 15 апреля 2010 г.

Обновление прошивки NEC Optiarc AD-7170A

Имеется DVD-RW резак NEC Optiarc AD-7170A с прошивкой версии 1.02. Симптомы: читает и пишет CD-R/RW, но редко читает и пишет только избранные DVD-R/RW. Перед тем как выбросить и купить новый (подумываю попробовать резаки от Lite-On), решил попробовать залить в него обновленную фирмварь. Новая прошивка вливается посредством binflash. Все команды выполняются от root. Проверяем что привод поддерживается прошивальщиком
# necflash -scan
Binflash - NEC version - (C) by Liggy and Herrie
Visit http://binflash.cdfreaks.com

List of supported devices:

Device   : /dev/hda
Vendor   : Optiarc
Model    : DVD RW AD-7170A
Firmware : 1.02
Сначала сохраняем старую версию прошивки
# necflash -v -dump old_firmware_1.02.bin /dev/hda
Новую версию прошивки я брал здесь На время заливки лучше включить режим PIO для сидюка
# hdparm -d0 /dev/hda
Теперь заливаем новую версию
# necflash -v -flash 105bt_orig.bin /dev/hda
После прошивки, перезагружаемся и смотрим результат
# necflash -scan
Binflash - NEC version - (C) by Liggy and Herrie
Visit http://binflash.cdfreaks.com

List of supported devices:

Device   : /dev/hda
Vendor   : Optiarc
Model    : DVD RW AD-7170A
Firmware : 1.05
Хоть на новой прошивке работает немного медленнее, но зато проблем с чтением и записью больше нету.

ALSA в многопользовательской среде

Дома пришлось создать жене отдельного пользователя, чтобы можно было пользоваться одним и тем же софтом и не мешать друг-другу настройками. Все нормально, но вот только неудобно переключаться на соседний сеанс, чтобы выключить музыку или фильм.
Недавно наткнулся на описание плагина softvol для alsa и решил его использовать. Схема работы проста: для каждого пользователя создается отдельный канал в программной громкостью и все они микшируются через dmix.
~/.asoundrc
pcm.!default {
    type            plug
    slave.pcm       "softvol"
}

pcm.softvol {
    type            softvol
    slave.pcm       "plug:dmix"
    
    control {
        name        "Andrey"
        card        0   
    }   
}
После первого использования появится отдельный канал (чтобы он стал доступен уже запущенным приложениям, их нужно перезапустить). Так выглядит alsamixer при работе двух пользователей:


Настройка канала микшера в приложениях:
~/.mplayer/config
ao=alsa
mixer-channel=Andrey

~/.mpdconf
audio_output {
   type       "alsa"
   device     "default"
}
mixer_type    "alsa"
mixer_device  "default"
mixer_control "Andrey"

Чтобы теперь разом отключить звук у другого пользователя достаточно повесить на хоткей amixer set Ann 0%