LINUX.ORG.RU

Сообщения lizard

 

SIP-клиенты падают при попытке обращения к микрофону

Форум — Desktop

Протестировал linphone и zoiper. Запускаются, подключаются и вроде работают, но при попытке ответить на звонок/позвонить самому падают:

fish: “zoiper” terminated by signal SIGSEGV (Address boundary error)
fish: “linphone” terminated by signal SIGSEGV (Address boundary error)
Приложения же вроде teamspeak или skype работают нормально. В какую сторону копать? Думал, дело в стыке alsa/pulse, так как linphone работает через alsa, но нет - zoiper работает с pulseaudio и тоже падает.

UPD. Дело было в firejail, через который был запущен скайп.

 ,

lizard
()

Утилиты для резервного копирования наживую

Форум — Admin

А что нынче имеется для бэкапа живой системы, кроме tar/rsync и самописных скриптов? Хочется, чтобы утилитка создавала образ загрузочного диска, который в случае факапа воткнул и оно дальше само. Нагуглил mondorescue, протестировал - оно не смогло восстановить бэкап, ни в виртуалке, ни на другом железе. Акронис не предлагать. Консистентность данных не важна, баз данных там нет.

 

lizard
()

Локаль по умолчанию в PHP

Форум — Web-development

Добрый день. Столкнулся с тем, что php не воспринимает системные настройки локали:

root@test4:~# locale
LANG=ru_RU.CP1251
LANGUAGE=ru
LC_CTYPE="ru_RU.CP1251"
LC_NUMERIC="ru_RU.CP1251"
LC_TIME="ru_RU.CP1251"
LC_COLLATE="ru_RU.CP1251"
LC_MONETARY="ru_RU.CP1251"
LC_MESSAGES="ru_RU.CP1251"
LC_PAPER="ru_RU.CP1251"
LC_NAME="ru_RU.CP1251"
LC_ADDRESS="ru_RU.CP1251"
LC_TELEPHONE="ru_RU.CP1251"
LC_MEASUREMENT="ru_RU.CP1251"
LC_IDENTIFICATION="ru_RU.CP1251"
LC_ALL=
root@test4:~# php -r "echo (10.10);"
10.1
root@test4:~# php -r "echo setlocale(LC_ALL, 0);"
LC_CTYPE=ru_RU.CP1251;LC_NUMERIC=C;LC_TIME=C;LC_COLLATE=C;LC_MONETARY=C;LC_MESSAGES=C;LC_PAPER=C;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=C;LC_IDENTIFICATION=C
root@test4:~# php -r "setlocale(LC_NUMERIC,'ru_RU.CP1251'); echo (10.10);"  
10,1
root@test4:~# php -v
PHP 7.0.12-1+deb.sury.org~trusty+1 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.12-1+deb.sury.org~trusty+1, Copyright (c) 1999-2016, by Zend Technologies
root@test4:~# locale -a
C
C.UTF-8
POSIX
ru_RU.cp1251
ru_RU.utf8
Указание intl.default_locale в php.ini тоже не помогает. Можно как-то избежать использования setlocale() в коде?

 ,

lizard
()

Не работает отправка IGMP report

Форум — Admin

Имеется компьютер с убунтой 14.04, на котором запускается ffmpeg, принимающий поток через мультикаст. Через 260 секунд приём отваливается - это таймаут Group Membership Interval, то есть убунта не отправляет IGMP Report. При этом, если воткнуть ноут с дебианом в этот же порт коммутатора и запустить точно так же ffmpeg - всё работает. Хотелось бы знать, куда пнуть эту убунту, чтобы она не творила такой фигни? Вариант «заменить на дебиан/центось» уже приведён в исполнение, но на будущее хотелось бы знать.

 , ,

lizard
()

Каким образом организовать подключение оконечных устройств в несколько вланов?

Форум — Admin

Есть будущая провайдерская сеть. Возник вопрос: каким образом организовать подключение абонентов? Хочется организовать несколько вланов, например, 100-й - для интернета/локального трафика, 500-й - для iptv с мультикастами, 4000-й - для управления самими коммутаторами. Курение мануалов показало, что access-порты не могут быть в нескольких вланах (да, есть гибридные, но не на всех коммутаторах), но как быть, если у абонента подключены обе услуги? Возьмём 28-и портовый коммутатор, пусть у него порты с 1 по 27 используются для подключения клиентов, 28 - аплинк до агрегации. На агрегации все порты указаны как транковые с вланами 100,500,4000, на коммутации они указаны для 28-го порта. Остальные порты пока в первом влане. Если абонентское оборудование поддерживает тегированный трафик, то тогда можно на оконечном коммутаторе тоже задавать порты 1-27 как транковые, заодно можно подключать-отключать услуги абоненту просто добавляя его порт в соответствующий влан (или удаляя). А если нет? Получается, трафик от абонента идёт нетегированный, и коммутатор не знает, в какой влан его отправлять. Если же на абонентское устройство придёт тегированный трафик, то он, скорее всего, просто будет отброшен.

 ,

lizard
()

Посоветуйте симулятор сети

Форум — General

Что-нибудь вроде Cisco Packet Tracer или GNS3. Но оборудования Cisco у меня нет, так что не слишком интересует. Хотелось бы возможность подключения KVM-виртуалки или чего-то аналогичного с RouterOS.

Желательно: минимальный графический интерфейс/визуализация, низкий порог вхождения (а не так, что проще и нагляднее на реальной сети пробовать). Возможность симуляции сети масштаба города.

 ,

lizard
()

Оконный менеджер, оперирующий приоритетом процессов

Форум — Desktop

Существуют ли такие? Чтобы, например, свёрнутые окна получали наименьший приоритет, неактивные - чуть меньший, то, с которым работаешь - максимальный.

 

lizard
()

Почтовые клиенты с поддержкой IMAP IDLE

Форум — Desktop

А какие клиенты поддерживают IMAP IDLE, кроме Thunderbird, KMail, Evolution и Mutt? KMail всем хорош был бы, но он использует Akonadi, который периодически начинает что-то там индексировать и может поставить раком восьмиядерный процессор. Крайне желательна интеграция с рабочим столом в виде нотификаций, индикации числа новых сообщений, использования менеджера паролей и электронных подписей/шифрования. На данный момент пользуюсь Thunderbird, но хотелось бы иметь альтернативу.

 ,

lizard
()

«Плоская» сеть для контейнеров.

Форум — Admin

Имеется два физических хоста с openvz-контейнерами. Как бы их объединить так, чтобы они все находились в одном сегменте сети? Например, 10.10.0.1 - первый хост, 0.2 - второй хост, с 0.100 начинаются адреса контейнеров на venet-интерфейсе. Попробовал как в этой статье, только прописал одну и ту же подсеть, хосты друг друга видят, пингуют, а контейнеры - нет: Destination host unreachable. Маршруты прописаны, форвардинг в ядре включен. Что ему ещё надо?

 ,

lizard
()

tinc или gre+ipsec?

Форум — Admin

Надо поднять тоннели между серверами в разных датацентрах и гонять мультикасты. Собственно, не могу решить, на чём их сделать. GRE-тоннели, по идее, работают быстрее и с минимальным оверхедом, но поверх надо прикручивать ipsec. В tinc шифрование уже есть, но какой-то он замороченный (хотя по сравнению с openvpn достаточно прост). grelan настраивается в три строчки, но зато для того, чтобы с пользовательской машины (которые практически все за натом) попасть во внутреннюю сеть, всё равно придётся ставить отдельный впн-сервер.

 , , , ,

lizard
()

Отказоустойчивые решения

Форум — Admin

Подскажите, какие существуют на данный момент отказоустойчивые решения для веб-приложений? Архитектура приложения на данный момент такая - клиент (веб и десктопный) - nginx (отдельный виртуалхост с поддоменом на логическую группу клиентов) - tomcat (одно здоровенное ява-приложение на спринге) - mysql (отдельная база на ту же логическую группу клиентов плюс общесистемная база). Сейчас всё довольно бодро крутится на одном medium-инстансе на амазоне плюс small-инстанс rds (даже без multi-az). Планировалось после раскрутки проекта нарастить мощность и использовать некоторые фичи амазона вроде балансировщика и route 53, но законы и курс доллара вынуждают переезжать в Россию, где хостингов с подобной инфраструктурой нет. Так что надо изобразить что-то минимальное самому.

Вариант 1, классический. Основной сервер с приложением и базой в одном дата-центре, слэйв-база в другом датацентре. В случае падения основного сервера поднимаем резервный в другом датацентре, переключаем dns на него. Простой составит от десяти минут до часа. В особо тяжёлых случаях игнорирования ttl у dns-записей провайдерами - до нескольких часов.

Вариант 2. Round-robin на днсах. Два равноценных сервера в разных датацентрах, mysql в режиме мастер-мастер либо же galera с арбитром. В случае падения одного сервера или датацентра опять слушаем ругань клиентов, но уже вдвое меньше. Опять же, до тех пор, пока не обновятся днсы либо пока не воспрянет упавший сервер/датацентр. Из минусов ещё и то, что само приложение не рассчитано и не тестировалось на параллельную работу, возникают потери сессий и тому подобное непотребство. Но это можно минимально пофиксить, отправляя на nginx'ах одних и тех же клиентов на один и тот же апстрим. Ну и скорость работы при синхронной репликации будет заметно ниже.

Вариант 3, вариация классического. Добавляем перед основным сервером парочку фронт-эндов, этакий недо-cdn. В это случае, имея один сервер приложения в горячем резерве, простой можно свести ко времени таймаута ожидания ответа от апстрима. Но если падает фронт-энд, всё опять же сводится к первому варианту.

Всякие фишки вроде CARP и распределённых файловых систем выглядят интересно, но, как мне кажется, это из пушки по воробьям. Например, чем репликация на уровне базы данных хуже репликации на уровне файловой системы? Файловая система ведь ещё и оверхэд будет давать некоторый.

UPD. Работал всего с двумя российскими хоситнг-провайдерами, у обоих регулярно падала маршрутизация (это не считая иных проблем, напрямую к теме не относящихся).

 

lizard
()

NetworkManager совместно с dnsmasq не воспринимает запушеные через OpenVPN адреса днс-сервера

Форум — Desktop

Имеется удалённый сервер, на котором установлен OpenVPN для доступа во внутреннюю сеть. Внутри сети функционирует собственный днс-сервер. В OpenVPN прописаны днсы для подключающихся клиентов, чтобы они могли обращаться к внутренним сервисам по именам. VPN-соединение настроено через NetworkManager. Если убрать dnsmasq, то при подключении NetworkManager вносит адреса в /etc/resolv.conf и всё работает, но не работает кэш днс-запросов, ради которого, собственно, и хочется использовать dnsmasq. Однако при явном указании днс-сервера в настройки vpn-соединения он добавляется в конфиг dnsmasq, но всё равно не работает:

lizard@home~> cat /var/run/NetworkManager/dnsmasq.conf 
server=/10.in-addr.arpa/10.2.1.1
server=192.168.100.1
server=8.8.4.4
server=8.8.8.8
lizard@home~> cat /etc/resolv.conf 
nameserver 127.0.0.1
Подозреваю, это из-за того, что адрес сервера вносится в конфиг криво. Однако я не нашёл, где это происходит, может, у кого-нибудь есть идеи, как это можно исправить? Прописывать адреса серверов статически - не вариант, таких сетей у меня много.

Debian 8.

 , , ,

lizard
()

Выборка по диапазону дат

Форум — Development

Есть одна нехорошая таблица с парой миллионов записей, в которой день-месяц-год заданы отдельными столбцами. Теперь ВНЕЗАПНО понадобилось делать выборку в диапазоне от и до. Помогите составить корректный sql-запрос для этого чуда (ну, кроме как сделать alter table, добавив поле с типом datetime, проапдейтить его и потом уже сделать обычный запрос). Вот пример запроса, который скинули мне:

SELECT * FROM stat 
WHERE (year>=2014 AND ( (month=9 and day>=29) OR (day>0 and month>9) )) 
AND (year<=2015 AND ( (month=3 and day<=27) OR (day>0 and month < 3) )) 
Я в sql ни бум-бум, якобы у разработчика на локальной машине всё работает, а на сервере нет. Но это какой-то бред.

 ,

lizard
()

Веб-обёртка для гита

Форум — Web-development

Нужна простенькая обёртка для гита, задачи - сделать pull или checkout на другой бранч в рабочей копии. Сейчас есть самописное решение, но так как программист, писавший его, уволился, то никто не знает как его чинить. Разобраться, конечно, можно, но это требует времени, а надо здесь и сейчас. В офвики проекты либо мёртвые, либо тяжёлые. Вариант раздавать программистам и тестерам аккаунты на сервере и объяснять, как пользоваться консолью, мне не нравится.

 , ,

lizard
()

Системы управления конфигами

Форум — Admin

А есть такие системы, которые хранят конфигурацию в SQL-like базах, где можно не только выполнить генерацию однотипных конфигов по шаблонам, но и получить информацию? Например, есть у меня несколько сотен виртуалхостов на nginx, каждый со своими настройками docroot, upstream и логов, хотелось бы уметь сделать что-то вроде select * from config where upstream='main' and servername like 'demo%'. И, соответственно, update, а то сейчас приходится прибегать к помощи sed и awk.

PS. Кто сказал «реестр»?

 ,

lizard
()

Перенастроить управление уровнем записи в pulseaudio

Форум — Desktop

На данный момент при увеличении уровня записи с микрофона пульса задирает Mic Boost (по крайней мере, так показывает alsamixer). Можно ли как-то заставить его вместо этого использовать Capture/Digital и забыть про Mic Boost? Усиление даёт неприятные шумы, для общения некритично, но вот программы для распознавания речи (Simon, Google speech api) уже не работают.

 , ,

lizard
()

Гламурные обёртки для администрирования mysql/postgres.

Форум — Admin

Нет, не gui. Хочется определённый административный фронт-энд, как у Amazon RDS, позволяющий парой кликов сделать, например, снятие/разворачивание дампа, откат базы на определённое время, подключение слэйва и переключение типа репликации. Заодно и мониторинг можно. Теоретически я знаю как это сделать на базе того же docker/openvz, но это будет долго и не факт, что хорошо. Идеально если у этого интерфейса будет какое-то апи, которое можно будет дёргать из других приложений. Что-то вроде https://github.com/outbrain/orchestrator только более мощное.

 , ,

lizard
()

Linphone при старте пытается авторизоваться где его не просят

Форум — Desktop

Сначала оно пыталось залогиниться на default gateway (т.е. на 192.168.1.1), после того как вычистил все упоминания об учётной записи вида 'логин@локальный айпи' из конфига, оно при старте пытается залогиниться на провайдерском нате (подозреваю, выцепив его через upnp с роутера) с моим пользовательским логином. Как бы отбить эту привычку? Очень надоедает клацать отмену в запросе несуществующего пароля несколько раз.

А ещё оно изредка принимает непонятные входящие. Непонятные в смысле того, как они пролазят через два ната, да ещё откуда-то из глубин интернета. Чудны дела твои, маршрутизация.

И ещё не работает через пульсу, что здорово раздражает, особенно когда треньканье вызова идёт в наушники вместо колонок.

В общем, прошу посоветовать аналоги, которые будут работать с «Манготелекомом». Екига обзавелась привычкой иногда сегфолтиться, Зойпер, упомянутый в их вики, стрёмный и без исходников (и тоже не умеет пульсу).

Эх, как хорошо было, когда в Манго работала переадресация на скайп... А потом злой майкрософт взял и поломал.

 ,

lizard
()

DVB-T ТВ-тюнер.

Форум — Linux-hardware

Нужен PCI-тюнер на DVB-T, с нормальной поддержкой. Бехолдеры сдулись (кодер, заведовавший линуксами, уволился, больше никто там не умеет), искать б/у - не вариант, нужно срочно и с гарантией. Авермедия по отзывам работает криво. Желательно чтобы влезал в 1U-корпус. С PCI-e всё плохо, судя по вики linuxtv. Копать по исходникам и ревизиям чипов - дело неблагодарное, потому что продавцы на вопрос «На каком чипе тюнер?» впадают в ступор.

 

lizard
()

Фрилансер под пальмой

Галерея — Рабочие места

Белорусская погода (климатическая, экономическая и политическая) в прошлом году окончательно задолбала. Ликвидировал ИП, переписал всё имущество на родителей, кинул в рюкзак ноут, смену белья, зубную щётку, в кошелёк - дебетовую карту со свободными средствами и немного наличных, и в начале октября прошлого года уже спускался по трапу самолёта в национальном аэропорту Бангкока. Погуляв по этому мегаполису, больше похожему на разворошенный муравейник (куда там Москве!), я отправился дальше на юг, в небольшой городок Ао-Нанг, провинция Краби. Теперь же срок почти пятимесячного пребывания подходит к концу и жутко не хочется возвращаться обратно.

Работается тут, конечно, довольно лениво, да и деньги улетают только в путь, примерно по штуке-полторы баксов в месяц (это со всем вместе, от аренды жилья и транспорта до развлечений и проституток). Так что моя «Виза» тоже намекает, что пора бы домой, добраться до своего банковского счёта - я сдуру оформил его в другом банке, а ***нутая политика первого банка не допускает того, чтобы на валютный карт-счёт мог перечислить деньги кто-то другой, кроме владельца - я даже родственника с доверенностью не могу попросить перевести мне деньги на карту.

На снимке - балкончик с тыльной стороны дома на сваях, вид на непонятные пальмы с маленькими чёрными плодами. Местные их собирают, но сами плоды несъедобные, по крайней мере, в свежем виде. На балкончик я вылезаю редко, с той стороны плохо ловит вай-фай, да и периодически приходится отбивать нашествие здоровенных рыжих муравьёв с ближайшей пальмы. Но на нём приятно сидеть вечером, потягивая местный ром с колой или пиво - солнце с другой стороны дома, прохладно, тихо, спокойно, только гекконы стрекочут. Специально искал место подальше от курорта, но всё же недалеко от моря.

Конечно, самое неудобное - это то, что заказчики в другом часовом поясе. Москва ещё терпимо, но вот митинги с Бостоном или Нью-Йорком заставляют не спать ночь. А вот тридцатиградусная жара не мешает совершенно. Особенно здорово с утра, на рассвете, после бессонной ночи, проведённой в консоли с пингом в несколько секунд, сесть на байк, доехать до пустого в это время пляжа и плюхнуться в спокойное тёплое море.

 ,

lizard
()

RSS подписка на новые темы