AMD открыла код драйвера для NPU на базе архитектуры XDNA
Компания опубликовала исходные тексты драйвера для карт с движком на базе архитектуры XDNA, предоставляющим средства для ускорения вычислений, связанных с машинным обучением и обработкой сигналов. NPU на базе архитектуры XDNA поставляется в сериях 7040 и 8040 процессоров AMD Ryzen, ускорителях AMD Alveo V70 и SoC AMD Versal. Код написан на языках С и С++, и открыт под лицензией GPLv2. Для работы драйвера требуется ядро Linux 6.7 с поддержкой IOMMU SVA (Shared Virtual Addressing).
Linux / Линукс🥸
Компания опубликовала исходные тексты драйвера для карт с движком на базе архитектуры XDNA, предоставляющим средства для ускорения вычислений, связанных с машинным обучением и обработкой сигналов. NPU на базе архитектуры XDNA поставляется в сериях 7040 и 8040 процессоров AMD Ryzen, ускорителях AMD Alveo V70 и SoC AMD Versal. Код написан на языках С и С++, и открыт под лицензией GPLv2. Для работы драйвера требуется ядро Linux 6.7 с поддержкой IOMMU SVA (Shared Virtual Addressing).
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
Выпуск дистрибутива SystemRescue 11.0, специализированного Live-дистрибутива на основе Arch Linux, предназначенного для восстановления системы после сбоя. В качестве графического окружения используется Xfce. Размер iso-образа - 853 МБ (amd64).
Изменения в новой версии:
▪️ Ядро Linux обновлено до ветки 6.6.
▪️ В файл конфигурации добавлен параметр ssh_known_hosts для указания открытых ключей, заслуживающих доверия хостов для SSH.
▪️ Обновлена конфигурация пользовательской оболочки Xfce (включён хранитель экрана, добавлен апплет контроля заряда аккумулятора).
▪️ Добавлен пакет sleuthkit для инспектирования образов ФС.
И другие изменения.
Linux / Линукс🥸
Изменения в новой версии:
▪️ Ядро Linux обновлено до ветки 6.6.
▪️ В файл конфигурации добавлен параметр ssh_known_hosts для указания открытых ключей, заслуживающих доверия хостов для SSH.
▪️ Обновлена конфигурация пользовательской оболочки Xfce (включён хранитель экрана, добавлен апплет контроля заряда аккумулятора).
▪️ Добавлен пакет sleuthkit для инспектирования образов ФС.
И другие изменения.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24
6 способов очистки терминала в Linux
1.
2. команда
3. команда
4. Далее следуют уже не такие распространённые способы. Например, для очистки терминала можно ввести команду:
5. Для терминала KDE (Konsole) удобна следующая команда:
При использовании вышеупомянутых методов для очистки экрана вы заметите, что экран (Putty) по-прежнему прокручивается. Если вы хотите очистить экран без прокрутки, используйте
Linux / Линукс🥸
1.
ctrl+L
2. команда
clear
.3. команда
reset
.4. Далее следуют уже не такие распространённые способы. Например, для очистки терминала можно ввести команду:
printf "\033c"
Также можно определить как псевдоним:alias cls='printf "\033c"
5. Для терминала KDE (Konsole) удобна следующая команда:
clear && echo -en "\e[3J"
Или сразу создаем алиас:alias cls='clear && echo -en "\e[3J"'
6. В дистрибутивах с оболочкой GNOME можно самостоятельно назначить комбинацию клавиш, которая будет отвечать за очистку терминала, например: Shift + ctrl + alt + c
При использовании вышеупомянутых методов для очистки экрана вы заметите, что экран (Putty) по-прежнему прокручивается. Если вы хотите очистить экран без прокрутки, используйте
# clear && clear
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤7
Please open Telegram to view this post
VIEW IN TELEGRAM
Уязвимость в IPv6-стеке ядра Linux, допускающая удалённое выполнение кода
Раскрыта информация об уязвимости (CVE-2023-6200) в сетевом стеке ядра Linux. При определённых обстоятельствах она позволяет злоумышленнику из локальной сети добиться выполнения своего кода через отправку специально оформленного пакета ICMPv6 с сообщением RA (Router Advertisement), предназначенным для анонсирования информации о маршрутизаторе.
Уязвимость проявляется в системах со включённой поддержкой IPv6 и активным sysctl-параметром "net.ipv6.conf.<имя_сетевого_интерфейса>.accept_ra" (можно проверить командой "sysctl net.ipv6.conf| grep accept_ra"), который по умолчанию отключён в RHEL и Ubuntu для внешних сетевых интерфейсов, но включён для интерфейса loopback, что допускает атаку с той же системы.
Уязвимость проявляется начиная с ветки 6.6 и устранена в версиях 6.6.9 и 6.7. Из дистрибутивов, в которых поставляются пакеты с ядром 6.6, можно отметить Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva и Manjaro.
Linux / Линукс🥸
Раскрыта информация об уязвимости (CVE-2023-6200) в сетевом стеке ядра Linux. При определённых обстоятельствах она позволяет злоумышленнику из локальной сети добиться выполнения своего кода через отправку специально оформленного пакета ICMPv6 с сообщением RA (Router Advertisement), предназначенным для анонсирования информации о маршрутизаторе.
Уязвимость проявляется в системах со включённой поддержкой IPv6 и активным sysctl-параметром "net.ipv6.conf.<имя_сетевого_интерфейса>.accept_ra" (можно проверить командой "sysctl net.ipv6.conf| grep accept_ra"), который по умолчанию отключён в RHEL и Ubuntu для внешних сетевых интерфейсов, но включён для интерфейса loopback, что допускает атаку с той же системы.
Уязвимость проявляется начиная с ветки 6.6 и устранена в версиях 6.6.9 и 6.7. Из дистрибутивов, в которых поставляются пакеты с ядром 6.6, можно отметить Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva и Manjaro.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
Опубликован дистрибутив Helios на базе Illumos. Поддержка Solaris 11.4 продлена до 2037 года
В рамках подготовки к первому публичному выпуску под свободной лицензией MPL-2.0 открыты исходные тексты сборочного инструментария и специфичных компонентов дистрибутива Helios, применяемого для обеспечения работы программно управляемых облачных серверных стоек Oxide Rack. Весь программный стек платформы Oxide является открытым.
Среди входящих в состав компонентов:
▪️ boot-image-tools - инструментарий для создания загрузочных образов.
▪️ helios-omnios-build, garbage-compactor - сборочные скрипты для пакетов базовой части ОС.
▪️ helios-omnios-extra - сборочные скрипты для расширенного набора пакетов.
▪️ helios-engvm - инструментарий для формирования окружения для разработки и создания образов Helios на физических или виртуальных x86-системах под управлением Ubuntu 20.04.01 с KVM/QEMU.
И другие компоненты.
Linux / Линукс🥸
В рамках подготовки к первому публичному выпуску под свободной лицензией MPL-2.0 открыты исходные тексты сборочного инструментария и специфичных компонентов дистрибутива Helios, применяемого для обеспечения работы программно управляемых облачных серверных стоек Oxide Rack. Весь программный стек платформы Oxide является открытым.
Среди входящих в состав компонентов:
▪️ boot-image-tools - инструментарий для создания загрузочных образов.
▪️ helios-omnios-build, garbage-compactor - сборочные скрипты для пакетов базовой части ОС.
▪️ helios-omnios-extra - сборочные скрипты для расширенного набора пакетов.
▪️ helios-engvm - инструментарий для формирования окружения для разработки и создания образов Helios на физических или виртуальных x86-системах под управлением Ubuntu 20.04.01 с KVM/QEMU.
И другие компоненты.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Раскрыты сведения о двух уязвимостях (
Проблемы были устранены в выпуске FFmpeg 6.1, но так как поддержка JPEG XL включена начиная с ветки 6.1, уязвимость затрагивает только системы, использующие экспериментальные сборки FFmpeg 6.1 или переносящие из них изменения. Проблемы специфичны для FFmpeg и не проявляются в эталонной реализации libjxl.
Linux / Линукс🥸
CVE-2024-22860
, CVE-2024-22862
) в поставляемом в пакете FFmpeg декодировщике формата JPEG XL, которые могут привести к выполнению кода злоумышленника при обработке в FFmpeg специально оформленных изображений. Проблемы были устранены в выпуске FFmpeg 6.1, но так как поддержка JPEG XL включена начиная с ветки 6.1, уязвимость затрагивает только системы, использующие экспериментальные сборки FFmpeg 6.1 или переносящие из них изменения. Проблемы специфичны для FFmpeg и не проявляются в эталонной реализации libjxl.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
Инженер Google нарвался на гнев Линуса Торвальдса 🖕
На этой неделе разгорелся конфликт из-за предложений инженера Google Стивена Ростедта по использованию «inode» в файловых системах.
Inode — это уникальный идентификатор метаданных в Linux. В течение нескольких недель на почтовой рассылке ядра шли дебаты о роли и назначении inode. Многие считают, что они до сих пор нужны для архивации файлов утилитой tar. Однако Торвальдс высказал противоположное мнение, заявив, что пора отказаться от устаревшей концепции, поскольку номера inode в современных файловых системах больше не являются по-настоящему уникальными.
Несмотря на это, Ростедт предложил реализовать глобальную уникальность всех номеров inode в Linux, чтобы решить потенциальные проблемы. После этого Торвальдс обвинил инженера в непонимании сути и усложнении кода, а также в копировании функций VFS-слоя файловой системы без осознания последствий.
Полное сообщение на картинке.
После критики Ростедт признал свои пробелы в понимании inode и пообещал разобраться в этом вопросе. Торвальдс же, в свою очередь, не стал продолжать спор, сославшись на нехватку времени из-за других задач.
Linux / Линукс🥸
На этой неделе разгорелся конфликт из-за предложений инженера Google Стивена Ростедта по использованию «inode» в файловых системах.
Inode — это уникальный идентификатор метаданных в Linux. В течение нескольких недель на почтовой рассылке ядра шли дебаты о роли и назначении inode. Многие считают, что они до сих пор нужны для архивации файлов утилитой tar. Однако Торвальдс высказал противоположное мнение, заявив, что пора отказаться от устаревшей концепции, поскольку номера inode в современных файловых системах больше не являются по-настоящему уникальными.
Несмотря на это, Ростедт предложил реализовать глобальную уникальность всех номеров inode в Linux, чтобы решить потенциальные проблемы. После этого Торвальдс обвинил инженера в непонимании сути и усложнении кода, а также в копировании функций VFS-слоя файловой системы без осознания последствий.
Я не хочу видеть ни одного патча eventfs, с которым не было бы связано реального отчета об ошибке. И в следующий раз, когда я увижу, что вы копируете функции VFS (или любые другие основные функции), не понимая, что, черт возьми, они делают и зачем они это делают, я собираюсь поместить вас в свой спам-фильтр на неделю.
Полное сообщение на картинке.
После критики Ростедт признал свои пробелы в понимании inode и пообещал разобраться в этом вопросе. Торвальдс же, в свою очередь, не стал продолжать спор, сославшись на нехватку времени из-за других задач.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
😁47 24👍13
Уязвимость в glibc, позволяющая получить root-доступ в системе
Уязвимость (CVE-2023-6246) в стандартной Си-библиотеке Glibc позволяет через манипуляции с запуском SUID-приложений добиться выполнения своего кода с повышенными привилегиями. Исследователи смогли разработать рабочий эксплоит, позволяющий получить права root через манипуляцию с аргументами командной строки при запуске утилиты su.
Наличие уязвимости подтверждено в Debian 12/13, Ubuntu 23.04/23.10 и Fedora 37-39. Уязвимость может быть эксплуатирована только локально.
Исправление уязвимости включено в кодовую базу Glibc и войдёт в состав завтрашнего обновления Glibc 2.39, наряду с исправлением ещё двух уязвимостей (CVE-2023-6779, CVE-2023-6780).
✅ Протестировать подверженность системы уязвимости можно следующей командой:
Linux / Линукс🥸
Уязвимость (CVE-2023-6246) в стандартной Си-библиотеке Glibc позволяет через манипуляции с запуском SUID-приложений добиться выполнения своего кода с повышенными привилегиями. Исследователи смогли разработать рабочий эксплоит, позволяющий получить права root через манипуляцию с аргументами командной строки при запуске утилиты su.
Наличие уязвимости подтверждено в Debian 12/13, Ubuntu 23.04/23.10 и Fedora 37-39. Уязвимость может быть эксплуатирована только локально.
Исправление уязвимости включено в кодовую базу Glibc и войдёт в состав завтрашнего обновления Glibc 2.39, наряду с исправлением ещё двух уязвимостей (CVE-2023-6779, CVE-2023-6780).
$ (exec -a "printf '%0128000x' 1" /usr/bin/su < /dev/null)
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17 7 5
Please open Telegram to view this post
VIEW IN TELEGRAM
Релиз прошивки Ubuntu Touch OTA-4 Focal
После трёх месяцев разработки проект UBports, который взял в свои руки разработку мобильной платформы Ubuntu Touch, после того как от неё отстранилась компания Canonical, представил прошивку OTA-4 Focal (over-the-air). Это четвёртый выпуск Ubuntu Touch, основанный на пакетной базе Ubuntu 20.04 (старые выпуски базировались на Ubuntu 16.04). Проектом также развивается экспериментальный порт рабочего стола Unity 8, который переименован в Lomiri. Изменения.
Обновление Ubuntu Touch OTA-4 Focal в ближайшие дни будет сформировано для устройств Asus Zenfone Max Pro M1, Fairphone 3/3+ и 4, F(x)tec Pro1 X, Google Pixel 3a/3a XL, Vollaphone 22, Vollaphone X23, Vollaphone X, Vollaphone, JingPad A1, Oneplus One/5/6, Sony Xperia X, Samsung Galaxy S7, Xiaomi Poco X3 NFC / X3, Xiaomi Redmi Note 9, 9 Pro, 9 Pro Max и 9S, Xiaomi Poco M2 Pro. На стадии бета-тестирования находятся сборки для Pine64 PinePhone, PinePhone Pro и PineTab и PineTab2.
Linux / Линукс🥸
После трёх месяцев разработки проект UBports, который взял в свои руки разработку мобильной платформы Ubuntu Touch, после того как от неё отстранилась компания Canonical, представил прошивку OTA-4 Focal (over-the-air). Это четвёртый выпуск Ubuntu Touch, основанный на пакетной базе Ubuntu 20.04 (старые выпуски базировались на Ubuntu 16.04). Проектом также развивается экспериментальный порт рабочего стола Unity 8, который переименован в Lomiri. Изменения.
Обновление Ubuntu Touch OTA-4 Focal в ближайшие дни будет сформировано для устройств Asus Zenfone Max Pro M1, Fairphone 3/3+ и 4, F(x)tec Pro1 X, Google Pixel 3a/3a XL, Vollaphone 22, Vollaphone X23, Vollaphone X, Vollaphone, JingPad A1, Oneplus One/5/6, Sony Xperia X, Samsung Galaxy S7, Xiaomi Poco X3 NFC / X3, Xiaomi Redmi Note 9, 9 Pro, 9 Pro Max и 9S, Xiaomi Poco M2 Pro. На стадии бета-тестирования находятся сборки для Pine64 PinePhone, PinePhone Pro и PineTab и PineTab2.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29 1
Приёмы командной строки
▪️ Как обращаться с каталогами с большим количеством файлов
Возможно, вы сталкивались с этой проблемой: вы пытались выполнить ls в каталоге с очень большим количеством файлов, но команда выдавала ошибку "список аргументов слишком длинный". Есть несколько вариантов обойти это ограничение.
• Использование встроенной командной строки
Встроенный Bash не имеет ограничения ARG_MAX.
• Используйте "find", когда вам нужны параметры форматирования.
Или с помощью форматирования, имитирующего ls:
▪️ Предположим, что вы хотите сжать все файлы в данном каталоге из предыдущего примера.
Нужен способ регулировать количество запросов на сжатие, чтобы вы не запускали больше процессов, чем количество имеющихся у вас процессоров.
Попробуем сделать это с помощью find и xargs:
▪️ Совместимость процессора с набором задач для максимального увеличения времени выполнения
Несмотря на ограничение количества процессоров, некоторые интенсивные задания могут замедлять другие процессы на вашем компьютере при поиске ресурсов. Есть несколько вещей, которые вы можете сделать, чтобы держать производительность сервера под контролем, например, с помощью taskset.
Команда taskset используется для установки или получения привязки к процессору запущенного процесса с учетом его pid или для запуска новой команды с заданным привязкой к процессору.
В общем, мы всегда хотим оставлять один из процессоров "свободным" для задач операционной системы. Обычно ядро довольно хорошо работает, привязывая запущенные процессы к определенному процессору, чтобы избежать переключения контекста, но если вы хотите принудительно установить, на каких процессорах будет выполняться ваш процесс, вы можете использовать taskset.
#Bash
Linux / Линукс🥸
▪️ Как обращаться с каталогами с большим количеством файлов
Возможно, вы сталкивались с этой проблемой: вы пытались выполнить ls в каталоге с очень большим количеством файлов, но команда выдавала ошибку "список аргументов слишком длинный". Есть несколько вариантов обойти это ограничение.
• Использование встроенной командной строки
Встроенный Bash не имеет ограничения ARG_MAX.
• Используйте "find", когда вам нужны параметры форматирования.
find /data/test_xargs -type f -ls -printf '%name'
Или с помощью форматирования, имитирующего ls:
find /data/test_xargs -type f -printf '%f\n
▪️ Предположим, что вы хотите сжать все файлы в данном каталоге из предыдущего примера.
Нужен способ регулировать количество запросов на сжатие, чтобы вы не запускали больше процессов, чем количество имеющихся у вас процессоров.
Попробуем сделать это с помощью find и xargs:
find /data/test_xargs -type f -print0| xargs -0 -P $(($(nproc)-1)) -I % gzip %
▪️ Совместимость процессора с набором задач для максимального увеличения времени выполнения
Несмотря на ограничение количества процессоров, некоторые интенсивные задания могут замедлять другие процессы на вашем компьютере при поиске ресурсов. Есть несколько вещей, которые вы можете сделать, чтобы держать производительность сервера под контролем, например, с помощью taskset.
Команда taskset используется для установки или получения привязки к процессору запущенного процесса с учетом его pid или для запуска новой команды с заданным привязкой к процессору.
В общем, мы всегда хотим оставлять один из процессоров "свободным" для задач операционной системы. Обычно ядро довольно хорошо работает, привязывая запущенные процессы к определенному процессору, чтобы избежать переключения контекста, но если вы хотите принудительно установить, на каких процессорах будет выполняться ваш процесс, вы можете использовать taskset.
taskset -c 1,2,3,4,5,6,7 find /data/test_xargs -type f -print0| xargs -0 -P $(($(nproc)-1)) -I % gzip %
#Bash
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
После шести месяцев разработки опубликован релиз системной библиотеки GNU C Library (glibc) 2.39. Улучшения в Glibc 2.39:
▪️ Обеспечена поддержка теневого стека (shadow stack), появившегося в ядре Linux 6.6 и позволяющего блокировать работу многих эксплоитов, используя аппаратные возможности процессоров Intel для защиты от перезаписи адреса возврата из функции в случае переполнения буфера в стеке.
▪️ Для платформы Linux реализованы функции posix_spawnattr_getcgroup_np и posix_spawnattr_setcgroup_np, а также флаг POSIX_SPAWN_SETCGROUP, которые позволяют настроить cgroupv2 в новом процессе при помощи функций posix_spawn и posix_spawnp, исключив возникновение состояния гонки.
▪️ Для платформы Linux добавлена функция pidfd_getpid для определения идентификатора процесса (PID) на основе файлового дескриптора процесса (PIDFD), возвращённого функциями pid_spawn, fork_np и pidfd_open.
И другие изменения.
Linux / Линукс🥸
▪️ Обеспечена поддержка теневого стека (shadow stack), появившегося в ядре Linux 6.6 и позволяющего блокировать работу многих эксплоитов, используя аппаратные возможности процессоров Intel для защиты от перезаписи адреса возврата из функции в случае переполнения буфера в стеке.
▪️ Для платформы Linux реализованы функции posix_spawnattr_getcgroup_np и posix_spawnattr_setcgroup_np, а также флаг POSIX_SPAWN_SETCGROUP, которые позволяют настроить cgroupv2 в новом процессе при помощи функций posix_spawn и posix_spawnp, исключив возникновение состояния гонки.
▪️ Для платформы Linux добавлена функция pidfd_getpid для определения идентификатора процесса (PID) на основе файлового дескриптора процесса (PIDFD), возвращённого функциями pid_spawn, fork_np и pidfd_open.
И другие изменения.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8