Как стать автором
Обновить
206.1

Настройка Linux *

Вечный кайф

Сначала показывать
Порог рейтинга

Мейнтейнер блочной подсистемы в ядре Linux, а также создатель io_uring и планировщиков ввода/вывода CFQ, Deadline и Noop Йенс Аксбо (Jens Axboe) продолжил свои эксперименты с оптимизацией ввода/вывода в ядре Linux. Он занялся оптимизацией работы планировщиков ввода/вывода BFQ и mq-deadline, являющиеся узким местом как минимум в случае скоростных накопителей NVMe.

Как показало изучение ситуации, одной из ключевых причин неоптимальной производительности подсистем планировщиков ввода/вывода стали проблемы с конкурирующими блокировками (lock contention, попытка получить блокировку, удерживаемую другим потоком). Благодаря мерам, нацеленным на снижение соперничества при обработке блокировок, таким как сериализация диспетчеризации и вставки запросов, скорость работы планировщиков выросла в ряде ситуаций в разы (при пересчёте в IOPS в рамках тестов).

При тестировании планировщика BFQ утилитой fio производительность выросла с 567К до 1551К операций ввода/вывода в секунду, а конкуренция блокировок снизилась с 96% до 30%. В случае с mq-deadline производительность после применения предложенных Аксбо патчей при использовании NVMe-накопителя увеличилась с 1070К до 2560K операций ввода/вывода в секунду (IOPS), а конкуренция блокировок снизилась с 94% до 23%.

Ранее Аксбо сообщил, что смог увеличить число операций ввода/вывода в секунду (IOPS) на 6% (или даже больше для полновесных конфигураций ядер Linux), потратив всего 5 минут на внесение правок в код проекта.

Теги:
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Вышел релиз дистрибутива DietPi 9.0, предназначенного для использования на одноплатных ПК на базе архитектур ARM и RISC-V, включая Raspberry Pi, Orange Pi, NanoPi, BananaPi, BeagleBone Black, Rock64, Rock Pi, Quartz64, Pine64, Asus Tinker, Odroid и VisionFive 2.

Дистрибутив построен на пакетной базе Debian и доступен в сборках для более, чем 50 плат. DietPi может применяться для создания компактных окружений для виртуальных машин и обычных ПК на базе архитектуры x86_64. Сборки для плат отличаются компактностью (в среднем 130 МБ) и занимают меньше места на накопителе, по сравнению с Raspberry Pi OS и Armbian.

DietPi оптимизирован для минимального потребления ресурсов и развивает несколько собственных утилит: интерфейс для установки приложений DietPi-Software, конфигуратор DietPi-Config, систему резервного копирования DietPi-Backup, механизм ведения временных логов DietPi-Ramlog (поддерживается rsyslog), интерфейс для установки приоритетов выполнения процессов DietPi-Services и доставку обновлений DietPi-Update. Утилиты предоставляют консольный интерфейс с меню и диалогами на базе whiptail. Также поддерживается режим полной автоматизации установки, позволяющий провести инсталляцию на платы без участия пользователя.

В DietPi 9.0 прекращена поддержка сборок на базе Debian 10 и обновлены сборки на основе репозиториев Debian 11 и Debian 12.

Источник: OpenNET.

Теги:
Рейтинг0
Комментарии0

18 января 2024 года Линус Торвальдс вернулся в сеть спустя пять суток без электричества у себя дома в Портленде, штат Орегон.

13 января 2024 года Линус Торвальдс объявил, что ему пришлось отложить текущие задачи по разработке ядра Linux 6.8 из-за сильного зимнего шторма, обрушившегося на США, включая Портленд, штат Орегон. У Торвальдса пропало электричество и доступ в Интернет.

В последнем сообщении Линуса Торвальдса, говорилось, что его пятый день «отпуска» продолжается, но коммунальная компания надеется восстановить подачу электроэнергии к сегодняшнему вечеру, хотя вчера она давала аналогичное обещание, но это не сработало.

В итоге сегодня после пяти суток перерыва Торвальдс всё же смог продолжить работу над ядром Linux 6.8 и начал проявлять большую активность в Linux Git.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Разработчик «Базальт СПО» создал приложение для запуска популярных видеоигр на операционных системах Linux.

Благодаря приложению PortProton большинство популярных видеоигр, созданных для Windows, легко и удобно запускать на компьютерах с операционными системами «Альт».

PortProton создает и автоматически настраивает префикс — каталог, в котором имитируется рабочая среда Windows и запускаются видеоигры.

Список установки содержит следующие популярные онлайн-игры:
?«Мир танков»;
?«Мир кораблей»;
?League of Legends;
?Genshin Impact.

Вручную можно инсталлировать любые другие игры, например:
?Starfield;
?Baldur's Gate 3;
?Resident Evil 4;
?Cyberpunk 2077.

Инструкция по установке PortProton. Дополнительная информация по созданию проекта PortProton опубликована в этой статье на Хабре.

Теги:
Всего голосов 5: ↑4 и ↓1+3
Комментарии5

11 января 2024 года в состав кодовой базы, на основе которой формируется ядро Linux 6.8, мейнтейнерами проекта был принят набор изменений, значительно повышающих производительность TCP-стека. В случаях обработки множества параллельных TCP-соединений ускорение может достигать 40%.

Улучшение стало возможно, потому что переменные в структурах сетевого стека (socks, netdev, netns, mibs) располагались по мере добавления, что было определено историческими причинами. Пересмотр размещения переменных в структурах с целью повышения эффективности работы с процессорным кэшем (минимизации использование строк кэша на стадии передачи данных) и оптимизации доступа к переменным привёл к заметному увеличению скорости работы TCP, особенно в случае большого числа одновременных TCP соединений.

Источник: OpenNET.

Теги:
Всего голосов 17: ↑17 и ↓0+17
Комментарии0

Забавно, что статьи удалить нельзя, а посты можно. Я попробовал, поэтому для восстановления нумерологической идиллии придётся добавить один.

Итак, десктопное окружение супермегадистрибутива LXCex: https://github.com/amateur80lvl/lxcex/blob/main/book/ch5-desktop-environment.md

Там написано:

  • Какая минимальная конфигурация нужна для запуска вложенных композиторов из LXC контейнеров.

  • Что нужно сделать чтобы заработал DRM.

  • Как собрать всё в кучу. Самая корявая часть, сплошной TBD, скорее вопросы чем ответы.

  • Как запустить XFCE в контейнере LXC с выводом в Sway на хосте.

Всех истинных ортодоксов с наступающим старым новым годом! Вздрогнем ещё разок - и на работу, восстанавливаться до следующего повода.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Состоялся релиз динамически управляемого межсетевого экрана firewalld 2.1, реализованного в форме обвязки над пакетными фильтрами nftables и iptables. Firewalld запускается в виде фонового процесса, позволяющего динамически изменять правила пакетного фильтра через D-Bus, без необходимости перезагрузки правил пакетного фильтра и без разрыва установленных соединений. Проект задействован во многих дистрибутивах Linux, включая RHEL 7+, Fedora 18+ и SUSE/openSUSE 15+.

Код проекта написан на языке Python и распространяется под лицензией GPLv2.

Для управления межсетевым экраном используется утилита firewall-cmd, которая при создании правил отталкивается не от IP-адресов, сетевых интерфейсов и номеров портов, а от названий служб.

Для изменения конфигурации межсетевого экрана можно использовать графический интерфейс firewall-config (GTK) и апплет firewall-applet (Qt). Поддержка управления межсетевым экраном firewalld через D-BUS API firewalld доступна в NetworkManager, libvirt, podman, docker и fail2ban.

Ключевые изменения в версии 2.1:

  • добавлен сервис для использования DNS поверх протокола QUIC (DNS over QUIC, DoQ, RFC 9250);

  • появилась поддержка типов сообщений ICMPv6 MLD (Multicast Listener Discovery);

  • в файл конфигурации firewalld.conf добавлена опция ReloadPolicy;

  • добавлены сервисы для приёма клиентских SMTP-запросов на TCP-порту 587 (mail submission), для поддержки ALVR (стриминг VR-игр с ПК на портативные устройства по Wi-Fi) и для поддержки протокола VRRP.

Источник: OpenNET.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Решил обновить ОС для небольшого домашнего NAS (Intel N3050 (x86), 4GB, WD RED 1TB). На диске было много данных и перемещать для переразбивки диска не было никакого желания. Варианты были такие:

  1. DietPi (на основе Debian 12) Для установки требует чистый диск - все что было стирается и диск переразбивается, инсталлятор на .iso просто распаковывает образ. Рассчитано на начинающих, есть воспомогательные утилиты и установщик софта. Система выдает на терминал дикое количество логов, в интерфейсе есть всякие свистелки-рюшечки. Выглядит необычно. А кое что прибито гвоздями.

  2. Armbian minimal CLI (на основе Debian 12). Для установки требует чистый диск, записывается образ системы, который потом расширяется на весь объем . Даже в minimal версии есть конфигуратор который и сеть настроит и софт поставит, сразу настроен файл подкачки zswap (сжатый, в оперативной памяти) и ротация логов, и всякие скрипты. Всегда оно надо?

  3. Debian (12, netinstall) В полноценном инсталляторе сразу можно указать куда ставить, и (не)перезабивать диск. В минимальной инсталляции в системе будет вообще ничего (даже sudo), все из командной сроки ставится. Выбор тех кто знает что ему нужно.

  4. XigmaNAS (FreeBSD). Для установки требует чистый диск - все что было стирается и диск переразбивается, инcталлятор на .iso как бы работает в live, но неполноценно. Сразу прикручен web-интерфейс и сконфигурированный набор софта, а чего то своего не поставить. Выбор скорее для NAS с несколькими дисками в ZFS, и возможно без интернета.

Теги:
Всего голосов 9: ↑5 и ↓4+1
Комментарии1

Вышел проект Maestro по разработке на Rust легковесного Unix-подобного ядра, реализующего подмножество системных вызовов ядра Linux, достаточное для создания типовых рабочих окружений. Проект был создан в 2018 году и вначале использовал язык C, но в 2020 году был полностью перезапущен с нуля с учётом накопленного опыта и перешёл на Rust для снижения вероятности совершения ошибок, возникающих при работе с памятью.

Код проекта распространяется под лицензией MIT. Помимо ядра проектом на языке Rust также развиваются X11-сервер, пакетный менеджер, загрузчик, инсталлятор, наборы утилит и другие компоненты, необходимые для построения операционной системы.

Ядро на Rust имеет монолитную архитектуру и пока поддерживает только системы x86 в 32-разрядном режиме. Кодовая база ядра насчитывает 48.8 тыс. строк кода (для сравнения в ядре Linux - 33 млн. строк кода). Возможен запуск в QEMU, VirtualBox или поверх оборудования. На текущем этапе развития в Maestro реализован 31% (135 из 437) системных вызовов Linux, чего достаточно для загрузки консольного окружения на базе bash и стандартной С-библиотеки Musl. В окружении на базе Maestro также могут выполняться некоторые утилиты из набора GNU coreutils, такие как ls, cat, mkdir, rm, rmdir, uname и whoami.

Источник: OpenNET.

Теги:
Всего голосов 15: ↑15 и ↓0+15
Комментарии1

Состоялся выпуск системы синхронизации точного времени NTPsec 1.2.3. Проект является форком эталонной реализации протокола NTPv4 (NTP Classic 4.3.34), сфокусированной на переработке кодовой базы с целью повышения безопасности (выполнена чистка устаревшего кода, задействованы методы предотвращения атак, защищённые функции для работы с памятью и строками).

Проект NTPsec развивается при участии некоторых разработчиков оригинального NTP Classic, инженеров из Hewlett Packard и Akamai Technologies, а также проектов GPSD и RTEMS. Исходные тексты NTPsec распространяются под лицензиями BSD, MIT и NTP.

Обновления в NTPsec:

  • изменено выравнивание пакетов управляющего протокола Mode 6 (может привести к нарушению совместимости с классическим NTP). Протокол Mode 6 используется для передачи сведений о состоянии сервера и изменении поведения сервера на лету;

  • в ntpq по умолчанию задействован алгоритм шифрования AES;

  • при помощи механизма Seccomp обеспечена блокировка некорректных имён системных вызовов;

  • включён ежечасный сброс некоторой статистики. Добавлены лог-файлы с записываемой каждый час статистикой NTS и NTS-KE. Добавлено отражение в логе ошибок и статистики ms-sntp;

  • по умолчанию включена сборка с отладочными символами;

  • добавлена поддержка указания списка допустимых эллиптических кривых ECDH (настройка tlsecdhcurves), поддерживаемые в OpenSSL;

  • в buildprep добавлена опция update;

  • в JSON-выводе для ntpdig обеспечен показ данных о задержке пакетов.

Источник: OpenNET.

Теги:
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Спустя год разработки состоялся релиз Linux-дистрибутива wattOS 13, построенного на пакетной базе Debian и поставляемого с графическим окружением LXDE, оконным менеджером Openbox и файловым менеджером PCManFM.

Дистрибутив wattOS 13 является простым, быстрым, минималистичным и пригодным для работы на устаревшем оборудовании. Проект был основан в 2008 году и изначально развивался как минималистичная редакция Ubuntu.

Размер установочного iso-образа wattOS 13 составляет 1.4 ГБ, поддерживается как работа в Live-режиме, так и установка на жесткий диск.

В новой версии wattOS 13 осуществлён переход на пакетную базу Debian 12 (прошлый выпуск был основан на Debian 11, а позапрошлый на Ubuntu 16.04) и ядро Linux 6.1.

В качестве инсталлятора в wattOS 13 применяется Calamares. Имеется поддержка пакетов в формате Flatpak и возможность установки deb-пакетов при помощи утилиты gdebi.

Источник: OpenNET.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии1

Разработчики Gentoo Linux, изначально ориентированного на формирование окружения с использованием сборки программ из исходного кода, объявили о введении в строй репозитория готовых бинарных пакетов. Пакетный менеджер Portage уже много лет поддерживает установку бинарных пакетов, но до сих пор бинарные пакеты предоставлялись лишь выборочно - предполагалось, что дистрибутив в основном распространяет метаданные для сборки, но пользователь может собрать бинарные пакеты на одной из своих систем и использовать на других компьютерах.

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

Для архитектур отличных от amd64 и arm64 сборки Gentoo Linux ограничены базовыми системными компонентами и еженедельными обновлениями. Для систем amd64 и arm64 бинарные пакеты охватывают и пользовательские приложения, включая пакеты с LibreOffice, Docker, Xfce, KDE и GNOME. Всего на зеркалах размещено более 20 ГБ бинарных пакетов, обновляемых ежедневно для стабильной ветки Gentoo.

Источник: OpenNET.

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Собрал в кучу всё консольное https://github.com/amateur80lvl/lxcex

Одно дело - сесть и настроить, другое - пройтись по прошлым заметкам и проверить всё-всё-всё с нуля. Муторное это дело для меня. Гуй точно в этом году не осилю.

Это моя тринадцатая публикация, и в сочетании с 90 оставленными комментариями получаются очень красивые числа, чтобы завязать здесь гадить. Не знаю почему я зацепился за этот островок, наверное, какой-то смысл в этом был, но пора плыть дальше.

Пользуясь случаем поздравляю всех с наступающим новым годом. Каждому желаю сбычи всех мечт, каждому программисту - написать свой язык, а то за последние десять лет ничего достойного изучения так и не появилось. Придётся пока учить испанский, а то стыдно уже перед испаноязычными френдами за свой скудный словарный запас hola como estas.

Всем кто решил свалить из гондураса, но ещё не успел - удачи, всем кто решил остаться - тоже удачи!

Теги:
Всего голосов 5: ↑4 и ↓1+3
Комментарии0

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

В подсистеме Netfilter выявлена уязвимость (CVE-2023-6817), потенциально позволяющая локальному пользователю повысить свои привилегии в системе. Проблема вызвана обращением к памяти после её освобождения (use-after-free) в модуле nf_tables, обеспечивающем работу пакетного фильтра nftables. Уязвимость проявляется начиная с версии ядра Linux 5.6. Исправление уязвимости предложено в тестовом выпуске ядра Linux 6.7-rc5 и перенесено в актуальные стабильные ветки 5.10.204, 5.15.143, 6.1.68 и 6.6.7.

Проблема вызвана ошибкой в функции nft_pipapo_walk, из-за которой в процессе перебора элементов PIPAPO (Pile Packet Policies) не проверялось наличие дубликатов, что приводило к двойному освобождению памяти. Для проведения атаки требуется наличие доступа к nftables, который можно получить при наличии прав CAP_NET_ADMIN в любом пространстве имён идентификаторов пользователей (user namespace) или сетевом пространстве имён (network namespace), которые могут предоставляться, например, в изолированных контейнерах. Для тестирования своих систем опубликован прототип эксплоита.

Источник: OpenNET.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Посты это хорошо, но малобукаф. Подумал было о гитхабе, но ведь там ни строчки не будет по-русски. Так что продолжим тут.

Я не первый, кто слез с Qubes и пытается замутить аналогичное, но полегче. Я подсел на LXC и вот что получается:

  • Базовая система - Devuan. В терминах Qubes это Dom0. Тут крутится Sway под непривилегированным юзером.

  • Сетевой контейнер. Тут живут все физические адаптеры, несложный фаервол на nftables с DNAT ssh в базовую систему. Плюс, apt-cacher-ng. Внешний адрес может меняться как угодно, внутренний, остаётся по-настоящему статическим и никакая мало-мальски сложная маршрутизация никогда не слетает. TODO: udev rule для закидывания USB адаптеров в этот контейнер.

  • Дополнительные сетевые контейнеры для всяких VPN, Tor, и прочего.

  • Набор пользовательских контейнеров. Гуёвые софты работают в Weston, который получается вложенный в Sway. Это самый минималистичный рабочий вариант. Ничего другого я пока запустить не смог.

Логин-менеджера нет. Есть вот такое в /home/user/.profile:

# if logged in from console
if [ x"$TERM" = "xlinux" ] ; then
    # start Sway
    if [ ! -e "${XDG_RUNTIME_DIR}/wayland-1" ] ; then
        sway
    fi
fi

Интеграция с контейнерами прописана в конфиге sway вот так:

exec_always sudo /usr/local/bin/start-user-containers user

Скрипт устанавливает нужные ACL и запускает контейнер, из которого Weston стучится к Sway.

Всё супер минималистично, я же развращён XFCE и пока только плююсь. Но с оптимизмом.

Всё-таки пора заводить репку.

Всем пока, спокойной ночи.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

Линус Торвальдс выпустил Linux 6.7-rc7 на день раньше (24.12), в рамках подготовки к празднованию Рождества.

Обычно я выпускаю RC-релизы в воскресенье днем, но поскольку завтра сочельник и начнутся празднества (или, по крайней мере, я несколько раз поеду в магазин за всем, что мы забыли - не прошло и года без некоторых фраз от близких в последнюю минуту «О, нам нужно то...»), вместо этого я делаю rc7 в субботу.

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

Итак, на следующих выходных выйдет rc8, и я ожидаю, что он будет небольшим.

А через неделю, возможно, мы вернемся к более нормальному графику. Может быть.

В любом случае, сам rc7 выглядит вполне нормально. На самом деле он совсем немного больше, чем был rc6, и ничто в нём не выглядит странным.

Пожалуйста, попробуйте поработать, если у вас есть время и силы, но давайте посмотрим правде в глаза: я ожидаю, что все будет очень тихо, и это будет одна из тех недель, когда «ничего не происходит». Потому что даже если вы не празднуете это время года, вы можете воспользоваться тишиной и покоем.

Линус.

21 декабря Линус Торвальдс сообщил всем причастным разработчикам, что выпуск стабильной версии Linux 6.7 переносится с 31 декабря (канун Нового года) на 7 января для уменьшения стресса мейнтейнеров проекта из-за праздников.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

Lxcfs штука, конечно, хорошая, но с тем условием, что рут благонадёжен. Иначе он сделает, например, umount /proc/uptime и - вуаля. Ну вы поняли.

Как-то раз брал я VPS-ку в одной канадской компании, на LXC. Было весело. Не знаю, живы они сейчас или нет.

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

Например, вэйланд копается в /sys, чтобы найти девайс для аппаратного рендеринга. Давайте его приоткроем, монтируя лишнее в /dev/null и tmpfs:

mount -t sysfs -o noexec,nodev,nosuid sysfs "${LXC_ROOTFS_MOUNT}/sys"
clobber "${LXC_ROOTFS_MOUNT}/sys" "dev devices"
clobber "${LXC_ROOTFS_MOUNT}/sys/dev" "char"
clobber "${LXC_ROOTFS_MOUNT}/sys/devices" "pci0000:00"
clobber "${LXC_ROOTFS_MOUNT}/sys/devices/pci0000:00" "0000:00:02.0"

Все эти pci0000:00 у вас могут быть другими, их лучше вытащить из /dev/dri/by-path, но для примера сойдёт и так. Функцию clobber см. в комментах. Я не буду пытаться её впихнуть в оставшиеся 59 символов.

Положите это в mount hook, я использую тот, что от lxcfs. Саму конфигурацию контейнера надо развернуть в одну портянку, вставив все include, и вычистить все mount.auto. Их там есть.

С procfs та же хрень, но её и сами сможете победить аналогичным образом. Кстати, у неё имеются годные опции для монтирования.

И никогда ничего не запускайте из-под рута. Даже в непривилегированном контейнере.

Теги:
Всего голосов 5: ↑5 и ↓0+5
Комментарии1

Естественная нейронка каким-то непонятным образом отличается от искуственной казуальностью озарений. Вот стоило только написать предыдущий шитпост, как она мне шепчет: чё тупишь? Примонтируй wayland-1 в каталог LXC контейнера и не будет тебе замусоривания XDG_RUNTIME_DIR на хосте.

И правда. Но вот только только красивая идея "всё есть файл" разбивается об особенности реализации. Я не знаю об какие, но сделать mount --bind для каталога - можно, для файла - можно, для девайса - можно, а для сокета - опаньки.

Ладно, придётся примонтировать весь XDG_RUNTIME_DIR хоста уж куда-нибудь и воспользоваться ссылками. Итак, на хосте крутим Sway под обычным юзером с id=1000, а в контейнере запускаем Weston (на самом деле без разницы, мне удобнее Weston). В конфиг LXC контейнера добавляем:

lxc.mount.entry = tmpfs run tmpfs noexec,nodev,nosuid,mode=755,size=4M 0 0
lxc.mount.entry = /run/user/1000 run/host-xdg-runtime-dir none bind,create=dir 0 0

Если в контейнере есть что-то похожее на /etc/init.d/mountkernfs.sh который монтирует /run - отключаем.

Для юзера в контейнере надо сделать:

mkdir -p /run/user/1000
chown user:user /run/user/1000
chmod 700 /run/user/1000
ln -s /run/host-xdg-runtime-dir/wayland-1 /run/user/1000/
ln -s /run/host-xdg-runtime-dir/wayland-1.lock /run/user/1000/

У меня это пока в виде примочки /etc/runit/boot-run/20-userdir-hack.sh, потом доделаю.

Ссылка на lock-файл нужна, иначе Weston удалит символическую ссылку wayland-1, думая, что это сокет. В приципе, может это даже и фича.

Теги:
Рейтинг0
Комментарии0

Решил испробовать хабропост для сохранения рабочих заметок. Но можно ли эффективно нагадить в 1500 знаков? Как любителю минимализма очень интересно. Итак:

В своих попытках запустить вложенный weston из LXC контейнера заметил такую особенность: если на минимальном Devuan зайти рутом из консоли, то в /dev/dri наблюдаем:

crw-rw----  1 root video 226,   0 Dec 17 06:16 card0

Если зайти юзером, то видим плюсик

 crw-rw----+ 1 root video 226,   0 Dec 17 06:16 card0

Ага, расширенные аттрибуты значит. Но откуда они? Причём они отображаются только юзеру, а рут их не видит.

Ответ был найден в разделе "Allowing regular users to use devices" вот тут https://wiki.archlinux.org/title/Udev:

The modern approach is to use… 660…, and then attach uaccess. This special tag makes udev… apply a dynamic user ACL, which coordinates with… to make the device usable to logged-in users.

Вау.

А я-то пытался сделать chgrp. Ну, раз так, тогда

$ setfacl -m 501000:rw /dev/dri/card0

501000 -- uid юзера в непривелигированном контейнере.

Надо расшарить XDG_RUNTIME_DIR на хосте:

$ setfacl -m 501000:rwx /run/user/1000
$ setfacl -m 501000:rwx /run/user/1000/wayland-1

Разрешения на запись в /run/user/1000 необходимы потому что я не знаю как заставить вложенный вэйланд гадить в другое место без патча и праздника компиляции.

В конфиг контейнера добавляем

lxc.mount.entry = /dev/dri dev/dri none bind,create=dir 0 0
lxc.mount.entry = /run/user/1000 run/user/1000 none bind,create=dir 0 0

И чудо случится

$ WAYLAND_DISPLAY=wayland-1 weston

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Состоялся релиз дистрибутива Fedora Asahi Remix 39, предназначенного для установки на компьютеры Mac, оснащённые ARM-чипами, разработанными компанией Apple.

Сборка Fedora Asahi Remix 39 базируется на пакетной базе Fedora Linux 39 и оснащена инсталлятором Calamares. Это первый выпуск, опубликованный после перехода проекта Asahi с Arch на Fedora. Разработкой Fedora Asahi Remix занимается группа Fedora Asahi SIG и переход поможет команде Asahi Linux сфокусировать усилия на обратном инжиниринге оборудования, не расходуя ресурсы на поддержку дистрибутива.

В выпуске Fedora Asahi Remix 39 обеспечена возможность работы на системах Apple MacBook Air, MacBook Pro, Mac Mini, Mac Studio и iMac, оснащённых чипами M1 и M2.

В качестве основного пользовательского окружения в Fedora Asahi Remix 39 поставляется KDE Plasma. Опционально доступен вариант на базе GNOME. В обеих редакциях используется Wayland, а для запуска X11-приложений применяется DDX‑сервер XWayland. В графических драйверах обеспечена поддержка OpenGL 3.3 и OpenGL ES 3.1. Полностью поддерживается звуковая подсистема компьютеров Apple.

Источники: OpenNET. Phoronix. 9to5Linux.

Теги:
Рейтинг0
Комментарии0

Вклад авторов