Обновить
256K+

Linux *

Пишем под *nix

418,37
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности
Формат публикации

Ассeмблерные хаки из книги «xchg rax, rax»

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

Разбор фрагментов кода из загадочной книги, которая содержит только ассемблерный листинг и никаких комментариев. Часть 1

Читать далее

ExpressVPN назначила награду за взлом своих серверов

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


По информации Bleeping Computer, сервис ExpressVPN обновил на площадке Bugcrowd свою программу обнаружения уязвимостей Bug Bounty. Сервис назначил самую высокую разовую награду, предлагаемую на платформе Bugcrowd, в размере $100 тыс. за компрометацию или взлом собственной системы безопасности TrustedServer.
Читать дальше →

Представляем Windows Terminal Preview 1.13

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

Добро пожаловать в первый релиз Windows Terminal 2022 года! Как всегда, вы можете установить Windows Terminal и Windows Terminal Preview из Магазина Microsoft или из репозитория GitHub. Ну а подробности о релизе под катом.

Читать далее

FastTrack: Управление вводом/выводом с учетом FG приложений для улучшения пользовательского опыта смартфонов Android

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

Я разобрала статью:

Hahn, S. S., Lee, S., Yee, I., Ryu, D., & Kim, J. (2018). FastTrack: Foreground App-Aware I/O Management for Improving User Experience of Android Smartphones. In 2018 Annual Technical Conference (USENIX 18) (pp. 15-28).

И хочу поделиться основными идеями по улучшению пользовательского опыта при взаимодействии со смартфонами Android.

Пользователям смартфонов важно, чтобы их устройства без задержек реагировали на действия пользователя. Инверсии приоритетов ввода-вывода в разделах кэша страниц (page cache) и хранилище (storage device) являются причинами увеличения времени отклика приложений переднего плана (FG, Foreground). Цель статьи - исследовать проблему инверсии приоритетов ввода-вывода на смартфонах Android, ее влияние на работу пользователя. Авторы статьи предлагают инструмент управления вводом-выводом FastTrack. Он вытесняет текущую фоновую активность на всех уровнях. 

По результатам тестирования инструмент ограничивает увеличение времени отклика на 27%, в дефолтной реализации Android еще на 2,319%. Когда шесть фоновых приложений (BG, Background) работают вместе, FastTrack может сократить время отклика приложения FG на 94% по сравнению с Android. Авторы изменили реализацию кэша страниц, планировщик ввода-вывода внутри хранилища. FastTrack улучшает взаимодействие пользователя со смартфонами, предотвращая инверсию приоритетов ввода-вывода.

Читать далее

Указания по проектированию D-Bus API

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

Продолжаем тему D-Bus на Хабре. D-Bus — система межпроцессного взаимодействия (IPC), которая позволяет приложениям в операционной системе сообщаться друг с другом. При этом приложения могут находиться на разных компьютерах.

Данная публикация является логическим продолжением переводов вводной статьи и cпецификации D-Bus. Она имеет уже практическую направленность, поскольку в ней рассказывается о том, как грамотно проектировать D-Bus интерфейсы. Будет показано как избежать промахов, которые обычно происходят, когда вы создаете свой первый, второй, третий D-Bus интерфейс.

Читать далее

Флаг EPOLLEXCLUSIVE и проблема неравномерного распределения соединений в Nginx на Linux

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

Совсем недавно, 25 января 2022 года вышел новый релиз Nginx - 1.21.6, в котором исправлена проблема неравномерного распределения входящих соединений между несколькими worker процессами в дефолтной конфигурации на Linux системах. Если конкретнее - use epoll, accept_mutex off, reuseport выключен.

В данной конфигурации при определенном характере нагрузки большинство входящих в Nginx соединений обрабатывается лишь одним worker процессом. 

Насколько я понимаю, эта проблема существует уже более пяти лет и берет начало в версии 1.11.3 (Jul 2016), когда в Nginx по умолчанию отключили accept_mutex, а вместо него стали полагаться на флаг EPOLLEXCLUSIVE, появившийся в ядре Linux 4.5.

Стоит заметить, что проблема балансировки входящих соединений при использовании механизма epoll и флага EPOLLEXCLUSIVE более глобальна и касается не только Nginx, а любых сетевых приложений, работающих по аналогичной схеме.

В этой статье мы посмотрим на историю и причины появления данной проблемы, а также рассмотрим код ее решения в новом релизе Nginx.

Читать далее

Компания SUSE открыла код NeuVector

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

Компания SUSE объявила о выпуске NeuVector - платформы, обеспечивающей комплексную безопасность контейнеров. Это решение предназначено для выполнения   контейнеризированных приложений в среде нулевого доверия (zero trust). База кода NeuVector уже доступна сообществу на GitHub.

Разработки NeuVector признаны лидирующими на рынке и широко используются во всем мире. Раскрытие исходного кода не только делает их доступными для сообщества разработчиков свободного ПО, но и повышает уровень доверия со стороны пользователей. Это особенно важно там, где существует жесткое законодательное регулирование в области информационной безопасности, например, в органах государственной власти.

Образы контейнеров NeuVector стали открытым ПО и могут быть развернуты на любом кластере Kubernetes. Пользователи SUSE Rancher могут установить их из каталога приложений. В следующих версиях интеграция этих двух продуктов станет еще более плотной. Разработчики NeuVector придерживаются той же стратегии, что и SUSE, и предлагают решение для всех популярных решений для управления контейнерами – SUSE Rancher, Red Hat OpenShift, VMware Tanzu, Google GKE, Amazon EKS, Microsoft Azure AKS и других.

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

Исходный код предварительного релиза SUSE NeuVector опубликован на GitHub:

Для Controller, Enforcer и Scanner

Для Manager

Документация для всех компонентов

Читать далее

Теперь поддержка Mesh Shaders появится и в продуктах Intel Arc Alchemist

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

В стремлении соответствовать технологическому уровню конкурентов, компания Intel добавила пока что экспериментальную поддержку Mesh Shaders в драйвер Vulkan для Linux, позволив задействовать эту технологию на линейке продуктов Arc Alchemist.
Читать дальше →

Sysbox: Изолированный container runtime. Краткий обзор и настройка

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

О Sysbox в 3-х предложениях:

- Sysbox - это "VM-like" контейнеры с возможностью запускать внутри системный софт: Docker, Kubernetes, Systemd, вложенные контейнеры и т.д. 
- Любой софт, работающий на виртуальной машине, должен также работать в контейнере без проблем и с надежной изоляцией.
- Никаких сложных настроек, все настраивается за несколько шагов.

Если тема заинтересовала, то в статье проведем краткий обзор и даже запустим изолированный контейнер на локальной машине.

Читать далее

Как скрестить Коня и Трепетную лань

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

«Бить (Bash) или не бить», - спрашивал один датский принц. Вот и у меня возник аналогичный вопрос, когда у нас в компании появился сервер сборки Bamboo. Как можно в задании Bamboo, выполняющем скрипт Bash или Cmd, написать команды, одновременно понятные интерпретатору командной строки Windows и оболочки Linux?

У нас в компании в качестве скриптового языка планов Bamboo используется кроссплатформенный язык Python. Но для запуска скриптов в Windows и Linux используется разный код.

Команды, понятные Linux, будут обработаны с ошибкой в Windows и наоборот. Что делать в этой ситуации?

Читать далее

Минималистичный универсальный Linux-ПК со странным названием minimum viable computer: что он умеет

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

На днях разработчик по имени Брайан Бенчофф (Brian Benchoff) анонсировал начало работы над проектом, который получил название minimum viable computer или MVC. Это миниатюрный ПК на базе Linux с базовыми возможностями, которые, впрочем, можно использовать для самых разных целей.

В частности, компьютер может использоваться для тестирования систем безопасности, работы в дата-центре, для создания софта. Также он может работать как аппаратный криптокошелек или в качестве ПК для ретро-геймеров, поскольку способен запускать Doom. Проект необычный, но в целом, вполне реализуемый. Под катом — подробности проекта.
Читать дальше →

Разработка графических приложений в WSL2

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

Данная статья будет неким дополнением опубликованной ранее (не мной) статьи. Чтобы не повторять написанное, по ссылке выше есть информация о требованиях к работе wsl2 на windows 10, как его включить, настроить, обновить и запустить графическую среду. В текущей статье я расскажу о том, как вести разработку графических приложений в wsl используя не только visual studio code со спец. плагином, а любую среду разработки.

Читать далее

Go и плагины

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

Go многими воспринимается как средство для написания микросервисов, тем не менее, сам он является языком общего назначения и позволяет писать приложения любого рода, в том числе, поддерживающие модули расширения.

Примерно год назад передо мной встала задача добавить поддержку плагинов в приложение на Go. Задача стояла не особо остро, и руки до решения дошли только сейчас. Ответ, однако, оказался не столь очевидным, сколь хотелось бы. Идеального решения, как по мне, нет, поэтому попытаюсь максимально объективно рассмотреть все три имеющихся.

Читать далее

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

Привет, Хабр! Недавно мы провели опрос, чтобы выяснить, что читатели Хабра думают об использовании открытых продуктов в финтехе — строго регулируемой и консервативной отрасли. Вопросы нам помогли составить эксперты компании Osnova, создающей платёжный процессинг на базе Open Source. Мы проанализировали 558 ответов и заметили некоторые закономерности — ими и поделимся в этом посте.
Читать далее

Диагностика виртуальной сети в Linux. BPFTrace и skbtrace в опенсорсе

Время на прочтение9 мин
Охват и читатели6.5K
Привет! Меня зовут Сергей Кляус, и я как разработчик виртуальной сети сопровождаю создателей приложений, размещённых в Yandex.Cloud. При этом диагностические возможности самого облака ограничены: мы не видим метрики пользовательских виртуальных машин, например количество TCP retransmissions, а записывать и анализировать огромные дампы всего сетевого трафика с помощью tcpdump дорого и трудно из-за ограничений безопасности.
К счастью, динамическая трассировка позволяет получить лучшее от двух миров: исполнять произвольный код в момент увеличения метрики, а в самом коде печатать тело пакета. Например, недавно мы диагностировали проблемы с TCP-соединениями у одного из наших managed-сервисов, и оказалось, что теряются на самом деле UDP-пакеты. Гипотеза требовала уточнения, хотя корреляция между ростом метрики и сбоем была поначалу очевидна. В современном Linux динамическая трассировка реализована через eBPF и утилиту BPFTrace, но постепенно мы накопили набор типовых сценариев их использования и сделали обёртку над BPFTrace. Она называется skbtrace и доступна на GitHub. Про неё я и расскажу под катом.
Читать дальше →

Стартуем RISCV Sipeed LicheeRV — Nezha CM C906 без официального SDK

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

Получив свой экземпляр (заказал еще до того как вышел LicheeRV Dock), я конечно же полез за официальной инструкцией к производителю...

В принципе, я никогда не интересовался продуктами вроде Banana Pi или Orange Pi от Allwinner, взглянув на официальное чудо, я понял почему от этих продуктов все так воротят нос:

— Прошивки для не китайцев "заботливо" лежат на MEGA (хочешь качать - плати деньги...)

— Для прошивки карт используется "замечательный" инструмент под названием PhoenixCard (судя по китайским форумам он не слушается даже китайцев), который работает под Windows (что всегда хорошо!)

— Официальный "SDK" обернут вместе c rootfs и разбит на архивы общей суммой >10 Gb (да-да и лежит на MEGA - то есть все равно заплатишь)

— И изюминка - все образы в комплекте расчитаны на карты ёмкостью больше 16 Gib (у наших друзей написано 16 GB - card_needs_≥16GB.txt)

Квест про реверс (он в конечном счете не понадобился) и печальное ковыряние палкой данного продукта жизнедеятельности (то что я собрал с помощью SDK, так и не заработало...) мы опустим, так как, я наконец наткнулся на гайд для Sipeed Nezha от дяди Samuel'a Holland'a спасибо ему за это огромное...

Читать далее

Разработка веб приложений на C/С++

Время на прочтение6 мин
Охват и читатели21K
В этой статье я бы хотел рассказать про создание веб приложений на С/С++ с использованием стека Nginx+fastcgi. Если быть более точным, то статья больше относится к сайтам, то есть к отдаче контента. Есть достаточно старая, но хорошая статья habr.com/ru/post/154187 Хотя тех пор прошло много времени, вышли новые стандарты С++. Я хочу в этой статье описать некоторое логическое продолжение, так как думаю, что тема будет многим интересна.
Читать дальше →

МойОфис для частных пользователей вышел на Linux. Изучаем офисные редакторы компании

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

В апреле 2021 года, параллельно с началом государственной программы предустановки российского ПО на умные устройства, МойОфис впервые выпустил бесплатные настольные редакторы документов для частных лиц. Тогда мы делали ставку только на программы для Windows и macOS, так как считали, что именно эти системы преобладают на домашних компьютерах. Но оказалось, значительная часть обычных пользователей нуждается и в версии для Linux. Весь прошлый год наша служба технической поддержки и другие коллеги получали множество просьб о выпуске такого решения.

Встречайте наш новый продукт — «МойОфис Стандартный. Домашняя версия», который подходит для различных операционных систем Linux и полностью совместим с российскими операционными системами Astra Linux и «Альт». Обзор его возможностей — под катом.

Читать далее

Linux-порт Far Manager: теперь beta

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

Я планировал выпускать заметки с новостями про far2l — Linux/Mac/BSD-порт (автор считает, что, скорее, «форк») Far Manager. Однако вчера произошло значимое событие, требующее лаконичного, но всё же поста — проект перешёл из стадии «alpha», длившейся долгих 5 лет, в стадию beta!

Так что сегодня подведу некоторый итог 5 лет разработки, а также расскажу про новую интересную фичу, которую добавили в far2l совсем недавно — уже после последнего моего обзорного поста.

И чего там новенького?

МойОфис запустил офисный пакет для домашних пользователей на ОС Linux

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

МойОфис, российская компания-разработчик офисного программного обеспечения для совместной работы с документами и коммуникаций, объявляет о выпуске нового релиза «МойОфис Стандартный. Домашняя версия» 2022.01. Теперь настольные редакторы документов для частных пользователей стали доступны в операционных системах на базе ядра Linux и получили новую функциональность.

Читать далее