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

Linux *

Пишем под *nix

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

10 шагов к YAML-дзену

Время на прочтение8 мин
Количество просмотров83K
Мы все любим Ansible, но Ansible – это YAML. Для конфигурационных файлов существует масса форматов: списки значений, пары «параметр-значение», INI-файлы, YAML, JSON, XML и множество других. Однако по нескольким причинам из всех них YAML часто считается особенно трудным. В частности, несмотря на его освежающий минимализм и впечатляющие возможности для работы с иерархическими значениями, синтаксис YAML может раздражать своим Python-образными подходом к отступам.



Если вас бесит YAML, вы можете – и должны! – предпринять 10 следующих шагов, чтобы снизить свое раздражение до приемлемого уровня и полюбить YAML. Как и положено настоящему списку, наша десятка советов будет нумероваться с нуля, медитацию и духовные практики добавляем по желанию ;-)
Читать дальше: 10 шагов к YAML-дзену

Рассказ о том, как Linux привели в Windows

Время на прочтение8 мин
Количество просмотров54K
Всё то время, которое я работаю в Microsoft, я занимаюсь созданием инструментов для Linux-разработчиков. Я приступила к работе в августе 2016 года, после выпуска из Виргинского университета, где изучала информатику и менеджмент. Во время учёбы я программировала, в основном, на C++. Моей основной операционной системой была Linux.



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

Как мы закрываем уязвимости в ОС Astra Linux Special Edition

Время на прочтение7 мин
Количество просмотров32K
Операционных систем без уязвимостей не бывает — вопрос лишь в том, как эффективно разработчики их выявляют и закрывают. Наша ОС Astra Linux Special Edition здесь не исключение: мы постоянно проверяем и тестируем код на ошибки, нарушения логики, прочие баги и оперативно их устраняем. Иначе бы ФСТЭК России вряд ли сертифицировала Astra Linux на обработку данных, составляющих гостайну. Но о сертификации мы поговорим подробней в другом посте. А в этом расскажем о том, как организована работа над уязвимостями Astra Linux и взаимодействие с отечественным банком данных угроз безопасности информации.


Фото: Leonhard Foeger/Reuters
Читать дальше →

Современный рендеринг текста в Linux: часть 1

Время на прочтение5 мин
Количество просмотров13K
Добро пожаловать в первую часть «Современного рендеринга текста в Linux». В каждой статье из этой серии мы разработаем самодостаточную программу на C для визуализации символа или последовательности символов. Каждая из этих программ будет реализовывать функцию, которую я считаю необходимой для современного рендеринга текста.

В первой части настроим FreeType и напишем простой рендерер символов в консоли.



Вот что мы будем писать. А вот и код.
Читать дальше →

Hello, World! Глубокое погружение в Терминалы

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


На написание данной статьи меня вдохновила статья об анализе Сишного printf. Однако, там был пропущен момент о том, какой путь проходят данные после того, как они попадают в терминальное устройство. В данной статье я хочу исправить этот недочет и проанализировать путь данных в терминале. Также мы разберемся, чем отличается Terminal от Shell, что такое Pseudoterminal, как работают эмуляторы терминалов и многое другое.

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

Криптографический АРМ на базе контейнера PKCS#12. Создание электронной подписи CadES-X Long Type 1. Часть 3

Время на прочтение39 мин
Количество просмотров6K
image Прошло время и утилита, начатая как просмотрщик сертификатов, дополненная функциями работы с криптографическими токенами PKCS#11 и создания запросов (PKCS#10) на квалифицированный сертификат, пополнилась, как и было заявлено, функциями работы с контейнерами PKCS#12.

Итак, для работы с контейнерами PKCS#12 потребуется утилита cryptoarmpkcs :

Загружаем, запускаем утилиту cryptoarmpkcs и нажимаем кнопку «PKCS12»:
Читать дальше →

Исследование: Linux — все еще самая популярная ОС в облаке

Время на прочтение3 мин
Количество просмотров12K
Обсуждаем статистику зарубежных IaaS-провайдеров, приводим цифры по нашему облаку и говорим о причинах, которые повлияли на такое распространение ОС с открытым исходным кодом.

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

Пингвин в окне: о потенциале и перспективах WSL2

Время на прочтение8 мин
Количество просмотров13K
Привет, Хабр!

Пока у нас вовсю продолжается летняя распродажа, мы хотели бы предложить вам обсудить одну из самых масштабных тем, которую прорабатываем в последнее время — взаимодействие Windows и Linux, связанное, в частности, с развитием системы WSL. WSL 2 уже на подходе, и вашему вниманию предлагается краткий обзор возможностей, которые ждут нас в этой подсистеме, а также прогноз дальнейшей интеграции Windows и Linux.


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

В Open Invention Network больше трех тысяч лицензиатов — что это значит для открытого ПО

Время на прочтение3 мин
Количество просмотров2.5K
Open Invention Network (OIN) — это организация, владеющая патентами на ПО, связанное с GNU/Linux. Цель организации — защита Linux и связанного с ним программного обеспечения от патентных исков. Члены сообщества передают свои патенты в общий пул, тем самым разрешая другим участникам их использовать на основе royalty-free лицензии.

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

Состоялись релизы Debian 10 Buster и Linux 5.2

Время на прочтение4 мин
Количество просмотров34K
В конце прошлой недели состоялось сразу два важных для сообщества релиза: свет увидела юбилейная версия Debian 10, которая, следуя традиции, получила имя «Buster», а также новая версия Linux 5.2.



Так, новый дистрибутив Debian может похвастаться приращением более 13370 пакетов в своей системе (их общее число теперь составляет 57 тысяч). При этом из системы было удалено 7278 пакетов (13% от общего объема предыдущей версии). Все они не подлежат обновлению и получили пометку «устаревшие».

Новая версия Linux принесла нам новую прошивку Open Sound, mount API, обновление GPU-драйверов для устройств ARM Mali и поддержку case-insensitive имен для файловой системы ext4.

С полными патч-ноутами можно ознакомиться по ссылкам:

Debian 10 Buster
Linux 5.2

А о самом основном подробнее — под катом.
Читать дальше →

Linux-разработка в Windows с WSL и Visual Studio Code Remote

Время на прочтение2 мин
Количество просмотров34K
Работа с VS Code Remote и Windows Subsystem for Linux (WSL) дает возможность использовать полнофункциональную среду разработки Linux на ноутбуке или десктопе с предустановленной Windows. В этом материале рассмотрим то, как использовать эти инструменты для разработки приложений на Python в Linux.

image

Глубокое погружение в Linux namespaces

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

Часть 1
Часть 2
Часть 3
Часть 4


В этой серии постов мы внимательно рассмотрим один из главных ингредиентов в контейнере – namespaces. В процессе мы создадим более простой клон команды docker run – нашу собственную программу, которая будет принимать на входе команду (вместе с её аргументами, если таковые имеются) и разворачивать контейнер для её выполнения, изолированный от остальной системы, подобно тому, как вы бы выполнили docker run для запуска из образа.

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

Бытие современного фуллстек-разработчика

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


Я живу на периферии технологической тусовки. И на периферии в географическом смысле. А это значит, что:


  • Я никогда не был на профессиональных конференциях. Просто потому, что никогда не предоставлялось такой возможности.
  • Я никогда не покупал обучающие курсы: для меня странно платить за то, что можно изучить самому в этих ваших интернетах или по книгам. Заманчиво, конечно, получить концентрированные знания, подкрепленные выполнением практических заданий, заполучить сертификат. Но на это у меня никогда не было ни средств, ни времени.
  • Я адепт цифрового аскетизма: не по своей воле, но как порождение вечной перестройки в нашей стране. В короткие периоды финансовой стабильности я обновляю электронику по остаточному принципу. Вот и сейчас пишу этот текст на Core2Duo десятилетней давности. Все еще жду следующего стабильного плато на кривой моих доходов.
  • Раза три в своей жизни я покупал игры. В 90-е. Это были кассеты для отживающего своё Спектрума. На покупку ПО я смотрю с удивлением: когда все пользовались пиратским ПО, то и я пользовался, не понимая сути вопроса. А потом, в начале двухтысячных, полностью перешел на Linux и покупать стало нечего.
Читать дальше →

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

Карта средств защиты ядра Linux

Время на прочтение3 мин
Количество просмотров12K
Защита ядра Linux — очень сложная предметная область. Она включает большое количество сложно взаимосвязанных понятий, и было бы полезным иметь ее графическое представление. Поэтому я разработал карту средств защиты ядра Linux. Вот легенда:

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

Навигация в кроссплатформенном приложении на .NET Core с сохранением состояния на диск на примере ReactiveUI и Avalonia

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



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


MVVM фреймворк ReactiveUI предлагает сохранять состояние приложения путём сериализации графа моделей представления в момент приостановки программы, при этом механизмы определения момента приостановки различаются для фреймворков и платформ. Так, для WPF используется событие Exit, для Xamarin.Android — ActivityPaused, для Xamarin.iOS — DidEnterBackground, для UWP — перегрузка OnLaunched.


В данном материале рассмотрим использование ReactiveUI для сохранения и восстановления состояния ПО с GUI, включая состояние роутера, на примере кроссплатформенного GUI фреймворка Avalonia. Материал предполагает наличие базовых представлений о шаблоне проектирования MVVM и о реактивном программировании в контексте языка C# и платформы .NET у читателя. Последовательность действий, описанная в статье, применима к ОС Windows 10 и Ubuntu 18. Код проекта, описанного в статье, доступен на GitHub.

Приступим!

Криптографический АРМ на базе токенов PKCS#11. Электронная подпись. Часть 2

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

AvaloniaUI: особенности на примере MessageBox

Время на прочтение4 мин
Количество просмотров13K
Avalonia ui — восхитительный фреймворк, к которому хочется возвращаться снова и снова. Так давайте же вернемся к нему еще раз и рассмотрим некоторые особенности вместе с моим message box.


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

WSL 2 теперь доступен для Windows Insiders

Время на прочтение3 мин
Количество просмотров32K
Мы рады рассказать, что теперь вы можете попробовать Windows Subsystem for Linux 2 установив Windows build 18917 в Insider Fast ring! В этой статье мы расскажем о том, как начать работу, о новых wsl.exe командах, а также поделимся важными заметками. Полная документация о WSL 2 доступна на странице в нашей документации.

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

Как создается ОС, сертифицированная по I классу защиты

Время на прочтение12 мин
Количество просмотров62K
Рассказ из первых рук о том, как создается, а потом готовится к сертификации для работы с данными под грифом «особой важности» защищенная ОС Astra Linux.


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

Анализ сишного Hello World

Время на прочтение7 мин
Количество просмотров71K
Hello World — одна из первых программ, которые мы пишем на любом языке программирования.

Для C hello world выглядит просто и коротко:

#include <stdio.h>

void main() {
  printf("Hello World!\n");
}

Поскольку программа такая короткая, должно быть элементарно объяснить, что происходит «под капотом».
Читать дальше →

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