Обновил ALT Linux Live до почти уже вышедшего branch/p8, комплектация немного изменилась:
CD/DVD-носители уже не слишком актуальны, поэтому iso выкладываются главным образом для запуска в виртуальных средах. Архивы tar предназначены для записи образов на USB flash. В каждом образе по прежнему есть 3 варианта загрузки: console, openbox, xfce. Все варианты (включая консольный) теперь используют systemd. После знакомства с аналогами инит-скриптов, появления systemd-networkd и systemd-nspawn / machinectl, а также после выхода RHEL7 и Ubuntu LTS с systemd я наконец проникся.
Образы собираются из нового профиля, т.к. старый оброс различными артефактами и стал слишком сложным. Кроме того, завел наконец вики-страничку с чуть более пространным описанием.
среда, 4 мая 2016 г.
понедельник, 29 сентября 2014 г.
Автозапуск в ALT Linux Live
Снова обновил ALT Linux Live до актуального branch/t7, образов стало чуть больше:
- altlive-console-t7-i586
- altlive-openbox-t7-i586
- altlive-xfce-t7-i586
- altlive-console-t7-x86_64
- altlive-openbox-t7-x86_64
- altlive-xfce-t7-x86_64
Все это полезно при загрузке корня средствами propagator по NFS или с локального USB-диска - тогда рядом со сжатым корнем можно положить скрипты для дополнительной индивидуальной настройки загружаемой системы. Краткая инструкция по загрузке с NFS и USB внутри образов, код по прежнему в репозитарии m-p-l в бранче autoconf.
Ярлыки:
altlinux,
altlinux-live,
desktop,
linux
пятница, 18 октября 2013 г.
Новая сборка ALT Linux Live
Еще раз обновил ALT Linux Live до только что вышедшего branch/t7, снова доступны образы:
Хоть я и обещал, что предыдущая сборка будет последней, перебраться с m-p-l на m-p пока не вышло.
В процессе пришлось определяться с отношением к systemd. Я не готов бежать впередипаровоза RHEL7 и даже на новых серверах пока не планирую его использовать, поэтому на собственном десктопе - тоже. Соответственно, в этих образах по-прежнему используется sysvinit, сменные носители монтируются в /media, ipv6 выключен, сетевые интерфейсы именуются как eth* - что еще нужно ретрограду? :)
В процессе пришлось определяться с отношением к systemd. Я не готов бежать впереди
Ярлыки:
altlinux,
altlinux-live,
desktop,
linux
понедельник, 19 августа 2013 г.
Записи в DNS из NetXMS
Отказался от dnsmasq в пользу PowerDNS в качестве внутреннего DNS-сервера. Причина - разнообразие бакендов в PowerDNS, из которых самым полезным для меня оказался Generic PgSQL backend. Теперь внутренние адреса хостов разрешаются в имена и наоборот не из файла /etc/hosts, а из БД внутренней системы мониторинга NetXMS, в которой все важные хосты гарантированно присутствуют.
Подробности в статье на Хабре - нужно же мне было каким-то образом добыть возможность комментировать разные интересные вещи, которые там, бывает, появляются :)
Подробности в статье на Хабре - нужно же мне было каким-то образом добыть возможность комментировать разные интересные вещи, которые там, бывает, появляются :)
Ярлыки:
dns,
monitoring,
network
суббота, 1 декабря 2012 г.
FreeSWITCH users via LDAP
Потребовалось авторизовать пользователей FreeSWITCH через LDAP вместо XML Directory. Оба имевшихся в комплекте модуля оказались со странностями:
Затем я пришел в себя и решил все же еще раз вчитаться в код нативных модулей и исправить/переписать тот, который окажется более вменяемым. Все оказалось проще - второй модуль уже почти переписали и, видимо следуя общей традиции поддержки LDAP, таки бросили уже почти на финише.
Сделать последний шаг оказалось несложно. Оно работает, хотя и нуждается в более тщательном тестировании.
- mod_ldap вообще не похож на рабочий, код просто недописан
- mod_xml_ldap пытается быть слишком универсальным и предполагает использование собственной схемы, в которой для одного пользователя предполагается иметь по записи для каждого параметра вместо очевидного, казалось бы, решения - добывать необходимую для авторизации информацию прямо из имеющихся атрибутов записей с objectClass=person
Затем я пришел в себя и решил все же еще раз вчитаться в код нативных модулей и исправить/переписать тот, который окажется более вменяемым. Все оказалось проще - второй модуль уже почти переписали и, видимо следуя общей традиции поддержки LDAP, таки бросили уже почти на финише.
Сделать последний шаг оказалось несложно. Оно работает, хотя и нуждается в более тщательном тестировании.
Ярлыки:
freeswitch,
ldap,
telecom,
voip
пятница, 22 июня 2012 г.
Рок-н-ролл мертв, а Perl еще нет
Никогда не предполагал, что окажусь в шкуре Perl-программиста - но это случилось. На новом месте (региональная сеть NGN/IMS) мне досталась в наследство куча перлового кода (предбиллинг, управление подключениями, устройствами, услугами) и полтора программиста, способные значительным усилием воли его читать, а в крайнем случае даже править. Автора этого безобразия большей части кода я уже не застал, хотя до того успел пообщаться с ним, находять по другую сторону баррикад и подключая Asterisk/CallWeaver и FreeSWITCH к операторскому оборудованию.
Конечно, я надеялся все переписать все на Java/Groovy, однако вовремя остановился - это оказалось слишком дорого и больно. В итоге мы остановились на Perl и это позволило:
Значительная часть как старого, так и нового кода в итоге оказалась внутри модулей, написанных в процедурном стиле и пригодных к использованию в качестве автономных утилит:
Эти же утилиты являются по сути функциональными тестами. От юнит-тестов мы отказались, т.к. их честная реализация во многих случах свелась бы к написанию эмуляторов внешних систем и оборудования, с которым приходится работать.
Но чаще модули не запускаются вручную сменным инженером или кроном, а собираются в более крупные единицы:
Сейчас весь старый код работает на последнем оставшемся сервере с Slakware 12.2.0 (который поначалу было едва справлялся с нагрузкой а сейчас почти отдыхает) и потихоньку переползает на новые сервера с ALT Linux. В последнем пришлось обновить Mojolicious, Plack и Starman, который используется в качестве самостоятельного web-сервера без всяких фронтендов типа nginx и тем более apache. Я также опакетил evpsgi и начал было перепиливать сборку uwsgi, однако быстро потерял к ним интерес - поэтому до репозитария они не добрались.
Конечно, я надеялся все переписать все на Java/Groovy, однако вовремя остановился - это оказалось слишком дорого и больно. В итоге мы остановились на Perl и это позволило:
- Постепенно переписывать работающий код по частям и повторно использовать некоторый унаследованный код после минимального рефакторинга
- Не переучивать коллег - разве что более осознанно подойти к coding conventions
Значительная часть как старого, так и нового кода в итоге оказалась внутри модулей, написанных в процедурном стиле и пригодных к использованию в качестве автономных утилит:
Но чаще модули не запускаются вручную сменным инженером или кроном, а собираются в более крупные единицы:
- Юниксовые демоны, написанные с использованием Proc::Daemon (Net::Daemon оказался слишком умным) и запускаемые инит-скриптом в стиле SysV (никаких новомодных systemd)
- Web-приложения, использующие PSGI согласно последней моде
- Опираясь исключительно на спецификацию - в этом случае разбор URL, параметров и заголовков, возвращение требуемого Content-Type, шаблонизация и многое другое становятся проблемами самого разработчика
- Используя Plack - эталонную реализацию спецификации, которая предлагает стандартизованный способ декомпозиции приложений (в т.ч. выделения Middleware и специального DSL для настройки и склеивания разных приложений в одно), также обросла кучей разных полезных плагинов
- Используя один из полноценных web-фреймворков, хотя на самом деле их, похоже, всего лишь 2 - Dancer и Mojolicious
Сейчас весь старый код работает на последнем оставшемся сервере с Slakware 12.2.0 (который поначалу было едва справлялся с нагрузкой а сейчас почти отдыхает) и потихоньку переползает на новые сервера с ALT Linux. В последнем пришлось обновить Mojolicious, Plack и Starman, который используется в качестве самостоятельного web-сервера без всяких фронтендов типа nginx и тем более apache. Я также опакетил evpsgi и начал было перепиливать сборку uwsgi, однако быстро потерял к ним интерес - поэтому до репозитария они не добрались.
четверг, 10 мая 2012 г.
NetXMS network monitoring system
Собрал в Сизиф и t6/branch систему мониторинга NetXMS, привлекшую к себе внимание даже не столько эффективной архитектурой, сколько в первую очередь своей консолью:
Она кажется более наглядной и при этом достаточно простой для сменных инженеров по сравнению с любым веб-интерфейсом (ну или как минимум по сравнению со знакомыми мне OpenNMS и Zabbix). Благодаря Eclipse/RAP ее можно запустить не только в качестве кроссплатформенного десктопного приложения, но и через веб тоже - хотя работать с ней таким образом все же менее комфортно.
Да, апстрим добрый и отзывчивый: баги исправляют, фичреквесты реализуют (или, по крайней мере, задумываются), по-русски говорят.
Да, апстрим добрый и отзывчивый: баги исправляют, фичреквесты реализуют (или, по крайней мере, задумываются), по-русски говорят.
Ярлыки:
altlinux,
monitoring,
network,
telecom
Подписаться на:
Сообщения (Atom)