Обновить
411.24

Linux *

Пишем под *nix

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

Анализ Приказа ФСТЭК России №118 «Об утверждении требований по безопасности информации к средствам контейнеризации»

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

Рассмотрим требования к безопасности информации в средствах контейнеризации, указанные в Выписке из Приказа ФСТЭК России № 118 «Требования по безопасности информации к средствам контейнеризации», приведем разъяснения к каждому требованию. Также в статье проанализируем техническую реализацию требований Приказа ФСТЭК России № 118 на примере ОС Astra Linux Special Edition и программные механизмы реализации в среде ОС.

Читать далее

Будьте в курсе развития RISC-V: обсуждаем обновления в разработке и изучаем бенчмарки серверов на открытой архитектуре

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

Если вы интересуетесь развитием открытой архитектуры или занимаетесь разработкой систем под нее, не пропустите бесплатный митап российского Альянса RISC-V. Он объединяет независимых разработчиков вычислительной техники и программного обеспечения на основе свободной архитектуры. 

15 апреля в 19:00 представители альянса соберутся, чтобы обсудить последние разработки и опыт работы с RISC-V-системами. Регистрируйтесь на митап, чтобы подключиться онлайн и быть в курсе развития экосистемы RISC-V в России. Узнаете о поддержке RISC-V в Linux и результатах анализа производительности доступных на рынке RISC-V-серверов. Подробнее о программе — под катом.

Читать далее

Компания Playtron разрабатывает альтернативу Windows и SteamOS

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

Когда речь заходит об игровом программном обеспечении на базе Linux, сразу же вспоминается Steam Deck от Valve. В свое время выпуск новой игровой портативной консоли, да еще на базе полностью нового софта, стал сенсацией. Впечатление усиливалось тем фактом, что софт базировался на Linux, разработчики от Valve создали отличную операционную систему для своей приставки.

Этот продукт выделяет Steam Desk в отдельную категорию игровых устройств. Причем по сравнению с ним девайсы на Windows, например, Asus ROG Ally, Lenovo Legion Go и MSI Claw, кажутся не такими совершенными. Но вскоре, насколько можно понять, может появиться еще одна альтернатива.
Читать дальше →

Техподдержка «Базальт СПО» — гарантия надежной работы вашей ИТ-инфраструктуры

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

Безусловным правилом в эксплуатации ИТ-систем является наличие вендорской технической поддержки (сопровождения) для основных компонентов инфраструктуры, в том числе для операционных систем.

Обязательно ли всем приобретать техподдержку? И если да, то какую? Представляем все за и против.

Читать далее

Как мы сделали Embedded Controller для ПЛК на Linux

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

Мы уже рассказывали о том, как приручили робота-пайщика, как делаем устройства и тестируем их. Теперь хотим поделиться опытом разработки полноценного Embedded Controller для ПЛК на Linux — какие задачи решает, как устроен и что у него под капотом в прошивке.

Читать далее

Telegram bot для наших bmw G серии часть 3

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

В трех частях я постарался описать как создать Telegram Bot для BMW G серии и разместить его на VPS. В первой части рассмотрен процесс получения данных с BMW используя учетные данные Connected drive. Во второй части рассмотрен процесс создания телеграм бота. В третьей части рассказывается о размещении данных скриптов на VPS и конфигурация linux.

Читать далее

Как настроить программу для управления компьютерным классом Veyon

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

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

Читать далее

Разработка Desktop приложений на Python и библиотеки PySide6/PyQt6. Часть 2. Знакомство с виджетами и Qt Designer

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

Мы продолжаем изучать PySide6/PyQt6 и сейчас мы с Вами познакомимся с виджетами, компоновкой и Qt Designer

Ссылка на 1 урок с установкой PySide6 и создания первого приложения.

PySide6 включают в себя довольно большое количество встроенных виджетов. Вы можете найти более подробную информацию в официальной документации PySide6.

Читать далее

Разработка Desktop приложений на Python и библиотеки PySide6/PyQt6. Часть 1. Установка и первое приложение на PySide6

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

Сегодня мы с Вами рассмотрим прекрасную библиотеку PySide6, которая является оберткой для взаимодействия с Qt при помощи языка Python, которые позволяет вам использовать Python для написания desktop-приложений Qt.

Читать далее

Настоящий игровой роутер

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели23K
Гоняем GTA: Vice City на беспроводном роутере TP-Link TL-WDR4900.

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

Why so heavy, Windows? Новая версия ОС Tine Core Linux «весит» всего 24 Мб. Что это за дистрибутив

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

Tiny Core Linux около 15 лет, и он до сих пор актуален, обновляется и модифицируется своими авторами. Правда, с момента выхода версии 1.2 он немного «поправился» — сейчас его объём составляет 24 Мб вместо 10 Мб. Но всё равно это исчезающе малый «вес» по сравнению с другими дистрибутивами и операционными системами, хоть современными, хоть не очень. Подробности о новой версии — под катом.

Читать далее

Изучение недооцененной силы Биткоин утилит: подробное руководство в Google Colab

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

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

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

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

Еще одна важная утилита Биткоин — это обмен биткоинов. Биржа — это платформа, которая позволяет пользователям покупать и продавать биткоины за другие валюты, такие как доллары США или евро. Доступно множество различных бирж, каждая со своим набором комиссий, функциями безопасности и пользовательскими интерфейсами. Важно выбрать биржу с хорошей репутацией, имеющую хорошую репутацию в области безопасности и надежности.

Читать далее

Переезд на линукс .NET разработчика. Как изменился линукс за 15 лет

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели26K

Привет, Хабр! После написания двух статей про недостатки Windows и непонимание развития системы, я решил устроить бунт на своем компьютере, пересев на Линукс. Не то, чтобы я прям планировал всерьёз менять операционную систему, но чётко осознавал, что мои «знания» о линуксе сильно устарели, так как помимо хостинга и деплоя, я им пользовался дома очень давно, практически 15 лет назад. Тогда было много проблем со стабильностью как различных приложений, так и графический окружений в частности. Ну и как-то не очень объективно сравнивать современные версии от майкрософт со своими старыми воспоминаниями о линуксе, ведь прогресс не стоит на месте, дистрибутивы развиваются, а интерфейс приложений становится все более дружелюбным и приятным для использования. Так ведь?

Читать далее

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

Бардак в GNOME — это не случайность

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели77K

GNOME удалось добиться, казалось бы, невозможного: это самая ограниченная по возможностям и раздутая десктопная среда для Linux. Но это не просто случайность. Это результат высокомерия и дилетантства основных разработчиков, превративших архитектурные решения GNOME в шедевр хаоса. Чтобы лучше понять, что происходит, давайте проанализируем некоторые из примеров. Даже если ни один из них не затрагивает непосредственно вас, стоит понять modus operandi ведения проектов GNOME и то, как они вредят сообществу Linux.
Читать дальше →

Шутим в комментариях к коду

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

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

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

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

Под катом собрали и пояснили 13 примеров полезных и забавных комментариев, которые оставили наши коллеги в исходниках продуктов Content AI.

Читать далее

Спасти Linux

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели43K


Некоторое время назад я написал статью, в которой критически высказался о Linux-разработчиках, не желающих поддерживать дистрибутив, если он предназначен для работы на компьютерах, которым более 15 лет. За это я получил немало критики от читателей с Hacker News. Кто-то указывал, что я не понимаю, насколько же это сложно – создать и поддерживать дистрибутив Linux. Были и такие, кто советовали мне просто накатить на старый компьютер старую версию Windows. Я же начал пользоваться Linux в первую очередь для избегания Windows, так как считал её монструозным порождением Билла Гейтса. Фактически, разработчики операционной системы, ранее обещавшие освободить меня от Windows, теперь склоняют меня вернуться к Windows, как только мой компьютер настолько состарится, что им станет неудобно его поддерживать. Ответы, которые я получаю от Linux-разработчиков, явно свидетельствуют, что Linux больше не является операционной системы для технарей-компьютерщиков, желающих сохранить на ходу свои любимые винтажные машины. Напротив, Linux превратился в операционную систему, которую разработчик рассматривает как средство для прокачки карьеры. Те, кому интересно подробнее разобраться в нарастающей дисфункциональности Linux и узнать, почему сложилась такая ситуация, могут посмотреть это видео на YouTube.
Читать дальше →

Не пора ли валить с gnu libc на что‑то другое?

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

Пользуюсь открытым ПО значительное время. Сижу на Линуксе.

Но в последнее время настолько часто сталкиваюсь с различными багами, что думается иногда, а как оно вообще в принципе работает?

Последний эпизод коснулся совсем уж системного кода - стандартной библиотеки libc от GNU. Системнее может быть только ядро.

История такая. Собрал Хромиум (не быстро). Когда наконец сборка завершилась с попутным решением проблем, думал: ну вот наконец щас запущу, посмотрю как работают интересующие меня вещи. И тут произошёл облом. Хром падал почти в самом начале запуска с ошибкой доступа к памяти. Довольно быстро удалось выяснить, что падение происходит из-за ошибки обращения по нулевому указателю. И происходит оно в динамическом загрузчике, то бишь в libdl, при загрузке библиотеки через dlopen. libdl.so является одной из компонент пакета стандартной библиотеки и понятно, самой системной библиотекой в ОС. Подробности всей ситуации я описал в вопросе на stackoverflow.

Вкратце: при загрузке библиотеки libXcursor.so подтягиваются непонятно откуда взявшиеся зависимости, не имеющие никакого отношения к упомянутой библиотеке. И зависимости эти не инициализированы корректно. Откуда и происходит обращение по нулевому указателю. Впоследствии выяснилось, что проблема начинается с несовпадающих версий библиотек libQt5Core, в результате чего libdl делает полный отбой с попыткой отката всех изменений.

Но, видимо, этот откат реализован из рук вон плохо, поскольку после него начинают происходить весьма странные вещи. И загрузка неинициализированной зависимости с нулевыми указателями лишь одна из них. Я ещё сделал пробник в виде простого приложения, которое пытается воспроизвести ситуацию. И в этом пробнике также происходил сбой, но уже при инициализации (вызов init или конструктор в их терминологии) либы libpthread.so (тоже очень системная) - потерян адрес глобального на процесс хранилища либ.

Читать далее

Устройство GPIO-драйверов в Linux

Уровень сложностиСредний
Время на прочтение26 мин
Охват и читатели18K

Рассмотрим, как устроены GPIO-драйверы в Linux, и почему это сделано именно так. Поймем, почему для простого мигания светодиодом в этой операционной системе надо пройти через N слоев абстракции.

Читать далее

Разбираемся с Bluetooth Low Energy на примере превращения USB-клавиатуры в беспроводную

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


Меня давно интересовало, как работают беспроводные клавиатуры, но как-то не сильно вдавался в подробности, пока не возникла идея превратить свою механическую клавиатуру в беспроводную. Честно говоря, не думал, что узнаю так много нового и интересного.

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

Не имея навыков пайки, вы сможете создать полезное Bluetooth-устройство, а ваше понимание Bluetooth и Linux уже не будет прежним, если вы, конечно, не являетесь экспертом в этих областях.

Данная статья ставит целью на примере разработки собственной Bluetooth-клавиатуры помочь разобраться в базовых понятиях Bluetooth, так как чтение скучных спецификаций и статей с введением в технологию даёт мало пользы.
Читать дальше →

Как я уменьшил размер образа docker на 40%

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели18K

Ежедневно по работе я сталкиваюсь с Dockerfile, написал несколько из них самостоятельно, создавал контейнеры и всё такое. Но я никогда не публиковал их в реестре docker hub. Мне хотелось создать ugit — инструмент для отмены команд git (написанный в виде шелл-скрипта), который бы могли использовать люди, не любящие устанавливать случайные шелл-скрипты из Интернета.

Да-да, знаю. НАДО ПЕРЕПИСАТЬ ЕГО НА GO/RUST/ЕЩЁ КАКОМ-ТО ВОЛШЕБНОМ ЯЗЫКЕ. Сейчас скрипт состоит из пятисот с лишним строк Bash, поэтому я перепишу его на другой язык только под страхом смертной казни. Кроме того в ugit уже есть практически все функции (осталось реализовать отмену лишь небольшого количества команд, используемых не так часто).

В этой статье я расскажу о том, как написал официальный Dockerfile для ugit (шелл-скрипта) и снизил размер образа почти на 40% (с 31,4 МБ до 17,6 МБ), выполняя пошаговые попытки работы по инструкции. Надеюсь, это замотивирует других любителей шелла тоже публиковать свои скрипты в виде образов docker!

Читать далее