понедельник, 23 марта 2015 г.

Ставим OpenSSL 0.9.8 на debian wheezy

Некоторые приложения хотят устаревшую ветку openssl - 0.9.8, например
 libcouchbase2-core : Depends: libssl0.9.8 (>= 0.9.8k-1) but it is not installable

Фикс: ставим бэкпорт под squeeze:

Под 64 бита
$ wget http://ftp.us.debian.org/debian/pool/main/o/openssl/libssl0.9.8_0.9.8o-4squeeze14_amd64.deb
$ sudo dpkg -i libssl0.9.8_0.9.8o-4squeeze14_amd64.deb

пятница, 13 марта 2015 г.

Где взять portaputty

Есть полезный и известный набор утилит для работы через ssh, tty, telnet под винду. Лежит тут:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
последняя версия 0.64

 К большому сожалению, она пишет в реестр, поэтому её невозможно использовать с нескольких машин, а потеря реестра означает потерю всех настроек. Есть 3 варианта избавиться от этой гадости:
1) putty portable на portableapps.com - версия свежая, но для работы нужна обёртка. Неизвестна стабильность при работе в связке с pytty connection manager и аналогами.
2) portaputty. Сами исходники "отучены" лезть куда не нужно, все настройки на диске, переносимость хорошая, работает с менеджерами. Долгое время обитало на http://code.google.com/p/portaputty/, но сейчас удалено или закрыто. Есть клон/копия на https://github.com/potatosalad/portaputty, но исходники 8-летней давности, версия 0.60.
3) KiTTY, http://www.9bis.net/kitty/?zone=ru
KiTTY — это модифицированная версия программы PuTTY версии 0.64
По умолчанию так же гадит в реестр, но есть возможность изменить поведение: http://www.9bis.net/kitty/?page=Portability&zone=ru
Увы, полноценного менеджера сессий в комплекте так и нет.

понедельник, 2 марта 2015 г.

screen: Cannot open your terminal '/dev/pts/0' - please check

Или не хватает прав для подключения к скрину (например рутовому не от рута), или, если это openvz enter ... - просто нет такого терминала, особенность работы с ovz enter. Фикс:
script /dev/null
screen ...

Если же проблема с работой с Multiuser - то не забываем делать acladd пользователям.

линки

понедельник, 2 февраля 2015 г.

sip: μ-law или A-law?


Оба вида *law кодеков - это 2 алгоритма для G.711
Общие характеристики:
8-ми битная компрессия PCM голоса
частота дискретизации 8000 кадров/секунду и 8 bit/кадр.
поток 64 kbit
патент на кодек давно истёк, поэтому нет никаких сборов и ограничений.

Слабое сжатие даёт (относительно) большую нагрузку на канал, но очень мало на процессор, что хорошо для слабых встраиваемых систем, не требуется DSP.

μ-law, он же ulaw, PCMU, в sdp номер 0, стандарт для америки.
В сравнении с alaw ulaw даёт несколько больший динамический диапазон сигнала, но чуть большие искажения для слабых сигналов (1)

a-law, он же alaw, PCMA, в sdp номер 8, полее поздний, изначально предназначен для компьютерной обработки процессов (2), стандарт для европы.

Поскольку РФ - европа, предпочтение стоит отдать кодеку alaw.

(1) http://xgu.ru/wiki/ulaw

(2) https://ru.wikipedia.org/wiki/G.711
http://www.ti.com/lit/an/spra267/spra267.pdf
http://www.voip-sip.org/g-711-u-law-or-a-law/

вторник, 13 января 2015 г.

CentOS: Скачать (s)rpm пакеты

Бывает так, что нужно скачать ряд пакетов, для оффлайн обновления, при узком/дорогом канале и нескольких серверах, итд.
Можно качать через wget, но у многих закрыт листинг каталогов, то есть нужно сделать yum search..., получить полное имя и уже ему wget, но быстрее и проще для этой цели использовать саму систему yum, попутно получить разрешение зависимостей.

понедельник, 12 января 2015 г.

database и schema в postgres и mysql (с хабра)

http://habrahabr.ru/post/246339/#comment_8190995
Хинт: в mysql - database == schema, в postgres schema==namespace ~ mysql database, тогда как postgres database - некий глобальный контейнер для схем.
Примерно так же у oracle и без канистры водки порой сложно разобраться, что где и как.

среда, 31 декабря 2014 г.

openvz + iptables nat

# uname -a
Linux r31.ru 2.6.32-042stab102.9 #1 SMP Fri Dec 19 20:34:40 MSK 2014 x86_64 x86_64 x86_64 GNU/Linux

При попытке сделать iptables -t nat -L получаем
iptables v1.4.7: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

iptable_nat, nf_nat загружены.

вторник, 30 декабря 2014 г.

php 5.2 в конце 2014 года

До сих пор есть сайты, которые работают только под php 5.2, не выше. Почему не поправить их? Например, позиция владельца "я не буду платить, оно же работает!", а своих денег на программиста нет. Особенно если таких сайтов даже больше 10, а если счет идет на сотни и тысячи?
Или когда есть что-то кодированное (cms), тем же zend, и версия cms больше не на поддержке/той фирмы больше нет. Нужно переделывать сайт с нуля.
Надо ставить что требуется, и пусть официально оно уже не поддерживается...
Хотя и разработчики php тоже поступили по свински, серьёзно изменили некоторые вещи, сломав совместимость, но не стали делать 5.2-LTS версию. Лучи поноса в их сторону.

Отдельно хорошо было бы рассмотреть связку этих версий с ispmaanager, но пока нет возможности. В этом плане лучше всего работает система, где php только 1 версии.

четверг, 25 декабря 2014 г.

FreeSWITCH: BLA, BLF, SLA

BLA stands for Bridged Line Appearance. It allows a user to receive and make calls on the line appearance of another user that appears on their phone. It also shows whether that user is on the phone or not.

SLA - Shared Line Appearance
Shared Line Appearances: SLAs allow you to place a call on hold at one set and pick it up easily at another set. SLA is also known as SCA: Shared Call Appearance. You can join an existing conversation be pressing the corresponding line button. Typically the phones will have dedicated buttons with LEDs for each of the shared lines.

BLF (busy lamp field)
BLF stands for Busy Lamp Field. It will show you if the user is on the phone or not, and allows you to use that button as a speed dial to call that user. You can not make a call on that user's line from your phone.

http://www.voip-info.org/wiki/view/Asterisk+SLA
http://lists.sip-router.org/pipermail/users/2008-August/019369.html

вторник, 16 декабря 2014 г.

CentOS 7 + otrs 4

Сразу скажу, запустить на 7 тоже можно, но граблей там море. Например, фирменный пакет, файл /etc/sysconfig/otrs - проверки старыми методами. Об этом будет ниже.

Читаем, качаем
http://otrs.github.io/doc/manual/admin/stable/en/html/installation.html#installation-on-centos
https://www.otrs.com/homepage/try/

CentOS 7 и новый firewall

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html#sec-Introduction_to_firewalld

По сути, это тот же iptables, но несколько в другом виде, в чём-то более логичном.
Из основных фич - релоад не рвёт соединения, хотя при аккуратной работе с iptables этого тоже можно было избежать. Но софт типа shorewall ТАК не умел, что в организациях на 200+ машин работало уныло. Теперь недоадминам, внедряющим такие поделки в большие сети, будет проще.

Пример разрешения http
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload

вторник, 9 декабря 2014 г.

CentOS 6 + Python 2.7

В сети есть много примеров с ручной компиляцией питона в /usr, но пока ни в одном примере не было последующего заворачивания в пакеты, а прямая установка хороша только для девел-машин и вообще долго.
Тем более, штатно есть пакет
centos-release-SCL.x86_64 : CentOS Software Collections release configs
(Там же - Perl 5.16.3, PHP 5.4.14, Python 3.3, Ruby 1.9.3, MariaDB 5.5, MySQL 5.5, PostgreSQL 9.2, Node.js 0.10)

вторник, 2 декабря 2014 г.

CentOS 6: несколько адресов на интерфейсе

Просто добавить алиас можно 2 способами:

  1. ip addr add 1.2.3.4/29 dev eth0 - это добавит алиас, и по ip addr оба адреса будут показаны на 1 устройстве. Но такую схему не покажет ifconfig (в отличии от freebsd, где есть штатный alias)
  2. ifconfig eth0:0 inet 1.2.3.4/32 (устаревший метод), появится новое устройство eth0:0.
    Но ip addr add 1.2.3.4/32 dev eth0:0 - добавит айпи как в 1 варианте, без создания eth0:0. Можно сделать через конфиг файл по методу 2 и сделать ifup eth0:0
Добавление в конфиги
  1. правим основной конфиг, добавляя IPADDR2, IPADDR3 итд
    IPADDR=172.25.33.1
    PREFIX=29
    IPADDR2=172.25.33.2
    PREFIX2=29
  2. копируем оригинальный ifcfg-eth0 в ifcfg-eth0:0 и заменяем внутри eth0 на eth0:0

Линки