02 июня 2026

Исправление nagios-nrpe-server в Debian 13

Дошли руки поправить старую проблему с nagios-nrpe-server, которая появилась после обновления серверов на Debian 13 и воспроизводилась после каждой перезагрузки сервера. Последнее время обновления ядра выходят довольно часто и надоело перезагружать этот сервис руками.

DISK CRITICAL - /run/credentials/getty@tty1.service is not accessible: No such file or directory

В Debian 13 используется версия systemd в которой добавили ImportCredentials из systemd-creds для getty. В сочетании с опцией privateTmp=true для nagios-nrpe-server.service это приводит к такой ошибке.

В самом сервисе есть указание запускаться перед getty@tty1.service, но в моём случае это не даёт нужного эффекта. Чтобы ошибка не возникала при каждой перезагрузке достаточно выключить privateTmp для nagios-nrpe-server.service.

$ sudo systemctl edit nagios-nrpe-server.service

И переопределить значение privateTmp с true на false. Нужно добавить нужные строки до строки "### Edits below this comment will be discarded", примерно так:

29 мая 2026

Усилитель низкой частоты на LM386

Собрал несколько вариантов усилителя низкой частоты (УНЧ) на популярной микросхеме LM386. На макетной плате использована микросхема LM386N-1 в DIP корпусе от Texas Instruments. К выходу усилителя подключен динамик 6 Ом на 1,5 Вт. В тестах напряжение питания усилителя 8 В, а рекомендованный диапазон питающего напряжения от 4 В до 12 В.

Сначала собрал схему из документации с максимально возможным усилением в 200 раз, добавив электролитический конденсатор 220 мкФ по питанию.

26 мая 2026

Усилитель высокой частоты на BGA2869

Экспериментирую с приёмником прямого преобразования и в качестве усилителя высокой частоты поставил готовый модуль. На шелкографии печатной платы заявлены следующие характеристики:

  • усиление 30 дБ
  • частоты от 100 кГц до 2 ГГц
  • питание от 9 В до 12 В

В описании товара не было информации о применяемой микросхеме, но на чипе видна маркировка "MDt" что соответствует BGA2869 от NXP произведённому в Малайзии.

На модуле указано питание от 9 В до 12 В, но в документации указано иное: от 4,5 В до 5,5 В при абсолютном максимуме 7 В. Ошибки нет, т.к. в цепи питания стоит гасящий резистор на 220 Ом на котором и падает "лишнее" напряжение. При питании от 11 В на микросхема потребляет ток около 26 мА и на неё приходит 5,2 В что вполне соответствует рекомендуемому диапазону питающего напряжения.

20 мая 2026

Отладка HTTP заголовков

В рамках активности по замене bitnami чартов дошли руки обновить oauth2-proxy. В процессе столкнулся с тем что перестала работать авторизация в одном из приложений для которого был использован alpha config.

Чтобы проверить какие HTTP заголовки oauth2-proxy передаёт на бэкенд после прохождения авторизации можно запустить "echo" сервис, который будет отображать всю информацию о запросе который к нему поступил.

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: echo
spec:
  replicas: 1
  selector:
    matchLabels:
      app: echo
  template:
    metadata:
      labels:
        app: echo
    spec:
      containers:
        - name: echo
          image: docker.io/mendhak/http-https-echo:31
          ports:
            - containerPort: 8080
          env:
            - name: HTTP_PORT
              value: "8080"
---
apiVersion: v1
kind: Service
metadata:
  name: echo
spec:
  selector:
    app: echo
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080

После применения манифеста остаётся заменить бэкенд на http://echo и посмотреть какие заголовки были переданы со стороны oauth2-proxy.

17 мая 2026

Сравнение смесителя ADE-1 с самодельным

Собрал кольцевой диодный смеситель на ADE-1 (от 0,5 до 500 МГц, +7 дБм LO) и сравнил его с самодельным в котором использованы ферритовые кольца М400НН 10х6х3 и диоды шоттки 1N5711.

В качестве источника полезного сигнала (RF) и гетеродина (LO) использовал генератор сигналов Uni-T UTG932E, который был доработан до 60 МГц.

Первый выход генератора выдаёт синусоидальный сигнал частотой 14 МГц и уровнем -73 дБм (-53 дБм установлено на генераторе и на его выход подключён внешний аттенюатор на 20 дБ), который подключается к порту RF смесителей.

14 мая 2026

Использование rclone для копирования файлов в GCS бакет

Попробовал использовать rclone для переноса файлов из on-prem хостинга в облако Google. В отличии от утилит gcloud или gsutil, rclone есть в репозитарии Debian/Ubuntu и его легко поставить через APT.

Для переноса я не стал создавать user-managed ключ для IAM сервис аккаунта, вместо этого взял токен от виртуальной машины которая запущена с нужными правами в GCP.

$ curl -H 'Metadata-Flavor:Google' 169.254.169.254/computeMetadata/v1/instance/service-accounts/default/token
{"access_token":"ya29.c.[redacted]_af","expires_in":3599,"token_type":"Bearer"}

Тут важно взять весь вывод целиком если задаётся параметр "token", либо только значение "access_token" для соответствующего параметра в rclone. В противном случае будет ошибка вида:

Failed to create file system for "gcs:example-files/": failed to configure Google Cloud Storage: google: could not find default credentials. See https://cloud.google.com/docs/authentication/external/set-up-adc for more information

Далее создание конфигурации для GCS (можно отвечать на вопросы в rclone config, но на всякий случай оставлю готовую конфигурацию для приватных бакетов с uniform access) и собственно сама миграция.

08 мая 2026

Установка OpenWebRX+ на Raspberry PI 3 Model B

Если SDR приёмник подключается к rtl_tcp, который запущен на Raspberry PI 3 Model B через Wi-Fi сеть (эта модель поддерживает только 2.4 ГГц Wi-Fi), то её скорости иногда не хватает чтобы принимать сигнал без запинок. Решил попробовать OpenWebRX+ чтобы декодирование I/Q сигнала выполнялось локально на Raspberry а по сети передавалось меньше данных.

Записал образ Debian 13 для Raspberry на microSD карту которая подключена через USB считыватель и видна в системе как /dev/sda

curl -fsSLO https://cloud.debian.org/images/cloud/trixie/daily/latest/debian-13-raspi-arm64-daily.tar.xz

tar -xzf debian-13-raspi-arm64-daily.tar.xz

sudo dd if=disk.raw of=/dev/sda bs=10M oflag=direct status=progress

После записи образа установил microSD карту в одноплатник, подключил проводную сеть, клавиатуру и монитор и загрузился в систему (при первой загрузке попросит задать пароль для root пользователя и часовой пояс).

Далее поставил минимальный набор пакетов, настроил имя хоста, локаль и отключил проверку дубликатов IP адресов в Network Manager.

sudo apt --update install network-manager openssh-server openssh-client locales vim less

echo pi3 | sudo tee /etc/hostname

echo '127.0.1.1 pi3.local pi3' | sudo tee -a /etc/hosts

sudo hostname -F /etc/hostname

cat << _EOF_ | sudo tee /etc/locale.gen
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
_EOF_

sudo locale-gen

cat <<_EOF_ | sudo tee /etc/NetworkManager/conf.d/50-no-ipv4-dad.conf
[connection-dad-default]
ipv4.dad-timeout=0
_EOF_

sudo systemctl restart NetworkManager.service

Дальше настроил подключение к Wi-Fi точке через nmtui и установил сервис для управления антенной из SDR приложения.