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

Linux *

Пишем под *nix

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

Новое, старое, обновленное: что «выросло» в ядре Linux 6.2. Подробности релиза

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


Вчера появилась новость о выходе стабильного релиза ядра Linux 6.2. Изменений и дополнений действительно много, в этот раз принято почти 17 тыс. исправлений от 2178 разработчиков. Изменения при этом внесены в 14108 файлов, с добавлением 730195 строк кода. Большая часть изменений, почти 50%, связана с драйверами устройств, еще примерно 16% — с аппаратными архитектурами, 12% — сетевые технологии, 4% — файловые системы и еще 3% — подсистемы ядра. Под катом — подробности о том, что представляет собой ядро 6.2.

Наиболее актуальные изменения, которые добавлены в ядро, касаются продолжения работы над интеграцией языка Rust, о чем Торвальдс говорил уже давно. Кроме того, разрешен прием кода кода под лицензией Copyleft-Next. А еще — добавлена возможность регулирования потребления памяти при отложенной записи, появился гибридный механизм защиты потока выполнения команд, плюс появилась утилита rv (Runtime Verification). Ну а теперь, собственно, подробности.
Читать дальше →

Больше Linux-устройств, хороших и разных: портативный «наладонник» из Китая, док-станция для Librem 5 и кое-что еще

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


Linux продолжает развиваться, эта ОС каждый год становится все более востребованной. Чаще всего разные дистрибутивы Linux работают в корпоративной среде, но есть, конечно, и пользовательские устройства. Их не так мало, хотя и гораздо меньше, чем девайсов на Windows, Android, iOS и т.п.

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

Carbonyl — графический веб-браузер для Linux-консолей

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

Консоль Linux обычно имеет дисплей с клавиатурой и используется для подключения к главному компьютеру для обмена данными и отображения результатов обработки. В большинстве случаев сама обработка выполняется хост-компьютером. Однако есть гики, которые хотят на консоли просматривать веб-страницы, и есть программное обеспечение, такие как текстовые браузеры типа «Browsh», которые могут отображать веб-сайты в графическом виде без графического интерфейса.

Большинство основных дистрибутивов Linux поставляются с предустановленными Firefox или Falkon. И идея текстового браузера для консоли Linux может показаться абсурдной. В конце концов, первые браузеры были основаны на графическом интерфейсе, а современный Интернет так вообще состоит из графики и JavaScript — элементов, с которыми консольным браузерам трудно или даже невозможно работать. Но именно эта несовместимость с современной Сетью делает консольные браузеры такими привлекательными для некоторых пользователей. Для этого есть несколько причин. Интерфейсы таких браузеров чрезвычайно просты в компоновке и работают очень быстро. Текстовые браузеры требуют меньше пропускной способности для работы, и загружают страницы намного быстрее, чем графические. Кроме того, графические браузеры потребляют больше ресурсов ЦП для Javascript, CSS и т. д. Также изображения, автоматически воспроизводимые видео и звуковые эффекты могут отвлекать внимание пользователя.

Но как можно сохранить малое потребление ресурсов ЦП текстовых браузеров, при этом отображая графику через консоль?

Через Carbonyl.
Читать дальше →

Нужен ли такой одноплатник?

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

Привет Хабр!

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

Если коротко — У меня есть Самсунг А5 (2015) и я могу на него установить MongoDB на Docker, накатить nodeJS и использовать как сервер разработки.

Под капотом Alpine Linux и в отличии от UbPorts — установка приложений из консоли это найтивный путь.

Целью поста является обзор альтернативного направления развития мобильных устройств под свободными Осями (И не является обзором PostmarketOS, но в целом для хабра не мешало бы).

На данный момент в мире пользовательских мобильных устройств царит парадигма — моно девайсов. Не последним вкладом в стоимость которых они обязаны дисплею.

Читать далее

Очень странные дела: разработчики обсуждают итоги года и осторожно заглядывают в будущее

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

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

Эксперты Content AI, наблюдавшие за ситуацией внутри воронки смерча, поговорили «за ИТ» уже из дня сегодняшнего: с чем в итоге подошел отечественный рынок к 2023 году, какие тренды наметились в области разработки ПО и в какую сторону дальше будет двигаться российская сфера ИТ. 

Как говорится, запомните этот твит. 

Читать далее

Просто о RCU (Read–Copy-Update). Часть 2

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

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

Читать далее

Как поиграть в Quake для DOS по сети в 2023 году

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

В прошлой статье, помимо всего прочего, я рассказывал, как можно запустить Quake для DOS, загрузив DOS на современном компьютере. Отказ от использования эмуляторов позволяет погрузиться в прошлое наиболее реалистично, однако есть ряд недостатков:

  • не на всех компьютерах можно поиграть со звуком;
  • необходимо заменять файл в дистрибутиве Quake;
  • невозможно поиграть по сети.

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

Среда разработки VS Code на ТВ-приставке

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

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

Кратко оно выглядит так:

Мультимедиа-приставка (была с Андроидом), в ней запущен Линукс, в нем развернута IDE Visual Studio Code, в ней установлено расширение PlatfformIO. Все это удаленно доступно по SSH и RDP. К этому мини-компьютеру подключена плата STM32F4 discovery через ST-Link на борту, через него работает загрузка и отладчик, а через переходник USB-UART отображаются диагностические сообщения. Тестовая программа для демонстрации использует фреймворк Ардуино.

Читать далее

Зеркалирование GitHub-проектов в 2023 году

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

По ряду причин я решил зеркалировать свои открытые GitHub-проекты на другие платформы совместной разработки. Сделать это оказалось не так просто. В этой короткой статье описаны трудности, с которыми мне пришлось столкнуться, и итоговое рабочее решение.

Читать далее

Добрый вечер, здравствуйте

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

Если вы программист, тестировщик или другой обитатель мира IT, то, возможно, ранее вы следили за деятельностью компании ABBYY, ведущего мирового разработчика решений в области интеллектуальной обработки информации и анализа бизнес-процессов. Весной 2022 года ABBYY приняла решение уйти из России, а мы — команда разработки и менеджмента бывшего российского офиса ABBYY — создали новую компанию Content AI. Мы посчитали важным сохранить многолетний архив этого блога, ведь в нем отражается путь не только одной компании, но и всей сферы AI российского IT.

И мы начинаем новую главу этой истории. 

Читать далее

Wine 8.0: что «выросло» в новой версии? Возможности и совместимость с ПО

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

На Хабре публиковалась новость о Wine 8.0, новый релиз был представлен спустя целый год разработки и трех десятков тестовых версий для «обкатки». Наконец, несколько дней назад разработчики представили стабильный релиз Wine 8.0. Работа действительно очень объемная — команда внесла почти 9 000 изменений.

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

Создаём и расширяем образы Docker с функциями middleware

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

Для переноса IT-среды в облако используют технологии контейнеризации, в первую очередь Docker. Такой подход помогает оптимизировать потребление ресурсов и ещё больше автоматизировать операционные процессы. Однако для поддержки энтерпрайз-приложений требуются дополнительные службы, которые называют функциями промежуточной обработки (middleware functions). Такие службы применяют для интеграции, обмена сообщениями, размещения приложений в контролируемой серверной среде и др. В статье рассказываем, как создавать и расширять образы Docker, содержащие функции промежуточной обработки. 

Читать далее

Просто о RCU (Read–Copy-Update)

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

Lock-free структуры данных в общем и целом неплохо описаны в различной литературе, но на мой взгляд порог вхождения в эту тему высок. Приведу простой кейс использования одной из разновидностей данной технологии под названием RCU (Read–Copy-Update). В двух словах, это механизм неблокирующего обновления структуры данных у которой много читателей и всего один писатель. Wikipedia.

Читать далее

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

Как построить WaitGroup на основе 32-разрядного целого числа

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

В Go есть приятная утилита для синхронизации, именуемая WaitGroup, которую могут ожидать одна или несколько горутин. Это требуется для конкурентного завершения задач. В других языках обычно действует следующее соглашение по завершению задач: нужно объединять потоки, выполняющие работу. В Go горутины не имеют ни значений, ни дескрипторов, поэтому WaitGroup применяется вместо объединений. Собирание WaitGroup на основе типичных портируемых примитивов – путаное дело, в которое вовлечены конструкторы и деструкторы; также в процессе этой работы приходится управлять временами жизни. Однако, как минимум, под Linux и под Windows, можно построить WaitGroup из целого числа (инициализируемого в значении), во многом как при создании 32-разрядной очереди и 32-разрядного барьера.
Читать дальше →

Управляем модулем ядра Linux

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

Почему пользовательское приложение работает некорректно? Существует не так много способов, которые бы помогали выявить проблему. В большинстве случаев для поддержания высокой доступности требуется стороннее программное обеспечение. В статье рассказываем, как настроить мониторинг пользовательского приложения через модуль ядра Linux, а также разбираем, как установить связь с сокетом.

Читать далее

Домашняя лаборатория

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

Угадай данную статью написал ChatGPT или нет?

Хотите потестировать приложение, или опробовать в работе инструмент? В этой статье опишу то, как организовал тестовый стенд на Linux. Стенд поддерживает работу с доменами, умеет генерировать TLS сертификаты, легко масштабируется, окружение строится по принципе IaaC, не требует много ресурсов, легко разворачивается скриптами или SCM, есть UI, не зависит от внешних сервисов.

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

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

Читать далее

5 советов, которые помогут при переносе кода на платформы, отличные от х86

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

Легко написать код, который компилируется, компонуется и нормально работает на x86, но не работает на других процессорах, например Power. Обычно причина в том, что такой код изначально не был предназначен для платформ, отличных от x86. В статье разбираем отличия x86 и Power, которые могут нарушить сборку или снизить производительность. Делимся инструментами, которые помогут выявить и устранить проблемы.

Читать далее

Volvo SCT / part 1 — как проникнуть в чужое ядро

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

Я являюсь обладателем одной интересной железки - SCT unit touch. Это медиа система с Android, которую ставили в виде дополнительного аксессуара в автомобили Volvo. Проблема в том, что ее оставили без поддержки, зато на ней можно легко получить root, а значит остальное можно допилить.

Читать далее

Видеозаписи докладов CyberCamp. Разбираем вопросы безопасности Linux

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

Привет, Хабр! В конце декабря мы командой CyberCamp провели митап, посвященный безопасности Linux. Прошлись по всей ОС — от ядра до логов. Плюсы в виде открытого кода, надежности, быстродействия и, казалось бы, повышенный уровень защищенности от киберугроз увеличивает пул активных пользователей. Но среди этих качеств нет неуязвимости. На митапе были разобраны вопросы, какие угрозы актуальны для Linux и как от них защититься.

Под катом мы собрали полный плейлист выступлений:

  Безопасность ядра Linux: в теории и на практике / Александр Попов, Positive Technologies

 Повышение привилегий на Linux / Владимир Ротанов, «Инфосистемы Джет»

 Анализ взлома общедоступных экземпляров баз данных / Александр Матвиенко, «Инфосистемы Джет»

 Особенности вредоносного ПО под Linux-системы / Ярослав Шмелёв, «Лаборатория Касперского»

 Анализ логов в Unix-системах / Артём Крикунов, «Инфосистемы Джет»

Харденинг Linux / Антон Велижанинов, «Инфосистемы Джет»

Читать далее

Пишем драйвер ядра Linux для неизвестного USB-устройства

Время на прочтение15 мин
Количество просмотров19K
image

В этой статье объяснен весь процесс, на выходе которого получается рабочий драйвер ядра Linux для недокументированного USB-устройства. Выполнив обратную разработку коммуникационного протокола USB, я покажу архитектуру драйвера ядра для USB. Кроме драйвера ядра в этой статье будет рассказано о простом инструменте для пользовательского пространства; при помощи этого инструмента можно управлять таким устройством. Конечно, придется углубиться в подробности, касающиеся конкретного прибора, но не сомневайтесь – описанный процесс с тем же успехом применим и к другим USB-устройствам.
Читать дальше →

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