Архив рубрики: Компьютерное

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

Debian 13, Ollama + OpenwebUI и Fluux Agent: заводим персональный AI в Jabber

Первый раз щупаю эту тему.

В целом, не так давно на слуху появился jabber-клиент Fluux Messenger – примечателен тем, что от Process One, разработчиков одного из самых популярных jabber-серверов. Как минимум, находится среди их репозиториев.

А еще там появился Fluux Agent. Роадмап многообещающий: на сейчас он уже может выступать интерфейсом к Ollama или работать с “облачными” сервисами; может работать 1 на 1 или через конференцию; выступать в качестве бота или компонента сервера. А в будущем планируется возможность сделать общение между такими ботами – федеративную AI-сеть.

Идеей заинтересовался; возможностью попробовать запустить локального AI-агента и посмотреть, на что оно вообще годно – тоже. Подсобрал по разным уголкам дома железо и решил развернуть все на нем. В ход пошла старая основа от NAS’а – Athlon 740 и 32 ГБ оперативки с той же материнкой, на которой все было установлено. А в качестве GPU-основы для вычислений – пара видеокарт от майнинг-ригов. Самыми мощными у меня в хозяйстве были Nvidia 1080TI с 11 ГБ памяти, пару из них и задействовал.

Читать далее Debian 13, Ollama + OpenwebUI и Fluux Agent: заводим персональный AI в Jabber

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

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

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

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

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

Системник со встроенной подставкой под наушники

Первый раз такое попадается 🙂

Acer Predator:

Из интересного:

  • Материнка Acer ms-7829 (на деле, похоже, MSI)
  • Необычный разъем питания материнки
  • Диски питаются через материнку.
  • БП под это дело соответствующий.
  • Привод – ноутбучный. Стоит под углом.
  • Штатно есть хот-своп HDD.