Начиная с 2018 года, пятьсот самых высокопроизводительных систем в мире работают на Linux. Обсуждаем причины сложившейся ситуации и приводим мнения экспертов.
Рубрика «Разработка под Linux» - 21
Большая часть суперкомпьютеров работают под управлением Linux — обсуждаем ситуацию
2019-12-08 в 8:42, admin, рубрики: 1сloud, linux, Блог компании 1cloud.ru, высокая производительность, ОС, Разработка под Linux, суперкомпьютерыДевелопишь на .NET Core? Го в Ubuntu, я создал
2019-12-06 в 18:20, admin, рубрики: .net, C#, open source, Ubuntu, Разработка под Linux
Photo by Kevin Horvat
Все 12 лет своей карьеры я работал с .NET и был крепко привязан к Windows и проприетарным инструментам разработки. Но, спасибо Microsoft, .NET Core все изменил и теперь разрабатывать для .NET можно почти на чем угодно и в чем угодно. Дело за малым — перетащить на Core свои проекты. Не так давно я решил и этот вопрос и завел трактор для переезда на Ubuntu.
Результат очень понравился — все взлетело, а Docker и Kubernetes сделали процесс переезда намного легче. Но из-за слабого знания ОС, bash и запутанности вариантов установки некоторых инструментов (например, того же Docker) изначальная настройка заняла больше дня. То есть процесс довольно долгий и местами запутанный.
Дабы сэкономить время будущему себе и тем, кто также планирует попробовать разработку под Linux, я оформил все в виде скриптов. Их можно запустить на чистой Ubuntu и они все настроят пока ты сидишь и пьешь чаек. Также, при желании, их легко допилить под свои нужды.
Если для вас это звучит полезно — добро пожаловать под кат.
Читать полностью »
Так все же, зачем нужен make?
2019-12-06 в 17:32, admin, рубрики: make, Программирование, Разработка под Linux, системы сборки
Все началось, казалось бы, с простого вопроса, который сначала ввел меня в ступор — "Зачем нужен make? Почему нельзя обойтись bash скриптами?". И я подумал — Действительно, зачем нужен make? (и самое важное) Какие проблемы он решает?
Linux Kernel Library: ядро Linux в форм-факторе so или dll
2019-12-04 в 12:29, admin, рубрики: C, fuse, linux file systems, linux kernel library, lkl, open source, Разработка под Linux, системное администрирование, системное программированиеКогда-то читал статью о выборе файловых систем «чтоб везде-везде работало». В ней в очередной раз увидел жалобы, что Ext4 замечательная файловая система, но на Windows есть только кривые неточные проприетарные драйверы. Но отмотаем ленту ещё на пару лет назад: тогда на Хабре (а в те времена — Гиктаймсе) пролетала новость про LibOS — попытку превратить Linux kernel в обычную библиотеку пользовательского режима. Упор там делался на вынос сетевого стека в user space. Как-то раз я решил поглядеть, а жив ли вообще проект, и в их блоге увидел ссылку на своего рода конкурента — проект Linux Kernel Library (LKL). По сути, это порт ядра, так сказать, на аппаратную архитектуру «библиотека пользовательского режима POSIX / Win32».
Чем интересна LKL? Во-первых тем, что она живёт и здравствует, пусть и не в основной кодовой базе ядра. Во-вторых, это более-менее честная поддержка «архитектуры», автоматически делающая доступной бОльшую часть ядра. Более того, прямо в комплекте идут утилиты-примеры: cptofs/cpfromfs, fs2tar, lklfuse. В этой статье мы протестируем LKL на хостовом Linux, заглянем в файл с образом Ext4 без рута и виртуалок и коротко обсудим, как её можно попробовать на Windows.
Kali Linux получил секретный режим, который маскирует его под Windows 10
2019-12-02 в 13:40, admin, рубрики: kali linux, Undercover, UNIX, Windows 10, интерфейсы, информационная безопасность, Настройка Linux, Разработка под Linux
Дистрибутив GNU/Linux Kali Linux для проведения тестов на безопасность в своем последнем релизе 2019.4 получил новый режим – undercover mode. Он изменяет внешний вид Kali Linux и делает его похожим на Windows 10.
Таким образом, создается впечатление, что пользователь работает в обычной Windows. Разработка пояснила, что режим предназначен, к примеру, к работе в публичных местах.
Чтобы запустить undercover mode, нужно выполнить поиск в меню или следующую команду в терминале: kali-undercover. Скрипт сменит тему оформления рабочего стола на тему Windows 10. После выполнения команды терминал можно закрыть. Для выхода из режима команду нужно запустить повторно. Читать полностью »
Крутые лайфхаки для работы с WSL (Подсистема Windows для Linux )
2019-11-21 в 7:00, admin, рубрики: linux, microsoft, Visual Studio, visual studio code, WSL, Блог компании Microsoft, Настройка Linux, Разработка под Linux, разработка под windowsЯ глубоко погружен в WSL (Windows Subsystem для Linux), и теперь, когда WSL2 доступен в Windows Insiders, это отличное время, чтобы по-настоящему изучить доступные опции. Очень интересная фича, которую я нашел в WSL, — возможность «чисто» перемещать данные между мирами. Это не тот опыт, который вы легко можете получить с полноценными виртуальными машинами, и он говорит о тесной интеграции Linux и Windows.
Под катом подробнее о некоторых интересных вещах, которые вы можете делать, смешивая арахисовое масло и шоколад!
Пишем USB-драйверы для заброшенных устройств
2019-11-19 в 8:39, admin, рубрики: binwalk, Ghidra, linux, tcpdump, tshark, usb, usbmon, VGA, wireshark, YUV, видеотехника, драйверы, Компьютерное железо, обратная разработка, Работа с видео, Разработка под Linux, реверс-инжиниринг, старое железо
Недавно на eBay мне попалась партия интересных USB-девайсов (Epiphan VGA2USB LR), которые принимают на вход VGA и отдают видео на USB как веб-камера. Меня настолько обрадовала идея, что больше никогда не придётся возиться с VGA-мониторами, и учитывая заявленную поддержку Linux, я рискнул и купил всю партию примерно за 20 фунтов (25 долларов США).
Получив посылку, я подключил устройство, но оно даже не подумало появиться в системе как UVC. Что не так?
Я изучил сайт производителя и обнаружил, что для работы требуется специальный драйвер. Для меня это была новая концепция, ведь в ядре моего дистрибутива Linux обычно есть драйверы для всех устройств.
Читать полностью »
Криптографический АРМ на базе стандартов с открытым ключом. Конфигурирование токенов PKCS#11
2019-11-17 в 19:18, admin, рубрики: C, IT-стандарты, pkcs, PKCS#10, PKCS#11, pkcs#12, PKCS#7, x509 v3, Графические оболочки, информационная безопасность, Разработка под Linux
Еще раз просмотрев функционал утилиты cryptoarmpkcs, обратил внимание на то, что она, в основном работая с криптографическими токенами/смаркартами PKCS#11, не имеет встроенного функционала для их конфирурирования. Речь идет об инициализации токенов, установки PIN-кодов и т.п. И было решено добавить этот функционал. Первым делом для этого пришлось расширить функционал пакета TclPKCS11, библиотека которого написана на языке Си.
Новые функции пакета TclPKCS11
В пакете появились три новые функции:
::pki::pkcs11::inittoken <handle> <slotId> <SO-pin> <label for token>
::pki::pkcs11::inituserpin <handle> <slotId> <SO-pin> <USER-pin>
::pki::pkcs11::setpin <handle> <slotId> <so | user> <oldpin> <newpin>
Умный сервис кэша на базе ZeroMQ и Tarantool
2019-11-12 в 13:15, admin, рубрики: docker, java, multithreading, nosql, tarantool, zeromq, Блог компании Московский кредитный банк, микросервисы, Разработка под LinuxРуслан Ароматов, главный разработчик, МКБ

Привет! Я работаю бэкенд-разработчиком в Московском кредитном банке, и за время работы у меня накопился некоторый опыт, которым я хотел бы поделиться с сообществом. Сегодня я расскажу, как мы писали свой собственный сервис кэша для фронт-серверов наших клиентов, использующих мобильное приложение «МКБ Онлайн». Статья может быть полезна тем, кто занимается проектированием сервисов и знаком с микросервисной архитектурой, in-memory базой данных Tarantool и библиотекой ZeroMQ. В статье практически не будет примеров кода и объяснения основ, а только описание логики работы сервисов и их взаимодействия на конкретном примере, работающем у нас на бою уже более двух лет.
Читать полностью »
Необычные системные вызовы на Linux
2019-11-11 в 6:48, admin, рубрики: C, kcmp, linux syscalls, memfd_create, O_TMPFILE, userfaultfd, Разработка под Linux, системное программированиеЧто видит программист, начиная работать с языком C? Он видит fopen, printf, scanf и ещё много других функций. Видит он и всякие open и mmap — казалось бы, зачем их выделять? Но, в отличие от первой группы, эти две функции при выполнении на ядре Linux являются системными вызовами (на самом деле нет, почти никогда системный вызов нельзя просто вызвать как функцию, и поэтому libc содержит обёртки, перепаковывающие аргументы и иногда, как в случае с тем же open, заменяющие старые системные вызовы более общими новыми). Вообще, в отличие от тысяч библиотечных функций, доступных на типичной GNU/Linux системе, интерфейс ядра имеет довольно ограниченное количество точек входа — порядка нескольких сотен, зато то, что для user space — crash (например, обращение к отсутствующей странице), для ядра — default mode of operation.
В этой статье я расскажу некоторые интересные на мой взгляд факты. В ней не будет futex-ов и прочих скучных (наверное) деталей реализации. Будет преимущественно то, что вызывало у меня реакцию «А что, так можно было?!?».



