The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

·24.04.2024 Выпуск дистрибутива Proxmox VE 8.2 (7 +5)
  Опубликован релиз Proxmox Virtual Environment 8.2, специализированного Linux-дистрибутива на базе Debian GNU/Linux, нацеленного на развертывание и обслуживание виртуальных серверов с использованием LXC и KVM, и способного выступить в роли замены таких продуктов, как VMware vSphere, Microsoft Hyper-V и Citrix Hypervisor. Размер установочного iso-образа 1.3 ГБ.

Proxmox VE предоставляет средства для развёртывания полностью готовой системы виртуальных серверов промышленного уровня с управлением через web-интерфейс, рассчитанный на управление сотнями или даже тысячами виртуальных машин. Дистрибутив имеет встроенные инструменты для организации резервного копирования виртуальных окружений и доступную из коробки поддержку кластеризации, включая возможность миграции виртуальных окружений с одного узла на другой без остановки работы. Среди особенностей web-интерфейса: поддержка безопасной VNC-консоли; управление доступом ко всем доступным объектам (VM, хранилище, узлы и т.п.) на основе ролей; поддержка различных механизмов аутентификации (MS ADS, LDAP, Linux PAM, Proxmox VE authentication).

В новом выпуске:

  • Осуществлена синхронизация с пакетной базой Debian 12.5. Ядро Linux обновлено до выпуска 6.8. Задействованы новые выпуски QEMU 8.1.5, LXC 6.0.0 и OpenZFS 2.2.3. Доступна поддержка создания хранилищ на базе выпусков Ceph 18.2.2 "Reef" и Ceph 17.2.7 "Quincy"
  • Предложен новый мастер импорта, позволяющий переносить гостевые системы напрямую из других гипервизоров, обращаясь к ним через их API. Переносимые гостевые системы могут запускаться в Proxmox VE, не дожидаясь завершения переноса данных, который осуществляется в фоновом режиме. Первой обеспечена поддержка миграции из гипервизора VMware ESXi.
  • Добавлена поддержка автоматизированной установки Proxmox VE без участия администратора. Формирование ISO-образа для автоматического развёртывания осуществляется при помощи новой утилиты proxmox-auto-install-assistant. Параметры установки могут задаваться через специальный файл конфигурации, который может быть как встроен в ISO-образ, так и размещён на отдельном USB-носителей или загружен по сети.
  • Добавлен режим буферизации резервного копирования на локальном диске (Backup fleecing), позволяющий минимизировать снижение производительности гостевой системы при её резервном копировании во внешнее хранилище. Перед передачей во внешнее хранилище блоки теперь могут быть сохранены на отдельном локальном разделе, что позволяет заметно снизить проседание производительности ввода/вывода в гостевой системе при копировании резервной копии через медленное сетевое соединение или при высокой активности ввода/вывода в гостевой системе.
  • Добавлена новая экспериментальная реализация межсетевого экрана, переведённого с iptables на пакетный фильтр nftables, что позволило избавиться от многих проблем старой реализации и повысить надёжность работы. Новая реализация написана на языке Rust и почти эквивалентна по функциональности со старым межсетевым экраном.
  • В web-интерфейс добавлен инструмент для проброса устройств в контейнеры, используя графический конфигуратор. Отключён переход в режим редактирования полей при двойном щелчке мышью, что исключило случайный запуск редактора при выполнении операций выделения и копирования текста. На экране редактирования кнопка сброса перемещена в новое место для снижения риска случайного нажатия.
  • Добавлены расширенные настройки резервного копирования, такие как параметры производительности и ограничение пропускной способности.
  • Добавлена поддержка собственных удостоверяющих центров, использующих протокол ACME.

  1. OpenNews: Выпуск дистрибутива Proxmox VE 8.1
  2. OpenNews: Доступен дистрибутив Proxmox Backup Server 3.1
  3. OpenNews: Выпуск дистрибутива Proxmox Mail Gateway 8.1
  4. OpenNews: Релиз Proxmox VE 8.0, дистрибутива для организации работы виртуальных серверов
  5. OpenNews: XCP-ng, свободный вариант Citrix XenServer, вошёл в состав проекта Xen
Обсуждение (7 +5) | Тип: Программы |
·24.04.2024 Опубликована операционная система реального времени RT-Thread 5.1 (36 +20)
  После года разработки доступен выпуск RT-Thread 5.1, операционной системы реального времени (RTOS) для устройств интернета-вещей. Система развивается с 2006 года сообществом китайских разработчиков и в настоящее время портирована для 154 плат, чипов и микроконтроллеров на базе архитектур x86, ARM, MIPS, С-SKY, Xtensa, ARC и RISC-V. Минималистичная сборка RT-Thread (Nano) требует для работы всего 3 КБ Flash и 1.2 КБ ОЗУ. Для IoT-устройств, сильно не ограниченных в ресурсах, предлагается полнофункциональная версия, поддерживающая управление пакетами, конфигураторы, сетевой стек, пакеты с реализацией графического интерфейса, системы голосового управления, СУБД, сетевых сервисов и движков для выполнения скриптов. Код написан на языке Си и распространяется под лицензией Apache 2.0.

Операционную систему образуют три базовых слоя:

  • Ядро, обеспечивающее выполнение задач в режиме реального времени. Ядро предоставляет универсальные базовые примитивы, охватывающие такие области, как управление блокировками и синхронизацией данных, планирование задач, управление потоками, обработка сигналов, очереди сообщений, управление таймером, управление памятью. Специфичные для аппаратного обеспечения особенности реализованы на уровне libcpu и BSP, которые включают необходимые драйверы и код для поддержки CPU.
  • Компоненты и сервисы, работающие поверх ядра и предлагающие такие абстракции как виртуальная файловая система, система обработки исключений, хранилище в формате ключ/значение, интерфейс командной строки FinSH, сетевой стек (LwIP) и сетевые фреймворки, библиотеки для поддержки устройств, звуковая подсистема, беспроводной стек, компоненты для поддержки Wi-Fi, LoRa, Bluetooth, 2G/4G. Модульная архитектура позволяет подключать компоненты и сервисы в зависимости от своих задач и имеющихся аппаратных ресурсов.
  • Пакеты программ. Программные компоненты общего назначения и библиотеки функций распространяются и устанавливаются в форме пакетов. В настоящее время репозиторий включает более 450 пакетов, предлагающих от графических интерфейсов, мультимедийных приложений и сетевых приложений до систем управления роботами и обработчиков на базе машинного обучения. В пакетах также поставляются движки для организации выполнения программ на языках Lua, JerryScript, MicroPython, PikaScript и Rust (rtt_rust).

Особенности платформы:

  • Поддержка архитектур:
    • ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 (поддерживаются микроконтроллеры таких производителей, как ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP).
    • ARM Cortex-R4.
    • ARM Cortex-A8/A9 (NXP).
    • ARM7 (Samsung).
    • ARM9 (Allwinner, Xilinx, GOKE).
    • ARM11 (Fullhan).
    • MIPS32 (Loongson, Ingenic).
    • RISC-V RV32E/RV32I[F]/RV64[D] (sifive, Canaan Kendryt, bouffalo_lab, Nuclei, T-Head, HPMicro).
    • ARC (SYNOPSYS)
    • DSP (TI).
    • C-Sky.
    • x86.
  • Расширяемая модульная архитектура, позволяющая сформировать окружение, подходящее для систем с ограниченными ресурсами (минимальные требования - 3 КБ Flash и 1.2 КБ ОЗУ).
  • Поддержка различных стандартных интерфейсов для разработки программ, таких как POSIX, CMSIS, C++ API. Отдельно развивается прослойка RTduino для совместимости с API и библиотеками проекта Arduino.
  • Возможность расширения через систему пакетов и подключаемых компонентов.
  • Поддержка разработки приложения для высокопроизводительной обработки информации.
  • Гибкая система управления питанием, позволяющая автоматически переводить устройство в режим сна и динамически управлять напряжением и частотой в зависимости от нагрузки.
  • Поддержка аппаратных средств для шифрования и расшифровки, предоставление библиотек с различными криптографическими алгоритмами.
  • Унифицированный интерфейс для доступа к периферийным устройствам и дополнительному оборудованию.
  • Виртуальная ФС и наличие драйверов для таких ФС, как FAT, UFFS, NFSv3, ROMFS и RAMFS.
  • Стек протоколов для TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M и т.п.
  • Система удалённой доставки и установки обновлений, поддерживающая шифрование и верификацию по цифровой подписи, возобновление прерванной установки, восстановление после сбоя, откат изменений и т.п.
  • Система динамически загружаемых модулей ядра, позволяющая отдельно собирать и разрабатывать компоненты ядра, и динамически загружать их при появлении необходимости.
  • Поддержка различных сторонних пакетов, например, Yaffs2, SQLite, FreeModbus, Canopen и т.п.
  • Возможность прямой компиляции BSP-пакета (Board Support Package) с компонентами для поддержки определённой аппаратной платформы, и его загрузки на плату.
  • Наличие эмулятора (BSP qemu-vexpress-a9), позволяющего разрабатывать приложения без использования реальных плат.
  • Поддержка типовых компиляторов и инструментов для разработки, таких как GCC, MDK Keil и IAR.
  • Развитие собственной интегрированной среды разработки RT-Thread Studio IDE, позволяющей создавать и отлаживать приложения, загружать их на платы, управлять настройками. Плагины для разработки программ для RT-Thread также доступны для Eclipse и VS Code.
  • Наличие консольного интерфейса Env, упрощающего создание проектов и настройку окружения.



Среди изменений в новом выпуске:

  • В RT-Smart, гибридной операционной системе на базе RT-Thread, отделяющей приложения от ядра, включена по умолчанию поддержка механизмов epoll, eventfd, signalfd, timerfd и select. Реализована подсистема эмулятора терминала. Добавлена поддержка устройств DFZU2EG MPSoC и cv181x-riscv.
  • В RTduino, слой для обеспечения совместимости с экосистемой Arduino, добавлена поддержка плат raspberry-pico, stm32h503-st-nucleo, stm32h563-st-nucleo, stm32f412-nucleo, stm32f407-rt-spark.
  • Обновлены сторонние компоненты, такие как ssh, sftp, weston и vim.
  • Добавлена поддержка новых плат и чипов, таких как HPMicro RISC-V, STM32 Nucleo, Adafruit Metro M4, Seeed Wio-Terminal, ST (stm32L431_tencentos, stm32h7s7-disco, stm32f407-lckfb-skystar, stm32h503-st-nucleo), Renesas (ek-ra8m1, ek-ra8d1, ra8d1-vision-board), AT32 (at32f402-start, at32f405-start), HT32 (ht32f52352, ht32f12366, AVR32 at32uc3a0256, at32uc3b0256), CVITEK (c906_little, cv18xx_risc-v), WCH (yd-ch32v307vct6), HC32 (ev_hc32f4a0_lqfp176, ev_hc32f460_lqfp100_v2), (ev_hc32f448_lqfp80, GD32 gd32407v-lckfb), NXP (frdm-mcxn947, frdm-mcxa153).
  • Оптимизирована работа планировщиков задач и CPU. Добавлена прослойка для абстрагирования планировщика rt_sched.
  • Проведена оптимизация работы на многоядерных системах.
  • Предоставлена возможность подключения обработчиков к операциям выделения памяти malloc.
  • Для архитектур ARM64 и RV64 реализована поддержка обратной трассировки (backtrace) ядра.
  • Продолжен переход на новую модель драйверов устройств.
  • В virtio-драйверах qemu-virt64-aarch64 и qemu-virt64-riscv добавлена поддержка SDL2.
  • Добавлен фреймворк для разработки драйверов clk.
  • В DFS добавлена конфигурация exfat. Ядро по умолчанию переведено на использование ФС dfsv2.
  • Улучшена поддержка TTY-терминалов.
  • В системе ввода/вывода добавлена поддержка флагов O_DIRECT и O_SYNC.
  • В реализации легковесных процессов lwP (Lightweight Process) функция wp_new заменена на lwp_create. Добавлена функция sys_setitimer.
  • В менеджер памяти MM добавлена поддержка резервирования памяти и реализована функция rt_aspace_mremap_range.
  • В Libcpu добавлена поддержка процессоров ARM Cortex-M85 и Cortex-R52

  1. OpenNews: Microsoft анонсировал открытие кода Azure RTOS и передачу проекта сообществу Eclipse
  2. OpenNews: Проект Tilck развивает упрощённое Linux-совместимое ядро
  3. OpenNews: Проект ZSWatch развивает открытые умные часы на базе ОС Zephyr
  4. OpenNews: Выпуск свободной операционной системы реального времени Zephyr 1.8
  5. OpenNews: Открыт код MuditaOS, мобильной платформы с поддержкой экранов на базе электронной бумаги
Обсуждение (36 +20) | Тип: Программы |
·24.04.2024 Выпуск эмулятора QEMU 9.0.0 (38 +23)
  Представлен релиз проекта QEMU 9.0. В качестве эмулятора QEMU позволяет запустить программу, собранную для одной аппаратной платформы на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к аппаратной системе за счёт прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM в Linux, или модуля NVMM в NetBSD.

Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. При подготовке версии 9.0 внесено более 2700 изменений от 220 разработчиков.

Ключевые улучшения, добавленные в QEMU 9.0:

  • В драйвер virtio-blk, предоставляющий виртуальное блочное устройство для виртуальных машин, добавлена поддержка многоуровневой системы очередей (multiqueue), позволяющей разделить очереди для разных блочных устройств для обеспечения многопоточного доступа на многоядерных системах (разные очереди одного диска могут обрабатываться разными потоками ввода/вывода).
  • В блочном устройстве usb-storage добавлена поддержка свойств 'backend_defaults', 'logical_block_size', 'physical_block_size', 'min_io_size', 'opt_io_size' и 'discard_granularity'.
  • В библиотеку gdbstub, предназначенную для удалённой отладки в GDB с использованием протокола RSP (Remote Serial Protocol), добавлена поддержка режима fork-follow, операции siginfo:read и перехвата системных вызовов в пространстве пользователя.
  • Бэкенды предварительного распределения памяти (preallocation) адаптированы для работы в многопоточном режиме и теперь могут одновременно обрабатывать запросы из нескольких потоков. .
  • В инструменты для миграции виртуальных машин добавлен режим "mapped-ram", повышающий эффективность создания снапшотов виртуальных машин. Улучшено определение нулевой страницы памяти, что позволило значительно ускорить миграцию неактивных виртуальных машин при наличии в системе поддержки multifd. При миграции на базе VFIO (Virtual Function I/O) реализована поддержка перезапуска с сохранённого состояния (checkpoint-restart).
  • Переписана реализация устройства ESP SCSI (am53c974/dc390).
  • Добавлена поддержка алгоритма шифрования SM4 и обеспечена возможность его использования в драйвере блочного устройства 'luks'.
  • В драйвер 'luks' добавлена поддержка создания и использования файлов с сохранёнными заголовками LUKS.
  • В эмуляторе архитектуры ARM реализована поддержка плат L475E-IOT01A IoT, mp3-an536 (MPS3 с прошивкой AN536) и raspi4b (Raspberry Pi 4 Model B). Добавлена поддержка эмуляции процессорных расширений ECV (Enhanced Counter Virtualization), NV (Nested Virtualization) и NV2 (Enhanced Nested Virtualization). Расширены возможности эмуляторов плат Freescale i.MX6, Allwinner R40, Bananapi, Raspberry Pi, npcm7xx и virt.
  • В эмулятор архитектуры RISC-V добавлена поддержка расширений архитектуры набора команд Zacas, amocas, RVA22, Zaamo, Zalrsc и Ztso. В виртуальных машинах RISC-V обеспечена поддержка SMBIOS. Для SRAT, SLIT, AIA и PLIC реализована поддержка ACPI. Обновлена поддержка таблиц RHCT.
  • В эмуляторе архитектуры HPPA до версии 16 обновлена прошивка SeaBIOS-hppa. Максимальный размер памяти увеличен с 3 ГБ до 3840 МБ. Добавлена поддержка опции "--nodefaults".
  • В эмуляторе архитектуры LoongArch появилась поддержка ускорения KVM и реализована поддержка векторных расширений набора команд LSX/LASX.
  • В эмуляторе архитектуры s390x добавлена поддержка инструкций CVDG, CVB, CVBY и CVBG. Улучшена эмуляция LAE (Load Address Extended).
  • В эмулятор архитектуры 68k добавлено устройство nubus-virtio-mmio, позволяющее получить доступ к устройствам virtio из машин q800.
  • Обеспечена сборка с флагом '-fzero-call-used-regs', позволяющим защититься от утечки информации из функций и сократить число блоков, пригодных для построения ROP-гаджетов (Return-Oriented Programming) в эксплоитах. Также добавлена сборка с флагом '-ftrivial-auto-var-init=zero' для автоматической инициализации нулевым значением всех переменных, хранимых в стеке.
  • Для выполнения QEMU с KVM теперь требуется наличие как минимум ядра Linux 4.4. Для ARM-хостов в будущем эту планку планируют поднять до версии 4.19. Прекращена поддержка использования 32-разрядных Windows в качестве хостовых ОС.
  • Добавлена поддержка OpenBSD 7.4.

  1. OpenNews: Выпуск эмулятора QEMU 8.2
  2. OpenNews: Представлен Blink, эмулятор x86-64, опережающий QEMU по производительности
  3. OpenNews: Venus - виртуальный GPU для QEMU и KVM, реализованный на базе API Vulkan
  4. OpenNews: Уязвимость в vhost-net, позволяющая обойти изоляцию в системах на базе QEMU-KVM
  5. OpenNews: Уязвимость, позволяющая выйти из изолированного окружения QEMU
Обсуждение (38 +23) | Тип: Программы |
·24.04.2024 Выпуск дистрибутива для создания сетевых хранилищ TrueNAS SCALE 24.04 (24 +11)
  Компания iXsystems опубликовала дистрибутив TrueNAS SCALE 24.04, в котором используется ядро Linux и пакетная база Debian (ранее выпускаемые продукты данной компании, в том числе TrueOS, PC-BSD, TrueNAS и FreeNAS, основывались на FreeBSD). Как и TrueNAS CORE (FreeNAS), TrueNAS SCALE может быть загружен и использован бесплатно. Размер iso-образа 1.5 ГБ. Исходные тексты специфичных для TrueNAS SCALE сборочных сценариев, web-интерфейса и прослоек опубликованы на GitHub.

Редакция TrueNAS SCALE на базе Linux теперь является основной, а ветка TrueNAS CORE на базе FreeBSD переведена в режим сопровождения, в котором планируют ещё много лет устранять ошибки и проблемы с безопасностью. Новые возможности и новые версии компонентов будут развиваться только в ветке TrueNAS SCALE. TrueNAS SCALE является не единственным вариантом FreeNAS на базе Linux - в 2009 году от FreeNAS отделился дистрибутив OpenMediaVault, который был переведён на ядро Linux и пакетную базу Debian.

Из особенностей TrueNAS SCALE отмечается возможность создавать хранилища, размещаемые на нескольких узлах, в то время как TrueNAS CORE (FreeNAS) позиционировался как решение на базе одного сервера. Кроме увеличения масшатабируемости, TrueNAS SCALE также отличается использованием изолированных контейнеров, упрощением управления инфраструктурой и пригодностью для создания программно-определяемых инфраструктур. В качестве файловой системы в TrueNAS SCALE применяется ZFS (OpenZFS). В TrueNAS SCALE предоставляется поддержка контейнеров Docker, виртуализации на базе KVM и масштабирования ZFS на несколько узлов при помощи распределённой файловой системы Gluster.

Для организации доступа к хранилищу поддерживается SMB, NFS, iSCSI Block Storage, S3 Object API и Cloud Sync. Для обеспечения защищённого доступа подключение может осуществляться через VPN (OpenVPN). Хранилище может быть развёрнуто на одном узле и в дальнейшем при увеличении потребностей постепенно горизонтально расширяться через добавление дополнительных узлов. Кроме выполнения задач, связанных с организацией работы хранилища, узлы также могут использоваться для предоставления сервисов и запуска приложений в контейнерах, оркестируемых при помощи платформы Kubernetes, или в виртуальных машинах на базе KVM.

В новой версии:

  • Обновлены версии ядра Linux 6.6.20, OpenZFS 2.2.3 и драйвера NVIDIA 545.23.08. Пакетная база синхронизирована с Debian 12.
  • Предложены новые страницы для отслеживания состояния сеансов SMB и NFS, и управления ими.
  • Добавлен интерфейс для просмотра логов аудита, связанных с работой SMB-клиентов, действиями с учётными записями и авторизацией.
  • В обрабатываемые через LDAP поля с учётными записями добавлена поддержка конфигураций на базе централизованной системы для идентификации пользователей FreeIPA.
  • Добавлена поддержка изолированных окружений SCALE Sandboxes, напоминающих LXC-контейнеры в Linux и jail-окружения во FreeBSD.
  • Предложен режим разработчика (Developer mode) для тонкой настройки TrueNAS.
  • Добавлен новый сводный виджет (Dashboard) для мониторинга и быстрого выполнения действий, связанных с резервным копированием.
  • Добавлен интерфейс Netdata (Reporting > Netdata) для анализа производительности системы.
  • Переработаны формы для создания разделов совместного доступа.
  • Переработана форма для создания резервных копий в облачных хранилищах.
  • В ZFS обновлена реализация адаптивного кэша ARC (Adaptive Replacement Cache), повышающего производительность операций чтения.
  • Добавлены новые уровни привилегий для делегирования пользователям отдельных полномочий администратора.
  • Повышена производительность работы с разделами SMB, содержащими большое число файлов.
  • Добавлена поддержка импорта данных в SMB-раздел из внешних систем, используя систему синхронизации файлов Syncthing.
  • Повышен контроль за качеством. Выпуск TrueNAS SCALE 24.04 отмечен как наиболее стабильный релиз в истории проекта.

  1. OpenNews: После TrueNAS CORE 13.3 ветка на основе FreeBSD будет переведена в режим сопровождения
  2. OpenNews: Выпуск дистрибутива для создания сетевых хранилищ TrueNAS SCALE 23.10
  3. OpenNews: Выпуск дистрибутива для создания сетевых хранилищ TrueNAS CORE 13.0-U5
  4. OpenNews: Доступен дистрибутив для создания сетевых хранилищ OpenMediaVault 7.0
  5. OpenNews: Объявлено об объединении проектов FreeNAS и TrueNAS
Обсуждение (24 +11) | Тип: Программы |
·23.04.2024 Выпуск nginx 1.26.0 с поддержкой HTTP/3 (49 +5)
  После года разработки опубликована новая стабильная ветка высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера nginx 1.26.0, которая вобрала в себя изменения, накопленные в основной ветке 1.25.x. В дальнейшем все изменения в стабильной ветке 1.26 будут связаны с устранением серьёзных ошибок и уязвимостей. В скором времени будет сформирована основная ветка nginx 1.27, в которой будет продолжено развитие новых возможностей. Для обычных пользователей, у которых нет задачи обеспечить совместимость со сторонними модулями, рекомендуется использовать основную ветку, на базе которой раз в три месяца формируются выпуски коммерческого продукта Nginx Plus.

В соответствии с мартовским отчётом компании Netcraft под управлением nginx работает около 243 млн сайтов (год назад 289 млн). Nginx используется на 18.15% всех активных сайтов (год назад 18.94%, два года назад 20.08%), что соответствует второму месту по популярности в данной категории (доля Apache соответствует 20.09% (год назад 20.52, два года назад 22.58%), Cloudflare - 14.12% (11.32%, 10.42%), Google - 10.41% (9.89%, 8.89%). При этом при рассмотрении всех сайтов nginx сохраняет лидерство и занимает 22.31% рынка (год назад 25.94%, два года назад - 31.13%), в то время как доля Apache соответствует 20.17% (20.58, 23.08%), Cloudflare - 11.24% (10.17, 5.49%), OpenResty (платформа на базе nginx и LuaJIT) - 7.93% (7.94%, 8.01%).

Среди миллиона самых посещаемых сайтов в мире доля nginx составляет 20.63% (год назад 21.37%, два года назад 21.79%), Cloudflare - 22.59% (год назад 21.62%), Apache httpd - 20.09% (21.18%). По данным W3Techs nginx используется на 34.3% сайтов из миллиона самых посещаемых, в апреля прошлого года этот показатель составлял 34.5%, позапрошлого - 33.1%. Доля Apache за год снизилась с 32.2% до %30.1, а доля Microsoft IIS снизилась с 5.6% до 4.8%. Доля Node.js увеличилась с 2.4% до 3.2%, а доля LiteSpeed с 11.8% до 12.9%.

Наиболее заметные улучшения, добавленные в процессе формирования основной ветки 1.25.x:

  • Добавлен модуль ngx_http_v3 с экспериментальной поддержкой протокола HTTP/3. Для сборки модуля предусмотрена опция "--with-http_v3_module". HTTP/3 определяет использование протокола QUIC (Quick UDP Internet Connections) в качестве транспорта для HTTP/2. QUIC представляет собой надстройку над протоколом UDP, поддерживающую мультиплексирование нескольких соединений и обеспечивающую методы шифрования, эквивалентные TLS/SSL. Протокол был создан в 2013 году компанией Google в качестве альтернативы связке TCP+TLS для Web, решающей проблемы с большим временем установки и согласования соединений в TCP и устраняющей задержки при потере пакетов в процессе передачи данных.
  • Добавлена отдельная директива "http2" для выборочного включения протокола HTTP/2 в привязке к серверам (может использоваться в отдельных блоках "server"). Параметр "http2" в директиве "listen" объявлен устаревшим.
  • Усилена защита от аномальной активности клиентов HTTP/2, и, в частности, от DoS-атак класса "Rapid Reset", в которых создаётся большое число сразу сбрасываемых потоков в рамках одного соединения HTTP/2. В конфигурации по умолчанию подобные атаки упираются в лимит на число запросов на соединение "keepalive_requests" (после каждых 1000 запросов соединение будет сбрасываться) и в ограничения "limit_req". Для более раннего реагирования на флуд запросами через большое число потоков добавлено дополнительное ограничение, не позволяющие создавать по умолчанию более 256 (2 * max_concurrent_streams) новых потоков на каждый цикл обработки событий. Новое ограничение даёт возможность начать блокировать запросы до достижения общего лимита на число одновременных потоков, например, когда потоки обрабатываются асинхронно или сбрасываются.
  • В модуль stream добавлена поддержка виртуальных серверов, конфигурация которых определяется в блоке "server { ... }" при помощи директивы server_name.
    
       server {
           server_name ~^(www\.)?(.+)$;
           proxy_pass www.$2:12345;
       }
    
  • Добавлен новый модуль ngx_stream_pass_module, предназначенный для проброса принятых соединений напрямую в любой слушающий сокет, связанный с такими модулями, как http, stream и mail.
    
       stream {
           server {
               listen 12345 ssl;
    
               ssl_certificate     domain.crt;
               ssl_certificate_key domain.key;
    
               pass 127.0.0.1:8000;
           }
       }
    
  • В директиве listen модуля stream реализована поддержка параметров "deferred" (включает отложенный accept), "accept_filter" (фильтр входящих соединений, применяемый перед вызовом функции accept) и "setfib" (задание таблицы маршрутизации).
  • Для некоторых архитектур реализована поддержка определения размера блока (cache line), используемого для передачи данных между кэшем CPU и памятью.
  • Улучшено управление буферами, используемыми при автоматическом определении соединений HTTP/2.
  • Повышена производительность запуска конфигураций с большим числом директив "location".
  • Удалена поддержка технологии Server push в HTTP/2.
  • Прекращена поддержка директивы "ssl", ранее объявленной устаревшей.

Стабильный выпуск проекта FreeNginx 1.26.0, развивающего форк Nginx, был опубликован две недели назад. Разработку форка ведёт Максим Дунин, один из ключевых разработчиков Nginx. FreeNginx позиционируется как некоммерческий проект, обеспечивающий разработку кодовой базы Nginx без корпоративного вмешательства.

  1. OpenNews: Новые версии nginx 1.25.5 и форка FreeNginx 1.26.0
  2. OpenNews: Выпуск Angie 1.5.0, российского форка Nginx
  3. OpenNews: Представлен FreeNginx, форк Nginx, созданный из-за несогласия с политикой компании F5
  4. OpenNews: Выпуск nginx 1.24.0
Обсуждение (49 +5) | Тип: Программы |
·23.04.2024 Релиз дистрибутива Fedora Linux 40 (113 +25)
  Представлен релиз дистрибутива Fedora Linux 40. Для загрузки подготовлены продукты Fedora Workstation, Fedora Server, Fedora CoreOS, Fedora Cloud Base, Fedora IoT Edition и Live-сборки, поставляемые в форме спинов c десктоп-окружениями KDE Plasma, Xfce, MATE, Cinnamon, LXDE, Phosh, LXQt, Budgie и Sway. Сборки сформированы для архитектур x86_64, Power64 и ARM64 (AArch64). Публикация сборок Fedora Silverblue задерживается.

Наиболее значимые изменения в Fedora Linux 40:

  • Рабочий стол GNOME в Fedora Workstation обновлён до версии 46, в которой появилась функция глобального поиска, повышена производительность файлового менеджера и эмуляторов терминала, добавлена экспериментальная поддержка механизма VRR (Variable Refresh Rate), улучшено качество вывода при дробном масштабировании, расширены возможности подключением к внешним сервисам, обновлён конфигуратор и улучшена система уведомлений. В GTK задействован новый движок отрисовки, который базируется на API Vulkan.
  • Редакция с рабочим столом KDE обновлена до выпуска KDE 6, использующего протокол Wayland. Поддержка сеанса на основе протокола X11 в базовой поставке прекращена (можно вернуть, установив из репозитория пакет plasma-workspace-x11). Для запуска X11-приложений в сеансе на основе Wayland задействован DDX-сервер XWayland. В качестве причины прекращения поддержки сеанса с X11 упоминается перевод X.Org-сервера в RHEL 9 в категорию устаревших и решение полностью удалить его в будущем значительном выпуске RHEL 10. Среди факторов, способствовавших оставлению только поддержки Wayland, называется выполненная в Fedora 36 замена драйверов fbdev на драйвер simpledrm, корректно работающий с Wayland, а также появление поддержки Wayland в проприетарных драйверах NVIDIA.
  • Атомарно обновляемые пользовательские дистрибутивы, развиваемые проектом Fedora, объединены в единое семейство под брендом Atomic Desktops, но давно существующие атомарные сборки сохранили старое название. В итоге, Fedora Silverblue на базе GNOME и Fedora Kinoite на базе KDE, а также Fedora CoreOS и Fedora IoT, сохранили прежние имена, но новые сборки Fedora Sericea и Fedora Onyx теперь распространяются под именами Fedora Sway Atomic и Fedora Budgie Atomic.
  • Обновлены версии пакетов, среди которых LLVM 18, GCC 14, binutils 2.41, glibc 2.39, gdb 14.1, PHP 8.3, Ruby 3.3, Go 1.22, Java 21, AMD ROCm 6, Boost 1.83, 389 Directory Server 3.0.0, Podman 5, PostgreSQL 16, TBB (Thread Building Blocks) 2021.8, SQLAlchemy 2, Kubernetes 1.29.
  • В конфигураторе NetworkManager по умолчанию включён механизм определения конфликта IPv4-адресов в локальной сети (RFC 5227), суть которого в отправке проверочного ARP-пакета перед прикреплением адреса к сетевому интерфейсу (если получен ответ, значит адрес занят и не будет назначен). Для беспроводных соединений обеспечено назначение отдельного постоянного MAC-адреса (режим stable-ssid в NetworkManager).
  • Сборочные инструментарии Mock (mock-core-configs), Koji и Copr переведены на использование пакетного менеджера DNF 5 для установки сборочных зависимостей в chroot-окружение, используемое при сборке пакетов. Перевод самого дистрибутива на DNF 5 ожидается в следующем выпуске.
  • В пакетном менеджере DNF по умолчанию отключена загрузка метаданных со списками файлов, входящих в пакеты. Подобные данные редко используются, но имеют большой размер и замедляют работу.
  • Удалён пакет с библиотекой OpenSSL 1.1, в связи с прекращением поддержки данной ветки. Привязанные к OpenSSL 1.1 зависимости переключены на OpenSSL 3.0. Удалён пакет python3.7.
  • Библиотека Zlib заменена на форк Zlib-ng, совместимый с zlib на уровне API, но предоставляющий дополнительные оптимизации для повышения производительности.
  • Прекращено формирование delta-обновлений RPM-пакетов, позволяющих загружать при обновлении только изменившиеся данные относительно уже установленной версии пакета. Отключена поддержка deltarpm в DNF и DNF5.
  • Добавлен Passim, кэширующий сервер для распространения часто запрашиваемых файлов в локальной сети без прямого обращения к основным серверам и без привлечения глобальных CDN.
  • Модуль pam_userdb переведён с использования BerkeleyDB на GDBM из-за прекращения сопровождения ветки BerkeleyDB 5.x и перевода ветки BerkeleyDB 6.x на неприемлемую лицензию. Bogofilter переведён на использование SQLite вместо BerkeleyDB (libdb).
  • Для сборки Live-образов Fedora Workstation задействован инструментарий Image Builder, поддерживающий повторяемые сборки и предлагающий пользователям более простой процесс кастомизации образов.
  • Для сборки минимальных образов для архитектуры ARM задействован инструментарий osbuild.
  • Для формирования образов Fedora Cloud Edition вместо ImageFactory задействован инструментарий Kiwi.
  • Проведена реструктуризация пакетов для Kubernetes.
  • Fedora IoT, редакция для устройств интернета вещей, переведена на использование загрузочных контейнеров, сформированных при помощи инструментария OSTree и технологии bootc.
  • Утилита wget заменена на wget2, а утилита iotop на iotop-c.
  • В редакциях Fedora Silverblue и Kinoite включена программа bootupd, выполняющая обновление загрузчика.
  • Объявлена устаревшей библиотека libuser, которая осталась без сопровождения и уже не используется в других пакетах Fedora (для поддержки LDAP в дистрибутиве давно применяется SSSD). Удалён пакет passwd с реализацией утилиты passwd на базе libuser, вместо которой задействована аналогичная утилита из пакета shadow-utils.
  • Проведена работа по подготовке к включению в GCC по умолчанию более новой версии стандарта языка Си, что ознаменует прекращение по умолчанию поддержки некоторых устаревших возможностей языка, таких как неявное определение функций и неявное присвоение типа int.
  • Реализована вторая стадия перехода на модернизированный процесс загрузки, предложенный Леннартом Поттерингом. Отличия от классической загрузки сводятся к использованию вместо образа initrd, формируемого на локальной системе при установке пакета с ядром, унифицированного образа ядра UKI (Unified Kernel Image), генерируемого в инфраструктуре дистрибутива и заверенного цифровой подписью дистрибутива. Образ UKI объединяет в одном файле обработчик для загрузки ядра из UEFI (UEFI boot stub), образ ядра Linux и загружаемое в память системное окружение initrd. При вызове образа UKI из UEFI предоставляется возможность проверки целостности и достоверности по цифровой подписи не только ядра, но и содержимого initrd, проверка достоверности которого важна, так как в данном окружении осуществляется извлечение ключей для расшифровки корневой ФС.

    На второй стадии добавлена возможность прямой загрузки UKI из UEFI-модуля shim.efi без привлечения отдельного загрузчика (grub, sd-boot), реализована поддержка использования UKI на системах с архитектурой Aarch64 и подготовлен вариант UKI-образа для облачных окружений и защищённых виртуальных машин. До этого на первой стадии в Fedora 38 была добавлена поддержка UKI в загрузчик, реализован инструментарий для установки и обновления UKI, а также сформирован экспериментальный образ UKI для загрузки виртуальных машин с ограниченным набором компонентов и драйверов.

  • В репозиторий добавлен готовый пакет с фреймворком машинного обучения PyTorch, доступный для установки командой "dnf install pytorch". В настоящее время в пакете включены только компоненты для вычислений при помощи CPU, но в будущих выпусках планируют добавить поддержку привлечения GPU и специализированных NPU-ускорителей.

Дополнительно можно отметить введение в строй для Fedora 40 "free" и "nonfree" репозиториев проекта RPM Fusion, в которых доступны пакеты с дополнительными мультимедиа приложениями (MPlayer, VLC, Xine), видео/аудио кодеками, поддержкой DVD, проприетарными драйверами AMD и NVIDIA, игровыми программами и эмуляторами.

  1. OpenNews: В Fedora 41 утверждён переход на пакетный менеджер DNF5
  2. OpenNews: В Fedora 41 намечено удаление из базовой поставки сеанса X11 для GNOME
  3. OpenNews: Представлено семейство атомарно обновляемых дистрибутивов Fedora Atomic Desktops
  4. OpenNews: Опубликован Fedora Asahi Remix 39, дистрибутив для ARM-чипов Apple
  5. OpenNews: Релиз дистрибутива Fedora Linux 39
Обсуждение (113 +25) | Тип: Программы |
·22.04.2024 Проект Raspberry Pi Media Center развивает серию открытых Hi-Fi устройств (96 +21)
  В рамках проекта Raspberry Pi Home Media Center развивается несколько компактных открытых аппаратных устройств для организации работы домашнего медиацентра. В качестве основы в устройствах задействована плата Raspberry Pi Zero, сопряжённая с цифро-аналоговым преобразователем, позволяющим добиться высококачественного вывода звука. Устройства поддерживают подключение к сети через Wi-Fi или Ethernet, и могут управляться через пульт дистанционного управления. Схемы и распайки печатных плат, а также модели для корпусов опубликованы под лицензией GPLv3. Код для использования цифро-аналогового преобразователя вместе с платой Raspberry Pi открыт под лицензией GPLv3.

Устройство Louder Raspberry Pi примечательно использованием микросхемы TI TAS5805M с цифро-аналоговым преобразователем и усилителем D-класса, способным обеспечить вывод стереозвука на колонки с мощностью 22 Вт на канал. Устройство поставляется с IR-приёмником для пульта ДУ, USB-C, Wi-Fi и Ethernet (Wiznet W5500 SPI). Размер 88 x 38 x 100 мм. Стоимость $35.

Устройство Raspberry Pi HiFi оснащено более простым цифро-аналоговым преобразователем TI PCM5100 и рассчитано на использование с внешним усилителем. Устройство оснащено IR-приёмником для пульта ДУ, USB-C, Wi-Fi, Ethernet (Wiznet W5500 SPI) и линейным аудиовыходом для подключения усилителя. Размер 88 x 38 x 100 мм. Стоимость $25.

В разработке находится устройство Loud Raspberry Pi, примечательное использованием двух микросхем Analog Devices MAX98357 с цифро-аналоговыми преобразователями и усилителями D-класса. Устройство рассчитано на подключение колонок, мощностью 3 Вт.

  1. OpenNews: Представлена новая плата Raspberry Pi Zero 2 W
  2. OpenNews: Проект Raspberry Pi анонсировал плату Zero W с Bluetooth и Wi-Fi
  3. OpenNews: Атака на системы голосового управления через передачу команд в ультразвуковом диапазоне
  4. OpenNews: Атака на микрофоны систем голосового управления при помощи лазера
  5. OpenNews: Разработано устройство для определения скрытого включения микрофона
Обсуждение (96 +21) | Тип: К сведению |
·22.04.2024 Использование BPF-программ для решения проблем в устройствах ввода (56 +17)
  Питер Хаттерер (Peter Hutterer), мэйнтейнер подсистемы ввода X.Org, работающий в Red Hat, представил новую утилиту udev-hid-bpf, предназначенную для автоматической загрузки BPF-программ, исправляющих проблемы в устройствах ввода с интерфейсом HID (Human Interface Device) или меняющих их поведение в зависимости от предпочтений пользователя. Для создания обработчиков к HID-устройствами, таким как клавиатуры и мыши, применяется подсистема HID-BPF, появившаяся в ядре Linux 6.3 и позволяющая создавать драйверы устройств ввода в форме BPF-программ или обрабатывать различные события в подсистеме HID.

Утилита udev-hid-bpf может использоваться вместе с механизмом udev для автоматической активации BPF-программ при подключении новых устройств ввода или для загрузки BPF-программ в ручном режиме. Выделяются две основные категории BPF-программ для использование вместе с udev-hid-bpf: программы для устранения проблем в аппаратном обеспечении или прошивках, и программы для изменения поведения устройств по желанию пользователя.

В первом случае решаются задачи устранения недоработок и ошибок в устройствах, таких как инвертированные оси координат, некорректные диапазоны значений (например, заявление о наличии 8 кнопок вместо 5) и нелогичные последовательности событий. Во втором случае речь об изменении настроек устройств, например, при помощи BPF-программ можно поменять местами кнопки. Предполагается, что BPF-программы с исправлениями со временем будут включены в основной состав ядра и позволят обойтись без добавления в ядро патчей или отдельных драйверов.

  1. OpenNews: Релиз ядра Linux 6.3
  2. OpenNews: Релиз Libinput 1.0, унифицированного стека для работы с устройствами ввода
  3. OpenNews: Разработчики Gentoo официально анонсировали проект eudev, не зависящий от systemd
  4. OpenNews: В рамках проекта vdev развивается новая альтернатива devfs и udev
  5. OpenNews: Исправление в ядре Linux привело к проблемам с некоторыми графическими планшетами
Обсуждение (56 +17) | Тип: К сведению |
·22.04.2024 Выпуск реляционно-графовой СУБД EdgeDB 5.0 (19 +4)
  Доступен релиз СУБД EdgeDB 5.0, реализующей реляционно-графовую модель данных и язык запросов EdgeQL, оптимизированные для работы со сложными иерархическими данными. Проект развивается в форме надстройки над PostgreSQL, код которой написан на языках Python и Rust (парсер и критичные к производительности части), и распространяется под лицензией Apache 2.0. Клиентские библиотеки подготовлены для языков Python, Go, Rust. .NET, Elixir и TypeScript/Javascript. Предоставляется инструментарий командной строки для управления СУБД и интерактивного выполнения запросов (REPL).

Вместо модели данных на основе таблиц в EdgeDB применяется декларативная система на основе объектных типов. Вместо внешних ключей (foreign key) для определения связи между типами применяется связывание ссылками (один объект может использоваться как свойство другого объекта).


   type Person {
     required name: str;
   }
   type Movie {
     required title: str;
     multi actors: Person;
   }

Поддерживаются такие возможности как строгая типизация свойств, ограничения значений свойств, вычисляемые свойства и хранимые процедуры. Из особенностей объектной схемы хранения EdgeDB, которая чем-то напоминает ORM, отмечается возможность смешивания схем, связывания свойств из разных объектов и интегрированная поддержка JSON. Для ускорения обработки запросов могут применяться индексы.

Предоставляются встроенные инструменты для миграции схемы хранения - после изменения схемы, задаваемой в отдельном esdl-файле, достаточно выполнить команду "edgedb migration create" и СУБД проанализирует различия в схеме и в интерактивном режиме сгенерирует скрипт для перехода на новую схему. Автоматически отслеживается история изменения схемы.

Для формирования запросов поддерживается язык запросов GraphQL и собственный язык EdgeDB, представляющий собой адаптацию SQL для иерархических данных. Вместо списков результаты запроса оформляются в структурированном виде, а вместо подзапросов и операций JOIN предоставляется возможность указания одного запроса EdgeQL в качестве выражения внутри другого запроса. Поддерживаются транзакции и циклы.


   select Movie {
     title,
     actors: {
       name
     }
   }
   filter .title = "The Matrix"

   insert Movie {
     title := "The Matrix Resurrections",
     actors := (
       select Person
       filter .name in {
         'Keanu Reeves',
         'Carrie-Anne Moss',
         'Laurence Fishburne'
       }
     )
   }

В новой версии:

  • Добавлена поддержка ветвления ("branching"), позволяющая использовать при работе с данными и схемами концепцию веток, применяемую в системах управления версиями. Вместо термина "база данных" в новом выпуске предложено понятие "ветка" (branch), а команды "create database" и "drop database" объявлены устаревшими и вместо них рекомендовано использовать новые команды "create empty branch" и "drop branch". Помимо пустых веток при помощи команд "create schema branch" и "create data branch" можно создавать ответвления от существующих веток и БД, копируя из них схему хранения и данные.

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

  • В расширение pgvector, применяемое для эффективного хранения и запроса векторов, добавлен новый тип индексов HNSW (Hierarchical Navigable Small Worlds), который, по аналогии с индексом IVFFlat, доступен в трёх вариантах: ext::pgvector::hnsw_euclidean, ext::pgvector::hnsw_ip и ext::pgvector::hnsw_cosine. Кроме того, в pgvector расширены возможности по тонкой настройке индексов через объект ext::pgvector::Config.
  • Добавлены дополнительные возможности аутентификации. В расширении auth реализована поддержка беспарольных схем аутентификации WebAuthn (Passkeys) и "magic links" (на базе email). Добавлена поддержка использования платформ Slack и Discord в качестве OAuth-провайдеров.
  • Внесены оптимизации производительности. В реализации кэша с результатами компиляции запросов обеспечено сохранение состояния между перезапусками и добавлена автоматическая перекомпиляция после миграции. Повышена скорость работы с большими схемами хранения.
  • В языке запросов EdgeQL​ в выражении "for" разрешено не указывать ключевое слово "union" в базовых запросах, в которых используются выражения insert, update или delete.
  • Добавлена команда vacuum() для чистки, оптимизации и упаковки содержимого БД.
  • Разрешено преобразование данных между типом bytes и типами int16, int32, int64 и uuid, используя функции to_bytes(), to_uuid() и to_int*().
  • Добавлена возможность закрытия всех соединений к БД после выполнения операции "drop database".

  1. OpenNews: Релиз СУБД Neo4j 1.3, ориентированной на хранение графов
  2. OpenNews: Выпуск СУБД OrientDB 2.2
  3. OpenNews: На конференции Google I/O представлена открытая графо-ориентированная СУБД Cayley
  4. OpenNews: Выпуск графо-ориентированной СУБД Nebula Graph 3.2
  5. OpenNews: Для PostgreSQL подготовлено дополнение AGE для хранения данных в форме графа
Обсуждение (19 +4) | Тип: Программы |
·22.04.2024 Lunatik - инструментарий для создания в ядре Linux обработчиков на языке Lua (156 +17)
  Проект Lunatik развивает инструментарий, позволяющий использовать язык Lua для расширения функциональности ядра Linux и быстрого написания скриптов-обработчиков, работающих на уровне ядра. Для выполнения кода задействован интерпретатор Lua, модифицированный для работы на уровне ядра. Код проекта написан на языке Си и распространяется под лицензией MIT.

Для загрузки и выполнения Lua-скриптов на уровне ядра используется специальный драйвер, а для управления Lua-окружением в ядре из пространства пользователя предлагаются утилита командной строки. Проект также предоставляет C API для управления загрузкой и выполнением Lua-скриптов из ядра Linux, который может применяться, например, для выполнения отдельных обработчиков на языке Lua из традиционных модулей ядра, написанных на языке Си. Для обращения к функциям ядра из кода на языке Lua предлагается Lua API и набор привязок.

В Lua-скриптах можно использовать подмножество библиотечных функций и возможностей, ограниченное в силу специфики работы внутри ядра. Например, в коде не поддерживается выполнение операций с плавающей запятой, нельзя использовать библиотеки io и os, а также недоступны многие функции библиотеки math. В C API не поддерживаются функции luaL_Stream, luaL_execresult, luaL_fileresult, luaopen_io и luaopen_os.

Среди возможностей утилиты командной строки можно отметить команды для загрузки, выгрузки и перезагрузки модулей Lunatik в ядре, вывод состояния загруженных модулей, просмотр списка выполняемых в ядре скриптов, запуск скриптов, создания и остановка runtime-окружений Lua в ядре, использование интерактивной оболочки REPL (Read–Eval–Print Loop).

Проектом также предоставляется набор примеров, позволяющих оценить возможности Lunatik. Например, доступны скрипты с реализацией драйвера символьного устройства, сетевого сниффера с возможностью ведения журнала с MAC-адресами, БД для хранения данных в виде ключ/значение, сервера для протокола ECHO, кейлоггера для ведения лога нажатых клавиш, блокировщика клавиатуры (после нажатия "↑ ↑ ↓ ↓ ← → ← → LCTRL LALT" ядро перестаёт обрабатывать нажатия клавиш вплоть до повторного ввода данной последовательности), драйвера для мониторинга за системными вызовами, сервиса маршрутизации, различных надстроек над подсистемами Netfilter и XDP.

  1. OpenNews: Открыт код Luau, варианта языка Lua с проверкой типов
  2. OpenNews: Релиз языка программирования Lua 5.4
  3. OpenNews: Компания Microsoft опубликовала реализацию Lua VM, написанную на языке Go
  4. OpenNews: Представлена распределённая ОС Node9, сочетающая технологии Inferno и язык Lua
  5. OpenNews: В ядро NetBSD добавлена поддержка расширений на языке Lua
Обсуждение (156 +17) | Тип: Программы |
·21.04.2024 Выпуск Kata Containers 3.4 с изоляцией на основе виртуализации (44 +15)
  Опубликован выпуск проекта Kata Containers 3.4, развивающего стек для организации выполнения контейнеров с использованием изоляции на базе полноценных механизмов виртуализации. Проект создан компаниями Intel и Hyper путём объединения технологий Clear Containers и runV. Код проекта написан на языках Go и Rust, и распространяется под лицензией Apache 2.0. Развитие проекта курирует рабочая группа, созданная под эгидой независимой организации OpenInfra Foundation, в которой участвуют такие компании, как Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE и ZTE.

Основу Kata составляет runtime, позволяющий создавать компактные виртуальные машины, выполняемые с использованием полноценного гипервизора, вместо применения традиционных контейнеров, использующих общее ядро Linux и изолированных при помощи пространств имён и cgroups. Применение виртуальных машин позволяет добиться более высокого уровня безопасности, защищающего от совершения атак, вызванных эксплуатацией уязвимостей в ядре Linux.

Kata Containers ориентирован на интеграцию в существующие инфраструктуры контейнерной изоляции c возможностью применения подобных виртуальных машин для усиления защиты традиционных контейнеров. Проектом предоставляются механизмы для обеспечения совместимости легковесных виртуальных машины с различными инфраструктурами контейнерной изоляции, платформами оркестровки контейнеров и спецификациями, такими как OCI (Open Container Initiative), CRI (Container Runtime Interface) и CNI (Container Networking Interface). Доступны средства для интеграции с Docker, Kubernetes, QEMU и OpenStack.

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

В качестве гипервизора поддерживается использование Dragonball Sandbox (редакция KVM, оптимизированная для контейнеров) с инструментарием QEMU, а также Firecracker и Cloud Hypervisor. Системное окружение включает в себя демон инициализации и агент (Аgent). Агент обеспечивает выполнение определённых пользователем образов контейнера в формате OCI для Docker и CRI для Kubernetes. При использовании совместно с Docker для каждого контейнера создаётся отдельная виртуальная машина, т.е. запускаемое поверх гипервизора окружение применяется для вложенного запуска контейнеров.

Для уменьшения потребления памяти применяется механизм DAX (прямой доступ к ФС в обход страничного кэша без применения уровня блочных устройств), а для дедупликации одинаковых областей памяти применяется технология KSM (Kernel Samepage Merging), что позволяет организовать совместное использование ресурсов хост-системы и подключить к разным гостевым системам общий шаблон системного окружения.

Для организации доступа к образам контейнеров задействована файловая система Nydus, в которой используется адресация по содержимому для эффективной совместной работы с типовыми образами. Nydus поддерживает загрузку образов на лету (загружает только при возникновении необходимости), обеспечивает дедупликацию повторяющихся данных и может использовать разные бэкенды для фактического хранения. Предоставляется совместимость с POSIX (по аналогии с Composefs, реализация Nydus совмещает возможности OverlayFS c EROFS или FUSE-модулем).

В новой версии:

  • В менеджер виртуальных машин Dragonball добавлена поддержка горячего подключения GPU и возможность использования регистров MTRR (Memory-Type Range Registers) для организации доступа к областям физической памяти.
  • В runtime-rs, реализации runtime на языке Rust, обеспечена полная обработка потоков, pid и tid, а также переработан драйвер qemu, который задействован на системах с архитектурой s390 (IBM Z).
  • Обновлён сервис для создания снапшотов с использованием ФС Nydus.
  • В сервисе управления образами контейнеров повышена эффективность работы с памятью.
  • Включено по умолчанию монтирование иерархии cgroups-v2 во время загрузки при помощи systemd.
  • Добавлена возможность определения таймаута для ограничения времени получения очень больших образов в гостевых системах.
  • Добавлена поддержка сборки OPA-агента (Open Policy Agent) для архитектур ppc64le и s390x.

  1. OpenNews: Google открыл код защищённой операционной системы KataOS
  2. OpenNews: Выпуск Kata Containers 3.0 с изоляцией на основе виртуализации
  3. OpenNews: Компании Intel и Hyper представили проект Kata Containers
  4. OpenNews: Amazon открыл код легковесной платформы виртуализации Firecracker
Обсуждение (44 +15) | Тип: Программы |
·20.04.2024 Уязвимость в Glibc, эксплуатируемая через скрипты на PHP (91 +33 )
  В стандартной Си-библиотеке Glibc выявлена уязвимость (CVE-2024-2961), приводящая к переполнению буфера при преобразовании специально оформленных строк в кодировке ISO-2022-CN-EXT функцией iconv(). Выявивший проблему исследователь планирует 10 мая выступить на конференции OffensiveCon с докладом, в анонсе которого упоминается возможность эксплуатации уязвимости через приложения на языке PHP. Заявлено, что проблема затрагивает всю экосистему PHP и некоторые приложения.

При преобразовании строк в кодировке UCS4, в соответствии с требованиями RFC 1922, библиотека добавляет некоторые escape-символы, выделяющие части строки, в которых кодировка была изменена. Уязвимость вызвана некорректной проверкой границ внутренних буферов функцией iconv(), что может привести к переполнению буфера максимум на 4 байта. При переполнении за границу буфера могут быть записаны определённые фиксированные значения, такие как '$+I', '$+J', '$+K', '$+L', '$+M' и '$*H'. Несмотря на то, что эксплуатация подобной уязвимости для выполнения кода кажется маловероятной, по заявлению выявившего проблему исследователя этого оказалось достаточно для подготовки нескольких прототипов эксплоитов для удалённой атаки на PHP-приложения, приводящей к выполнению кода.

Уязвимость проявляется с 2000 года и устранена в находящейся в разработке ветке Glibc 2.40. Исправление также доступно в виде патчей для выпусков Glibc с 2.32 по 2.39. В дистрибутивах проследить за исправлением уязвимости можно на страницах: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Дополнение: Эксплуатация PHP-приложений возможна только на системах с установленными локалями *CN-EXT и *CNEXT, проверить наличие которых можно командой "iconv -l | grep -E 'CN-?EXT'". Если локали присутствуют их следует отключить, закомментировав в файле /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.d/gconv-modules-extra.conf (или /usr/lib64/gconv/gconv-modules.d/gconv-modules-extra.conf) строки с упоминанием ISO-2022-CN-EXT и ISO2022CNEXT, и после этого обновив кэш командной "sudo iconvconfig".

  1. OpenNews: Уязвимость в glibc, позволяющая получить root-доступ в системе
  2. OpenNews: Уязвимость в Glibc ld.so, позволяющая получить права root в большинстве дистрибутивов Linux
  3. OpenNews: Уязвимость в Glibc, позволяющая вызвать крах чужого процесса
  4. OpenNews: Уязвимость в Glibc, позволяющая поднять привилегии в системе
  5. OpenNews: Уязвимость в Glibc ld.so, позволяющая поднять свои привилегии в системе
Обсуждение (91 +33 ) | Тип: Проблемы безопасности |
·20.04.2024 В Thunderbird добавят реализацию протокола Microsoft Exchange на языке Rust (77 +14)
  Разработчики почтового клиента Thunderbird объявили о начале интеграции в кодовую базу компонентов, написанных на языке Rust. В следующий значительный выпуск Thunderbird, релиз которого ожидается в июле этого года, войдёт код с реализацией почтового протокола Microsoft Exchange Web Services (EWS), реализованный на языке Rust. Поддержка доступа к календарю и адресной книге Microsoft Exchange будет добавлена позднее. Встроенная реализация позволит обойтись без установки сторонних дополнений, через которые до сих пор обеспечивалась поддержка Microsoft Exchange.

Отмечается, что использование языка Rust для реализации намеченной функциональности позволит снизить вероятность совершения ошибок при работе с памятью, обеспечит увеличение производительности по сравнению с дополнением на JavaScript и позволит вписаться в существующую экосистему, развивающую связанные с электронной почтой модули на языке Rust. Интеграцию средств для разработки на новом языке упрощает то, что Rust уже применяется в Firefox и в Thunderbird можно будет задействовать уже существующую инфраструктуру для тестирования и непрерывной интеграции, а также обвязки XPCOM (Cross-Platform Component Object Model) для взаимодействия компонентов на языке Rust с кодом на C++ и JavaScript.

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

Из других возможностей, запланированных для включения в июльский ESR-выпуск Thunderbird можно упомянуть:

  • Поддержка синхронизации настроек между системами через привязку к учётной записи в Mozilla Account.
  • Переход на новую глобальную базу хранения сообщений, позволяющую реализовать альтернативные способы отображения переписки.
  • Продолжение развития режима вертикальной компоновки списка сообщений (Card View), стилизованного под мобильные интерфейсы в которых элементы показываются в форме "плоских" карт.
  • Полноценная поддержка тёмного режима оформления, применимая к сообщениям и изображениям.
  • Новые возможности панели со списком почтовых папок (Folder Pane).
  • Создание Account Hub, единой точки настройки всех учётных записей.
  • Интеграция встроенного движка машинного перевода Firefox Translate.

  1. OpenNews: Реклама программы-вымогателя под видом почтового клиента Thunderbird
  2. OpenNews: Разработка Thunderbird переведена в MZLA Technologies Corporation
  3. OpenNews: Выпуск почтового клиента Thunderbird 115 c переработанным интерфейсом пользователя
  4. OpenNews: Проект Thunderbird опубликовал финансовые показатели за 2022 год
  5. OpenNews: Проект K-9 Mail перейдёт под крыло Thunderbird и станет основой Thunderbird для Android
Обсуждение (77 +14) | Тип: К сведению |
·19.04.2024 Опубликован miracle-wm 0.2, композитный менеджер на базе Wayland и Mir (38 +2)
  Мэтью Косарек (Matthew Kosarek) из компании Canonical представил второй выпуск композитного менеджера miracle-wm, использующего протокол Wayland и компоненты для построения композитных менеджеров Mir. Miracle-wm поддерживает мозаичную (tiling) компоновку окон в стиле оконного менеджера i3 и Sway. В качестве панели может применяться Waybar. Код проекта написан на языке C++ и распространяется под лицензией GPLv3. Готовые сборки сформированы в формате snap.

Целью проекта является создание композитного сервера, применяющего мозаичное управление окнами, но более функционального и стильного, чем такие проекты, как Swayfx. Предполагается, что miracle-wm может оказаться полезным пользователям, которые отдают предпочтение мозаичной компоновке, но желают получить визуальные эффекты и более яркое графическое оформление с плавными переходами и цветами. Для установки miracle-wm можно использовать команду "sudo snap install miracle-wm --classic".

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

  • Добавлен менеджер плавающих окон, позволяющий размещать отдельные окна поверх мозаичной сетки по аналогии с окнами традиционных оконных менеджеров.
  • Обеспечена возможность закрепления окон к определённому месту на рабочем столе.
  • Предоставлена возможность автоматического применения новых настроек без перезапуска при изменении файла конфигурации.
  • Добавлена поддержка IPC оконного менеджера i3 для рабочих столов. Реализованных возможностей достаточно для запуска панели Waybar.
  • В файл конфигурации добавлен параметр terminal для определения эмулятора терминала по умолчанию, запускаемого при использовании клавиатурной комбинации Ctrl+Alt+T.
  • В файле конфигурации появилась возможность указания переменных окружения, например, mesa_glthread=false для борьбы с появлением разрывов при выводе (tearing).
  • Используемая версия Mir обновлена до выпуска 2.16.4, в котором добавлена поддержка аппаратного курсора и учтена возможность поворота экрана при создании скриншотов.
  • Проведена оптимизация производительности.
  • Налажено формирование пакетов для Ubuntu и Fedora Linux.

1 июня планируется опубликовать выпуск 0.3, который будет иметь статус пререлиза. В версии 0.3 будет реализована поддержка анимационных эффектов, стековой компоновки окон, многомониторных конфигураций, параметров для настройки экрана и визуального выделения активных окон. На 15 июля намечен первый стабильный релиз проекта - 1.0.

Из идей, которые могут быть включены в версию 1.0 упоминаются обзорный режим для навигации по окнам и рабочим столам в стиле GNOME; графический интерфейс для настройки; контекстные меню с действиями над окнами; режим "картинка в картинке"; возможность вывода окна приложения, на которое установлен фокус, по центру; минимальная оболочка с панелью и интерфейсом запуска программ.

  1. OpenNews: Сотрудник Canonical представил miracle-wm, композитный менеджер на базе Wayland и Mir
  2. OpenNews: Выпуск дисплейного сервера Mir 2.14. Пользовательское окружение Miriway
  3. OpenNews: Пользовательская оболочка Lomiri (Unity8) принята в Debian
  4. OpenNews: Компания Canonical представила оболочку Ubuntu Frame
  5. OpenNews: Инициатива по добавлению рабочего стола Unity 8 и дисплейного сервера Mir в Debian
Обсуждение (38 +2) | Тип: Программы |
·19.04.2024 Для Xen развивается механизм паравиртуализации IOMMU (15 +20)
  Разработчики проекта XCP-NG, развивающего свободную платформу для развертывания и управления работой облачной инфраструктурой, представили проект PV-IOMMU, позволяющий гостевым системам получить доступ к ограниченной функциональности IOMMU, реализованной с использованием инфраструктуры паравиртуализации Xen. На практике PV-IOMMU может применяться для реализации защиты DMA в Dom0 или обеспечения поддержки подсистемы ядра Linux VFIO. Ранее гипервизор Xen использовал IOMMU для проброса доступа к PCI-устройствам и ограничения доступа устройств к памяти, но из соображений стабильности и безопасности гостевые системы не могли напрямую обращаться к предоставляемому оборудованием блоку IOMMU.

IOMMU представляет собой специализированный блок управления памятью, выполняющий трансляцию виртуальных адресов, видимых аппаратным устройством, в физические адреса, позволяющий выполнять и фильтровать операции DMA по виртуальным адресам, а также ограничивать и изолировать операции ввода-вывода. В контексте виртуализации IOMMU позволяет гостевым системам напрямую обращаться к периферийным устройствам, таким как Ethernet-адаптеры, графические карты и контроллеры устройств хранения. Реализация IOMMU от компании Intel предоставляется под именем VT-d ("Virtualization Technology for Directed I/O), AMD - AMD-Vi (I/O Virtualization), а ARM - SMMU (System Memory Management Unit).

Предложенная паравиртуализированная реализация (PV-IOMMU) позволяет гостевым системам использовать базовые возможности IOMMU, но при этом абстрагирует все низкоуровневые аппаратные детали. Для включения в состав Xen предложен новый гипервызов (аналог системного вызова для гипервизоров) HYPERVISOR_iommu_op, который могут использовать гостевые системы для выполнения операций IOMMU. Среди прочего, гостевые системы теперь могут создавать и изменять домены IOMMU (IOMMU domain), именуемые в Xen контекстами IOMMU (IOMMU context) для того чтобы избежать путаницы с термином "домен" в Xen. Контексты IOMMU позволяют организовать доступ гостевой системы к памяти устройств и задавать операции трансляции памяти, применяемые к одному или нескольким устройствам.

На текущей стадии развития в PV-IOMMU поддерживается только технология Intel VT-d, но в скором времени планируется добавить поддержку AMD-Vi и SMMUv3

  1. OpenNews: Выпуск гипервизора Xen 4.18
  2. OpenNews: Инициатива по переработке инструментария для гипервизора Xen на языке Rust
  3. OpenNews: XCP-ng, свободный вариант Citrix XenServer, вошёл в состав проекта Xen
  4. OpenNews: Выпуск XCP-NG 8.2, свободного варианта Citrix Hypervisor
  5. OpenNews: Выпуск облачной платформы Apache CloudStack 4.18
Обсуждение (15 +20) | Тип: К сведению |
Следующая страница (раньше) >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру