LINUX.ORG.RU

Избранные сообщения Infra_HDC

Новости — Open Source

OpenZFS 2.4.1

Группа Open Source

OpenZFS — это продвинутая файловая система и менеджер томов, первоначально разработанная для Solaris и теперь поддерживаемая сообществом OpenZFS.

Поддерживаемые платформы:

  • Linux: совместимость с версиями ядер 4.18 - 6.19
  • FreeBSD: совместим начиная с версии 13.3+, 14.0+

В этом выпуске:

  • исправлен учет доступного пространства для записей special/dedup;
  • совместимость с Linux 6.19: сборка из дерева исходного кода: исправление дублирующихся функций сборки GCM;
  • zfs_vnops_os.c: вызов vput() перемещен после zfs_setattr_dir();
  • Исправлена ​​ошибка активации large_microzap при получении данных;
  • Исправлено разрешение send:raw для команды send -w -I;
  • Всего более 80 исправлений.

>>> Подробности на GitHub

 , , , ,

splinter
()
Новости — Open Source

FreeRDP 3.23.0

FreeRDP 3.23.0
Группа Open Source

FreeRDP — это бесплатная реализация протокола удалённого рабочего стола (RDP), распространяемая под лицензией Apache.

Основные изменения:

  • После глубокого анализа кода клиента FreeRDP устранён ряд уязвимостей.
  • Добавлена изоляция конфигурации. Сторонние клиентские/серверные приложения должны проверять новые API freerdp_setApplicationDetails и winpr_setApplicationDetails, позволяющие использовать настраиваемое пространство в файлах конфигурации и runtime-данных для каждого приложения.
  • Для разработчиков мы поместили большинство API в [[nodiscard]], поэтому компиляторы могут начать выдавать ошибки о непроверенных возвращаемых значениях. Это сделано намеренно и должно побудить к очистке кода. Функции, в которых возврат является необязательным, были пропущены. На данный момент эти проверки автоматически применяются для сборок FreeRDP, внешние проекты могут включить их, определив WINPR_DEFINE_ATTR_NODISCARD в своей системе сборки.
  • Для разработчиков: пожалуйста, начните тестировать свои приложения на сборках FreeRDP с опцией -DWITHOUT_FREERDP_3x_DEPRECATED=ON, чтобы убедиться, что вы не используете API, которые скоро будут удалены.
  • Клиент на основе библиотеки SDL получил значительное обновление: режимы работы с несколькими мониторами и высоким разрешением значительно улучшены.
  • Другие улучшения и исправления ошибок.

>>> Подробности на freerdp.com

 , ,

splinter
()
Новости — Проприетарное ПО

Solaris 11.4 SRU90

Группа Проприетарное ПО

Слухи о кончине Соляриса в очередной раз не подтвердились, и компания Oracle выпустила релиз операционной системы Solaris 11.4 SRU 90 (Support Repository Update).

Среди обновлённых пакетов: BIND 9.20.15, cups 2.4.15, Go 1.25.5, GNU Binutils 2.45, openssl 3.0.18, PHP 8.4.16, python 3.13.9, sqlite 3.51.0, xorg-server 21.1.20, Firefox 140.4.0esr, FreeType 2.14.1, GNU Screen 5.0.1, gtk3 3.24.51, samba 4.22.6, Wireshark 4.6.0, zsh 5.9.

Из других изменений — поддержка сжатия Zstandard в файлах ELF, новые режимы в системных утилитах bootadm, devnm, ipadm и ls.

Поддержка Solaris 11.4 будет осуществляться ещё 11 лет до ноября 2037 года.

>>> Полный список изменений в блоге Oracle

>>> Подробный русский перевод списка изменений на opennet.ru

>>> Анонс Solaris 11.4 SRU 90

 

Lusine
()
Форум — Linux-hardware

Как оживить SSD, который давно не видел TRIM?

Есть SSD диски, которые в RAID-10 стоят в p420i HP контроллере. Контроллер не умеет передавать TRIM на диски, и скорость уже стала проседать сильно. Поставили другой накопитель, данные перекинули. Теперь вопрос - как оживить диски? По ресурсу там еще 70+%. Нет возможности их физически достать, только как есть, подключенные к контроллеру. Может как то записать 0 на все диски или что такое…

 , ,

Anfernee
()
Новости — Разработка

TGUI 1.12

Группа Разработка

26 января состоялся релиз 1.12 кроссплатформенной библиотеки виджетов TGUI, написанной на языке C++ и распространяемой по лицензии Zlib.

Минимальная версия стандарта — C++14. Для компиляторов GCC >= 11, Clang >= 16 и IntelLLVM по умолчанию используется стандарт C++17.

Библиотека поддерживает несколько бэкендов ввода-вывода (параметр CMake TGUI_BACKEND):

  • SFML_GRAPHICS – sfml-graphics
  • SFML_OPENGL3 – sfml-window + OpenGL + FreeType
  • SDL_GPU – SDL + SDL_ttf
  • SDL_RENDERER – SDL + SDL_ttf
  • SDL_OPENGL3 – SDL + OpenGL + FreeType
  • SDL_GLES2 – SDL + OpenGL ES + FreeType
  • SDL_TTF_OPENGL3 – SDL + OpenGL + SDL_ttf
  • SDL_TTF_GLES2 – SDL + OpenGL ES + SDL_ttf
  • GLFW_OPENGL3 – GLFW + OpenGL + FreeType
  • GLFW_GLES2 – GLFW + OpenGL ES + FreeType
  • RAYLIB – raylib

В комплект поставки также входит простой дизайнер GUI.

( читать дальше... )

>>> Подробности на tgui.eu

 , , , ,

dataman
()
Форум — Talks

Ubuntu — я устал молчать

Добрый вечер.

Сегодня пойдет речь про инсталляторы Убунту: десктопный и серверный.

Ubuntu Desktop Installer

Когда-то инсталлятор был относительно нормальный: более-менее работал, позволял сделать все, что нужно – в общем, есть не просил.

Затем Каноникл решил, что так больше дело не пойдет и сделал новый инстяллятор на модном и молодежном Flutter. Только вот теперь он не поддерживает ни LVM, ни LUKS.

Нет, можно, конешно, отдать ему весь диск, он его отформатирует и сделает тебе luks+lvm (без отдельного хомяка btw). Есть одна проблема: если ты захочешь переустановить эту же Убунту, она не распознает своего же luks+lvm, который тебе же и создала! Т.е. единственным выбором у тебя будет снова затереть все свои данные и переустановить ее. То же самое, если ты хочешь поставить Убунту/Винду в дуалбуте.

Есть вариант все это сделать в консоли и попытаться угадать что там распознает говенный установщик Убунты, но тут даже Рачъ отдыхает – там-то, по крайней мере, все задокументировано, и тебя за ручку проведут всю дорогу.

Ubuntu Server Installer

Я помню были шуточки, что у Редхат/Федора не сильно понятный установщик. Но я вас уверяю, кто видел установщик серверной Убунты, тот в цирке не смеется.

Речь, конкретно, о storage editor (или как он там называется). Логику его понять вообще невозможно. Оно еще и падает при любом чихе. Как и десктопный инсталлятор, спустя сколько лет. Не знаю как это описать даже, просто попробуйте разметить диск в Виртуалбоксе (/boot/efi, /boot, luks+lvm, /, /home), а потом переустановить на эти же разделы. Его делали какие-то наркоманы.

Я просто не понимаю, как все можно было сделать настолько через очко. Убунта в любой редакции, действительно, подходит только совсем новичку, потому что если тебе надо что-то сложней одного ext4-раздела / на весь диск, то Убунта вам не подходит.

И ведь что самое обидное, раньше все было более-менее прилично. Бракоделы из Каноникл все испоганили. Я даже не удивляюсь, что у них после релиза постоянно какой-то анал-карнавал, про тестирование своих высеров в Каноникл, вероятно, даже не слышали.

Без негатива.

 , кал

MoldAndLimeHoney
()
Новости — BSD

smolBSD с ядром ​​NetBSD-MicroVM для загрузки виртуальных машин

Группа BSD

smolBSD — это операционная система, построенная на основе NetBSD. Она позволяет за считанные минуты создать собственную среду UNIX — от системы с одной целью (микросервисы) до полностью настраиваемого образа ОС.

На сайте проекта smolBSD.org указано, что с помощью smolBSD можно за считанные секунды собрать и запустить собственную кастомизированную систему BSD. Также из smolBSD легко создавать образы Docker.

В основе среды smolBSD лежит ядро ​​netbsd-MICROVM, использующее тот же переносимый и надежный код, что и сама NetBSD. Вы сами решаете, что включить — sshd, httpd или собственную службу — и smolBSD создаст целостный, минимальный, загружаемый образ, готовый к работе где угодно.

Исходный код на GitHub.

>>> Подробности на smolbsd.org

 , ,

splinter
()
Новости — Безопасность

Логин, пробел, дефис, root. Баг в telnet позволяет захватить компьютер без пароля

Группа Безопасность

Уязвимость в пакете GNU InetUtils затронула все версии с 1.9.3 по 2.7 включительно.

Казалось бы, telnet давно ушел в прошлое вместе с модемами и dial-up, но именно он внезапно стал источником серьезной уязвимости. В GNU InetUtils обнаружен баг, который позволяет удаленно войти в систему под root без пароля, просто отправив специально сформированное значение переменной окружения.

Проблема затрагивает telnetd сервер, входящий в состав GNU InetUtils. Он передает программе login значение переменной USER, полученной от клиента, без какой-либо проверки. Этим можно воспользоваться, если клиент отправит строку «-f root» в качестве USER и подключится с параметром telnet -a или –login. В результате login воспринимает это как служебный флаг, пропускает стандартную процедуру аутентификации и автоматически авторизует пользователя как root.

Уязвимость получила идентификатор CVE-2026-24061 и оценку по CVSS: 9.8. Под угрозой находятся все версии GNU InetUtils, начиная с 1.9.3 и заканчивая 2.7 включительно. Баг присутствует в проекте почти 11 лет, с мая 2015 года, но был выявлен только сейчас. По сути, это классический пример уязвимости старой школы, где опасная строка без фильтрации передается системной утилите с привилегиями root.

( читать дальше... )

>>> GNU InetUtils Security Advisory: remote authentication by-pass in telnetd

 , ,

demo13
()
Форум — Linux-hardware

arduino vs usbasp. то ли лыжи не едут

Доброго времени суток

Взял народный программатор usbasp (скорее всего, китайский клон), чтобы извращаться с arduino более плотно. Там же два чипа, а через icsp можно по spi достучаться до них обоих напрямую. Будет весело (спойлер: было, но не так, как я представлял)

Линукс новую игрушку видит. Через udev добавил симлинк

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", MODE="0660", SYMLINK+="USBasp", OWNER="router"

пнул

udevadm control --reload-rules
udevadm trigger

пока все хорошо

итак,

  • atmega328p-pu, основной чип, разъём ICSP
  • atmega16u2-mu, вспомогательный чип, разъём ICSP1 (на плате маркировки нет. есть только в datasheet. в общем тот, что ближе к USB)

отлично, avrdude согласен работать с обоими чипами:

# когда подключаюсь к ICSP, т.е. к основному чипу
avrdude -p atmega328p -c usbasp -P /dev/USBasp -v -n
avrdude -p atmega328p -c usbasp -P /dev/USBasp -v -U flash:r:/tmp/program.hex:i


# когда подключаюсь к ICSP1, т.е. ко вспомогательному чипу
avrdude -p atmega16u2 -c usbasp -P /dev/USBasp -v -n
avrdude -p atmega16u2 -c usbasp -P /dev/USBasp -v -U flash:r:/tmp/program_16u2.hex:i

Теперь пора подружить ide с новым программатором usbasp

снова подключаю usbasp к основному чипу (atmega328p, ICSP)

пока в arduino пустая программа

void loop() {
  delay(1000);

пусть помигает лампочкой. тривиально

void setup() {
  // put your setup code here, to run once:
  pinMode(13, OUTPUT);
}

void loop() {
  //delay(1000);

  // put your main code here, to run repeatedly:
  digitalWrite(13, HIGH);
  delay(100);
  digitalWrite(13, LOW);
  delay(1000);
}
  1. tools - programmer - usbasp (по дефолту было AVRISP mkii)
  2. upload . не работает. ок, тогда
  3. sketch - upload using programmer

upload using programmer проходит. начинает мигать лампочка

проблема

а вот дальше происходит что-то непонятное:

отключаю usbasp, подключаю к плате обычный usb кабель

и arduino отказывается делать upload

avrdude тоже отказывается работать:

router@calypso:~$ avrdude -p atmega328p -c arduino -P /dev/ttyACM0 -v -n

avrdude: Version 7.1
         Copyright the AVRDUDE authors;
         see https://github.com/avrdudes/avrdude/blob/main/AUTHORS

         System wide configuration file is /etc/avrdude.conf
         User configuration file is /home/router/.avrduderc
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyACM0
         Using Programmer              : arduino
avrdude stk500_recv() error: programmer is not responding
avrdude stk500_getsync() warning: attempt 1 of 10: not in sync: resp=0x00
avrdude stk500_recv() error: programmer is not responding
avrdude stk500_getsync() warning: attempt 2 of 10: not in sync: resp=0x00
avrdude stk500_recv() error: programmer is not responding
avrdude stk500_getsync() warning: attempt 3 of 10: not in sync: resp=0x00
avrdude stk500_recv() error: programmer is not responding
avrdude stk500_getsync() warning: attempt 4 of 10: not in sync: resp=0x00

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

очень интересно. отключаю usb кабель, подключаю usbasp к основному чипу (atmega328p, ICSP)

через avrdude пробую прогнать verify (сравнить с дампом, который я сделал до изменения программы)

router@calypso:~$ avrdude -p atmega328p -c usbasp -P /dev/USBasp -v -U flash:v:/tmp/program.hex:i

[...]

Reading | ################################################## | 100% 8.18 s

avrdude avr_verify() warning: verification mismatch
        device 0xff != input 0x04 at addr 0x0254 (error)
        device 0xff != input 0x01 at addr 0x0255 (error)
        device 0xff != input 0x30 at addr 0x0256 (error)
        device 0xff != input 0x91 at addr 0x0257 (error)
        device 0xff != input 0x00 at addr 0x0258 (error)
        device 0xff != input 0x01 at addr 0x0259 (error)
        device 0xff != input 0x23 at addr 0x025a (error)
        device 0xff != input 0xe0 at addr 0x025b (error)
        device 0xff != input 0x23 at addr 0x025c (error)
        device 0xff != input 0x0f at addr 0x025d (error)
        suppressing further verification errors
avrdude do_op() error: verification mismatch

для очистки совести подключаюсь к второму чипу (atmega16u2, ICSP1), прогоняю верификацию и на нём - там всё в порядке

снова подключаюсь к основному чипу (atmega328p, ICSP) и через avrdude заливаю старый дамп

router@calypso:~$ avrdude -p atmega328p -c usbasp -P /dev/USBasp -v -U flash:w:/tmp/program.hex:i

[...]

avrdude: auto set sck period (because given equals null)
avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x1e950f (probably m328p)
avrdude: Note: flash memory has been specified, an erase cycle will be performed.
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: auto set sck period (because given equals null)
avrdude: reading input file /tmp/program.hex for flash
         with 32768 bytes in 1 section within [0, 0x7fff]
         using 256 pages and 0 pad bytes
avrdude: writing 32768 bytes flash ...

Writing | ################################################## | 100% 11.58 s

avrdude: 32768 bytes of flash written
avrdude: verifying flash memory against /tmp/program.hex

Reading | ################################################## | 100% 8.00 s

avrdude: 32768 bytes of flash verified

avrdude done.  Thank you.

отключаю usbasp, подключаю плату обычным usb кабелем. Теперь снова с ней работает и arduino ide, и avrdude

для очистки совести воспроизвожу проблему

  1. подключаю программатор usbasp к основному чипу (atmega328p, ICSP)
  2. через arduino ide залил новую программу. вижу, что она начала работать
  3. отключаю usbasp, подключаю плату обычным usb кабелем. программа выполняется
  4. проблема. arduino ide отказывается что-либо прошивать. avrdude отказывается работать с платой

  1. отключаю обычный usb, подключаю usbasp к основному чипу, заливаю старый дамп
  2. отключаю программатор usbasp, подключаю обычный usb
  3. все работает

WTF?

Я не менял ничего на вспомогательном чипе atmega16u2, который обеспечивает работу с usb, поддержку cdc acm, поддержку dfu. и прошивку основного чипа без дополнительных программаторов

Насколько я понимаю, я менял исключительно программу для основного чипа

Каким образом это могло привести к тому, что штатный программатор - вспомогательный чип atmega16u2 - отказывался работать с основным (до возвращения старого дампа)?

 , usbasp

router
()
Галерея — Скриншоты

Debian Trixie без systemd

Лет 10 назад Дебиан «перешёл на systemd», по каковому поводу в сообществе возникло много споров, которые не смолкают и поныне. Появившийся в те годы дистрибутив Devuan, который во всём похож на Дебиан, кроме того, что отвязан от systemd, продолжает обновляться следом за Дебианом.

Лет 5 назад Дебиан «перешёл на Wayland» — такая же история, с тем отличием, что поддержка X11 была сохранена и форка не возникло.

Никогда не видел смысла в использовании Wayland или systemd. X11 и sysvinit работали десятилетиями, претензии к ним сомнительны. Кажется, единственным заметным для пользователя преимуществом systemd является распараллеливание запуска служб, благодаря чему ускоряется загрузка, но это преимущество сходит на нет, когда загрузка происходит не чаще раза в неделю. В реализации X11 якобы накоплены какие-то костыли, но почему это должно заботить пользователя — решительно непонятно (с другой стороны, пользователя заботит отсутствие аналога ssh -X в Wayland, а также, по слухам, проблемы с трансляцией экрана и отваливание случайных функций случайных приложений.

( читать дальше... )

 , , , ,

ringill
()
Форум — Desktop

Telegram браузер по умолчанию

Всем доброе утро. Юзаю дебиан 12 xfce. Не могу понять, как настроить браузер по умолчанию для открытия ссылок в телеграмм. В «приложениях по умолчанию» стоит яндекс браузер, который мне и нужен. Телеграмм открывает в firefox по стандарту, если поставить хромиум, то он берет инициативу на себя. Телеграмм пробовал с оф репы и flatpak.

Перемещено hobbit из general

 

copentry
()
Форум — Admin

Почему squid может не отдавать полную цепочку сертификата?

Собственно subj. Т.е. openssl s_client при коннекте не то чтобы не получает от сервера сертификат, он просто получает из всей цепочки только первый сертификат и не может проверить его подлинности. Ну и curl на него ругается

curl: (60) SSL certificate OpenSSL verify result: unable to get local issuer certificate (20)
More details here: https://curl.se/docs/sslcerts.html

Сервер - Ubuntu 24.04.3 LTS
OpenSSL - 3.0.13 30 Jan 2024 (Library: OpenSSL 3.0.13 30 Jan 2024)
Squid Cache: Version 6.13

Причём в самом файле сертификата лежит полная цепочка и тот же lighttpd на другом сервере цепочку отдаёт полностью.

UPD: поставил не тот пакет squid. Поставил squid-ssl и всё заработало.

 , ,

WatchCat
()
Новости — Разработка

Опубликован эмулятор архитектуры Эльбрус на основе QEMU

Группа Разработка

МЦСТ выпустила эмулятор QEMU для архитектуры E2K. Теперь программы для Эльбруса можно запускать на компьютерах с архитектурой x86‑64. Это откроет платформу для профессионалов, исследователей и энтузиастов, а также упростит разработчикам сборку и тестирование ПО.

Эмулятор qemu-e2k обеспечивает возможность, используя операционную систему семейства Linux запускать прикладные программы для операционных систем семейства Linux в машинных кодах Эльбрус (e2k) на компьютере архитектуры x86-64.

( читать дальше... )

>>> Исходные тексты QEMU от АО "МЦСТ"

 , , ,

IvGrad
()
Новости — Open Source

Нашлась единственная уцелевшая копия ОС Unix v4

Группа Open Source

В школе вычислительной техники при Университете Юты (США) нашли и восстановили магнитную ленту, на которой оказалась единственная из известных копий операционной системы Unix v4 — первой, чьё ядро, драйверы и основные утилиты были написаны на новомодном в те времена языке C.

Восстановленные данные заняли всего 40 Мбайт — они доступны для скачивания вместе с инструкцией по запуску ОС. Unix v4 работал на продвинутом по тем временам мини-компьютере DEC PDP-11, который эмулировали при помощи SimH. На момент выпуска система оставалась экспериментальным проектом.

>>> Анонс

>>> Исходные тексты

 , ,

anonymous
()
Форум — Linux-hardware

Обзор отечественного ноута на отечественной UNCOM OS

Вроде бы, по соотношению цена/качество ноут неплохой, но сам обзор эталонное КГ/АМ

AMD Ryzen 7, 16Гб ОЗУ, 512 ГБ SSD за 41 тыщу

Обои нескучные.

 , , ,

tiinn
()
Новости — Debian

Debusine — «PPA для Debian», теперь в реальности

Группа Debian

Сообщество Debian радо объявить о запуске публичной бета-версии новой функции в рамках проекта Debusine — теперь разработчики могут создавать и поддерживать APT-совместимые репозитории дополнительных пакетов, по функционалу аналогичные PPA в Ubuntu. Это решение должно упростить тестирование, совместную разработку и распространение пакетов за пределами основного архива Debian.

( читать дальше... )

>>> Источник

 , debusine,

Aurum
()
Форум — Talks

Microsoft заявила, что удалит весь С/С++ код к 2030му

…и заменить его на Rust

Компания ставит целью показатель «1 разработчик, 1 месяц, 1 рейх 1 000 000 строк кода».

Сорс: https://www.thurrott.com/dev/330980/microsoft-to-replace-all-c-c-code-with-rust-by-2030

 , , ,

PPP328
()
Форум — Development

Проверка большого числа условий на си

Сейчас я пишу такой код:

	if( phonebookEntry->index < 0 && phonebookEntry->telNo && !phonebookEntry->name ){
		//только телефон
	}else if( phonebookEntry->index < 0 && phonebookEntry->telNo && phonebookEntry->name ){
		//телефон и имя
	}else if( phonebookEntry->index >= 0 && !phonebookEntry->telNo && !phonebookEntry->name ){
		//только индекс
	}else if( phonebookEntry->index >= 0 && phonebookEntry->telNo && !phonebookEntry->name ){
		//индекс и телефон
	}else if( phonebookEntry->index >= 0 && phonebookEntry->telNo && phonebookEntry->name ){
		//индекс, телефон и имя
	}else{
		//недопустимое сочетание
	}

И я заметил, что в каждом условном операторе сразу проверяется случая и подумал, а что если поступить вот так:

	unsigned int condition = 0;
	
	if( phonebookEntry->index >= 0 ) condition |= 1;
	if( phonebookEntry->telNo      ) condition |= 1 << 1;
	if( phonebookEntry->name       ) condition |= 1 << 2;

И дальше переменную condition запихнуть в switch или вообще использовать в качестве индекса в массиве указателей? Мой случай ещё пограничный, но если добавить ещё один параметр, то вариантов уже будет 16! Короче, степень двойки. Я один такой упоротый или такое где-нибудь применяется?

 

u5er
()
Новости — Linux в России

МСВСфера 10.1 с локальным ИИ-ассистентом «Василиса» стала доступна бесплатно

МСВСфера 10.1 с локальным ИИ-ассистентом «Василиса» стала доступна бесплатно
Группа Linux в России

В середине декабря 2025 года вышла российская операционная система «МСВСфера 10.1» на основе Red Hat Enterprise Linux с встроенным локальным ИИ-ассистентом «Василиса». Эта версия ОС доступна бесплатно пользователям для рабочих станций.

( читать дальше... )

>>> Подробности (Habr)

 

unclestephen
()
Форум — Talks

Книги про Rust

Подскажите какую-нибудь литературу про rust. Для разнообразия. Есть rust-book https://doc.rust-lang.org/book/ - он мне показался хаотичным, с едва уловимой последовательностью(если она там вообще есть), написан видимо не для новичков (я новичек) и сразу показывает все возможности языка, ясность изложения под вопросом и вообще мне показался как сборник bad practices по программированию. Мне кажется на раст можно проще писать, не используя большую часть описанного в этой книге. Или они так специально повышают порог вхождения?(меня терзают смутные сомнения)

 , ,

nionio35
()