Обновить
338.01

Linux *

Пишем под *nix

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

«Проприетарному — нет»: драйверы-прослойки для доступа к GPL-вызовам ядра Linux предложили блокировать

Время на прочтение2 мин
Количество просмотров19K

Проприетарные разработки глубоко проникли в код многих приложений и сервисов. В сложных системах избавиться от них очень непросто. Зачастую для этого используются обходные пути, которые скорее являются «костылями». В ядре Linux для работы с проприетарными драйверами используются драйверы-прослойки, которые предназначены практически исключительно для трансляции обращений драйвера к ядру. У прослойки код открытый, так что проблемы с GPL-лицензией нет, формальности соблюдены.

Но у такого подхода немало противников. Один из них — Кристоф Хелвиг (Christoph Hellwig), разработчик ядра Linux. Ранее он был членом управляющего технического комитета организации Linux Foundation. Также он выступал истцом в судебном процессе с VMware. Хелвиг предложил значительно ужесточить защиту от связывания проприетарных драйверов с компонентами ядра Linux.
Читать дальше →

Linux Kernel 5.8: что нового в ядре с самым большим количеством изменений за всю историю

Время на прочтение4 мин
Количество просмотров28K


Линус Торвальдс наконец-то представил релиз ядра Linux 5.8. О планируемых новшествах мы писали задолго до этого события, но теперь планы стали реальностью, так что изменения можно обсудить. Размер патча составил 65 МБ, затронуто 16180 файлов, плюс добавлено 1043240 строк кода.

Наиболее заметными и ожидаемыми нововведениями стали:

  • детектор состояний гонки KCSAN;
  • универсальный механизм доставки уведомлений в пространство пользователя;
  • поддержка оборудования inline-шифрования;
  • расширенные механизмы защиты для ARM64;
  • возможность раздельного монтирования экземпляров procfs;
  • реализация для ARM64 механизмов защиты Shadow Call Stack и BTI.

Еще ядро поддерживает российский процессор Baikal-T1.

Теперь подробнее об изменениях.
Читать дальше →

Встраиваемый компьютер AntexGate + 3G-модем. Полезные настройки для более стабильного интернет-соединения

Время на прочтение5 мин
Количество просмотров5.2K
image

В сфере промышленной автоматизации существует негласная парадигма, в которой многие производители промышленного оборудования делают контроллеры отдельно, а модемы отдельно. Как правило, каждое устройство помещается в свой корпус, имеет своё питание, большие габариты и высокую стоимость. Такой вариант разделения функционала имеет свои преимущества и недостатки, но, по нашему мнению, он ведет, скорее, к бóльшей коммерциализации, чем обусловлен какими-то объективными причинами. Поэтому мы решили пойти немного по другому пути и сделали универсальное устройство, которое представляет из себя свободно программируемый контроллер на базе Linux с модемом в едином корпусе. Это нам позволило в своих проектах практически совсем отказаться от привычных всем щитов автоматизации и прийти к более мобильным решениям.

Под катом этой статьи мы поделимся с Вами тонкостями настройки модема и несколькими полезными скриптами для более стабильного 3G-соединения.
Читать дальше →

IBM открыла инструмент полностью гомоморфного шифрования для Linux

Время на прочтение4 мин
Количество просмотров26K

Компания IBM опубликовала на GitHub исходный код набора инструментов FHE для Linux. Утилиты работают на платформах IBM Z и x86, поддерживаются Ubuntu, Fedora и CentOS.

Полностью гомоморфное шифрование (FHE) долгое время считалось чем-то вроде чаши святого Грааля в криптографии. Задача действительно казалась нереальной. Тип шифрования FHE предполагает манипуляции зашифрованными данными третьей стороной без возможности расшифровки самих данных или результата манипуляций.

Как такое возможно?

Как можно и как нельзя использовать нулевой указатель в С++

Время на прочтение5 мин
Количество просмотров15K


Некоторым этот банальный вопрос уже набил оскомину, но мы взяли 7 примеров и попытались объяснить их поведение при помощи стандарта:


struct A {
    int data_mem;
    void non_static_mem_fn() {}
    static void static_mem_fn() {}
};

void foo(int) {}

A* p{nullptr};

/*1*/ *p;
/*2*/ foo((*p, 5));                     
/*3*/ A a{*p};
/*4*/ p->data_mem;
/*5*/ int b{p->data_mem};
/*6*/ p->non_static_mem_fn();
/*7*/ p->static_mem_fn();

Читать дальше →

Побег из привилегированных Docker-контейнеров

Время на прочтение4 мин
Количество просмотров16K
Перевод статьи подготовлен в преддверии старта курса «Пентест. Практика тестирования на проникновение».




Привилегированные контейнеры Docker – это такие контейнеры, которые запускаются с флагом --privileged. В отличие от обычных контейнеров, эти контейнеры имеют root-доступ к машине-хосту.

Привилегированные контейнеры часто используются, когда для выполнения задач нужен прямой доступ к аппаратной составляющей. Однако привилегированные Docker-контейнеры могут позволить злоумышленникам захватить хост-систему. Сегодня мы посмотрим, как можно выйти из привилегированного контейнера.
Читать дальше →

Альфа-версия Flutter для Linux и разработка настольных приложений

Время на прочтение10 мин
Количество просмотров14K
Материал, перевод которого мы публикуем сегодня, подготовили Крис Селлз из Google и представитель компании Canonical Кен ВанДин.

Компания Google, в том, что касается Flutter, всегда стремилась к тому, чтобы сделать этот фреймворк универсальным инструментом, позволяющим создавать привлекательные интерфейсы, работающие на любых платформах так же быстро, как интерфейсы «родных» приложений этих платформ. Чтобы убедиться в том, что это возможно, мы начали с того, что сосредоточили усилия на мобильных платформах — Android и iOS. В результате в Google Play оказалось опубликовано более 80000 быстрых и красивых Flutter-приложений.



Мы, опираясь на достигнутые успехи, вот уже более года заняты расширением возможностей Flutter на настольные платформы — на macOS, Windows и Linux. Это касается и веб-приложений, и традиционных настольных проектов. В частности, мы заняты серьёзным рефакторингом движка. Рефакторинг направлен на поддержку работы с мышью и клавиатурой в том стиле, в котором это принято в настольных системах, а так же на поддержку окон, размер которых можно менять. Сюда входят и новые возможности пользовательских интерфейсов, которые хорошо подходят для настольных платформ. Это, например, поддержка Material Density и NavigationRail. Сюда же относятся и эксперименты по глубокой интеграции с настольными операционными системами благодаря Dart:FFI, и работа с системными меню и со стандартными диалоговыми окнами. Всё это делалось для того чтобы убедиться в том, что Flutter подходит не только для создания мобильных проектов, но и готов к тому, чтобы на его основе можно было бы разрабатывать настоящие настольные приложения.
Читать дальше →

CVE и квадратная вероятность

Время на прочтение10 мин
Количество просмотров2.3K
Приблизительно год назад, с июля 2019 года нам в OpenVz начали поступать странные багрепорты на RHEL7-based kernel. На первый взгляд баги были разными: ноды крашились в разных местах и даже в разных подсистемах, но каждый раз расследование обнаруживало тот или иной «кривой» объект. Объекты были разными, иногда там обнаруживался какой-то мусор, иногда ссылка в освобожденную память, иногда сам объект оказывался освобожден, но во всех случаях память под этот объект выделялась из kmalloc-192 cache. Под катом – подробный рассказ про эту историю.

image
Читать дальше →

Как я автоматизировал разворачивание приложений на Linux на коленке с помощью Bash скриптов и Java

Время на прочтение6 мин
Количество просмотров5.6K

Когда вы написали серверное приложение, его нужно где-то развернуть. У нас в компании сейчас это реализовано с помощью VPS на Linux, bash скриптов, и небольшой Java программы. Это эволюционный процесс, и как по мне, получилось весьма неплохо.


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


КДПВ — архитектура системы, для части которой автоматизируем развертывание:


Читать дальше →

Учим Tekton Pipelines и смотрим глазами NASA на космос, пока Ansible сам разбирается с нашими container images

Время на прочтение2 мин
Количество просмотров2K


Полезные ссылки на живые мероприятия, видео, митапы, техтолки и книги – ниже в нашем еженедельном посте.
Читать дальше: Учим Tekton Pipelines и смотрим глазами NASA на космос, пока Ansible...

Интеграция гиперконвергентной Росплатформы на HPE Synergy с СХД 3PAR

Время на прочтение8 мин
Количество просмотров2.9K

Как-то понадобилось интегрировать Росплатформу (Р-Виртуализацию и Р-Хранилище) с аппаратным СХД( 3PAR), и это может очень пригодится в различных сценариях.

Конфигурация Synergy


Ранее такого рода интеграция тестировалась на лезвиях(Blade CH121 v5) блейд центра Huawei c СХД Dorado 5000 v3, где SDS(software-defined storage) Р-Хранилище Росплатформы поверх СХД показал себя довольно хорошо за счет all flash, но с Synergy, при наличии JBOD дисков с модуля D3940, все намного интереснее и гибче.
Читать дальше →

Современные приложения на OpenShift, часть 1: веб-приложения всего за две команды

Время на прочтение5 мин
Количество просмотров5.8K
Мы начинаем серию постов, в которой покажем, как развертывать на Red Hat OpenShift современные веб-приложения, такие как React или Angular, с помощью нового builder-образа S2I (source-to-image).



Что будет в этой серии постов:

  • Часть 1: как развертывать современные веб-приложения всего за несколько шагов;
  • Часть 2: как применять новый образ S2I вместе с уже имеющимся образом HTTP-сервера, например NGINX, используя цепочку сборки OpenShift для организации продакшн-развертывания;
  • Часть 3: как запустить для своего приложения сервер разработки на платформе OpenShift и синхронизировать его с локальной файловой системой.
Читать дальше: Современные приложения на OpenShift, часть 1: веб-приложения всего за две команды

Сравниваем подсистемы WSL 1 и WSL 2. Стоит ли переходить?

Время на прочтение4 мин
Количество просмотров34K


В этой заметке в стиле «мысли вслух» автор хотел бы сравнить WSL первой и второй версии, благо опыт общения имеется.
Читать дальше →

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

Теплое ламповое интернет-радио

Время на прочтение10 мин
Количество просмотров39K

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

OKD4 – общедоступный релиз уже здесь

Время на прочтение4 мин
Количество просмотров20K
Рабочая группа OKD рада сообщить о выходе общедоступного релиза системы OKD4, которая представляет собой community-версию Red Hat OpenShift Kubernetes.



Red Hat в очередной раз подтверждает приверженность принципам open source и открытого сотрудничества с сообществами разработки Kubernetes и других облачно-ориентированных инициатив.
Читать дальше →

OpenSSL и Network Security Services (NSS) — две стороны одной медали

Время на прочтение31 мин
Количество просмотров11K
imageО какой медали идет речь в заголовке? Речь идет об инфраструктуре открытых ключей (Public Key Infrastructure — PKI/ИОК) на базе стандартов криптографии с открытым ключом (Public Key Cryptography Standards — PKCS). Инфраструктура открытых ключей включает в себя множество различных объектов и механизмов работы с ними, а также протоколы взаимодействия объектов друг с другом (например, протоколы TLS, OCSP). В число объектов ИОК/PKI входят сертификаты x509 и ключевые пары (приватные и публичные ключи), подписанные и зашифрованные документы (pkcs#7, CMS), защищенные контейнеры для хранения приватных ключей (pkcs#8) и личных сертификатов с ключами (pkcs#12) и т.д. В число механизмов входят не только криптографические функции, которые позволяют шифровать и подписывать документы по различным алгоритмам, но и функции, формирующие конечные объекты ИОК в соответствии со стандартами (сертификаты, запросы, подписанные/зашифрованные документы, пакеты протоколов и т.д. и т.п.). Да, и как не вспомнить центральный объект ИОК/PKI — Удостоверяющий Центр (УЦ).
Читать дальше →

Как слепой разработчик в одиночку создала синтезатор речи

Время на прочтение11 мин
Количество просмотров18K

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

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

Называется от RhVoice и упоминался в нескольких публикациях на Хабре. Но знаете ли вы, что многие считают его лучшим бесплатным синтезатором русской (и не только) речи, а написан он в одиночку полностью слепым разработчиком — Ольгой Яковлевой?

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

Как мы автоматизировали весь жизненный цикл серверов

Время на прочтение6 мин
Количество просмотров9.5K

Привет, Хабр! Меня зовут Алексей Назаров. Я занимаюсь автоматизацией в отделе администрирования инфраструктурных систем в Национальной системе платежных карт (АО НСПК) и хотел рассказать немного о наших внутренних продуктах, которые помогают нам развиваться.


Если вы еще не читали пост про нашу инфраструктуру, то самое время! После прочтения этого поста я бы хотел рассказать о некоторых внутренних продуктах, которые мы разработали и внедрили.


image

Читать дальше →

Генератор трафика Cisco TRex: запускаем нагрузочное тестирование сетевых устройств

Время на прочтение8 мин
Количество просмотров37K


При разработке очередного роутера мы тестировали производительность сети с помощью полезной open-source-штуки — генератора трафика Cisco TRex. Что это за инструмент? Как им пользоваться? И чем он может пригодится инженерам-разработчикам? Под катом — ответы на эти вопросы.
Читать дальше →

Разработка zond-а для замера скорости интернета

Время на прочтение4 мин
Количество просмотров8.1K

Добрый день всем хабра-пользователям.

Постоянно читаю на хабре статьи о разработках того или иного функционала на «малинке». Решил вот поделиться своей наработкой.

Предыстория


Тружусь я в компании, предоставляющей услуги кабельного телевидения и доступа в интернет. И, как это бывает в подобных компаниях, периодически слышу жалобы о несоответствии тарифного плана заявленному в договоре. То пользователь жалуется на низкую скорость «по кабелю», то на высокие пинги определенных сервисов, иногда на полное отсутствие интернета в определенное время суток. Зачастую, такие жалобы попадают в пул заявок, по которым происходит выезд «на место» одного из сотрудников с рабочим ноутбуком, на котором и производятся все замеры. И, зачастую, выясняется, что со скоростью все в порядке. А низкая скорость на самом деле на мобильном телефоне, через wi-fi, на балконе. Ну, или нечто подобное.
Читать дальше →

Вклад авторов