LINUX.ORG.RU

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

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
()

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

Форум — Talks

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

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

Ubuntu Desktop Installer

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

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

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

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

Ubuntu Server Installer

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

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

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

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

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

 , кал

MoldAndLimeHoney
()

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

Новости — BSD
Группа 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
()

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

Форум — Linux-hardware

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

Взял народный программатор 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
()

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

Форум — Desktop

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

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

 

copentry
()

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

Форум — Admin

Собственно 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
()

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

Новости — Open Source
Группа Open Source

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

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

>>> Анонс

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

 , ,

anonymous
()

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

Форум — Linux-hardware

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

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

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

 , , ,

tiinn
()

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

Новости — Debian
Группа Debian

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

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

>>> Источник

 , debusine,

Aurum
()

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

Форум — Talks

…и заменить его на 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
()

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

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

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

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

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

 

unclestephen
()

Книги про Rust

Форум — Talks

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

 , ,

nionio35
()

iptables Не проходит добавление правил

Форум — General

Приветствую Вас гуру формовчане!!!

OS ubuntu 24.04

при попытке добавить именно вот это правило

iptables -A FORWARD -i eth0 -o tun0 -m state --state ESTABLISHED,RELATED -j A

1 раз выдало

Try `iptables -h' or 'iptables --help' for more information```

я попытался исправить командой

```update-alternatives --set iptables /usr/sbin/iptables-legacy```

Теперь стало выдавать

```iptables v1.8.10 (legacy): Couldn't load target `A':No such file or directory
Try `iptables -h' or 'iptables --help' for more information```

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

С уважением 

 ,

elavex
()

systemd 259

Новости — Linux General
Группа Linux General

Новый systemd к нам мчится! Чем же порадует энтузиастов GNU/Linux самый распространённый системный менеджер в последнем релизе уходящего года?

  • расширение интерфейса Varlink IPC (догоняем D-Bus);
  • опция ExecReloadPost= для юнитов (стреляет после перечитывания конфигурации сервисом);
  • конфиги /etc/systemd/systemd-sysext.conf и /etc/systemd/systemd-confext.conf для соответствующих сервисов;
  • systemd-vmspawn научился пробрасывать системного пользователя внутрь виртуалки с помощью --bind-user=/--bind-user-shell=;
  • опцию --recovery-key= у homectl теперь можно использовать и при операции update, а не только при создании пользователя;
  • systemd-machined и systemd-importd теперь можно запускать отдельно для каждого пользователя;
  • run0 получил опцию --empower (использует соответствующую системную группу) для повышения привилегий через механизм capabilities без смены UID - меньше шансов создать файлы от рута или ещё как-то напортачить ненароком;
  • расширения конфиг файлов (которые в каталоге что-то.d/ ) с суффиксом .ignore теперь, ожидаемо, игнорируются;
  • множество не менее праздничных нововведений и улучшений.

Поддержка скриптов System V объявлена устаревшей и планируется к удалению – системы и пакеты, пребывающие в состоянии летаргии, нужно из него вывести.

>>> Release notes

 

zabbal
()

КОМПАС-3D v24

Новости — Проприетарное ПО
Группа Проприетарное ПО

Компания АСКОН объявляет о старте продаж нативной версии системы трехмерного проектирования КОМПАС-3D v24, разработанной специально для российских операционных систем на ядре Linux.

Ранее совместимость с ОС на Linux обеспечивалась через приложение WINE@Etersoft компании «Этерсофт». Теперь КОМПАС-3D работает непосредственно в операционной системе.

Linux-версия КОМПАС-3D v24 предлагает те же базовые возможности, что и Windows-версия. Обеспечено единство форматов документов, интерфейса и подходов к работе.

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

 , , ,

avgust23
()

Новый малоизвестный Linux-бекдор GhostPenguin

Новости — Безопасность
Группа Безопасность

Новый малоизвестный Linux-бекдор GhostPenguin вышел из тени благодаря автоматизированной охоте на угрозы, в которой Trend Research использовала ИИ для анализа тысяч недетектируемых образцов с VirusTotal. Специалисты обнаружили ранее не документированное вредоносное ПО, скрывавшееся более четырёх месяцев без единого срабатывания антивирусов, и детально разобрали его устройство, коммуникации и архитектуру. По сути, GhostPenguin — это многопоточный C++-имплант, который обеспечивает удалённый интерактивный shell, практически полный контроль над файловой системой и надёжный обмен данными через RC5-шифрованный канал по UDP на порту 53.

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

>>> AI-Automated Threat Hunting Brings GhostPenguin Out of the Shadows

 , ,

demo13
()