Як треба (і як не треба) супроводжувати вашу систему, GIT та пакети

10/Січень/2026 zero-trustsecurity

Гарний адмін та його сервер
Гарний адмін та його сервер 1000x1000
good_admin_and_his_server_exw.jpg

Стандартна ситуація, у вас є основний робочий комп’ютер, на якому у вас є три різних проекта.
Один проект на nodejs, другий продакшн на python, а третій ваш власний “pet project”, теж на python.
А ще у вас у цій же системі особиста та робоча пошта, та й, скажімо, браузер і клієнт-банк.
І це все під вашим юзером.
Звичайно ж, головне, щоб не під рутом!
Решта не має значення. ¯\_(ツ)_/¯
Все цілком звичайне.

У багатьох технічно грамотних розробників таких проектів можуть бути десятки і десятки ключів для ssh або git серверів.

Приклад із популярним фреймворком PyTorch


Цілком повсякденно Ви пишете свій код, іноді комітіте, і тут у ваш затишний pet-project з AI прилітає оновлення torchtriton.
А після цього з вашої системи відлітають наступні набори даних, відповідно до основної функції бінарника, яка робить наступне:

  • Збір системної інформації:
    • nameservers з /etc/resolv.conf
    • hostname з gethostname()
    • поточний логін з getlogin()
    • поточна робоча директорія з getcwd()
    • змінні оточення
  • Читання наступних файлів:
    • /etc/hosts
    • /etc/passwd
    • Перші 1,000 файлів з $HOME/*
    • $HOME/.gitconfig
    • $HOME/.ssh/*

Оновлення прилетіло, конфедиційні дані – відлетіли.
Скомпрометовано не тільки все під вашим юзером (і, можливо, системою), але й по ланцюжку все, чим ви керували, куди комітили, куди підключалися.

Як треба (і...

Помилка підключення GitLab Agent: Unauthorized

25/Листопад/2025 kubernetesgitlabagentk

Помилка підключення GitLab Agent 1400x350 kubernetes_gitlab_agent_error.png
Помилка підключення GitLab Agent

Не вдаючись до подробиць, як саме і чому все організовано, доступ здійснюється по наступному ланцюжку:

1
Nginx stream ingress <> Main Nginx Frontend <> Nginx Backend inside GitLab instance.

Основний фронтенд управляє піддоменом gitlab, який закритий для зовнішнього доступу за допомогою авторизації auth_basic.

Помилка підключення GitLab...

Чому стандартні плагіни jekyll далекі від ідеалу

11/Березень/2025 jekyllstructured-datanginx

У цій статті я не буду наводити повний код для всіх компонентів, тільки дам сніпети та підказки, на що варто звернути увагу при складанні сайту на jekyll.

Jekyll Structured Data and sitemap.xml 1535x697 jekyll-structured-data-sitemap-and-nginx.png
Jekyll Structured Data and sitemap.xml

Час модифікації файла

Кожна сторінка має щонайменше три точки відображення позначки часу в різних файлах, елементах сторінки або відповіді сервера, і всі вони повинні бути однаковими.

  • ld+json "dateModified": "2025-03-07T15:43:42+00:00"
  • sitemap <lastmod>2025-03-07T15:43:42+00:00</lastmod>
  • headres last-modified: Fri, 07 Mar 2025 15:43:42 GMT
Чому стандартні плагіни...

Коли читаєш деякі pdf-datasheet

22/Грудень/2020 mediateklow-powerpdfdatasheet

Шукаєш щось із низьким енергоспоживанням.
Знаходиш модулі на mediatek, завантажуєш документацію на SoM (System on Module).
Гортаєш у пошуках скільки ж споживає чіп.

MT7628 дані не введені
MT7628 дані не введені 826x1100
MT7628_no_power_data_exw.png
MT7688 дані не введені
MT7688 дані не введені 826x1169
MT7688_no_mAh_data_exw.png
Коли читаєш деякі...

Вибір ядра для завантаження у консолі U-Boot через віддалене підключення

29/Серпень/2018 debianubootcubieboardkerneluart

Що завалилося?

Ручний вибір ядра в U-Boot
Ручний вибір ядра в U-Boot 595x715
u-boot-kernel-select.png


Є один маленький CubieBoard2 поруч із маленьким роутером.
Фізичного доступу до них немає.
У роутер, під керуванням LEDE, підключено USB-UART, піни якого підключені до CubieBoard2.
І роутер, і CubieBoard2 доступні через ssh.

Саме наявність UART у збірці і дозволило підняти завалений CubieBoard2 віддалено.

Як завалилося?

Одного разу прилітає штатне оновлення ядра дебіана
linux-image-4.9.0-8-armmp-lpae.
Після оновлення система перестає виходити зв’язок.

Як це зазвичай роблять?

Тут все просто, витягуєш microsd картку, ну а далі можна не описувати.

Вибір ядра для...