Архив рубрики: Shorts

Короткие заметки из жизни, 1-3 предложения.

Debian, Xen и большой initrd

Заметка между делом.

Столкнулся с тем, что на домашних серверах (на данный момент один обновил до Debian 13) стало мало места в /boot/efi. initrd занимал 47 МБ, что как-то неприлично много, особенно с учетом MODULES=dep в /etc/initramfs-tools/initramfs.conf.

Оказалось, что у xen-tools свое мнение на этот счет в /etc/initramfs-tools/conf.d/xen-tools: «To make the Dom0’s initramfs working inside DomUs, too, most modules need to be included». В моем случае initrd из dom0 никак не использовался для domU, поэтому копировать все доступные модули в образ для dom0 было излишним.

Asus C60M1-i и 24 ГБ памяти

«Не отходя от кассы» протестировал и одну из своих mini ITX-материнок на APU AMD C60, для которой официально поддерживается только 8 ГБ.

Всю ночь гонял Мемтест, без ошибок. Когда докуплю еще планок — проверю и на 32 ГБ.

Скорость обмена небольшая — 2,386 GB/s (с двумя планками получилось 2,645 GB/s). Но при достаточном объеме памяти вполне можно стараться компенсировать хилость процессора активным кэшированием всего чего только можно для каких-нибудь домашних применений — Home Assistant, сидбокс, ejabberd, веб-сервер с легкими сайтиками, etc.

Update 2026-04-18: AMD C60 видит и 32 ГБ ОЗУ:

AMD FX-8320 + DDR3 16 GB одной планкой

…а также поддержка >32 GB RAM.

Заказал себе такое счастье с Али — DDR3 1X16GB 1600 MHz. В свете возни с ИИ-хостом решил попробовать поискать и более емкие модули, чем имевшиеся 8 ГБ. Официально FX-8320 поддерживает максимум 32 ГБ (т.е., как раз только 8 ГБ модули). 16 я никогда в руках не держал и в хозяйстве таких не было. Решил провести эксперимент. Вышло около 32$ на распродажах.

И ведь таки работает. Прошел Мемтест как в соло-варианте, так и в паре с имевшимися Team’ами.

В отличие от Team с XMP на 9/9/9/24@1600, тут было только 11/11/11/27 для такой частоты. На 9/9/9/24 запускаться отказывались. НО. Что интересно, соло-модуль с Али давал чуть более высокую скорость (4,06 ГБ/с), чем соло-модуль с XMP (3,83 ГБ/с). Полный комплект Team в двухканальном режиме, конечно, давал ощутимый прирост — примерно 5,5 ГБ/с.

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

Update 2026-04-18: получил еще 3 планки. Все ок, FX-8320 корректно видит 64 ГБ ОЗУ:

И сразу после теста оказалось, что именно такие планки разобрали. Хотел еще парочку отдельно под C60 🙁

Экспорт переписки пользователя из MAM в ejabberd

В MySQL / MariaDB:

SELECT timestamp, created_at, peer, txt FROM archive WHERE username = 'USER' and txt != '' INTO OUTFILE '/tmp/USER.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"';

Далее режем на отдельные файлы:

awk 'BEGIN {FS="\",\"";RS="\"\n"} {peer=$3; gsub(/\/.*|\+/, "", peer); gsub(/"/, "", $1); gsub(/\\\n/, "\n", $4); print $1, $2, $4 >> peer}' /tmp/USER.csv

Прямая замена ESP01 на ESP32 C3

Попалось на глаза, закину в заметки:

GPIO не совсем соответствуют (а чего было не сделать 1 в 1?) и цена не особо гуманна — 3-4$ — при том, что сегодня покупал «чистый» ESP32 C3 по 1,7$. Но мало ли, в каких-то случаях может быть полезно.

Nextcloud и отправка почты

Наконец-то спустя долгое время наткнулся на решение проблемы отправки почты через простенький локальный почтовик. Что-то «сломали» или переделали несколько версий назад, с тех пор попытка отправки тестового письма в веб-интерфейсе выдавала ошибку. Полез в логи — при настройке None/StartTLS NC таки ломится на почтовик со StartTLS, после чего обламывается.

Закидываем в config/config.php такое:

  'mail_smtpstreamoptions' =>
  array (
    'ssl' =>
    array (
      'allow_self_signed' => true,
      'verify_peer' => false,
      'verify_peer_name' => false,
    ),
  ),

Update 2026-06-11: нашел альтернативу. В config/config.php меняем такие опции:

'mail_smtpmode' => 'sendmail',
'mail_sendmailmode' => 'pipe',

В таком случае оно хотя бы начинает использовать отправку через консольную утилиту без оглядки на сертификаты — но нет, не через то, что указано в sendmail_path в PHP, а старательно выискивает бинарник sendmail на диске и если не находит — использует захардкоженный путь.

+1 батарейка

Фотозаметка.

По мотивам расчетов автономки для знакомого — захотелось и себе собрать что-то этакое из аккумуляторов — а в идеале — не сильно отличающееся по размерам от «малого» инвертора. На NKON за весьма скромные деньги продавали ячейки 21700, заказал коробку. Формат непривычный, но цена…

Попутно заказал BMS на Али — все тот же JK, но нашел на 150А и взял с током балансировки 1А, вышло ощутимо дешевле. По ошибке заказал на 24 линии вместо 20 (а для сборки требуется всего 14), вышло примерно на 1$ дороже, но все равно меньше 50$. И там же на Али взял кассету от Turmera для сборки батареи 14S6P на 52В.

Читать далее +1 батарейка

ejabberd и инвайты

Тема Easy Onboarding вполне активно развивается и в последних версиях ejabberd (26.01/26.02) появилось создание учетных записей по приглашениям: добавлен mod_invites, а в штатной поставке сделана landing-страница, с помощью которой новички могут выбрать себе клиент и перейти к регистрации.

Общий смысл в том, что более опытный — имеющий учетную запись — пользователь берет на себя придумывание Jabber ID и разрешает регистрироваться другу на том сервере, которым пользуется сам. Пароль обычно в опробованных клиентах генерируется. Т.е., вся регистрация у новичка сводится к паре кликов «далее».

У себя поделал красивости в стиле субдоменов «Join ${DOMAIN}» (например, https://join.jabber.name), куда идут ссылки приглашений — а также туда смотрит и штатная веб-форма регистрации, которую на сейчас не использую.

Пока остается один нерешенный момент: у меня в mod_register использовался параметр redirect_url, чтобы любая попытка регистрации из клиента вела на веб-форму. С инвайтами вылез косяк — редирект блокирует завершение регистрации. Тикет уже заведен — надеюсь, в следующей версии ejabberd поправят.

Debian 13, lighttpd и симлинки

Просто заметка. После обновления Debian с 12 до 13 на одном из хостов отвалилась работа lighttpd — индексы отдает, а картинок нет. Картинки в подкаталогах, сделанных симлинками. server.follow-symlink = "enable" должно быть и дефолтно включено, и руками добавлял. Не помогает. Сервер просто перестал ходить по симлинкам, отдавая 404. Откат версии веб-сервера (при том же конфиге) решил проблему. Где-то по пути поломалось:

lighttpd:
  Установлен: 1.4.69-1
  Кандидат: 1.4.79-2

Update 2026-04-08: добил проблему. Не «поломалось», а в свежих версиях используются более строгие ограничения. В моем случае используется размещение генерируемых картинок и HTML-файлов в /tmp (не страшно, так как собирать скриптами данные и отдавать контент через веб-сервер — единственная активная функция сервера). /tmp — за пределами дефолтного каталога контента и на другой ФС (tmpfs). В общем, открываем systemctl edit lighttpd и добавляем:

[Service]
PrivateTmp=no
ReadOnlyPaths=/tmp

Внутренности автоматического селектора фазы от TOMZN

Искал как-то аналог используемого у себя польского автопереключателя фазы F&F АПФ-451 (он же PF-451) — китайцы и тут уже подсуетились. За 16-18$ нашел TOMZN TOVPD3-63VAYA. Заказал знакомому, получили, вскрыл, несколько фото:

На плате дисплея и контроллера — HC89F0541 и 3 SN74HC164; 8-ножка на «силовой» — SM7075.

Устройство ощутимо более фичастое, такой себе гибрид реле напряжения / тока и умного переключателя фазы. Нет необходимости в разделении на устройства с приоритетной и без приоритетной фазы — настраивается все: приоритет фазы; его наличие или отсутствие; пороги по напряжению (превышению и возврату к работе); защита по току и различные таймеры.

А еще реле меньше в размерах — 5 модулей против 6 у АПФ-451.

В работе пока не пробовали, но мне уже хочется сплавить куда-то польский вариант 🙂

Кстати, по случаю тут открыл для себя подобное от DigiTOP’а — DigiTOP PS-10A. Только 10А, зато занимает мало места.