Обновить
395.3

Linux *

Пишем под *nix

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

XCA – удостоверяющий центр уровня предприятия или сага о русских и немецких программистах

Время на прочтение9 мин
Количество просмотров28K
I think noone ever looked at the code as deeply as you did.
Christian Hohnstädt, Programming, Translation and Testing XCA
Перевод:
Я думаю, что еще никто так глубоко не заглядывал в мой код, как вы.
Christian Hohnstädt, разработчик XCA
Читать дальше →

Создание и тестирование Firewall в Linux, Часть 2.1. Введение во вторую часть. Смотрим на сеть и протоколы. Wireshark

Время на прочтение4 мин
Количество просмотров16K
Содержание первой части:


Содержание второй части:

2.1 — Введение во вторую часть. Смотрим на сеть и протоколы. Wireshark.
2.2 — Таблицы Firewall. Transport Layer. Структуры TCP, UDP. Расширяем Firewall.
2.3 — Расширяем функциональность. Обрабатываем данные в user space. libnetfilter_queue.
2.4 — Бонус. Изучаем реальную Buffer Overflow атаку и предотвращаем с помощью нашего Firewall'а.
Читать дальше →

Неуловимые баги: ошибки, ускользнувшие от всех тестов и проверок

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


Даже в относительно простых продуктах изредка встречаются баги, которые успешно скрываются от любых тестов и попадают в релиз. И чем сложнее приложение, тем выше вероятность появления таких багов. В продуктах, содержащих миллионы строк кода, вообще нереально выловить все ошибки, можно лишь максимально снизить их поголовье к выпуску очередной версии. И после релиза такие баги иногда дают о себе знать. О том, как мы охотимся за нинзя-багами и чем мы их лечим, нам рассказал Александр Гречишкин, project manager Parallels.
Читать дальше →

Представлено ядро Linux 4.9

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


Прошло два месяца активной работы над новой версией ядра, и сегодня Линус Торвальдс наконец-то представил ядро Linux 4.9. Наиболее заметными измерениями можно назвать инструменты для диагностики и блокирования переполнений стека ядра, а также включение поддержки SELinux в OverlayFS, плюс реализация шины Gerybus, чего хотелось многим.

Что касается статистики, то она, как всегда, обширна. В новой версии было принято 15 тысяч исправлений от 1400 разработчиков. Общий размер патча составляет 45 Мб. Изменения в патче затронули 11042 файлов, с добавлением 632157 строк кода и удалением 354728 строк. Не является сюрпризом и то, что большая часть (около 42%) представленных в этой версии изменений так либо иначе связаны с драйверами устройств. Еще 19% изменений связаны с обновлением кода для различных аппаратных архитектур, 12% — сетевой стек, 5% — файловые системы, 4% — подсистемы ядра.
Читать дальше →

Система отчётов: как получать 50 млн. отчетов и сохранить Дзен

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


Чем сложнее программный продукт, чем больше он взаимодействует со сторонними системами (часто не менее сложными), тем выше вероятность сбоев в работе. Тестирование помогает найти большинство багов перед выкатыванием релиза, но иногда что-то может проскользнуть. И чтобы быстро получать подробную информацию о факте сбоя и сопутствующих условиях, в наших продуктах широко используется система отчётов. О её устройстве мы хотим сегодня рассказать.
Читать дальше →

Документация Linux ядра переходит на Python Sphinx

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

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




На семинаре Kernel Recipies мейнтейнер документации Linux ядра Jonathan Corbet рассказал о нынешнем положении дел с документацией и о том, как будет совершаться переход от анархии к порядку. Первые успехи в этом начинании уже есть. Некоторые документы были недавно конвертированы в ReStructuredText с помощью питоновского Сфинкса. О том как это было рассказано внутри.

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

Конференция DevOpsDays 2017: стань докладчиком или участником

Время на прочтение2 мин
Количество просмотров4.6K
В следующем году впервые у нас в стране пройдет международная конференция DevOpsDays. Думаю, ещё не раз, здесь, и на других площадках читатели увидят зазывающие статьи и рекламные акции. Поэтому, хочу выделить важные моменты, ради которых я и пишу эту заметку. Сейчас организаторы принимают доклады и ищут спонсоров. Прошу внимания всех тех, кто хочет выступить с докладом или провести какую-то рекламную акцию.

Почему я про это рассказываю? Мы тоже хотим участвовать в этой конференции, и я уже отправил на рассмотрение свою тему доклада. Присоединяйтесь!

DevOpsDays 2017

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

Рецепты. Как установить ПО на серверы используя VMmanager и DCImanager

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


Согласитесь, приятно получить сервер уже готовый к выполнению задач. Установленный ISPmanager позволит сразу приступить к размещению сайта. Teamspeak – организовать тренировку по WoT без траты времени на инсталляцию.
Провайдеры за счет этого повышают доход. Сегодня они предлагают не просто машины с чистой ОС, а бухгалтерские, торговые, игровые серверы. «Предпродажная подготовка» повышает лояльность клиентов и уменьшает нагрузку на техподдержку.

Изначально в наших продуктах это было реализовано посредством установки нужных пакетов через Шаблон ОС. Проблема в том, что шаблоны требуют значительных затрат на создание, поддержку и актуализацию. Все усугубляется, когда клиент просит сделать предустановку непопулярного набора пакетов. К примеру, BigBlueButton, платформы для проведения вебинаров. Пользователь заказывает VDS и проводит видеоконференции, но только раз в 3 месяца. Он не хочет тратить по 30 минут на инсталляцию ПО при каждом заказе выделенного сервера. Провайдеру же подобные запросы не всегда интересны. Узкоспециализированный шаблон порой влечет неоправданные издержки.
Под катом мы расскажем о том, как решить такие проблемы с помощью рецептов — скриптов, выполняющих автоматическую установку ПО в VMmanager и DCImanager.

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

Усовершенствование системы видеонаблюдения с использованием OpenCV и Telegram bot

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

С чего все начиналось


Все началось с того, что я захотел установить у себя «умную» систему видеонаблюдения на Raspberry.

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

В итоге установил на купленном Raspberry Pi3 USB-камеру Logitech, смонтировал Яндекс.Диск и с периодичностью в 30 секунд делал снимки, которые затем копировал в папку на Яндекс.Диске.
Поигравшись с дальнейшем архивированием файлов, монтированием из отдельных снимков видео, забросил новую «игрушку» на несколько месяцев.
Читать дальше →

Сказание о Клеопатре и о российской криптографии (Продолжение)

Время на прочтение6 мин
Количество просмотров25K
imageС появлением библиотеки GCrypt-1.7.0 с поддержкой российской криптографии (ГОСТ 28147-89, ГОСТ Р 34.11-94/2012 и ГОСТ Р 34.10-2001/2012), стало возможным говорить о поддержке российского PKI в таких проектах как Kleopatra и KMail.

imageKMail – это почтовый клиент, который для обеспечения безопасности переписки позволяет подписывать и шифровать сообщения по протоколу S/MIME. И то и другое базируется на архитектуре PKI, сертификатах X509 и протоколах CMS/PKCS#7:

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

Встраиваем PVS-Studio в Anjuta DevStudio (Linux)

Время на прочтение2 мин
Количество просмотров4.9K
После появления PVS-Studio под Linux, я опробовал его на своем проекте, и решил, что использование этого анализатора не помешает, в добавок ко все прочим анализаторам.

А так как астрологи объявили неделю «Запили PVS-Studio в свою IDE», то я решил описать, как я настроил Anjuta DevStudio (http://anjuta.org/). За скрипт спасибо kloppspb и его статье Встраиваем PVS-Studio в Eclipse CDT (Linux).
Читать дальше →

Как использовать PVS-Studio бесплатно

Время на прочтение6 мин
Количество просмотров48K
PVS-Studio FreeМы хотим помочь миру программного обеспечения лучше познакомиться с инструментами статического анализа кода и повысить качество программного обеспечения. Мы предоставляем возможность бесплатного использования анализатора PVS-Studio студентам в учебных целях, индивидуальным разработчикам и коллективам энтузиастов.

Введение


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

Думаю, что наш провал с CppCat был предопределён. Мир диктует свои законы, и, например, тот же Coverity ориентирован на корпоративные лицензии. Однако, это не значит, что нужно исключать другие варианты взаимодействия с миром.

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

Стоит пояснить нашу позицию. Впрочем, если вам не терпится, вы можете сразу перейти к разделу «Бесплатная лицензия PVS-Studio». Если же читателю интересно узнать подробности, то предлагаю продолжить чтение.
Читать дальше →

Подключение символьного ЖКИ к плате от WD MyBook Live на AppliedMicro APM82181. Окончание

Время на прочтение22 мин
Количество просмотров7.7K
Добрый день! Продожим работу с платой от NAS WesternDigital MyBook Live и подключенным к ней ЖК индикатором. Итак, в предыдущей части мы нашли на плате место для подключения к шине I2C, подключили расширитель портов с индикатором, убедились что все работает. Сегодня выведем на индикатор состояние системы.
image
image
Читать дальше →

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

Создание и тестирование Firewall в Linux, Часть 1.3. Написание char device. Добавление виртуальной файловой системы…

Время на прочтение8 мин
Количество просмотров16K
Содержание первой части:

1.1 — Создание виртуальной лаборатории (чтобы нам было где работать, я покажу как создать виртуальную сеть на вашем компьютере. Сеть будет состоять из 3х машин Linux ubuntu).
1.2 – Написание простого модуля в Linux. Введение в Netfilter и перехват трафика с его помощью. Объединяем все вместе, тестируем.
1.3 – Написание простого char device. Добавление виртуальной файловой системы — sysfs. Написание user interface. Объединяем все вместе, тестируем.

Содержание второй части:

Скрытый текст
2.1 — Введение во вторую часть. Смотрим на сеть и протоколы. Wireshark.
2.2 — Таблицы Firewall. Transport Layer. Структуры TCP, UDP. Расширяем Firewall.
2.3 — Расширяем функциональность. Обарабатываем данные в user space. libnetfilter_queue.
2.4 — (*Опиционально) Изучаем реальную Buffer Overflow атаку и предотвращаем с помощью нашего Firewall'а.
Читать дальше →

Эмуляция PMEM на серверах Intel

Время на прочтение6 мин
Количество просмотров8.3K
Постоянная память (Persistent Memory, PMEM) – это быстрая память, обладающая возможностью хранить данные после отключения питания компьютера. Нередко её называют «Non-Volatile Random Access Memory» (NVRAM) – «энергонезависимой оперативной памятью», или просто «энергонезависимой памятью». Ещё одно наименование такой памяти – NVDIMM. Оно указывает на то, что в состав постоянной памяти входят модули традиционной оперативной памяти.


Иногда мы просто не знаем, какую картинку вставить до ката. И сегодня именно такой случай. Путь будет кот :)

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

Подключение символьного ЖКИ к плате от WD MyBook Live на AppliedMicro APM82181

Время на прочтение10 мин
Количество просмотров8.6K
Добрый день! Целью данной работы было расширение возможностей имеющейся платы от NAS WesternDigital MyBook Live.
Читать дальше →

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

Время на прочтение3 мин
Количество просмотров7.6K
Всем привет! Я хочу поделиться анализом существующих технологий Intel, которые позволяют максимально быстро передать трафик из физической карты на виртуальную машину. В принципе, все способы опробованы в реальности на картах Intel XL710, поэтому я так же скажу об их плюсах и минусах. И поскольку наша компания занимается в том числе разработкой виртуального свитча, все это с точки зрения виртуального свитча.

Intel SR-IOV


Не совсем технология от Intel, но пощупать удалось только их реализацию. Вкратце, физический адаптер (PF) делится на несколько виртуальных (VF). Трафик внутри одного vlan по умолчанию не выходит за границы PF, и обеспечивает наиболее минимальные задержки по сравнению с виртуальными адаптерами на софтовых бриджах.

Драйверы
VF — это PCI устройство, прокидываемое в виртуальную машину. Виртуальная машина должна иметь драйвер i40e, иначе подцепить ее она не сможет. Правда в докеры можно тупо закинуть в netns.

С помощью использования Intel FlowDirector в принципе можно изменить поведение и указать правила по которым трафик должен ходить между VF или наружу из PF. Также можно сделать ручное распределение трафика по RX очередям или хардварный дроп трафика сразу при входе на карту. Поддержка конфигурации flow есть в драйверах, но отдельного api конкретно для Flow Director я не нашел. Кто хочет поиграться — можно покопаться в исходниках ethtool, либо использовать Intel DPDK, в нем API реализован, но карта отцепляется от kernel драйвера со всеми вытекающими.

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

Плюсы: работа как в VMWare, так и KVM. Везде быстрее софтовых бриджей как по задержкам, так и пропусной способности. И CPU не жрет.

Минусы: виртуальный свитч в данном кейсе — нужно превращать в реальный на отдельном железе, куда втыкаются PF от сервера с виртуальными машинами.
И 64 VF на один PF сейчас достаточно мало.
Читать дальше →

Linux-версия PVS-Studio устроила себе экскурсию по Disney

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


Недавно вышла в свет Linux-версия анализатора PVS-Studio. С ее помощью был проверен ряд проектов с открытым исходным кодом. Среди них Chromium, GCC, LLVM (Clang) и другие. И сегодня к этому списку присоединятся проекты, которые были разработаны Walt Disney Animation Studios для сообщества специалистов по созданию виртуальной реальности. Давайте приступим к рассмотрению найденных предупреждений анализатора.
Читать дальше →

Файловая система, дешево и быстро

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

Разработчикам часто приходится иметь дело с файлами, представляющими из себя древовидную структуру: XML, JSON, YAML, всякого рода языки разметки вроде Markdown или Org-mode. Облегчая в общем и целом нашу жизнь, такие файлы имеют склонность к бесконтрольному росту, в какой-то момент из решения превращаясь в проблему.


Стандартное решение этой проблемы — разбиение на меньшие файлы. Это, конечно, работает, но не всегда удобно.


Но существует и альтернатива, о которой — ниже.

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

Знакомство с MSP432: пишем простую программу

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

В этом году Texas Instruments запустили в производство новую серию микроконтроллеров MSP432. Пока в серии только один МК MSP432P401R, который уже доступен для заказа в конторах, торгующих электронными компонентами. Также для этой серии имеется отладочная плата MSP432-Launchpad, в которую интегрирован отладчик XDS110. Основные характеристики серии:


  • 32-х разрядное ядро Cortex-M4 с FPU
  • Тактовая частота до 48 МГц
  • Заявлена совместимость по периферии с MSP430
  • Ультранизкое энергропотребление (как для MSP430)
  • Совместимость с GCC для ARM

Об остальных характеристиках можно прочитать на сайте TI. Для меня наиболее важным является заявленная совместимость с MSP430, поэтому я приобрёл MSP432-Launchapd, и решил проверить это на практике. Периферия для MSP430 значительно проще в программировании, чем STM32 и 8-битные МК, поэтому MSP432 выглядит очень заманчиво.


Под катом будет рассказано как собрать и прошить минимальный проект (светодиодоморгалку) для MSP432, используя GCC для ARM на платформе Linux. Никакая IDE не используется.


image

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

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