Ускоряем CLI-утилиты с помощью io_uring
Уже давненько вокруг ходит тема про io_uring — новую высокопроизводительную модель асинхронного I/O в Linux. В теории это обещает минимальные системные вызовы и очереди отправки/завершения, но как это в деле работает с привычными утилитами? Автор этой статьи решил разобраться на примере типичной задачи — копирования файлов — переписав её под liburing и сравнив с традиционной синхронной версией.
io_uring (доступный с ядра 5.1+) это механизм, в котором приложение может подготовить сразу несколько запросов на I/O и отправить их в кольцевой буфер (SQ), а затем получать результаты из другого кольца (CQ). Благодаря общей памятью между ядром и юзерспейсом, снижается накладная на системные вызовы. Однако нужно понимать системные требования: io_uring работает только с Linux 5.1 и выше, а многие продвинутые фичи вроде multishot‑приёма, поллинга и «naked» потоков (io‑wq) появились только в ядрах 5.10+. Это надо иметь в виду — проверяйте версию ядра перед попыткой использовать новейшие фишки. Также неплохо пользоваться liburing — библиотекой обёрткой над сырыми вызовами, чтобы не писать тонны boilerplate‑кода.
@usr_bin_linux
Уже давненько вокруг ходит тема про io_uring — новую высокопроизводительную модель асинхронного I/O в Linux. В теории это обещает минимальные системные вызовы и очереди отправки/завершения, но как это в деле работает с привычными утилитами? Автор этой статьи решил разобраться на примере типичной задачи — копирования файлов — переписав её под liburing и сравнив с традиционной синхронной версией.
io_uring (доступный с ядра 5.1+) это механизм, в котором приложение может подготовить сразу несколько запросов на I/O и отправить их в кольцевой буфер (SQ), а затем получать результаты из другого кольца (CQ). Благодаря общей памятью между ядром и юзерспейсом, снижается накладная на системные вызовы. Однако нужно понимать системные требования: io_uring работает только с Linux 5.1 и выше, а многие продвинутые фичи вроде multishot‑приёма, поллинга и «naked» потоков (io‑wq) появились только в ядрах 5.10+. Это надо иметь в виду — проверяйте версию ядра перед попыткой использовать новейшие фишки. Также неплохо пользоваться liburing — библиотекой обёрткой над сырыми вызовами, чтобы не писать тонны boilerplate‑кода.
@usr_bin_linux
🔥7👍3
GitOps в Linux: бесперебойное управление инфраструктурой на основе Git
Представь мир, где каждый сервер, приложение и сетевая конфигурация тщательно оркестрируются через Git, где обновления, аудиты и восстановления происходят с помощью одного коммита. Эти и другие возможности открывает GitOps. Особенно мощно он проявляет себя в сочетании с универсальностью Linux-систем. Как же преобразить управление инфраструктурой Linux? И каким образом с помощью Git добиться ясности, контроля и уверенности в каждом изменении? Подробности в статье.
@usr_bin_linux
Представь мир, где каждый сервер, приложение и сетевая конфигурация тщательно оркестрируются через Git, где обновления, аудиты и восстановления происходят с помощью одного коммита. Эти и другие возможности открывает GitOps. Особенно мощно он проявляет себя в сочетании с универсальностью Linux-систем. Как же преобразить управление инфраструктурой Linux? И каким образом с помощью Git добиться ясности, контроля и уверенности в каждом изменении? Подробности в статье.
@usr_bin_linux
👎7🔥7👍3
Как найти приложение, сильно загружающее CPU
Иногда, но не всегда, приложения могут запускать недолгоживущие процессы, которые создают на первый взгляд фантомную нагрузку на CPU. Но если разобраться в вопросе глубже, то причины проблем становятся очевидны. В этой статье на примере Apache Bench и Nginx + PHP разбираемся как выявить фантомную проблему с нагрузкой на CPU.
@usr_bin_linux
Иногда, но не всегда, приложения могут запускать недолгоживущие процессы, которые создают на первый взгляд фантомную нагрузку на CPU. Но если разобраться в вопросе глубже, то причины проблем становятся очевидны. В этой статье на примере Apache Bench и Nginx + PHP разбираемся как выявить фантомную проблему с нагрузкой на CPU.
@usr_bin_linux
Teletype
Как найти приложение, сильно загружающее CPU
Известно, что нагрузка на CPU включает в себя не только выполнение процессов в пользовательском пространстве и пространстве ядра...
🔥6👍2
Формирование RPM пакета для OC Linux с использованием GitLab CI/CD
Некоторое время назад автору этой статьи поставили задачу разработки службы, для работы с периферийным оборудованием, которая будет работать на рабочих машинах ОС Linux в виде сервиса.
До этого момента все десктоп приложения в подразделении, разрабатывались только под ОС Windows. Текущая задача стала определенным вызовом для команды и способом освоить что-то новое. Критерием готовности команды, в этом проекте, стало написание самой программы и публикация ее в виде RPM пакета для дальнейшего распространения. Вот, что именно надо сделать, чтобы получить готовый пакет, как все настроить в песочнице (на своем ПК) и какие сложности удалось преодолеть и будет рассказано в этой статье.
@usr_bin_linux
Некоторое время назад автору этой статьи поставили задачу разработки службы, для работы с периферийным оборудованием, которая будет работать на рабочих машинах ОС Linux в виде сервиса.
До этого момента все десктоп приложения в подразделении, разрабатывались только под ОС Windows. Текущая задача стала определенным вызовом для команды и способом освоить что-то новое. Критерием готовности команды, в этом проекте, стало написание самой программы и публикация ее в виде RPM пакета для дальнейшего распространения. Вот, что именно надо сделать, чтобы получить готовый пакет, как все настроить в песочнице (на своем ПК) и какие сложности удалось преодолеть и будет рассказано в этой статье.
@usr_bin_linux
🔥10⚡1👍1
Linux — мощь AWK
В этой статье разбираемся как эффективно работать с мощью awk — инструментов для работы с текстом в Linux.
В этой статье разбираемся как эффективно работать с мощью awk — инструментов для работы с текстом в Linux.
Teletype
Linux — мощь AWK
Подписывайтесь на телеграм-канал usr_bin, где я публикую много полезного по Linux, в том числе ссылки на статьи в этом блоге.
👍9🔥8⚡2
Ключевые различия между Docker и Containerd
Будучи основным компонентом Docker, Containerd стал популярным решением для контейнеризации, постепенно заменяя Docker в архитектуре Kubernetes. Эта статья прольет свет на различия между Docker и Containerd, что позволит лучше понять технологию контейнеризации.
Будучи основным компонентом Docker, Containerd стал популярным решением для контейнеризации, постепенно заменяя Docker в архитектуре Kubernetes. Эта статья прольет свет на различия между Docker и Containerd, что позволит лучше понять технологию контейнеризации.
Teletype
Ключевые различия между Docker и Containerd
Подписывайтесь на телеграм-канал usr_bin, где я публикую много полезного по Linux, в том числе ссылки на статьи в этом блоге.
👍10🔥4👎1
Linux: как заставить скрипты перечитывать конфигурацию во время работы
Предположим, следующий сценарий: вы создаете скрипт, обрабатывающий файлы. Ваш скрипт уже наполовину обработал 1 000 000 файлов. Но вам нужно внести небольшое изменение: задать интервал ожидания между обработкой файлов. Хотя это незначительное изменение, не хотелось бы останавливать столь трудоемкую задачу обработки файлов, которая уже выполнена наполовину. Способ описан в этой статье.
Предположим, следующий сценарий: вы создаете скрипт, обрабатывающий файлы. Ваш скрипт уже наполовину обработал 1 000 000 файлов. Но вам нужно внести небольшое изменение: задать интервал ожидания между обработкой файлов. Хотя это незначительное изменение, не хотелось бы останавливать столь трудоемкую задачу обработки файлов, которая уже выполнена наполовину. Способ описан в этой статье.
Teletype
Linux: как заставить скрипты перечитывать конфигурацию во время работы
Подписывайтесь на телеграм-канал usr_bin, где я публикую много полезного по Linux, в том числе ссылки на статьи в этом блоге.
👍10🔥9
Порт один, а сервисов — много. Учимся дружить Mikrotik с Nginx
Представим ситуацию: вам нужно организовать доступ к удаленному офису через Cisco AnyConnect, который по какой-либо причине должен работать на стандартном 443 порте. При этом на том же порте развернут веб-сервер, а позже понадобится там же развернуть FTPS, SSTP и еще 100 500 сервисов, которые используют TLS.
На первый взгляд может показаться, что разместить несколько сервисов с TLS на одном порте невозможно. Но достаточно вспомнить об обратных прокси (реверс-прокси), которые могут слушать один порт, а затем проксировать входящие соединения к нужным сервисам на других портах. Читать дальше на Хабре.
Представим ситуацию: вам нужно организовать доступ к удаленному офису через Cisco AnyConnect, который по какой-либо причине должен работать на стандартном 443 порте. При этом на том же порте развернут веб-сервер, а позже понадобится там же развернуть FTPS, SSTP и еще 100 500 сервисов, которые используют TLS.
На первый взгляд может показаться, что разместить несколько сервисов с TLS на одном порте невозможно. Но достаточно вспомнить об обратных прокси (реверс-прокси), которые могут слушать один порт, а затем проксировать входящие соединения к нужным сервисам на других портах. Читать дальше на Хабре.
🔥10👍1
Как Nginx обрабатывает тысячи одновременных запросов
В этой статье приоткрываем завесу тайны устройства Nginx и его способностей одновременной обработки множества запросов.
В этой статье приоткрываем завесу тайны устройства Nginx и его способностей одновременной обработки множества запросов.
🔥8👍2
Ubuntu 25.10 «Questing Quokka»: от бета-версии к финалу — что изменилось
В этой статье разбирают, что появилось в финальной версии Ubuntu 25.10, которую Canonical назвала "Questing Quokka" и как доработали ключевые компоненты.
В этой статье разбирают, что появилось в финальной версии Ubuntu 25.10, которую Canonical назвала "Questing Quokka" и как доработали ключевые компоненты.
Как защитить Kubernetes на уровне ядра Linux
Мы знаем, насколько важна безопасность при работе с Kubernetes. Поскольку все рабочие нагрузки выполняются на операционных системах хост-машин (узлов), их защита становится первостепенной задачей. Если злоумышленник сможет выбраться из изолированного контейнера и получит доступ к хосту, под угрозой окажется не только сам узел со всеми его подами, но и весь кластер, а потенциально — и вся корпоративная сеть. Читать дальше на Хабре.
Мы знаем, насколько важна безопасность при работе с Kubernetes. Поскольку все рабочие нагрузки выполняются на операционных системах хост-машин (узлов), их защита становится первостепенной задачей. Если злоумышленник сможет выбраться из изолированного контейнера и получит доступ к хосту, под угрозой окажется не только сам узел со всеми его подами, но и весь кластер, а потенциально — и вся корпоративная сеть. Читать дальше на Хабре.
🔥5👍1
🌆 Гонконг, Торонто, Токио, Таганрог — всего этого пока нет, зато есть Питер, с которым всё то, что медленно, становится быстрым.
Реклама. ООО «Аеза Групп», ИНН 7813654490, erid 2VtzquoBXCr
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11👎10🔥7
3 скрипта для диагностики Вашего Linux-сервера
Многие, наверняка, сталкивались с тормозами сервера, долгой загрузкой страниц. Логи молчат, нужно искать виновника. Системный мониторинг демонстрирует, что CPU вроде не загружен, память не полностью израсходована, а отклик системы оставляет желать лучшего.
В такие моменты стандартных утилит вроде top или htop часто недостаточно, нужен более детальный анализ. С этим автору этой статьи приходится периодически сталкиваться, из-за чего и были написаны 3 bash-скрипта. Они дают сбор ключевых метрик системы для дальнейшего разбора. Читать дальше.
Многие, наверняка, сталкивались с тормозами сервера, долгой загрузкой страниц. Логи молчат, нужно искать виновника. Системный мониторинг демонстрирует, что CPU вроде не загружен, память не полностью израсходована, а отклик системы оставляет желать лучшего.
В такие моменты стандартных утилит вроде top или htop часто недостаточно, нужен более детальный анализ. С этим автору этой статьи приходится периодически сталкиваться, из-за чего и были написаны 3 bash-скрипта. Они дают сбор ключевых метрик системы для дальнейшего разбора. Читать дальше.
🔥9👍3👎2
Мой первый вклад в ядро Linux
В последние годы автор этой статьи много времени уделял изучению исходного кода Linux, стараясь лучше понять внутренний механизм работы компьютеров. В какой-то момент он начал писать локальные патчи для исправления проблем с оборудованием своих ПК и в итоге решил попробовать отправить один из них в апстрим, чтобы непосредственно познакомиться с процессом разработки ядра. Читать дальше на Хабре.
В последние годы автор этой статьи много времени уделял изучению исходного кода Linux, стараясь лучше понять внутренний механизм работы компьютеров. В какой-то момент он начал писать локальные патчи для исправления проблем с оборудованием своих ПК и в итоге решил попробовать отправить один из них в апстрим, чтобы непосредственно познакомиться с процессом разработки ядра. Читать дальше на Хабре.
🔥7👍5
📘 На Stepik вышел курс — «DevOps-инженер: От основ до продакшена»
Хотите автоматизировать деплой, управлять инфраструктурой как кодом и выстраивать надёжные CI/CD процессы? Этот курс — полный путь DevOps-инженера.
• CI/CD: Jenkins, GitLab CI/CD, GitHub Actions, стратегии развёртывания (Blue-Green, Canary), rollback
• Контейнеризация: Docker (образы, Compose, networking), Podman, оптимизация и безопасность контейнеров
• Kubernetes: архитектура, Pods, Services, Deployments, Helm, RBAC, Service Mesh (Istio/Linkerd)
• Infrastructure as Code: Terraform, Ansible (playbooks, vault), Packer, ArgoCD и Flux для GitOps
• Облака: AWS (EC2, EKS, Lambda), GCP, Azure, Yandex Cloud, cost optimization• Мониторинг: Prometheus, Grafana, ELK Stack, Jaeger, OpenTelemetry, SLI/SLO/SLA
• Безопасность: SAST/DAST, Vault, Zero Trust, Policy as Code, incident response
• Продакшен практики: High Availability, Disaster Recovery, Chaos Engineering, on-call management
🎓 Сертификат — добавьте в резюме или LinkedIn
🚀 Скидка 25%, действует 48 часов
👉 Пройти курс на Stepik
Хотите автоматизировать деплой, управлять инфраструктурой как кодом и выстраивать надёжные CI/CD процессы? Этот курс — полный путь DevOps-инженера.
• CI/CD: Jenkins, GitLab CI/CD, GitHub Actions, стратегии развёртывания (Blue-Green, Canary), rollback
• Контейнеризация: Docker (образы, Compose, networking), Podman, оптимизация и безопасность контейнеров
• Kubernetes: архитектура, Pods, Services, Deployments, Helm, RBAC, Service Mesh (Istio/Linkerd)
• Infrastructure as Code: Terraform, Ansible (playbooks, vault), Packer, ArgoCD и Flux для GitOps
• Облака: AWS (EC2, EKS, Lambda), GCP, Azure, Yandex Cloud, cost optimization• Мониторинг: Prometheus, Grafana, ELK Stack, Jaeger, OpenTelemetry, SLI/SLO/SLA
• Безопасность: SAST/DAST, Vault, Zero Trust, Policy as Code, incident response
• Продакшен практики: High Availability, Disaster Recovery, Chaos Engineering, on-call management
🎓 Сертификат — добавьте в резюме или LinkedIn
🚀 Скидка 25%, действует 48 часов
👉 Пройти курс на Stepik
👍6👎6
Пайплайн цифрового фотографа на LINUX
Не совсем тематическая статья, но тем не менее интересная. Автор делится своим опытом выстраивания конвейера (pipeline) обработки и каталогизации фотографий.
Не совсем тематическая статья, но тем не менее интересная. Автор делится своим опытом выстраивания конвейера (pipeline) обработки и каталогизации фотографий.
🔥6👍4
Linux 6.17: свежие драйверы, быстрые сети и надежная память
29 сентября 2025 года Линус Торвальдс объявил о выходе ядра Linux 6.17. За два месяца работы 2 118 разработчиков внесли 14 334 патча. В общей сложности затронут 12 841 файл. В ядро добавлено 646 тысяч строк кода, удалено около 399 тысяч, а общий объем изменений составил 46 МБ.
Основной фокус релиза — драйверы (43% изменений), сетевой стек (14%), файловые системы (4%) и поддержка архитектур (10%). Собственно, все как всегда. Ну и обновление добавляет поддержку нового оборудования, оптимизацию производительности и исправления, которые делают систему стабильнее. В статье разобрано, что нового в Linux 6.17, как улучшения повлияют на работу и почему этот релиз стоит вашего внимания.
29 сентября 2025 года Линус Торвальдс объявил о выходе ядра Linux 6.17. За два месяца работы 2 118 разработчиков внесли 14 334 патча. В общей сложности затронут 12 841 файл. В ядро добавлено 646 тысяч строк кода, удалено около 399 тысяч, а общий объем изменений составил 46 МБ.
Основной фокус релиза — драйверы (43% изменений), сетевой стек (14%), файловые системы (4%) и поддержка архитектур (10%). Собственно, все как всегда. Ну и обновление добавляет поддержку нового оборудования, оптимизацию производительности и исправления, которые делают систему стабильнее. В статье разобрано, что нового в Linux 6.17, как улучшения повлияют на работу и почему этот релиз стоит вашего внимания.
🔥9👍4
Zorin OS: мостик в мир Linux для тех, кто не готов расставаться с Windows
В мире — множество дистрибутивов Linux. Один из них — Zorin OS, ОС для тех, кто не хочет ломать голову при переходе с Windows или macOS. Система выглядит привычно, работает быстро и не требует возни с терминалом. 15 октября 2025 года вышла новая версия — Zorin OS 18. В ней еще больше внимания к удобству, внешнему виду и мелочам, из которых складывается комфорт. Сейчас расскажем, что изменилось и почему эта версия может стать идеальной для тех, кто давно подумывает попробовать Linux. Подробности в статье.
В мире — множество дистрибутивов Linux. Один из них — Zorin OS, ОС для тех, кто не хочет ломать голову при переходе с Windows или macOS. Система выглядит привычно, работает быстро и не требует возни с терминалом. 15 октября 2025 года вышла новая версия — Zorin OS 18. В ней еще больше внимания к удобству, внешнему виду и мелочам, из которых складывается комфорт. Сейчас расскажем, что изменилось и почему эта версия может стать идеальной для тех, кто давно подумывает попробовать Linux. Подробности в статье.
👎9🔥9👍2
Кластер Patroni в docker-контейнерах
Кластер Patroni состоит из нескольких кластеров баз данных PostgreSQL и использует кластер etcd. Каждый из членов кластера - хост либо виртуальная машина. Для тестовых целей иметь несколько виртуальных машин - ресурсоёмко и неудобно для использования.
В статье рассматривается создание кластера Patroni и etcd в одной виртуальной машине в контейнерах docker. Приводится пример, когда Patroni не может автоматически восстановить и запустить кластер PostgreSQL. Читать дальше.
Кластер Patroni состоит из нескольких кластеров баз данных PostgreSQL и использует кластер etcd. Каждый из членов кластера - хост либо виртуальная машина. Для тестовых целей иметь несколько виртуальных машин - ресурсоёмко и неудобно для использования.
В статье рассматривается создание кластера Patroni и etcd в одной виртуальной машине в контейнерах docker. Приводится пример, когда Patroni не может автоматически восстановить и запустить кластер PostgreSQL. Читать дальше.
🔥6👍3
15 лучших оконных менеджеров для Linux в 2025 году
Оконный менеджер — одна из тех вещей в Linux, о которой не задумываешься, пока не попробуешь сменить. Кажется, окна просто открываются и закрываются, а потом ставишь тайлинговый WM и понимаешь, что можно работать быстрее и почти не трогать мышь, или выбираешь плавающий — и ноутбук сразу оживает. В этой статье рассказывают о 15 самых интересных и востребованных решениях на 2025 год.
Оконный менеджер — одна из тех вещей в Linux, о которой не задумываешься, пока не попробуешь сменить. Кажется, окна просто открываются и закрываются, а потом ставишь тайлинговый WM и понимаешь, что можно работать быстрее и почти не трогать мышь, или выбираешь плавающий — и ноутбук сразу оживает. В этой статье рассказывают о 15 самых интересных и востребованных решениях на 2025 год.
🔥7👍3
Обучение и развитие: почему Linux — лучший выбор для детского ПК
Если вы хотите дать возможность ребёнку — школьнику, подростку или даже малышу — получить не просто игрушку, а настоящий инструмент для развития мышления и полезных навыков, давайте поговорим о Linux. Да-да, о той самой «непонятной» операционной системе, которую используют программисты и гики. На самом деле Linux — это не только про сложный код и терминал. Это ещё и идеальная платформа для обучения, творчества и безопасного освоения цифрового мира. В статье обзор специальных образовательных программ.
Если вы хотите дать возможность ребёнку — школьнику, подростку или даже малышу — получить не просто игрушку, а настоящий инструмент для развития мышления и полезных навыков, давайте поговорим о Linux. Да-да, о той самой «непонятной» операционной системе, которую используют программисты и гики. На самом деле Linux — это не только про сложный код и терминал. Это ещё и идеальная платформа для обучения, творчества и безопасного освоения цифрового мира. В статье обзор специальных образовательных программ.
🔥8👍4👎1