Обновить
307.29

Linux *

Пишем под *nix

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

Dat — что это за протокол, и кто его использует

Время на прочтение4 мин
Охват и читатели13K
Говорим о принципах работы этого P2P-протокола и проектах, построенных на его основе.

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

Управление подставкой для ноутбука с помощью digispark

Время на прочтение3 мин
Охват и читатели11K
Решил написать статью об очень простом устройстве, сделанным за два вечера. Решило оно давнюю проблему, чему я сильно рад и использую его по сей день. Отработало исправно оно около 3 месяцев. Собственно вот что получилось в итоге. Кого заинтересовало, прошу под кат.


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

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

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


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

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

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

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



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

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

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


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

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

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

Время на прочтение39 мин
Охват и читатели6.5K
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.6K
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 мин
Охват и читатели38K
Работа с VS Code Remote и Windows Subsystem for Linux (WSL) дает возможность использовать полнофункциональную среду разработки Linux на ноутбуке или десктопе с предустановленной Windows. В этом материале рассмотрим то, как использовать эти инструменты для разработки приложений на Python в Linux.

image

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

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

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

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


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

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

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

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


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


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

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

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

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

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

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



Пользовательские интерфейсы современных прикладных приложений, как правило, сложны — зачастую необходимо реализовывать поддержку постраничной навигации, обрабатывать разного рода поля ввода, на основе выбранных пользователем параметров отображать или скрывать информацию. При этом, для улучшения 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.8K
В первой части нашего повествования мы показали как, имея на руках криптографический токен с поддержкой российской криптографии, создать запрос на получение сертификата, получить и установить сертификат на токен, проверить электронную подпись сертификата и его валидность по списку отозванных сертификатов (CRL), удалить сертификат с токена, сменить метки и т.д.
Читать дальше →

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

Время на прочтение4 мин
Охват и читатели14K
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 доступна на странице в нашей документации.

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