вторник, 9 августа 2016 г.

python: Собираем свой пакет из pip версии

Зачастую в пакетах лежит нужная библиотека, но отставшая от нужной версии года так на 3-4. Или вообще доступная только в pip.
Самый простой вариант это использовать библиотеку из pip. К сожалению, у pip нет "собранных" версий, поэтому на хосте тогда нужен компилятор, что многим неприемлемо для "боевых" сред. И в целом это разумно.
Хороший выход - используем ноду для сборки и собираем там virtualenv с нужными пакетами. А потом итог оборачиваем в пакет (пишем спеку). Также это может быть докер, но опять же - туда нужен компилятор... И опять возвращаемся к virtualenv. Впрочем, для простых либ и единообразной среды достаточно скопировать нужные файлы в SOURCES и раскидать их по местам установщиком пакета, более сложные либы лучше пакетировать раздельно. Если уже есть такая же старая либа --  всё просто, качаем .src.rpm, правим .spec под новую версию, подкладываем архив с новыми исходниками, собираем.
А может быть, что за основу взять нечего... Тогда можно взять например python-pika, скопировать его spec и начать правки.
Нужно скачать архив нужной версии, для примера сделаем пакет для couchbase. Работаем от обычного пользователя, который будет заниматься сборкой

четверг, 14 июля 2016 г.

debian 8, apache, php: почта ходит только от рута

Довелось настраивать debian 8 + apache 2.4 (ITK) + php, штатный почтовик exim (и сразу - не забываем сказать dpkg-reconfigure exim4-config и выставить режим internet site), а дальше - есть скрипт-мейлер, от рута из консоли mail() возвращает true, а ровно оно же но через сайт отдаёт false. При этом в paniclog появляется строка
 unable to set gid=1000 or uid=0 (euid=0): forcing real = effective
По данной строке уже гуглится проблема и решение:
<IfModule mpm_itk_module>
LimitUIDRange 0 6000
LimitGIDRange 0 6000
</IfModule>

ну или так
echo "LimitGIDRange 0 2000" >> /etc/apache2/mods-available/mpm_prefork.conf
echo "LimitUIDRange 0 2000" >> /etc/apache2/mods-available/mpm_prefork.conf
service apache2 restart
(только с гидом не работает, надо uid+gid)

Кто-то набыдлокодил и выпустил это в мир, только непонятно кто именно.

Плюс кому-то также в exim надо вписать 
disable_ipv6 = true

И опционально в /etc/php5/apache/php.ini найти sendmail_path и выставить
sendmail_path = "/usr/sbin/exim4 -ti"

И немного доков

пятница, 17 июня 2016 г.

couchbase: сброс пароля пользователя Administrator

Можно через cli
./couchbase-cli cluster-init -c localhost:8091 --user=Administrator --password=123 --cluster-init-username=Administrator --cluster-init-password=god

Но есть другой штатный способ, проще
/opt/couchbase/bin/cbreset_password 127.0.0.1:8091

И внимание на вопрос:
Do you really want to do it? (yes/no)
Тут надо отвечать не y, а полностью yes, иначе просто молча выйдет. А должно быть так:

Do you really want to do it? (yes/no)yes
Resetting administrative password...
Password for user Administrator was successfully replaced.

четверг, 16 июня 2016 г.

среда, 11 мая 2016 г.

rpmbuild: *** ERROR: No build ID note found in ...

Лечение:
1) добавить в сборку node-id
--buil-id
Если не помогло:
2) отключить сборку debuginfo
a) %global _missing_build_ids_terminate_build 0
б) %global debug_package %{nil}
в) попробовать удалить "проблемные" файлы

пятница, 6 мая 2016 г.

Собираем google V8 под centos 6

Почти все действия проводим от простого пользователя, незачем зря портить систему. И желательно на отдельном билд-сервере.

V8 is Google's open source high-performance JavaScript engine, written in C++ ... V8 can run standalone, or can be embedded into any C++ application.

centos 6: готовим lsb_release

Штатно нет команды lsb_release. Часть информации можно получить через
cat /etc/*-release
но некоторое ПО хочет именно эту команду.

yum provides */lsb_release
и как вариант
yum install redhat-lsb-core

centos 6: ставим gcc 4.9.2

yum install centos-release-scl-rh
yum install devtoolset-3-gcc devtoolset-3-gcc-c++

И для активации
scl enable devtoolset-3 bash

вторник, 26 апреля 2016 г.

Scapy

http://scapy.net/

Scapy — сетевая утилита написанная на языке Python, которая позволяет посылать, просматривать и анализировать сетевые пакеты. В отличии от многих других утилит, утилита Scapy не ограничена только теми протоколами, пакеты которых она может генерировать. Фактически, она позволяет создавать любые пакеты и комбинировать атаки различных типов.
С помощью Scapy легко осуществлять такие процедуры, как:
сканирование,
трассировку маршрута,
проверку хоста (probing),
юнит-тестирование каких-либо сетевых функций,
исследование сети и различные виды атак.
С помощью Scapy можно заменить:
hping,
arpspoof,
arp-sk,
arping,
p0f
и частично
Nmap,
tcpdump,
tshark.

http://xgu.ru/wiki/Scapy

И очень много примеров тут
https://habrahabr.ru/post/249563/

четверг, 21 апреля 2016 г.

Смотрим и чистим таблицу conntrack

Иногда бывает так, что что-то сбивается в коннтрак таблицах, из недавнего: поменяли роутинг для одной сети, которая доступна напрямую, но ранее ходила через default gateway, соответственно внешний айпи стал другой. С TCP это не проблема, сессии сами отвалятся, а вот с UDP (та же телефония) будут проблемы. Совсем простое решение - ребутнуть шлюз, чуть сложнее - на проблемных телефонах поменять src port, это создаст новые правила в conntrack. Но мы попытаемся решить более цивилизованно.

вторник, 19 апреля 2016 г.

rtpengine + Centos 6

Достаточно интересный rtp proxy
https://github.com/sipwise/rtpengine

Инструкция под centos/redhat тут:
https://github.com/sipwise/rtpengine/blob/master/el/README.el.md

но она странная, поэтому соберём свою версию.

Enabling automatic updates in Centos 6|7 and Red Hat 6|7

http://linuxaria.com/pills/enabling-automatic-updates-in-centos-6-and-red-hat-6
http://linuxaria.com/howto/enabling-automatic-updates-in-centos-7-and-rhel-7

В двух словах -- ставим yum-cron, правим конфиги и активируем сервис.
Да, в 6 настройки минимальны - только скачать или поставить, да список exclude, а вот в 7 настроек куда больше.

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

ставим zabbix свежих версий в ubuntu

Начинать отсюда:
http://www.zabbix.com/download.php

Версия 2.4:
Свежая убунту это trusty (14.04 LTS)
Можно скачать нужные пакеты, перейдя сюда:
http://repo.zabbix.com/zabbix/2.4/ubuntu/pool/main/z/zabbix/

можно подняться на уровень выше и перейти в zabbix-release, там будет деб-файл для установки репы. Или сразу скачать так:
wget http://repo.zabbix.com/zabbix/2.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.4-1+trusty_all.deb
dpkg -i zabbix*

Для 3.0 аналогично:
deb файлы:
http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix/
релиз-файл:
http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+trusty_all.deb