Обновить
256K+

Linux *

Пишем под *nix

414,09
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности
Формат публикации

Проект Proton запускает Cyberpunk 2077 на Linux

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


Разработчики проекта Proton представили версию Steam Play Proton 5.13-4, с помощью которой можно запустить игру Cyberpunk 2077 в Linux. Правда для этого нужно, чтобы на ПК пользователя была установлена производительная видеокарта AMD и Mesa Git (рекомендуется Mesa 21.0-devel Git).
Читать дальше →

RedHat прекратит поддержку CentOS в 2021 году

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


Компания RedHat прекратит разработку и поддержку CentOS в конце 2021 года и сосредоточится на поддержке тестового форка — CentOS Stream, говорится в официальном блоге CentOS.

Таким образом, CentOS 9 никогда не увидит свет — последней релизнутой версией популярной ОС станет CentOS 8. Вместо этого компания RedHat сосредоточится на разработке CentOS Stream.
Читать дальше →

Новая версия командного интерпретатора GNU Bash 5.1 уже в строю

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

Сегодня стало известно о выходе новой версии командного интерпретатора GNU Bash 5.1. На ее разработку ушло целых два года. Кроме того, есть и еще новость — сформирован релиз библиотеки readline 8.1, которая применяется в bash для организации редактирования командной строки.

О том, что появилось нового и полезного — под катом.
Читать дальше →

Конфигурируем FT4232H c помощью утилиты ftdi_eeprom

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


FT4232H – это интегральная микросхема преобразователя USB – UART, поддерживающая режим High Speed на стороне USB и имеющая четыре порта на стороне UART.


Подключив к этой микросхеме EEPROM-память можно задать специфические режимы работы или изменить данные производителя.


Разберемся на примере и сконфигурируем FT4232H непосредственно в системе под управлением GNU/Linux. Делать это будем с помощью утилиты ftdi_eeprom.

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

Error: success и что делать по этому поводу

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

image


Всем начинающим программистам всегда рассказывают о важности правильного формирования сообщения об ошибках. Всегда говорят о том, что если программа что-то не смогла сделать, то она должна ясно и недвусмысленно рассказать почему это произошло. Рассказывают о важности контроля возвращаемого значения вызываемых функций. При этом даже компиляторы научились выдавать предупреждения если возвращаемое определенными функциями значение игнорируется. Надо сказать что важность обработки ошибок современными программистами принята. Временами это приводит к занятным казусам, как на КДПВ (взята здесь). Мне в реальной жизни несколько раз приходилось сталкиваться с подобными странными диагностическими сообщениями. О последнем случае и методах преодоления такой вот диагностики я и хочу рассказать. Если стало интересно милости прошу под кат. Опытные программисты наверняка не откроют для себя ничего нового, но пофилософствовать о разработке ПО точно смогут.

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

Разработчик запустил на краудфандинговой платформе Patreon сбор денег на адаптацию Linux для Maс на M1

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


Разработчик Гектор Мартин (Hector Martin) запустил на краудфандинговой платформе Patreon сбор денег на адаптацию Linux для Maс на Apple Silicon М1 с ARM-архитектурой. Он уже собрал (причем менее чем за сутки) первую часть требуемых средств — $4000 в месяц. Этой суммы хватит на покупку необходимых устройств с чипом М1 для реверс-инжиниринга и исследований, а также на оплату части рабочего времени, которое Мартин будет тратить на этот проект.

На Patreon инвесторы проекта выплачивают его инициатору определенную сумму каждый месяц или же за единицу законченной работы, вместо того, чтобы перечислить одноразовую сумму, как делается на Kickstarter.
Читать дальше →

Устройство пакетной системы OpenWrt

Время на прочтение7 мин
Охват и читатели55K
Операционная система OpenWrt обычно используется как прошивка для роутеров. Типичное применение заключается в том, чтобы установить и забыть. Но если вдруг вам чего-то не хватит, то придётся разбираться в устройстве дистрибутива.



OpenWrt использует opkg в качестве пакетного менеджера, точнее, собственный форк. Дебианщикам он во многом покажется знакомым: похожие команды, похожий формат репозитория и пакетов.

Мне захотелось запатчить LUCI (этого в статье не будет), но адекватного быстрого введения я не нашёл, пришлось самостоятельно собирать отрывки сведений из разрозненной документации, статей и примеров, поглядывая в код и на результаты работы. Бонусом собрал примитивный (но бесполезный на практике) пакет, которого ещё нет в репозитории. Собранным ликбезом делюсь ниже.
Читать дальше →

Многозадачность в shell-скриптах

Время на прочтение3 мин
Охват и читатели13K
Иногда, при написании скрипта на shell хочется выполнять какие-то действия в несколько потоков. Подходящими ситуациями могут быть, например, сжатие большохо количества больших файлов на многопроцессорном хосте и передача файлов по широкому каналу, на котором ограничена скорость индивидуального соединения.

Все примеры написаны на bash, но (с минимальными изменениями) будут работать в ksh. В csh тоже есть средстава управления фоновыми процессами, поэтому подобных подход тоже может быть использован.
Читать дальше →

Генерация типизированных ссылок на элементы управления Avalonia с атрибутом x:Name в XAML с помощью C# Source Generators

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



В апреле 2020-го года разработчиками платформы .NET 5 был анонсирован новый способ генерации исходного кода на языке программирования C# — с помощью реализации интерфейса ISourceGenerator. Данный способ позволяет разработчикам анализировать пользовательский код и создавать новые исходные файлы на этапе компиляции. При этом, API новых генераторов исходного кода схож с API анализаторов Roslyn. Генерировать код можно как с помощью Roslyn Compiler API, так и методом конкатенации обычных строк.


В данном материале рассмотрим процесс реализации ISourceGenerator для генерации типизированных ссылок на элементы управления AvaloniaUI, объявленные в XAML. В процессе разработки научим генератор компилировать XAML с помощью API компилятора XamlX, используемого в AvaloniaUI, и системы типов XamlX, реализованной поверх API семантической модели Roslyn.

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

Линус Торвальдс объяснил, почему он не будет покупать Mac на чипе M1

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

Линус Торвальдс на форуме Real World Technologies заявил, что хотел бы приобрести новый Mac с чипом Apple Silicon M1, но он не будет работать с Linux. Он пояснил, что «Apple может запускать Linux в своем облаке, но их ноутбуки — нет».
Читать дальше →

Разработка механизма распараллеливания кода на языке python с использованием docker-контейнеров

Время на прочтение4 мин
Охват и читатели3.7K
Современный этап развития технологий, в том числе и вычислительной техники, показывает нам рост объёмов данных и потребностей во все более мощных вычислителях. В основе развития центральных процессоров всегда лежала технология увеличения числа транзисторов на кристалле микропроцессора. Известный закон Мура гласит: «при сохранении этой тенденции мощность вычислительных устройств за относительно короткий промежуток времени (24 месяца) может вырасти экспоненциально»

Однако, тот же Мур в 2003 году опубликовал работу «No Exponential is Forever: But „Forever“ Can Be Delayed!», в которой признал, что экспоненциальный рост физических величин в течение длительного времени невозможен. Лишь эволюция транзисторов и технологий их изготовления позволяла продлить действие закона ещё на несколько поколений.

В 2007 году Мур заявил, что закон, очевидно, скоро перестанет действовать из-за атомарной природы вещества и ограничения скорости света. На текущий момент предельный размер транзистора в процессоре составляет 5 нанометров. Имеются также пробные образцы трёхнанометрового процессора, но его выпуск начнётся не раньше 2021 года. Это говорит о том, что в скором времени дальнейшее увеличение количества транзисторов на кристалле прекратится (пока не будет открыт новый материал или кардинально обновлен технологический процесс).

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

GIMP исполнилось 25 лет

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


21 ноября 2020 года GIMP отметил юбилей. Ровно 25 лет назад Питер Маттис отправил сообщение в несколько ньюс-групп, в котором объявил о создании нового графического редактора.
Читать дальше →

Linux в режиме реального времени

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


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

При этом разные события имеют различные временные требования. Например, требование к задержке для антиблокировочной тормозной системы может составлять от 3-5 миллисекунд. То есть с момента, когда колесо впервые обнаруживает, что оно скользит, у системы, управляющей антиблокировочными тормозами, есть от 3-5 миллисекунд, чтобы отреагировать и исправить ситуацию.

Возможности ядра в реальном времени существует уже более десяти лет в экосистеме программ с открытым исходным кодом. Столько же времени доступна поддержка Red Hat Enterprise Linux (RHEL) для ядра реального времени. Тем не менее многие системные администраторы неверно истолковывают его основные концепции и фактическое рабочее поведение. В этой статье я опишу некоторые из его основных функций, отличия от стандартного ядра и шаги по установке.
Читать дальше →

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

Разработка мобильных приложений на Python. Создание анимаций в Kivy. Part 2

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

Приветствую всех любителей и знатоков языка программирования Python!

Сегодня продолжим разбираться с темой анимаций в кроссплатформенном фреймворке для с поддержкой мультитач — Kivy в связке с библиотекой компонентов Google Material Design — KivyMD. В прошлой статье мы уже разбирали пример тестового приложения на Python/Kivy/KivyMD, в этой — пройдемся по теме анимаций более подробно. В конце статьи я приведу ссылку на репозиторий проекта, в котором вы сможете скачать и сами пощупать, демонстрационное Kivy/KivyMD приложение. Как и предыдущая, эта статья будет содержать не маленькое количество GIF анимаций и видео, а поэтому наливайте кофе и погнали!

Новые патчи Linux защищают процессоры Intel от последних уязвимостей, так что Hyper-Threading можно не отключать

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

Уязвимости семейства MDS

Инженер Google Джоэл Фернандес (Joel Fernandes) прислал девятую версию патчей “core scheduling” для ядра Linux. Этот код позволяет одновременно запускать на одном ядре процессора только доверенные задачи — в тех случаях, когда используется Hyper Threading — для защиты системы от возможных эксплоитов.

Тема защиты CPU стала популярной с тех пор, как в процессорах Intel обнаружили два новых семейства уязвимостей — MDS (Microarchitectural Data Sampling) и L1TF (L1 Terminal Fault), основанные на технологии спекулятивного исполнения команд. Виной всему — реализация Hyper-Threading (многопоточности) в чипах Intel. Если вкратце, в MDS злоумышленник может получить доступ к приватной информации даже через браузер пользователя, запустив в нем вредоносный код. Процессору даётся команда перенести важные данные в буферы, а уже оттуда их можно извлечь.
Читать дальше →

BPF для самых маленьких, часть вторая: разнообразие типов программ BPF

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

Продолжаем серию статей про BPF — универсальную виртуальную машину ядра Linux — и в этом выпуске расскажем о том, какие типы программ BPF существуют, и как они используются в реальном мире капиталистического чистогана. Кроме этого, в конце статьи приведено некоторое количество ссылок, в частности, на две с половиной существующие книжки про BPF.


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


Если вы хотите узнать, как именно BPF помогает эффективно решать задачи защиты от DDoS атак, распределения нагрузки на серверы, реализации сетевого стека kubernetes, защиты систем от нападения, эффективной трассировки систем 24x7 прямо в проде и многие другие, то добро пожаловать под кат.


image

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

Ubuntu Web Remix — альтернатива Chrome OS c браузером Firefox вместо Google Chrome

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

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

Единственная проблема хромбуков — то, что в качестве ОС используется Chrome OS с браузером Chrome или Chromium. Это ПО нравится хотя и многим, но не всем. Большое количество пользователей принимает Chrome OS вынужденно, не имея альтернативы. Но теперь, кажется, она появилась. Речь идет о дистрибутиве Linux, который получил название Ubuntu Web Remix. Его начали разрабатывать в начале лета, а сейчас он доступен для загрузки.
Читать дальше →

Кунг-фу стиля Linux: упрощение работы с awk

Время на прочтение8 мин
Охват и читатели16K
Утилита awk — это нечто вроде швейцарского ножа для обработки текстовых файлов. Но некоторые ограничения awk порой доставляют неудобства тем, кто этой утилитой пользуется. Я, для того чтобы упростить работу с awk, создал несколько функций. Но сразу хочу сказать о том, что для работы этих функций нужны возможности GNU-версии awk. Поэтому для того чтобы воспроизвести то, о чём я буду рассказывать, вам совершенно необходимо использовать gawk и ничего другого. Возможно, в вашей системе настроено сопоставление /usr/bin/awk с чем-то, и это «что-то» может представлять собой gawk. Но это может быть и mawk, и какая-то другая разновидность awk. Если вы используете дистрибутив Linux, основанный на Debian, то знайте, что команда update-alternatives — это ваш хороший друг. В данном материале я буду исходить из предположения о том, что его читатель использует gawk.



После того, как вы прочитаете эту статью, вы узнаете о том, как пользоваться моей библиотекой дополнительных функций для awk. А именно, речь идёт о разделении строки на поля даже в условиях, когда не существует единого символа, используемого для разделения полей. Кроме того, вы сможете обращаться к полям, используя выбранные вами имена. Например, вам не придётся помнить о том, что $2 — это поле, содержащее сведения о времени. Вместо этого можно будет просто воспользоваться конструкцией наподобие Fields_fields[«time»].
Читать дальше →

Началось массовое производство смартфона Librem 5

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


Компания Purism начала массовое производство свободных смартфонов Librem 5, изначально спроектированных с фокусом на безопасность и приватность с точки зрения программного и аппаратного обеспечения.

Librem 5 — это единственный в своём роде компьютер общего назначения в форм-факторе смартфона, который компания Purism спроектировала и построила с нуля после успешной краудфандинговой кампании, где было собрано более $2,2 млн. Как аппаратный, так и программный дизайн ориентирован на максимальную свободу пользователя, контроль над конфиденциальностью и безопасностью. Librem 5 не работает ни на Android, ни на iOS, а вместо этого здесь установлена PureOS — та же операционная система, что в ноутбуках и мини-компьютерах Purism.
Читать дальше →

Разработка приложения с использованием Python и OpenCV на Android устройстве

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


В это статье я хочу показать пример того, как андроид устройство можно использовать для разработки на таких языках программирования как python с библиотекой opencv в среде VSCode (будет использован code-server). В конце статьи приведено небольшое сравнение производительности Termux на моем Android устройстве и Raspberry Pi 3B.

Все действия описанные статье выполнялись на:
Huawei MediaPad M5 10.8
4GB ОЗУ, Hisilicon Kirin 960s, EMUI 9, без root
Читать дальше →