История о том, как я в Debian машину времени вкрячивал

Как в Debian настроить Btrfs, Snapper и grub-btrfs так, чтобы после неудачного обновления вернуть рабочую систему за несколько минут.

Вечный кайф

Как в Debian настроить Btrfs, Snapper и grub-btrfs так, чтобы после неудачного обновления вернуть рабочую систему за несколько минут.

Сколько замечал, для Debian stable никто не делал отдельных репозиториев со свежими графическими драйверами, в отличие от Ubuntu, а поиграть в новые игры или получить свежие фишки Mesa хочется, не переходя на свежие дистрибутивы вроде Arch Linux или Fedora. Пакетный менеджер в Debian очень строгий, и смесь Ubuntu-ppa он терпеть не будет, так что придётся всё собирать вручную из исходников.
В статье описана сборка свежих драйверов Mesa3D для Debian Trixie с использованием Podman и манифеста Kubernetes.

Конфигурируем, собираем и устанавливаем ядро Linux на свое железо. Отчищаем ядро от лишних модулей через make localmodconfig и modeprobed-db store, компилируем, обновляем GRUB.

Вынос со скандалом Bcachefs из mainline‑ядра Linux в конце 2025 года (начиная с релиза 6.18) проект не похоронил. Напротив, это явно подстегнуло мейнтейнера к жесткой дисциплине. Спустя 7 месяцев проект перешел на DKMS‑модель и официально снял статус experimental.
Развернул тестовую ВМ в Proxmox, чтобы посмотреть на эксплуатационный UX: как ставится, как ведет себя при отказе дисков и стоит ли тащить в homelab или прод.
Дисклеймер. Это синтетические тесты, а не академический бенчмарк (на виртуалке поверх ZFS тестировать скорость — такое себе). Цель — проверить работу базовых функций, диагностику и поведение при аварии.

После многих лет домашнего использования попеременно то Debian GNU/Linux, то win10, у меня возникло желание побороть в себе консерватизм и поиграться с rolling-release дистрибутивом, но не debian-sid, это уже из чистого любопытства. Выбор пал на арч потому, что он удовлетворял критерию свежести софта и модели rolling-release, но не требует массы времени для сборки софта из исходников, как генту, плюс он достаточно популярен и у меня не возникло оснований выбрать что-то слишком малоизвестное. В юности не боялся и слаки, и ядро тогда собирать было не лень, но это было очень давно.
Устанавливал на комп с процессором intel core i9-10940, 96гб озу, 1 диск м2 ссд 1тб под систему и софт, 2 диск м2 ссд для данных (/var), 3 диск сата ссд 2тб для /home, видеокарта- nvidia 3090ti. Подключение к инету- по ethernet через роутер mikrotik hap ac2, так что при установке настройка wifi не потребовалась. В результате я хотел получить систему с оконным менеджером kde для домашних задач типа просмотра фильмов и переписки с друзьями, а также для работы, плюс хотел раздать через комп вайфай через amnezia+wireguard.

19 июня Линус Торвальдс влил merge, который убрал из ядра Linux функцию strncpy — шесть лет работы, 362 коммита, семьдесят человек ради одной функции стандартной библиотеки C. Разбираю, почему «просто заменить небезопасную функцию» в C совсем не просто: strncpy только выглядит как «безопасный strcpy» из-за параметра n, а на деле это даже не строковая функция, а реликт fixed-width полей из AT&T Unix 1979 года. Главное в истории не сам выпил, а его цена: заменить нельзя автозаменой, потому что каждый из 362 вызовов требует понять намерение — нужна C-строка, padding или бинарное поле. Урок выходит за пределы ядра: в любой C/C++ базе на проде strncpy — это не баг, а код, который надо перечитать.

Я смог запустить на нём Linux, оптимизировать систему для быстрой работы, завести с десяток вкладок в браузере. Но не сумел запустить игры, которые на XP, скорее всего, пошли бы без проблем. А что удастся вам?

В последнее время большинство обсуждений агентской разработки крутится вокруг Claude Code, Codex, Gemini CLI и других облачных инструментов. Но, с одной стороны, киты индустрии блокируют нам доступы снаружи, с другой — чиновничьи умы блокируют нам доступ изнутри, потому необходимо иметь под рукой локальный инструмент для агентской разработки.
9 июня 2026 вышла модель NorthMiniCode, в отличие от qwen и подобных специально заточенная под агентские циклы. Планирование, инструменты, редактирование, терминал — это то, на что заточена модель. Подробно разбирать архитектурные особенности будем в следующий раз, а сейчас опишу свой опыт развертывания данной модели и использования ее в OpenCode на домашнем компьютере.

У моего клиента есть пара железных серверов, которые используются для хранения и раздачи статических файлов. Все бы ничего, но любое оборудование требует внимания и регулярного мониторинга. Со временем диски, модули памяти и другие компоненты могут выходить из строя. Причем умирают они не сразу, сначала молча сыплются ошибки в логи, а потом уже поздно что-то предпринимать: даунтайм, kernel panic, fatal error, ретроспектива и панические атаки. Поэтому важно своевременно отслеживать состояние инфраструктуры и реагировать на предупреждения до того, как они перерастут в серьезные инциденты.
По-хорошему раз в месяц кто-то должен садиться и изучать логи на аномалии, если нужно — писать тикеты и ждать завершения технических работ с серверами. Вполне логичная и рабочая схема, в которой сама собой напрашивается автоматизация, комплексный сбор логов, выявление узких мест и уведомления в профильные каналы. Но, как ни крути, нужно оптимизировать процессы и резать косты, да и человек не всегда имеет желание следить за показателями.
Выражение «искусственный интеллект всех заменит» заиграло новыми красками. Нет, от естественного интеллекта я не отказываюсь, но конкретно анализом «здоровья» этих железных серверов теперь занимается локальная ИИшница. Сейчас покажу, что удалось запилить, как я прикрутил локальную модель и написал нишевого агента под нужды клиента, чисто для анализа логов с железных серверов.

Рассмотрим пример сборки go приложения для работы в среде Entware на mips-роутерах Keenetic/Netcraze

В статье я расскажу, как эмулировать работу USB-устройства без наличия физического устройства. Для этого мы соберем маленький Linux-дистрибутив в Buildroot (~60мб), который с помощью USB Gadget будет притворяться реальным периферийным устройством - Modbus Slave (но можно любым дргим: мышкой, камерой и т.д.). Запустим несколько таких “устройств” с помощью QEMU, подключим их в Windows через USBip.
vi /etc/yum.repos.d/centos7.repo
Если ваш проект перерос стадию “просто собрать” и теперь требует бесперебойной работы в проде, простого пайплайна больше недостаточно. Главная боль — как исключить downtime и иметь возможность мгновенного отката? В третьей части цикла разбираемся с GitLab Container Registry.
Мы настроим хранение версий Docker-образов, разберем подводные камни Docker in Docker (dind) и SELinux, а также автоматизируем тестирование перед выкатом. Наконец простейший скрипт для запуска контейнера на production-сервере из вашего приватного Gitlab Registry.

Делюсь опытом. Как я настроил AnythingLLM для небольшой компании на базе VPS и своего домашнего компа. Заказчик хочет оценить все эти ваши GPT на практике, но не готов вкладываться и запрещает отдавать свои тайны публичным языковым моделям. Есть запрос - есть и предложение. Делаем решение из того, что уже есть: VPS на Ubuntu, домашний игровой комп, Mikrotik в качестве роутера. Один вечер и минимум вложений. Заказчик в восторге, я в плюсе!

Я использую Linux 15 лет. Ну, то есть как использую: первые года три я его настраивал, а не использовал. Это разные вещи, и мне понадобилось позорно много времени чтобы это понять.
Сейчас у меня Fedora. Из коробки. С GNOME. Почти без кастомизации. Я набираю в ней код, сижу в браузере, иногда монтирую видео для внутренних демок. Всё работает.
Пятнадцать лет назад я бы от такого описания плевался. Как это «из коробки»? А где i3? Где polybar? Где 400 строк .vimrc? Где кастомный скрипт на баше который при подключении второго монитора переключает раскладку DPI и температуру цвета?
Ну вот, нету. И ничего не сломалось.

OpenMediaVault, бот в Telegram и проблема с провайдером, которую пришлось решать через собственный десктоп.

Четвёртая часть серии о Linux для DevOps и DevSecOps — разбираем процессы глубоко: жизненный цикл, состояния, /proc, сигналы, планировщик, ограничения, отладка и диагностика в production.

Все мы любим envsubst за простоту, но он примитивен. Переходить на Python с Jinja2 ради шаблонизации конфигов в CI/CD — всё равно что стрелять из пушки по воробьям, да и тащить рантайм ради пары переменных не хочется. В мире Go есть неплохие аналоги, но их вес в 100 МБ вгоняет в тоску, когда стремишься к минимализму в Docker-образах.
Теперь всё изменилось так как появился muenvsubst — замена стандартной утилите, написанная на C++17, заточенная под хардкорную шаблонизацию в инфраструктуре. В этой статье я расскажу, как уместить мощь, близкую к Jinja2 (включая циклы, условия, макросы и вызов shell), в статический бинарник весом менее 400 КБ.

Привет!
В статье рассмотрим создание центров сертификации для автономной системы в реалиях 2026 года. Такой системой может выступать ваш дом, небольшой офис или другая локальная сеть, которая предоставляет пользователям сервисы. Простоты ради мы будем использовать пакет EasyRSA. Рассмотрим все шаги от создания корневого и промежуточного ЦС до выпуска клиентских и серверных ключей(и бонусом — пример их использования в моей домашней сети). Интересно? Тогда добро пожаловать под кат.
Если у вас есть какая-то система мониторинга чего-то - наверняка там есть какие-то показатели, которые актуальны здесь и сейчас: для метеостанции - температура, для роутера - трафик, для сервера - нагрузка, и т.д. - в общем, какая-то актуальная величина. Но кроме онлайн-значений - может быть полезен график, например за ближайшие сутки, или за месяц, или за год - чтобы можно было оценивать тренды.
Или наоборот: иногда происходит какое-то событие, достаточно редкое (сбой, или наоборот срабатывание), но хотелось бы понимать, насколько часто, и не меняется ли его частота в разные периоды - ведь это может быть признаком более серьезной проблемы.
Самое очевидное решение - писать данные в базу. Но такая таблица будет постоянно расти, занимать всё больше места, а выборка за прошлый период может отрабатывать довольно долго, особенно если требуется уместить целый год в 900 пикселей графика.
Когда-то и я наступил на эти грабли - когда база на MongoDB распухла так, что не влезла в 32-битный компьютер. Но это другая история.
При этом мало кому нужно точно знать, какая температура была на датчике 26 июля 2016 года в 14:33:15 - чаще достаточно просто усредненных значений. Вот как раз для подобного давным-давно люди придумали RRD - Round-robin database