· | 29.11 | Оценка потребления памяти при одновременном запуске миллиона задач (275 +13) |
Опубликованы результаты тестирования потребления памяти при выполнении кода, создающего миллион параллельно выполняемых сопрограмм. Тестирование проведено для типовой программы, реализованной на языках программирования Rust, C#, Go, Java, Python и JavaScript.
В Rust задачи создавались с использованием фреймворка Tokio и на базе библиотеки async_std, в C# - API List<Task>(), JavaScript - async/await в Node.js, Python - asyncio, Go - goroutine, Java - сопрограммы. Используемые версии и конфигурация: Rust 1.82, .NET 9.0.100 с NativeAOT, Go 1.23.3, OpenJDK/GraalVM 23.0.1, NodeJS 23.2.0, Python 3.13.0. Результаты:
| ||
Обсуждение (275 +13) |
Тип: Тема для размышления |
| ||
· | 29.11 | Релиз мобильной платформы Ubuntu Touch OTA-7 Focal (36 +10) |
Проект UBports, который взял в свои руки разработку мобильной платформы Ubuntu Touch, после того как от неё отстранилась компания Canonical, представил прошивку OTA-7 Focal (over-the-air). Это седьмой выпуск Ubuntu Touch, основанный на пакетной базе Ubuntu 20.04. Проектом также развивается экспериментальный порт рабочего стола Unity 8, который переименован в Lomiri. Обновление Ubuntu Touch OTA-7 Focal в ближайшие дни будет сформировано для устройств
Asus Zenfone Max Pro M1, F(x)tec Pro1 X, Fairphone 3/3+/4, Google Pixel 3a/3a XL, JingPad A1, Oneplus 5/5T/6/6T, OnePlus Nord N10 5G/N100, Sony Xperia X, Vollaphone X/22/X23 и Xiaomi Poco X3 NFC / X3.
Выпуск Ubuntu Touch OTA-7 Focal сформирован вне графика и содержит только исправления ошибок и устранение уязвимости, затрагивающей звуковой сервер PulseAudio. Уязвимость даёт возможность изолированным приложениям обойти ограничения, получить доступ к микрофону и организовать скрытую от пользователя запись звука. Вторая проблема позволяет вызвать аварийное завершение PulseAudio через изменение громкости виртуального устройства, если к системе подключены Bluetooth-наушники. Обе проблемы вызваны ошибками в патчах к PulseAudio, специфичных для Ubuntu Touch. В новом выпуске также предложены исправления к libgbinder, в конфигураторе lomiri-system-settings обеспечен показ панель настройки печати при наличии работающего сервера CUPS и решены проблемы с переподключением внешнего монитора.
| ||
Обсуждение (36 +10) |
Тип: Программы |
| ||
· | 29.11 | Выпуск Rust 1.83. Развитие инструментария Xen и табличного процессора на Rust (204 +15) |
Опубликован релиз языка программирования общего назначения Rust 1.83, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).
Методы работы с памятью в Rust избавляют разработчика от ошибок при манипулировании указателями и защищают от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io. Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок. Основные новшества:
Дополнительно можно отметить несколько проектов на языке Rust:
| ||
Обсуждение (204 +15) |
Тип: Программы |
| ||
· | 29.11 | Выпуск OpenMoHAA 0.80.0, первой бета-версии открытого движка для игры Medal of Honor: Allied Assault (63 +15) |
Доступен выпуск проекта OpenMoHAA 0.80.0, воссоздающего движок для игры "Medal of Honor: Allied Assault", используя в качестве основы открытый движок ioquake3. Для вывода графики задействован бэкенд на базе библиотеки SDL2, а для вывода звука поддерживается OpenAL или SDL. Код проекта распространяется под лицензией GPLv2. Готовые сборки сформированы для платформ Linux и Windows.
Релиз OpenMoHAA 0.80.0 отмечен как первый, достигший достаточного уровня готовности для перехода проекта в стадию бета-выпусков - заявляется, что однопользовательская кампания оригинальной игры и двух её дополнений Spearhead и Breakthrough полностью проходимы. Что касается сетевой игры, то на стороне сервера поддерживаются боты, блокировка по IP, подключение по IPv6, защита от флуда и возможность использования текстового и голосового чата.
| ||
· | 29.11 | Выпуск Snek 1.10, Python-подобного языка программирования для встраиваемых систем (79 +7) |
Кит Паккард (Keith Packard), активный разработчик Debian, лидер проекта X.Org и создатель множества X-расширений, включая XRender, XComposite и XRandR, опубликовал новый выпуск языка программирования Snek 1.10, позиционируемого как упрощённый вариант языка Python, адаптированный для использования на встраиваемых системах, на которых недостаточно ресурсов для использования MicroPython и CircuitPython. Snek не претендует на полноценную поддержку языка Python, но может использоваться на чипах, имеющих всего 2КБ ОЗУ, 32 КБ Flash-памяти и 1КБ EEPROM. Код проекта распространяется под лицензией GPLv3. Сборки подготовлены для Linux, Windows и macOS.
В языке Snek используется семантика и синтаксис Python, но поддерживается лишь ограниченное подмножество возможностей. Одной из целей, которая учитывается при разработке, является сохранение обратной совместимости - программы на Snek могут выполняться с использованием полноценных реализаций Python 3. Для разработки приложений на Snek может использоваться редактор кода Mu (патчи для поддержки) или собственная консольная интегрированная среда разработки Snekde, которая написана с использованием библиотеки Curses и предоставляет интерфейс для редактирования кода и взаимодействия с устройством через USB-порт (можно сразу сохранять программы в eeprom устройства и загружать код с устройства). Snek портирован для различных встраиваемых устройств, включая платы Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 и µduino, предоставляет доступ к GPIO и периферийным устройствам. Проектом также разработан собственный открытый микроконтроллер Snekboard (ARM Cortex M0 с 256КБ Flash и 32КБ ОЗУ), рассчитанный на использование со Snek или CircuitPython, и нацеленный на обучение и создание роботов с использованием деталей LEGO. В новом выпуске:
| ||
Обсуждение (79 +7) |
Тип: Программы |
| ||
· | 29.11 | В пакетном менеджере APT 2.9.15 прекращено использование apt-key (54 +14) |
Опубликован выпуск инструментария для управления пакетами APT 2.9.15 (Advanced Package Tool). Ветка 2.9.x является экспериментальной и используется для разработки функциональности будущей стабильной версии APT 3.0, которая после стабилизации будет интегрирована в Debian Testing и войдёт в следующий значительный релиз Debian, а также будет добавлена в пакетную базу Ubuntu.
Ключевым изменением в новой версии стало окончательное прекращение использования утилиты apt-key для управления ключами, применяемыми для верификации цифровых подписей пакетов. Утилита apt-key несколько лет назад была объявлена устаревшей в связи с уходом от старой модели проверки целостности пакетов, в которой использовалось общее хранилище ключей (/etc/apt/trusted.gpg) и отсутствовала привязка ключей к репозиториям, т.е. ключ, добавленный для какого-то стороннего репозитория, подходил для проверки пакетов во всех репозиториях. Пришедший на смену apt-key метод работы с ключами подразумевает разделение хранилищ ключей для каждого репозитория (/etc/apt/trusted.gpg.d/ или /etc/apt/keyrings/). Другие изменения:
| ||
· | 28.11 | Выпуск среды рабочего стола Cinnamon 6.4 (184 +21) |
После 6 месяцев разработки сформирован релиз среды рабочего стола Cinnamon 6.4, в рамках которой сообществом разработчиков дистрибутива Linux Mint развивается форк оболочки GNOME Shell, файлового менеджера Nautilus и оконного менеджера Mutter, нацеленный на предоставление окружения в классическом стиле GNOME 2 с поддержкой удачных элементов взаимодействия из GNOME Shell. Cinnamon основывается на компонентах GNOME, но эти компоненты поставляются как периодически синхронизируемый форк, не связанный внешними зависимостями с GNOME. Новый выпуск Cinnamon будет предложен в дистрибутиве Linux Mint 22.1, который планируется выпустить во второй половине декабря.
| ||
Обсуждение (184 +21) |
Тип: Программы |
| ||
· | 28.11 | Доступен дистрибутив Proxmox Backup Server 3.3 (21 +14) |
Компания Proxmox, известная разработкой продуктов Proxmox Virtual Environment и Proxmox Mail Gateway, опубликовала выпуск дистрибутива Proxmox Backup Server 3.3, который преподносится как готовое решение для резервного копирования и восстановления виртуальных окружений, контейнеров и начинки серверов. Установочный ISO-образ доступен для свободной загрузки. Специфичные для дистрибутива компоненты открыты под лицензией AGPLv3. Для установки обновлений доступен как платный репозиторий Enterprise, так и два бесплатных репозитория, которые отличаются уровнем стабилизации обновлений.
Системная часть дистрибутива базируется на пакетной базе Debian и OpenZFS. Программный стек для управления резервным копированием написан на языке Rust и поддерживает инкрементальные бэкапы (на сервер передаются только изменившиеся данные), дедупликацию (при наличии дубликатов хранится только одна копия), сжатие (используется ZSTD) и шифрование резервных копий. Система спроектирована на базе клиент-серверной архитектуры - Proxmox Backup Server может использоваться как для работы с локальными резервными копиями, так и в качестве централизованного сервера для резервного копирования данных с разных хостов. Предоставляются режимы быстрого выборочного восстановления и синхронизации данных между серверами. Proxmox Backup Server поддерживает интеграцию с платформой Proxmox VE для резервного копирования виртуальных машин и контейнеров. Управление резервными копиями и восстановление данных осуществляется через web-интерфейс. Имеется возможность разграничения доступа пользователей к своим данным. Весь передаваемый трафик от клиентов к серверу шифруется с использованием AES-256 в режиме GCM, а сами резервные копии передаются уже зашифрованными при помощи асимметричного шифрования по открытым ключам (шифрование производится на стороне клиента, и компрометация сервера с резервными копиями не приведёт к утечке данных). Целостность резервных копий контролируется при помощи хэшей SHA-256.
| ||
Обсуждение (21 +14) |
Тип: Программы |
| ||
· | 28.11 | Выпуск дистрибутива Tails 6.10 (2 +11) |
Представлен релиз специализированного дистрибутива Tails 6.10 (The Amnesic Incognito Live System), развиваемого в составе проекта Tor. Дистрибутив основан на пакетной базе Debian 12, поставляется с рабочим столом GNOME 43 и предназначен для анонимного выхода в сеть при помощи инструментария Tor. Все соединения, кроме трафика через сеть Tor, по умолчанию блокируются пакетным фильтром. Для хранения пользовательских данных в режиме сохранения пользовательских данных между запусками применяется шифрование. Для загрузки подготовлен iso-образ, способный работать в Live-режиме, размером 1 ГБ.
В новой версии обновлены Tor Browser 14.0.3 и почтовый клиент Thunderbird 128.4.3 (ранее использовалась ветка 115.x). В Thunderbird отключено сохранение данных телеметрии. В bitcoin-кошельке Electrum налажена поддержка аппаратных криптокошельков Trezor. Решены проблемы с запуском рабочего стола на системах с небольшим объёмом оперативной памяти.
| ||
Обсуждение (2 +11) |
Тип: Программы |
| ||
· | 28.11 | Выпуск fheroes2 1.1.4, открытого движка Heroes of Might and Magic 2 (74 +38) |
Доступен выпуск проекта fheroes2 1.1.4, который воссоздаёт движок игры Heroes of Might and Magic II с нуля. Код проекта написан на C++ и распространяется под лицензией GPLv2. Для запуска игры требуются файлы с игровыми ресурсами, которые можно получить из оригинальной игры Heroes of Might and Magic II.
Основные изменения:
Команда fheroes2 сейчас в активных поисках помощи от художников, способных работать в стиле "пиксель-арт". В игре есть множество задач на разный уровень сложности, от небольших иконок или кнопок, до крупных объектов и полноценных анимированных объектов или существ. Желающие поучаствовать в разработке и помочь проекту могут написать в личные сообщения в discord или на почту проекта - fhomm2@gmail.com.
| ||
· | 28.11 | Уязвимость в tuned, позволяющая выполнить код с правами root (33 +13) |
В развиваемом компанией Red Hat фоновом процессе tuned, выполняющем автоматическую оптимизацию настроек оборудования и ядра в зависимости от текущей нагрузки, выявлена уязвимость (CVE-2024-52336), позволяющая локальному непривилегированному пользователю выполнить любые команды с правами root.
Проблема присутствует в реализации DBus-метода "com.redhat.tuned.instance_create", применяемого для создания экземпляров плагинов, в который можно передать параметры "script_pre" и "script_post" для указания скриптов, выполняемых перед или после создания экземпляра плагина. Проблема в том, что настройки Polkit позволяют любому вошедшему в систему локальному пользователю без аутентификации отправить DBus-запрос к данному методу, в то время как сам процесс tuned выполняется с правами root и запускает отмеченные в параметрах "script_pre" и "script_post" скрипты тоже с правами root. Например, для запуска скрипта /path/to/myscript.sh с правами root пользователю достаточно выполнить команду: gdbus call -y -d com.redhat.tuned -o /Tuned \ -m com.redhat.tuned.control.instance_create cpu myinstance \ '{"script_pre": "/path/to/myscript.sh", "devices": "*"}' В DBus-методе "com.redhat.tuned.instance_create" также присутствует менее опасная уязвимость (CVE-2024-52337), вызванная отсутствием чистки значения с именем экземпляра плагина при его выводе в лог. Атакующий может добавить имя, содержащее перевод строки и escape-символы для эмулятора терминала, которые могут использоваться для нарушения структуры лога и выполнения действий при отображении вывода команды "tuned-adm get_instances" в терминале. EVIL=`echo -e "this is\nevil\033[?1047h"` gdbus call -y -d com.redhat.tuned -o /Tuned -m com.redhat.tuned.control.instance_create cpu "$EVIL" '{"devices": "*"}' Уязвимости проявляются начиная с версии tuned 2.23, сформированной в начале июня 2024 года, и устранены в выпуске tuned 2.24.1. Из крупных дистрибутивов проблемы исправлены в RHEL 9, Fedora 40, Arch Linux и Gentoo. В стабильных ветках Ubuntu, Debian и SUSE/openSUSE уязвимости не проявляются, так как в них поставляются старые версии tuned (<2.23), не подверженные уязвимостям.
| ||
Обсуждение (33 +13) |
Тип: Проблемы безопасности |
| ||
· | 28.11 | Проект OpenStreetMap перевёл серверную инфраструктуру с Ubuntu на Debian (199 +83) |
Проект OpenStreetMap объявил о переводе серверов в своей инфраструктуре на Debian GNU/Linux. До этого в течение 18 лет на серверах проекта использовался дистрибутив Ubuntu. Миграция производилась постепенно начиная с августа и привела к замене имеющихся установок Ubuntu 20.04 и 22.04 на Debian 12. Переход также позволил обновить язык Ruby с версии 3.0 до версии 3.1, и задействовать более новый выпуск фреймворка Ruby on Rails, что привело к ускорению работы сервиса www.openstreetmap.org.
| ||
Обсуждение (199 +83) |
Тип: К сведению |
| ||
· | 28.11 | Firefox перешёл на использование формата XZ для распространения Linux-сборок (105 +25) |
Разработчики Firefox объявили о переходе на использование формата XZ, базирующегося на алгоритме сжатия LZMA, для распространения сборок браузера для платформы Linux. Отмечается, что по сравнению с архивами
".tar.bz2" поставка сборок в формате ".tar.xz" даст возможность значительно сократить размер загружаемых данных и уменьшить время распаковки. Начиная со вчерашнего дня формирование ночных сборок Firefox в формате bz2 прекращено, а сборки релизов и бета-версий будут переведены на формат xz в ближайшие недели. Мэйнтейнерам пакетов в дистрибутивах рекомендовано внести изменения в свои сборочные системы и обеспечить в них поддержку загрузки архивов ".tar.xz".
При использовании XZ размер сборок Firefox в среднем уменьшился на 25%, а операции распаковки выполняются более чем в два раза быстрее. В качестве варианта также рассматривался переход на формат Zstandard (.zst), но выбор был сделан в пользу формата XZ, который немного медленнее при распаковке, но при этом обеспечивает более высокий уровень сжатия и более распространён в дистрибутивах Linux.
| ||
Обсуждение (105 +25) |
Тип: К сведению |
| ||
· | 27.11 | Проект Raspberry Pi представил платы Compute Module 5 и Pico 2 W (277 +17) |
Проект Raspberry Pi объявил о поступлении в продажу новой платы Raspberry Pi Compute Module 5, представляющей собой портативный вариант модели
Raspberry Pi 5, размером всего 55 × 40 мм. Цена платы составляет от 45 до 135 долларов, в зависимости от объёма памяти и наличия поддержки Wi-Fi.
Плата оснащена SoC BCM2712, который также применяется в Raspberry Pi 5, и включает в себя четыре 64-разрядных ядра ARMv8 Cortex-A76, работающих на частоте 2.4GHz, и графический ускоритель VideoCore VII. Имеется два видеовыхода HDMI (4Kp60). Видеоускоритель поддерживает графические API Vulkan 1.3 и OpenGL ES 3.1, и способен декодировать видео H.265 (HEVC) с качеством 4Kp60. На плате присутствует интерфейс PCI Express 2.0, два четырёхканальных интерфейса MIPI DSI для экрана (DSI) и камеры (CSI-2 ), Gigabit Ethernet, 2 × USB 3.0, 30-пиновый GPIO, 6 × UART, 5 × I2C, 5 × UART, 4 × PWM, 5 × SPI и SDIO 2.0. Плата предложена в вариантах с различным размером ОЗУ (1GB, 2GB, 4GB, 8GB SDRAM) и eMMC Flash (0GB, 16GB, 32GB, 64GB), а также с поддержкой или без поддержки беспроводной связи (2.4 GHz, 5.0 GHz IEEE 802.11 b/g/n/ac и Bluetooth 5.0, BLE). В следующем году ожидается поступление в продажу варианта с 16 ГБ ОЗУ. Рабочий диапазон температур от -20 до 85°C (прошлая редакция платы могла работать в диапазоне от 0°C до 80°C). Разъём для подключения платы соответствует прошлой модели Raspberry Pi Compute Module 4 и совместим с ней, что позволяет использовать новую плату с большинством аксессуаров, выпущенных для Compute Module 4. Отличия в распиновке сводятся только к добавлению двух портов USB 3.0 и удалению двух двухканальных MIPI-интерфейсов. По производительности новая плата опережает Raspberry Pi Compute Module 4 в 2-3 раза. Дополнительно предлагается плата для расширения Compute Module 5 дополнительными портами ввода/вывода (Compute Module 5 IO Board), снабжённая двумя полноразмерными портами HDMI 2.0, Gigabit Ethernet с PoE+, двумя портами USB 2.0, MicroSD, PCI Express Gen 2, 40-pin GPIO, слотами для камеры и дисплея, батарейкой для встроенных часов, разъёмом для подключения кулера. Кроме того, проект Raspberry Pi представил плату Raspberry Pi Pico 2 W, продолжающую развитие миниатюрной платы Pico 2, оснащённой микроконтроллером RP2350 собственной разработки. Модификация с меткой "W" отличается поддержкой Bluetooth 5.2 и Wi-Fi (2.4GHz 802.11n), реализованной на базе чипа Infineon CYW43439. В остальном новая плата совпадает по характеристикам с моделью Pico 2. Стоимость Pico 2 W - $7, что на $2 дороже варианта без Wi-Fi. Серия Raspberry Pi Pico ориентирована главным образом для совместного использования с компьютерами Raspberry Pi, разработки встраиваемых систем и систем управления различными устройствами. Микроконтроллер RP2350 включает двухядерный процессор ARM Cortex-M33 с DSP и блоком для вычислений с плавающей запятой, работающий на частоте 150MHz, а также два опциональных ядра Hazard3 с архитектурой набора команд RISC-V, на которые можно переключиться во время загрузки для использования вместо ядер ARM Cortex-M33. Чип оснащён 520 KB встроенной оперативной памяти, позволяет подключать внешние модули памяти QSPI PSRAM и предоставляет расширенные возможности для обеспечения безопасности. Плата комплектуется 4MB QSPI Flash и полностью совместима с прошлыми моделями Pico 1 на уровне аппаратных интерфейсов и программного обеспечения, используемого для разработки приложений. Микроконтроллер оснащён встроенными аппаратными средствами защиты от атак по внесению неисправностей (Fault Injection) и поддерживает технологию Arm TrustZone, которая может использоваться для верификации загрузки по цифровой подписи, предоставляет инструкции для ускорения вычисления хэшей SHA-256 и надёжной генерации случайных чисел (TRNG, True Random Number Generator). Кроме того предоставляется 8 KB одноразово программируемой памяти, дающей возможность записать данные, которые затем невозможно изменить или удалить. Для создания приложений к Raspberry Pi Pico 2 могут применяться языки Си, C++, MicroPython или CircuitPython. Разработка на С/C++ может вестись в редакторе Visual Studio Code для которого распространяется специальное дополнение. Возможностей чипа достаточно для выполнения приложений для решения задач машинного обучения, для разработки которых имеется порт фреймворка TensorFlow Lite. Для сетевого доступа предлагается использовать сетевой стек lwIP, который включён в состав Pico SDK для разработки приложений на языке Си, а также в прошивку с MicroPython.
| ||
Обсуждение (277 +17) |
Тип: К сведению |
| ||
· | 27.11 | Релиз дистрибутива elementary OS 8 (115 +25) |
Представлен выпуск дистрибутива elementary OS 8, позиционируемого в качестве быстрой, открытой и заботящейся о конфиденциальности альтернативы Windows и macOS. Основное внимание в проекте уделяется качественному дизайну, нацеленному на создание простой в использовании системы, потребляющей минимальные ресурсы и обеспечивающей высокую скорость запуска. Пользователям предлагается собственное окружение рабочего стола Pantheon. Для загрузки подготовлены загрузочные iso-образы (3.2 ГБ), доступные для архитектуры amd64 (для бесплатной загрузки с сайта проекта в поле с суммой пожертвования необходимо ввести 0).
При разработке оригинальных компонентов elementary OS используется GTK3, язык Vala и собственный фреймворк Granite. В качестве основы дистрибутива используются наработки проекта Ubuntu. На уровне пакетов и поддержки репозиториев elementary OS 8.x совместим с Ubuntu 24.04. Все дополнительные приложения, предлагаемые для установки через AppCenter, а также некоторые поставляемые по умолчанию приложения упакованы с использованием формата Flatpak. Графическое окружение основано на собственной оболочке Pantheon, которая объединяет собой такие компоненты, как оконный менеджер Gala (на базе LibMutter), лаунчер Slingshot, панель управления Switchboard, верхнюю панель Wing, панель задач Dock и менеджер сессий Pantheon Greeter (на основе LightDM). В состав окружения входит набор тесно интегрированных в единое окружение приложений, необходимых для решения задач пользователей. Среди приложений большую часть составляют собственные разработки проекта, такие как эмулятор терминала Pantheon Terminal, файловый менеджер Pantheon Files, текстовый редактор Code и музыкальный проигрыватель Music (Noise). Проектом также развиваются менеджер фотографий Pantheon Photos (ответвление от Shotwell) и почтовый клиент Mail (ответвление от Evolution). Ключевые новшества:
| ||
Обсуждение (115 +25) |
Тип: Программы |
| ||
<< Предыдущая страница (позже) | ||
Следующая страница (раньше) >> |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |