30 янв. 2015 г.

Postgresql-1C libicu46 mismatch

Не первый раз сталкиваюсь с косяком в разных дистрибутивах Debian при установке сборки Postgresql от 1С вида "для установки требуется libicu46 >= 4.6.1-1, а у вас версия отличается".
Рецепт лечения несложно найти на просторах Сети, но каждый раз ищется все дольше и дольше, поэтому скопирую для себя его тут (источник):

В общем нашел решение на просторах интернета, оно заключается в следующем:
  • копируем postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb в папку на сервере, входим в нее;
  • распаковываем пакет: dpkg -x postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb tmpdir 
  • После: dpkg -e postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb tmpdir/DEBIAN 
  • Далее: открываем в текстовом редакторе файл «control»: nano ./tmpdir/DEBIAN/control
  • Ищем строку libicu46 (>= 1.4.6) и меняем ее на libicu52 (>= 1.4.6)
  • Сохраняем изменения и собираем пакет обратно: dpkg -b tmpdir postgresql-contrib-9.2_9.2.4-1.1C_amd64_fix.deb

sslh + auth.log messages

Есть у отличной утилиты sslh вредная привычка - засирать auth.log сообщениями типа 
Jan 30 11:28:07 ct sslh-select[29994]: connection from localhost:39588 to localhost:https forwarded from localhost:39589 to localhost:https
Как понизить уровень логирования средствами самой утилиты, мне узнать не удалось. Решаем вопрос на уровне rsyslog:
root@ct:~# cat /etc/rsyslog.d/sslh.conf
:programname, isequal, "sslh-select"             ~
Требуется перезапуск rsyslog.

3 янв. 2015 г.

mkv: change default audio track

Новый год, отдых, смотрим сериалы, и вдруг засада: релизер при монтаже очередной серии не перевыставил флаг умолчания на русскоязычной дорожке в mkv-контейнере, а телевизор сменить аудиодорожку не умеет. 
Решение довольно просто: перевыставить флаги на аудио-дорожках в нужном порядке. Для этого нужны утилиты mkvpropedit и mkvinfo, доступные в пакете mkvtoolnix. Для linux пакет доступен в репозиториях соответствующего дистрибутива, для windows можно взять, к примеру, тут
Сначала нужно узнать, каким образом идентифицировать треки в контейнере (под рукой был ноут с windows 7, примеры оттуда):

c:\Program Files\MKVToolNix>mkvinfo.exe g:\video.mkv

Вывода там вагон, ищем информацию об аудиодорожках:
| + Дорожка
|  + Номер дорожки: 2 (ID дорожки для mkvmerge и mkvextract: 1)
|  + UID дорожки: 1095754913
|  + Тип дорожки: audio
|  + Флаг по умолчанию: 1
|  + ID кодека: A_AC3
|  + Продолжительность по умолчанию: 32.000ms (31.250 кадров/полей в секунду для
 видеодорожки)
|  + Audio track
|   + Частота дискретизации: 48000
|   + Каналы: 6
|  + Включено: 1
|  + Флаг 'принудительно': 0
|  + Флаг сшивания: 1
|  + Минимальный кэш: 0
|  + Максимальный BlockAddition ID: 0
|  + Codec decode all: 1
| + Дорожка
|  + Номер дорожки: 3 (ID дорожки для mkvmerge и mkvextract: 2)
|  + UID дорожки: 1628356481
|  + Тип дорожки: audio
|  + ID кодека: A_AC3
|  + Продолжительность по умолчанию: 32.000ms (31.250 кадров/полей в секунду для
 видеодорожки)
|  + Язык: rus
|  + Имя: Fox Life
|  + Audio track
|   + Частота дискретизации: 48000
|   + Каналы: 2
|  + Включено: 1
|  + Флаг по умолчанию: 0
|  + Флаг 'принудительно': 0
|  + Флаг сшивания: 1
|  + Минимальный кэш: 0
|  + Максимальный BlockAddition ID: 0
|  + Codec decode all: 1
Нас интересует две вещи: во-первых, где стоит атрибут "флаг по умолчанию: 1" (эту дорожку и видит наш телевизор); во-вторых, нужно знать UID или ID дорожки для изменения настроек.
Теперь мы знаем все необходимое:
c:\Program Files\MKVToolNix>mkvpropedit.exe -v --edit track:=1628356481 --set flag-default=1 --edit track:=1095754913 --set flag-default=0  g:\video.mkv
The file is being analyzed.
Обработано: [=========================] 100%
Изменение для '--set flag-default=1' выполнено. Записей установлено: 1
Изменение для '--set flag-default=0' выполнено. Записей установлено: 1
Изменения записаны в файл.
Элемент Tracks записан.
Готово.
Вместо UID можно обращаться по ID (как правило, первым треком - id 0 - идет видеодорожка, затем по порядку все аудиодорожки), результат будет тот же.