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

Linux *

Пишем под *nix

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

Что необходимо знать разработчикам о технологическом комплексе для сборки ПО. Рассказываем об «Альт Платформе»

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

Компания «Базальт СПО» выпустила «Альт Платформу» — технологический комплекс для сборки программного обеспечения и выпуска дистрибутивов операционных систем. Продукт включен в Единый реестр российского ПО под №21540.

В состав «Альт Платформы» входят:

- доступ к стабильной ветке репозитория (бранчу);

- операционная система ALT Platform Builder, на которой создается рабочее место разработчика и сборочная среда;

- сервис для создания локальной копии репозитория alterator-mirror;

- инструментарий для сборки RPM-пакетов, совместимых с ОС «Альт»;

- набор готовых профилей mkimage-profiles для сборки дистрибутивных образов;

- техническая поддержка от вендора.

«"Базальт СПО" с 2001 года развивает собственную инфраструктуру разработки, на которой создано уже 10 поколений операционных систем. Несколько компаний-партнеров с нашей помощью также разработали на ней свои продукты. Теперь мы оформили эту инфраструктуру в виде продукта "Альт Платформа" и делимся ею с другими разработчиками. Команда "Базальт СПО" обучит специалистов заказчика пользоваться программным комплексом, вести репозиторий и дополнять его сторонним программным обеспечением», — рассказал председатель совета директоров «Базальт СПО» Алексей Смирнов.

«Базальт СПО» (до 2015 года «Альт Линукс») с 2001 года поддерживает репозиторий «Сизиф» — один из крупнейших в мире технологически независимых репозиториев, наряду с Debian, Red Hat и SUSE. Репозиторий формируется из свободного ПО международных проектов и собственных разработок компании. Он находится на территории и под юрисдикцией РФ, поддерживается «Базальт СПО». Это своего рода лаборатория для разработчиков, в которой можно опробовать новые идеи без риска для конечного пользователя ОС. Доступ к пакетной базе «Сизифа» свободный и бесплатный.

Читать далее

Сборка Debian пакетов для расширений PHP

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров3.1K

Так исторически сложилось, что мы используем некоторые не очень популярные расширения PHP, написанные и кое как (почти никак) поддерживаемые своими авторами, которых нет в типовых источниках deb‑пакетов. У нас постулируется принцип «нормально делай — нормально будет», поэтому у нас не приветствуется slackware‑style установка бинарников в систему вне пакетных менеджеров. Поэтому будем собирать полноценные deb‑пакеты для расширений PHP, не ломая совместимость с существующим окружением.

Пойдём-ка покомпилируем-ка

Китай разработал еще одну национальную ОС: встречаем TencentOS, форк CentOS

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

Источник: digitimes.com

В последнее время Поднебесная активизировала усилия в разработке операционных систем. Сейчас появилась еще одна, в основе которой — дистрибутив CentOS. Китайцы «научили» его поддерживать их процессоры, включая Kungpeng, Hygon и Feiteng. Что это за система?
Читать дальше →

Быстрый поиск по разной документации

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров3.7K

Недавно я задался вопросом, могу ли я оптимизировать процесс поиска чего-либо в документации любого языка/библиотеки/фреймворка. Прыгать с сайта на сайт – не самая лучшая идея, ибо интерфейсы документацией отличаются, а я хотел унификации.

Сначала мне пришла мысль взглянуть на уже существующие решения, среди которых есть мною любимый Zeal, однако, он доступен только для Windows и Linux, я же крепко сижу в заложниках на MacOS из-за специфики работы и удобства.

На сайте Zeal предлагают перейти на сайт Dash, который по сути является прародителем Zeal, однако, он платный и за него невозможно заплатить в пределах РФ, поэтому я продолжил дальше искать аналоги.

Среди альтернатив также есть DevDocs, который может работать оффлайн в браузере (благодаря PWA), однако, я заметил, что все время держать открытой лишнюю вкладку для поиска в доках было не лучшей идеей (ибо вкладку все равно нужно было бы искать, среди тонны вкладок со StackOverflow и прочим).

Решение с быстрым поиском

В Firefox и Google Chrome есть возможность добавить собственную поисковую систему (или же поиск по сайту), чем собственно я и воспользовался. При поиске в devdocs все GET-запросы уходят по урлу:

Читать далее

Почему LLVMpipe ORCJIT важен для RISC-V?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.6K

16 июля официальный репозиторий mesa объединил MR о RISC-V, llvmpipe: add a new JIT engine based on LLVM ORCJIT, also add RISC-V support (updated)

Это радует всех пользователей RISC-V. Мы ждали патча больше двух лет, и он наконец-то вышел!

И, почему LLVMpipe ORCJIT важен для RISC-V? Давай я расскажу!

Читать далее

Всего два месяца — и новый релиз: Linux 6.10 уже готов

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

Хорошо, когда новинки выходят быстро, а не спустя полгода-год. В этот раз мы радуемся ядру Linux 6.10, в котором немало изменений. В частности — обновленный драйвер ntsync c примитивами синхронизации Windows NT, компоненты DRM Panic, появление возможности шифрованного обмена данными с устройствами TPM и новый драйвер для GPU Mali. Есть, конечно, и другие изменения, о чем можно узнать под катом.
Читать дальше →

.NET на SBC максимально канонично

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров8K

В интернетах всегда кто‑то не прав. В этот раз, по моему максимально предвзятому мнению, оказался не прав @bodyawm. Для меня.NET в каждой бочке затычка, поэтому меня бобмануло от использования mono в 2024 году. В этой статье я покажу своё видение того, как максимально канонично и современно писать на.NET для GNU/Linux и SBC (Single‑board computer, aka одноплатник).

Читать далее

Введение в SCTP

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров8.5K

Здравствуйте, уважаемые читатели! SCTP — достаточно специфичный протокол, о котором, наверняка, многие не слышали. Тем не менее, он более чем актуален в некоторых областях, одна из них — использование для доставки контрольных сообщений в LTE сетях.

Я относительно недавно присоединился к команде, занимающейся разработкой ПО для базовых станций. Ранее я не сталкивался с данным протоколом, поэтому решил разобраться с ним более подробно и столкнулся со следующей проблемой — относительно малое количество источников, посвященных данной теме. Несомненно, они есть, и я обязательно перечислю те из них, которыми мне пришлось воспользоваться, в данной статье.

В общем, главная мотивация — желание написать небольшую вводную на таком ресурсе как habr для более легкого старта у новичков.

Также, отдельно хочу обратить внимание — в первую очередь упор идет на моменты, на которых можно споткнуться, если о них не знать.

Читать далее

Анимация фрактала Lozi map

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.2K

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

Читать далее

Дневник импортозамещения. Linux GUI — ложное искушение

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров22K

Если даже бабушки работают с Linux GUI — можно ли утверждать, что администратор Linux тоже сможет работать с Linux Gui? Ответ на этот вопрос не так очевиден, достаточно сделать небольшое путешествие от простого запуска инсталлятора под root, до мониторинга с графиками.

Читать далее

Версии, библиотеки, совместимость: какие ещё проблемы я вижу в разработке под Linux

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров3K

Привет, Хабр! Меня зовут Олег Ивченков, и я управляю группой компаний Setere. У нас есть продукт: берем скан бумажного документа, распознаем его и переводим в редактируемый формат. Классическая OCR‑система. Под капотом — C++, QT, QML, немного python`а. Работаем под Linux только как десктопное приложение. И именно о Linux я хотел поговорить. У меня накопилось много опыта за более чем десять лет разработки, и хочу рассказать о тех проблемах, которые сейчас вижу в области разработки под Linux. 

Главную проблему я бы озвучил так: «неконтролируемое множество». И от неё ответвляются много разных других. О них-то я и расскажу в статье, которая должна быть полезна всем, кто так или иначе связан с разработкой под Linux. Если вы прочитаете материал и почувствуете то же, что и я — добро пожаловать в комментарии, обсудим!

Еще год назад, в рамках круглого стола «Импортозамещение» Форума ассоциации Руссофт я предложил профессионалам отрасли поговорить о такой важной теме, как «реалии нативной разработки для отечественных операционных систем». Точнее не просто реалии, а — этой самой разработки сложности, по моим ощущениям приобретающие как минимум линейный рост. Прошедший год показал, что рост проблем не линейный, так что основные тезисы того выступления и несколько новых деталей стали моей первой публикацией на Хабре.

Боль не только моей компании, но и компаний коллег, начну описывать с общей информации по рынку. Согласно данным, любезно предоставленным ассоциацией «Руссофт» — год от года время на разработку решений для Windows в России постепенно снижается, а для систем семейства Linux — неуклонно растет. Помимо достаточно очевидного факта снижения интереса к Windows в нашей стране в принципе, увеличение времени разработки для Linux‑систем связано и с еще одним немаловажным фактором. Этот фактор — существенно возросшая сложность разработки, связанная с количеством Linux‑систем, их технологическим разнообразием.

Больше проблем и подробностей

Русификация Lixiang. Принципы получения доступа к ПО китайских автомобилей

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров25K

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

Живем мы в интересное время. Абзац ниже касается практически всех премиальных китайских автобрендов.

Применяя определенную степень упрощения к статистике, которая, перефразируя пословицу, является производной от лжи, будем опираться на твердые факты из первых ссылок в поисковике. На конец 2023 года число реализованных машин этой марки уже составляло 376030 штук. Зарегистрировано же на текущий момент в РФ более 20.000 автомобилей Lixiang. РФ является лидером среди стран, куда импортированы авто этой марки. Это следствие совпадения ухода западных автобрендов и бурный расцвет китайского автопрома. Держим это в уме, теперь следующая часть эриксоновской петли.

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

Погрузиться внутрь

Баг Y292B: мы обречены (снова)

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров7.6K

Измерение времени — очень сложная задача. Я выяснил это, набив шишки при попытке запрограммировать расширяемый хронометр для небесных тел Солнечной системы. Сложность в том, что все календарные системы имеют так много правил и исключений, что сборщик календаря, по сути, становится ещё одним языком программирования. Впрочем, мне хорошо знаком закон Завински*, поэтому я постарался избежать создания ещё одного Emacs.

*Закон Завински — выдуманный закон computer science, высмеивающий неизбежное разрастание фич. Он гласит, что каждая программа рано или поздно постарается прочитать электронную почту. Стоит отметить, что закон сформулирован в 90-х, поэтому и речь об электронной почте. Кстати, я нашёл хороший веб-сайт с другими законами computer science.

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

Y2KY2038 и другие баги Y2xx — это на самом деле не совсем «баги», а простые переполнения выделенного пространства памяти. Unix и подобные ему компьютерные системы измеряют время, выполняя инкремент секунд в единой целочисленной переменной time_t. Естественно, такой хронометраж назван временем Unix, а 0 в нём означает полночь 1 января 1970 года.

В разных реализациях времени Unix для time_t используются разные типы данных. Когда тип данных достигает своего верхнего предела, он «сбрасывается» или до обратного (отрицательного) значения, или до нуля. В текущей основной ветви ядра Linux используются 64-битные числа со знаком. В таком решении точка сброса приходится на 292 277 026 596 год. Он настанет примерно через 292 миллиарда 277 миллионов 24 тысяч лет.

Но что потом?

Читать далее

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

Библиотека EremexControls.NET для Avalonia UI — Обновление май-июнь 2024

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.5K

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

Читать далее

Послушный YubiKey

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров5.2K

Подарили мне как то YubiKey 5C Nano. Попользовался пару дней и захотелось автоматизировать работу с ним.

Читать далее

Как я стал не пойми кем

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров67K

Когда счастливый и довольный достиг того, чего хотел — вкатился в Linux‑разработку. Но получил не совсем то, чего хотел. Или хотел, но еще не понял, что хотел.

Ну так и чего хотел-то?

Почему нельзя парсить вывод ls(1)

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров13K

Команда ls(1) достаточно хорошо справляется с отображением атрибутов одного файла (по крайней мере, в некоторых случаях), но когда просишь у неё список файлов, возникает огромная проблема: Unix позволяет использовать в имени файла почти любой символ, в том числе пробелы, переносы строк, точки, символы вертикальной черты, да и практически всё остальное, что вы можете использовать как разделитель, за исключением NUL. Существуют предложения по «исправлению» этой ситуации внутри POSIX, но они не помогут в решении текущей ситуации (см. также, как правильно работать с именами файлов). Если в качестве стандартного вывода не используется терминал, в режиме по умолчанию ls разделяет имена файлов переносами строк. И никаких проблем не возникает, пока не встретится файл, в имени которого есть перенос строки. Так как очень немногие реализации ls позволяют завершать имена файлов символаи NUL, а не переносами строк, это не позволяет получить безопасным образом список имён файлов при помощи ls (по крайней мере, портируемым способом).

Читать далее

Firmware в Linux. Коротко и своими словами

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров14K

Рано или поздно системный программист сталкивается с понятием firmware. В данной статье мы коротко рассматриваем, что это, зачем, и как с этим работать.

Disclaimer:
Материал не является сборником best practices и не претендует на фундаментальный труд. Это шпаргалка. Если угодно - application note в свободной форме. Основная задача материала - "сделать короткую статью, которая помогла бы лично мне быстро разобраться, если бы я впервые столкнулся с темой". Если вы знаете что-то лучше - дополнения и замечания по существу приветствуются. Мотивацией для написания послужила недавно встреченная статья, которая как раз объясняла эти аспекты не очень хорошо.

Читать далее

SVG-виджеты для tcl/tk. Градиентная заливка и прозрачность. Часть II

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.4K

Продолжим знакомство с svg-виджетами для tcl/tk. Напомним, что рассматриваемые примеры, сам пакет svgwidgets и интерпретаторы tcl/tk с необходимыми пакетами можно найти на github-е. После выхода первой статьи все они претерпели изменения. Начнем мы статью с примера скрипт_button_PACK.tcl:

$/usr/local/bin64/tclexecomp140_svg_Linux64 скрипт_button_PACK.tcl

Читать далее

Дайте мне 15 минут, и я изменю ваш взгляд на GDB

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров20K

Материал подготовлен на основе выступления с CppCon 2015 "Greg Law: Give me 15 minutes & I'll change your view of GDB" (доступно по ссылке ). Многие моменты я изменял и корректировал, поэтому учтите, что перевод достаточно вольный.

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

В статье будет рассматриваться отладка кода на C в ОС Linux.

Читать далее

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