Все потоки
Поиск
Написать публикацию
Обновить
193.89

Linux *

Пишем под *nix

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

Разработка с Docker на Windows Subsystem for Linux (WSL)

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



Для полноценной работы с проектом на docker'е в WSL необходима установка WSL 2. На момент написания заметки ее использование возможно только в рамках участия в программе предварительной оценки Windows (WSL 2 доступна в сборках 18932 и выше). Так же отдельно стоит упомянуть, что необходима версия Windows 10 Pro для установки и настройки Docker Desktop.


Важно! В WSL 2 пропала острая необходимость в Docker Desktop для Windows 10. Как обходиться без него описано в пункте Про Docker в Ubuntu.


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

Криптографический АРМ на базе стандартов с открытым ключом. Функции разбора и просмотра ASN1-структуры

Время на прочтение4 мин
Количество просмотров2.6K
Основной работой при создании утилиты cryptoarmpkcs было не разработка кода или графического интерфейса, а работа с ASN1-структурами. Именно в этих структурах хранятся сертификаты x509v3, электронные подписи документов (PKCS#7, CMS), запросы на сертификаты (PKCS#10, CSR), открытые и закрытые ключи, защищенные контейнеры PKCS#12/PFX, списки отозванных сертификатов CRL и штампы времени для электронной подписи, запросы и ответы OCSP и так далее и тому подобное. Постоянно приходилось просматривать уже имеющиеся структуры для понимания того как это делали другие, просматривать только что собранные самим AN1-структуры. Процесс понятен. Но поскольку я работаю на Linux (сейчас это Mageia, и код для Windows тоже готовлю на Linux), то под рукой из доступных средств разбора ASN1-структур были утилиты openssl и derdump из пакета NSS. Лично мои предпочтения были на стороне derdump. Именно она и стала прототипом рассматриваемой здесь утилиты derdump.tcl/tclderdump для просмотра ASN1-структур. И если вы сравните вывод утилиты derdump из пакета NSS и утилиты derdump.tcl, то вы практически не увидите различий:
Читать дальше →

Опыт участия в GSoC: как двое (трое) студентов реально улучшили код CRIU

Время на прочтение5 мин
Количество просмотров1.7K
Ежегодно Google проводит мероприятие Google Summer of Code, на котором ведущие OpenSource проекты находят себе новых талантливых разработчиков среди студентов. В 2019 нашему проекту CRIU удалось не только пройти отборочный тур, но также привлечь сразу несколько молодых разработчиков. О том, зачем все это, и как проходила работа над CRUI в рамках GSoC — читайте под катом.

image

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

Пишем защиту от DDoS-атак на XDP. Ядерная часть

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

Технология eXpress Data Path (XDP) позволяет выполнить произвольную обработку трафика на интерфейсах Linux до того, как пакеты поступят в сетевой стек ядра. Применение XDP — защита от DDoS-атак (CloudFlare), сложные фильтры, сбор статистики (Netflix). Программы XDP исполняются виртуальной машиной eBPF, поэтому имеют ограничения как на свой код, так и на доступные функции ядра в зависимости от типа фильтра.


Статья призвана восполнить недостатки многочисленных материалов по XDP. Во-первых, в них дается готовый код, который сразу обходит особенности XDP: подготовлен для верификации или слишком прост, чтобы вызвать проблемы. При попытке потом написать свой код с нуля нет понимания, что делать с характерными ошибками. Во-вторых, не освещаются способы локально тестировать XDP без ВМ и «железа», при том, что у них свои «подводные камни». Текст рассчитан на программистов, знакомых с сетями и Linux, которым интересен XDP и eBPF.

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

Работа в IT, управление проектами, регулирование ПД и разработка в облаке: мегадайджест от 1cloud.ru

Время на прочтение5 мин
Количество просмотров3.9K
Это — наши лучшие хабратопики. Здесь вы найдете материалы об истории Linux, обсуждение стоп-фраз для PM'ов и зарплат разработчиков плюс — большую фотоэкскурсию по нашему облаку.

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

Avalonia мои за и против

Время на прочтение3 мин
Количество просмотров13K
Я очень много пишу про Авалонию и часто восторгаюсь этим фреймворком, но, как и у любой технологии, у нее есть свои достоинства и недостатки, о них и хотелось бы поговорить.

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

Использование новых NVMe SSD в качестве загрузочного диска на старых системах с Legacy BIOS (для любой ОС)

Время на прочтение8 мин
Количество просмотров287K
Короткий мануал — как реализовать поддержку загрузочного NVMe SSD на старых материнских платах с Legacy BIOS и с использованием Clover (для любых ОС). По следам вот этого поста, где на мой взгляд, решение не так изящно и не для всех BIOS & OS.

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

Windows 10 + Python = VS Code + WSL

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

Microsoft… Технологических локомотивов нашего времени. Ни для кого не секрет что они крутые, а также, что они поглощают все больше и больше… Всего. К счастью последнее время они только радуют меня своим потенциалом. А после выступления Satya Nadella, где он рассказал миру о том, что Windows больше не является основным продуктом компании, так как они положили курс на внедрение своих API…. Повсюду

Для разработчиков ПО они так же не скупятся. C#, Azure, Visual Studio… Но сейчас пойдет речь о Python, ведь для него местечко здесь тоже пригрели.

Кратко о WSL


С обновлением Windows появилась возможность использовать такую штуку, как WSL (Windows Subsystem for Linux). Не так давно появилась WSL2 с ОЧЕНЬ крутыми доработками. WSL2 использует новейшую и самую новую технологию виртуализации для запуска ядра Linux внутри упрощенной служебной виртуальной машины. Это значит, что такие атрибуты, как изоляция и замедление работы здесь отсутствуют.
Читать дальше →

Мой опыт подключения LPS331AP к Omega Onion2

Время на прочтение4 мин
Количество просмотров2.1K
Доброго времени суток, хабровчане!

Небольшое предисловие


Намедни я стал счастливым владельцем одного из самых маленьких одноплатников, работающим на LEDE, и первое, что захотелось сделать (после моргания светодиодом) — домашняя метеостанция, к которой можно получить доступ из любой точки. Первым делом было решено снимать данные о температуре, влажности и давлении. Для этого были выбраны купленные ранее датчики DHT11 И LPS3311AP (фото под катом).

Фото для интересующихся
image

После короткого гугления выяснилось, что если первое семейство хорошо задокументировано и имеет множество библиотек для работы, то вот выбранный мной барометр не столь популярен и кроме самописной библиотеки (пусть и очень качественной) под Arduino магазина, в котором и был приобретён датчик (не реклама, просто дань уважения), ничего найти не удалось.

Какой выбор остаётся?

  1. Собрать прослойку на микроконтроллёре ATmega328, прошить, залить готовый код и читать с неё. Очень увлекательно, но звучит как попытка собрать велосипед для дальнейшего использования в качестве костыля.
  2. Читать «вручную» с I2C, опираясь на официальный даташит. Попробовал, это возможно, но плодить bash-скрипты не хотелось и не казалось методологически верным.
  3. Написать библиотеку, чтобы работать с датчиком так, как хочется.

Если интересно, как шло и что из этого получилось, то добро пожаловать под кат.
Продолжение истории

В двух словах о привилегиях Linux (capabilities)

Время на прочтение8 мин
Количество просмотров50K
Перевод статьи подготовлен специально для студентов курса «Администратор Linux».


Привилегии (capabilities) используются всё больше и больше во многом благодаря SystemD, Docker и оркестраторам, таким как Kubernetes. Но, как мне кажется, документация немного сложна для понимания и некоторые части реализации привилегий для меня оказались несколько запутанными, поэтому я и решил поделиться своими текущими знаниями в этой короткой статье.



Самая важная ссылка по привилегиям — это man-страница capabilities(7). Но она не очень хорошо подходит для первоначального знакомства.
Читать дальше →

Linux многоликий: как работать на любом дистрибутиве

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


Создать приложение для резервного копирования, работающее на любом дистрибутиве — задачка непростая. Чтобы обеспечить работу Veeam Agent for Linux на дистрибутивах от RHEL 6 и Debian 6, до openSUSE Leap 15.1 и Ubuntu 19.04 приходится решать спектр проблем, особенно если учесть, что в состав программного продукта входит модуль ядра.

Статья создана по материалам выступления на конференции LinuxPiter 2019.
Читать дальше →

Стильная Авалония

Время на прочтение7 мин
Количество просмотров15K
Стили, по умолчанию, что в wpf, что в авалонии, крайне нейтральны, и далеко не всегда подходят под нужные нам задачи, и немногие начинающие разработчики дружат с ними. В этой заметке я бы хотел рассказать про основы работы со стилями и показать пару интересных примеров.


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

Опыт создания сборок Linux под одноплатники с поддержкой обновлений

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

Введение


На данный момент, на рынке представлен большой ассортимент одноплатников на любой вкус по приемлемой цене.

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

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

Как использовать systemd-nspawn для восстановления Linux-системы

Время на прочтение7 мин
Количество просмотров12K
Перевод статьи подготовлен специально для студентов курса «Администратор Linux».





Разбираемся со способностью systemd запускать контейнеры для восстановления корневой файловой системы поврежденной системы.

До тех пор пока будут существовать системы GNU/Linux, системным администраторам будет необходимо восстанавливаться после повреждения корневой файловой системы, случайных изменений конфигурации или других ситуаций, которые не дают системе загрузиться в «нормальное» состояние.

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

Экономим время при работе с командной строкой

Время на прочтение3 мин
Количество просмотров16K
Инструменты для автоматизации работы с операторами и повышения читабельности кода.

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

Gradle + LLVM

Время на прочтение5 мин
Количество просмотров3.1K
Этот небольшой пост может оказаться полезен тем, кто хотел бы быстро начать работать с LLVM, не заморачиваясь с закачкой исходников и построением фреймворка. Кто не хотел бы ковыряться в малопонятных скриптах CMake-а, чтобы добиться ожидаемого результата, ну и наконец, просто для ленивых :)

Я расскажу, как сделать это изящно, буквально парой строк в билд-скрипте Gradle-а.
Читать дальше →

Регулярная Авалония

Время на прочтение4 мин
Количество просмотров7.4K
Иногда мы не понимаем как работает регулярное выражение, которое мы составили, и хотим проверить. Есть множество восхитительных приложений встроенных в различные среды или онлайн. Мне захотелось добавить еще одно к этому списку.

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


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

Linux Piter 2019: что ждёт гостей масштабной Linux-конференции и почему её не стоит пропускать

Время на прочтение6 мин
Количество просмотров4.7K
Мы давно и регулярно посещаем Linux конференции по всему миру. Нам показалось удивительным, что в России, стране с таким высоким технологическим потенциалом, нет ни одного похожего мероприятия. Именно поэтому мы несколько лет назад связались с IT-Events и предложили сделать большую Linux-конференцию. Так появилась Linux Piter — масштабная тематическая конференция, которая в этом году пройдёт в северной столице 4 и 5 октября уже в пятый раз подряд.

Это грандиозное событие в мире Linux, которое вы точно не захотите пропустить. Почему? Об этом и поговорим под катом.


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

Что нового в Linux kernel 5.3 — графические драйверы, виртуализация и модификации в сетевой подсистеме

Время на прочтение4 мин
Количество просмотров20K
Расскажем об обновлениях и посмотрим, какие изменения уже готовят для следующей версии.

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

Запускаем systemd в контейнере

Время на прочтение6 мин
Количество просмотров29K
Мы давно следим за темой использования systemd в контейнерах. Еще в 2014 году наш инженер по безопасности Дэниел Уолш (Daniel Walsh) написал статью Running systemd within a Docker Container, а еще через пару лет – другую, которая называлась Running systemd in a non-privileged container, в которой он констатировал, что ситуация не очень-то и улучшилась. В частности, он писал, что «к сожалению, и два года спустя, если погуглить «Docker system», то первым делом всплывает всё та же его старая статья. Значит, пора что-то менять». Кроме того, мы уже как-то рассказывали о конфликте между разработчиками Docker и systemd.



В этой статье мы покажем, что изменилось за прошедшее время и как нам может помочь в этом вопросе Podman.
Читать дальше: Запускаем systemd в контейнере

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