Обновить
256K+

Linux *

Пишем под *nix

367,74
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Собираем pod с учетом зависимостей в Podman

Время на прочтение5 мин
Охват и читатели11K

Когда ваше приложение состоит из нескольких сервисов, например бэкенда, БД и кэша, невольно возникает вопрос — а как гарантировать, что они запустятся в правильно порядке и вообще увидят друг друга? В Docker это решается с помощью depends_on, тут ничего нового. А вот в Podman подход немного другой. Ну кто бы сомневался!

Читать далее

DMA в userspace на Zynq US+: собираем данные AXI-Stream для CPU

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели10K

Привет! Меня зовут Данил, я разрабатываю прикладное ПО для радиочастотных систем YADRO. В этой статье я расскажу об одном из вариантов сбора данных AXI-Stream для обработки на CPU, рассмотрю в этом контексте возможности и требования блока AXI DMA, а напоследок порассуждаю о когерентности кешей и о том, что на самом деле здесь требуется от драйвера ядра.

Читать далее

Ретро-консоль в руках программиста

Уровень сложностиСредний
Время на прочтение31 мин
Охват и читатели12K

В последнее время мне захотелось вернуться к проекту игровой консоли. Правда, он забуксовал, но ничего страшного: это долгоиграющий проект, и буду его разбирать по чуть-чуть. А вернулся к нему всё потому, что захотелось программировать. Потом я стал размышлять, что необязательно делать свою консоль — можно достать готовую. И везде я слышал упоминания про ретро-консоли, а у меня такой не было! Выбрал для себя Anbernic RG35XX Pro и заказал.

В этой статье будет небольшой обзор и впечатления от этой приставки. Но больше всего меня интересовал вопрос: допустим, я разрабатываю игры — могу ли я использовать ретро-консоль для моих нужд? Как легко запустить мою игру на ней? Может быть, игровые движки поддерживают опцию экспорта для таких консолей? И похожие вопросы — в основном из-за непонимания того, как это происходит.

Всё будет рассмотрено на примере PortMaster и написания Hello World на C/C++ (SDL2, SDL3, raylib), но также поговорим про Unity, Godot и HTML5 (Phaser).

Читать далее

Разбираем хаос в Linux‑логах: journald, rsyslog и файлы

Уровень сложностиСложный
Время на прочтение14 мин
Охват и читатели14K

«Где мои логи — в /var/log/messages, /var/log/syslog или только в journalctl?» — этот вопрос рано или поздно задает себе каждый инженер, который вынужден переключаться между разными дистрибутивами: Ubuntu, CentOS, Alpine, корпоративные Unix системы. 

Типичный сценарий: вы заходите на сервер, ищете /var/log/messages, а его или нет, или он есть, но journalctl показывает гораздо больше событий, чем файл. 

Иногда сервер внезапно начинает сильно использовать CPU, и в итоге причиной оказывается агрессивное логирование. 

Если к этому добавить разнородный парк, где рядом с Ubuntu живут динозавры на AIX и Solaris, путаница приобретает глобальный характер. 

Сейчас мы живем в эпоху «двоевластия»: systemd‑journald уже стал стандартом де‑факто, но rsyslog все еще присутствует во многих дистрибутивах по инерции или ради совместимости. Эта статья для инженеров, которые хотят понимать, кто именно пишет логи в Linux, почему они дублируются, где теряются CPU и I/O, и как настроить логирование так, чтобы диск не превращался в помойку. 

Мы пройдем путь от бинарных логов AIX до journald, а в конце разберемся, как практически использовать journalctl с популярными инфраструктурными службами. 

Читать далее

Постмортем без наказаний: культура разбора ошибок, которая реально улучшает качество проектов

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели5.3K

В инфраструктурных проектах цена ошибки может измеряться миллионами и репутацией компании. Но практика показывает: поиск виноватых редко помогает избежать повторения проблем, гораздо эффективнее работает культура постмортем-разборов — честный анализ инцидентов без наказаний, который превращает ошибки в системные улучшения.

В инфраструктурных проектах цена ошибки редко бывает символической. Это может быть простой систем, финансовые потери, штрафы, иногда репутационные риски для клиента и подрядчика. В такой среде логично ожидать жесткой культуры поиска виноватых. Но практика показывает обратное: чем сложнее технологическая среда, тем бесполезнее модель «найти виновного и наказать». Она не снижает количество ошибок. Иногда она даже увеличивает их. За годы работы в инфраструктурных проектах я убедился, что единственный способ реально повышать качество, это культура разбора ошибок без наказаний. В инженерной среде это часто называют постмортем.

Почему поиск виноватых не работает

В ИТ есть старая поговорка: «Быстро поднятое не считается упавшим». Почти каждый инженер слышал её ещё в начале карьеры. В этой фразе есть важный инженерный принцип: в момент инцидента главная задача — не выяснять, кто виноват, а максимально быстро восстановить систему.

Когда что-то падает, инфраструктура, сервис или интеграция, время становится главным фактором. Клиенту не важно, кто допустил ошибку, ему важно, чтобы система снова работала. Поэтому в инженерных командах почти инстинктивно действует правило: сначала поднимаем систему, потом разбираемся.

Читать далее

Организация MTProto для телеграмма на одном порту

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели66K

Я решил погрузиться в мир собственных VPN серверов, после того как очередной раз сервис, за который я платил деньги перестал качественно работать, а поддержка из-за перегруженности отвечала шаблонами, в духе "Надо подождать, мы скоро все починим".

Набрав в поиске "VDS в Германии аренда" я с удивлением обнаружил, что арендовать такой сервер можно с российской карты и за вполне вменяемые деньги. Арендовав сервер на неделю, я принялся поднимать собственный MTProto для телеги. Использовал я образ https://github.com/telemt/telemt

Я поднял свой контейнер с прокси, проверил, что все работает и обрадовался. Но сразу же встал следующий вопрос - CLI это хорошо, но хотелось бы какой-то GUI для управления прокси. Я перепробовал несколько панелей и остановился на https://github.com/MaksimTMB/mtg-adminpanel. её суть в том, что панель можно установить на любой сервер или вообще локально, а на сервер, где будет развернут прокси ставится агент, который будет выполнять команды панели. Такое решение мне понравилось, так как в будущем можно будет расширить сеть до нескольких узлов, во избежание тотальной блокировки.

Читать далее

Как аномальный NXDOMAIN-трафик привёл к росту счетов в Cloud DNS, а поддержка не помогла вовремя

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7.1K

Использовали Cloud DNS, всё работало штатно.

В марте 2026 года мы столкнулись с неприятной ситуацией: в облачном DNS, который использовался для одной из наших публичных зон, начался резкий всплеск публичных авторитетных DNS‑запросов, причём основную массу составляли ответы NXDOMAIN.

На практике это привело сразу к двум проблемам:

Читать далее

Особенность настройки аутентификации 1С через веб-сервер расположенный на Linux

Уровень сложностиСредний
Время на прочтение1 мин
Охват и читатели8.8K

В сети достаточно информации о настройке аутентификации 1С при публикации базы на веб‑сервере.

Наиболее полная из найденных расположена по адресу https://infostart.ru/1c/articles/2440678

Информация в комментариях к статье достойна ознакомления.

Однако для сценария когда:

Подробнее...

От поста на Reddit до Abuse-репорта: расследование фишинговой академии

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели7.9K

Введение: Наткнулся на Reddit на крик о помощи: пользователь описывал странную схему «обучения трейдингу»,

Читать далее

Как добавить переменные в контейнер Podman

Время на прочтение5 мин
Охват и читатели10K

Когда мы запускаем контейнер, в большинстве случаев предварительно нужно указать настройки: порт, пароль, режим работы, адрес базы и т. д. Зачастую такие параметры жестко прописывают в самом коде, но это плохой стиль и вообще идея так себе. В будущем вы можете «затроить» и все это слить в git-репозиторий. А как мы знаем, хранить чувствительные данные в там нельзя.

Удобнее и гибче использовать переменные окружения. Те самые, которые environment variables. С помощью переменных можно настраивать поведение контейнера, использовать разные конфигурации (dev/stage/prod), безопасно передавать чувствительные данные. Как видите, одни плюсы.

Работа с переменными в Podman строится практически так же, как в Docker. Есть некоторые нюансы, но о них расскажу чуть позже. Сейчас давайте потыкаем на практике и посмотрим, что же происходит.

Читать далее

Stratum 1 NTP-сервер на Raspberry Pi в 2026 году: DCF77 + GPS/PPS, chrony, libgpiod v2

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели7.1K

Stratum 1 NTP-сервер на Raspberry Pi в 2025 году: DCF77 + GPS/PPS, chrony, libgpiod v2, когда все туториалы по «точному времени на Raspberry Pi» сломаны на современных системах. Разбираю почему — и показываю как сделать правильно.

Читать далее

Почему rollback на ext4 — боль, и как я решил это через rsync

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7K

Я просто сломал систему.
И внезапно понял, что rollback на ext4 не такая простая вещь, как кажется.
Вместо быстрого отката — часы поиска ошибки в конфиге.

В итоге собрал своё решение на rsync: быстрый и предсказуемый rollback без смены файловой системы.

Кода тут минимум — он на GitHub.
В статье же не столько про код, сколько про подход: где ломаются готовые решения и как собрать рабочий rollback из базовых инструментов Linux.

Вернуть систему

Kawai-Focus 2.5: сборка и упаковка Tauri-приложения (Windows + Arch Linux, AUR)

Уровень сложностиПростой
Время на прочтение18 мин
Охват и читатели5.8K

Сегодня я займусь совершенно неизведанной и, как мне кажется, мало изученной многими линуксоидами темой — сборкой Tauri-приложения под Windows. Почему мало изученной? Потому что я практически не программировал под эту систему и тем более никогда не собирал .exe-приложение под неё.

Я знаю лишь то, что Tauri поддерживает сборку приложений под Windows, поэтому это не должно стать серьёзной проблемой.

Также в предыдущей статье не поместилось добавление рецепта PKGBUILD в AUR, поэтому я включу его в эту статью.

Заваривайте чай, доставайте вкусняшки — пора «снимать урожай помидоров сорта Windows и выставлять на "витрину" сорт Arch»! 🍅

Читать далее

Ближайшие события

Искусственный интеллект и «стены памяти»: начало Software-Defined Memory?

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели6.7K

С 1947 года, когда появилась первая память с произвольным доступом — трубка Уильямса, — базовый принцип хранения данных в оперативной памяти фундаментально почти не изменился. За это время процессоры стали на порядки быстрее, но по-прежнему значительную часть времени они тратят на ожидание данных. Этот разрыв известен как «стена памяти» (Memory Wall), и именно он всё сильнее влияет на экономику современной инфраструктуры. Достаточно посмотреть, какую долю в стоимости сервера сегодня занимает RAM.

Мы покупаем терабайты памяти, но существенная её часть нередко остаётся «холодной»: ресурсы зарезервированы, потребляют энергию и стоят дорого, но используются далеко не полностью. В эпоху дефицита памяти, in-memory-приложений, искусственного интеллекта и других высоконагруженных систем такая неэффективность обходится слишком дорого.

А что, если эффективный объём доступной памяти можно заметно увеличить за считаные минуты — без замены оборудования?

В этой статье я коротко пройду по истории RAM, объясню, почему проблема Memory Wall стала особенно острой именно сейчас, и покажу, к какой новой вехе может привести подход, который условно можно назвать Software-Defined Memory. Разберем, как технологии MEXT используют AI для оптимизации инфраструктуры под AI- и data-intensive-нагрузки.

Спойлер: иногда, чтобы «увеличить» память, не нужно покупать новую — достаточно радикально лучше использовать ту, что уже установлена.

Читать далее

Делаем принт-сервер из старого ADSL модема

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели11K

Попробуем переделать старый ADSL роутер в принт-сервер, который позволит подключить не менее старый принтер Samsung SCX-3200 в локальную сеть

Читать далее

Что учесть при эксплуатации ALD Pro: подводные камни, лайфхаки и неочевидные особенности

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели8.4K

Привет, Хабр! На связи Александр Усов, системный инженер в K2Tex. В своей предыдущей статье я уже делал подробный обзор фич ALD Pro и их особенностей, с которыми регулярно сталкиваюсь. Сегодня хочу поделиться тем, чему мы учим администраторов заказчиков: как реально эксплуатировать эту систему, а не просто развернуть и оставить на холостом ходу. Разберу, как устроены «расширенные атрибуты» и почему следует избегать одинаковых названий отделов в оргструктуре, какую функциональность ALD Pro унаследовал от FreeIPA, а в чем превзошел, и каким образом эффективнее организовать журналирование событий.

Читать далее

Healthcheck инструментами Podman

Время на прочтение6 мин
Охват и читатели10K

Начиная работать с Podman, я задал себе вопрос — функционирует ли healthcheck в Podman так же, как в Docker? Да и нет. В этой статье разберем, зачем он вообще нужен, какие бывают типичные ошибки при запуске контейнера с healthcheck, выясним детали о systemd и Quadlet.

Читать далее

df врёт. du врёт. Где на самом деле гигабайты?

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели8.3K

Сервер лагает. Смотришь на диск — df -h говорит 95% занято. Запускаешь du -sh /* — в сумме набирается 20%. Куда делись остальные 75%? Файлы не найти, место не освободить, сервис падает.

Это не баг и не магия. Это фундаментальная особенность того как Linux работает с файлами. Разберём почему так происходит и как это чинить за две команды.

Читать далее

Как Microsoft «исправляет» Windows 11: цветы после побоев

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели16K

Недавно Microsoft объявила о плане из семи пунктов по исправлению Windows 11, и технологическая пресса восприняла его, как акт искупления. Президент Windows Паван Давулури в январе 2026 признал, что «Windows 11 сошла с рельс», и сообщил, что Microsoft переходит в режим «роения»: разработчиков будут переводить с реализации новых фич на устранение существующих проблем.

Когда я увидел этот заголовок, то сразу подумал, что это похоже на участие в абьюзивных отношениях. Партнёр тебя бьёт, а потом приходит с цветами и говорит, что изменился. А все окружающие говорят: «Видишь, он стал лучше». Но синяки не прошли, а извиняется он только за те побои, которые заметили люди.

Я хочу пройтись по всему тому, что Microsoft делала с Windows 11 на протяжении последних четырёх лет, потому что понять, как относиться к объявлению об «улучшениях», можно только в контексте всего ущерба; при этом мы осознаём, что самое худшее в план исправлений не попало.

Читать далее

Возврат значений из функций в x86-64: регистры, память и скрытые аргументы

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели8.2K

Наверняка многие и не задумываются: а как на самом деле происходит возврат структур и других типов значений из функций? Что происходит под капотом, какие приемы задействует компилятор? В данной статье я постараюсь дать ответы на эти вопросы и сделать это просто и понятно.

Читать далее