LINUX.ORG.RU

Сообщения dyonya

 

Btrfs некорректно монтирует

Форум — Admin

Привет, ЛОР!

Использую Btrfs и много subvolume’ов: предположительно для разных ОС; сейчас — Gentoo (основная) и Arch aka тестовый полигон.

Некоторые разделы должны монтироваться без сжатия: /mnt, log, cache, ~/Media (уже сжатые файлы).

Вот fstab:

/dev/efi          	/boot/efi 	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro	0 2

/dev/btrfs           	/         	btrfs     	rw,noatime,compress=zstd:1,ssd,space_cache=v2,subvol=/@gentoo	0 1

/dev/btrfs           	/home     	btrfs     	rw,noatime,compress=zstd:1,ssd,space_cache=v2,subvol=/@home	0 2

/dev/btrfs           	/snapshots	btrfs     	rw,noatime,compress=zstd:1,ssd,space_cache=v2,subvol=/@gentoo-snapshots	0 0

/dev/btrfs           	/var/log  	btrfs     	defaults,nodatacow,ssd,space_cache=v2,subvol=/@gentoo-log	0 0

/dev/btrfs           	/var/cache	btrfs     	rw,noatime,nodatacow,ssd,space_cache=v2,subvol=/@gentoo-cache	0 0

/dev/btrfs           	/var/db/repos/gentoo	btrfs     	rw,noatime,compress=zstd:1,ssd,space_cache=v2,subvol=/@gentoo-portage	0 0

/dev/btrfs           	/mnt	   	btrfs     	rw,noatime,compress=none,ssd,space_cache=v2,subvol=/@mnt 	0 0

/dev/btrfs           	/home/dekabu/Media	   	btrfs     	rw,noatime,compress=no,compress-force=no,nodatacow,ssd,space_cache=v2,subvol=/@media 	0 0

/home/dekabu/Media/Music	/home/dekabu/Music	none	bind
/home/dekabu/Media/Videos	/home/dekabu/Videos	none	bind
/home/dekabu/Media/Games	/home/dekabu/Games	none	bind
/home/dekabu/Media/Pictures	/home/dekabu/Pictures	none	bind

Но оно упорно монтируется с compress=zstd:1!!

Вывод команды mount:

/dev/sda3 on / type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=272,subvol=/@gentoo)
devtmpfs on /dev type devtmpfs (rw,nosuid,noexec,relatime,size=10240k,nr_inodes=478627,mode=755)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run type tmpfs (rw,nosuid,nodev,size=766696k,nr_inodes=819200,mode=755)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)
/dev/sda3 on /home type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=275,subvol=/@home)
/dev/sda3 on /snapshots type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=273,subvol=/@gentoo-snapshots)
/dev/sda3 on /var/log type btrfs (rw,relatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=276,subvol=/@gentoo-log)
/dev/sda3 on /var/cache type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=277,subvol=/@gentoo-cache)
/dev/sda3 on /var/db/repos/gentoo type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=274,subvol=/@gentoo-portage)
/dev/sda3 on /mnt type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=292,subvol=/@mnt)
/dev/sda3 on /home/dekabu/Media type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=295,subvol=/@media)
/dev/sda3 on /home/dekabu/Music type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=295,subvol=/@media)
/dev/sda3 on /home/dekabu/Videos type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=295,subvol=/@media)
/dev/sda3 on /home/dekabu/Games type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=295,subvol=/@media)
/dev/sda3 on /home/dekabu/Pictures type btrfs (rw,noatime,compress=zstd:1,ssd,discard=async,noacl,space_cache=v2,subvolid=295,subvol=/@media)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=383348k,nr_inodes=95837,mode=700,uid=1000,gid=1000)
portal on /run/user/1000/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

И даже

umount part
mount -o compress=none part

не помогает! Чёрт знает, что такое…

Единственный действенный метод это

mount -o remount,compress=none

, но выполнять его всякий раз при загрузке системы — моветон. Почему монтирование некорректно, сталкивался кто-нибудь? Оно игнорирует все параметры и ставит дефолтные.

 , , ,

dyonya
()

Ошибка при сборке ftp

Форум — Admin

Gentoo Linux

Порт net-ftp/ftp

Собирается с ошибкой. Gcc 15 использует стандарт c23 по умолчанию, а в ftp-коде определяется свой костыль для bool, из-за чего конфликт имён. Бредовый баг, но не исправляют. Почему? Стандартным линуксовским ftp-клиентом не пользуются? А если я хочу?..

Пробовал сделать окружение для сборки пакета:

CFLAGS="$CFLAGS -ansi"

Не помогает. Есть может где патчи? Или как это заставить работать?

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

 , , ,

dyonya
()

Kitty тормозит

Форум — Desktop

Привет, Форум!

Есть у меня Б/У-шный мини-ноутбук от Digma на двухъядерном Celeron’е с 4-мя гигами ОЗУ. Машинка тихоходная, зато мобильность — боже мой! Удобно достать в электричке и работать. И заряд долго держит. Просто песня!

Удачно поставил и настроил Artix Linux, но там мало пакетов в стандартном репозитории, а добавлять от Arch’а или AUR’а не горю желанием: будет срать мне SystemD-шлаком, да и не тру…

Можно опакечивать самому, благо Pacman позволяет. Но вот у меня большАя часть системы — сборная из малоизвестного софта.

И этим мне больше нравится Portage: наглядно, гибко, Unix-way.

Поставил Gentoo и пересобрал мир. Не самоубийца, конечно, и собирал на мощном игровом ноутбуке, потом просто скопировав корень.

-O2 -march=goldmont-plus и кеш процессора…

Ну так вот. Собрал Hyprland и Kitty. Оно всё работает, но уж очень медленно… Терминал открывается, по ощущениям, раза в три дольше, чем в бинарном Artix’е.

Как-то даже странно. Где я недооптимизировал?

 , ,

dyonya
()

Срок жизни строкового литерала в C

Форум — Development

Я делаю пространство имён — множество пар «строка - объект». В функции инициализации я создаю статический массив, а потом копирую всю эту память в динамический, вот этак:

init() {
  name_t names[2] = {
    {"name1", obj1},
    {"name2", obj2}
  }
  <...>
  memcpy(global_namespace.names, names, size);
}

Здесь global_namespace — это структура, в которой есть указатель на имена.

А вопрос мой вот в чём: как долго будут жить строковые константы? Потом ведь нужно будет к ним обращаться — не хотелось бы, чтобы затёрлись. Мне думается, что компилятор положит их в неизменяемую память, и на протяжении всей жизни программы можно будет обращаться. Но они объявлены внутри функции и, вроде как, локальные объекты — это не повлияет?

 

dyonya
()

Возможно ли поднять BIND9 через ssh -R?

Форум — Admin

Привет, форумчане!

Имею в распоряжении локальный сервер, на котором запущен BIND9; успешно обрабатывает запросы из локальной сети. Хотелось бы иметь к нему доступ из Интернета. Пробую перенаправить порт своего виртуального сервера на локалку:

ssh -R 53:localhost:53 VDS

И выдаёт ошибку:

$ dig DOMAIN @VDS_IP
;; communications error to VDS_IP#53: connection refused
;; communications error to VDS_IP#53: connection refused
;; communications error to VDS_IP#53: connection refused

Конфиг на локальной машине с запущенным DNS:

#/etc/bind/named.conf
options {
        directory "/var/bind";
        pid-file "/run/named/named.pid";

        listen-on { any; };

        allow-query { any; };
}
#/etc/resolv.conf
nameserver 127.0.0.1

Конфиг на удалённой машине:

#/etc/resolv.conf
nameserver 127.0.0.1

Может, сталкивался кто с такой проблемой. Помогите, пожалуйста, решить!

 , , ,

dyonya
()

Вирус на Линукс?!

Форум — Security

Кликбейт. А может?..

На днях я задавал тут вопрос, почему вдруг моя система стала есть на 300 Мб оперативки больше. Думаю пока, что виновен проприетарный драйвер на видеокарту. Но заметил странную закономерность:

При запуске компьютера потребление — 800 Мб. Немного держится и резко возрастает до 1.1 Гб. И стабильно так. Ну окей: вдруг что-либо запоздало загрузилось… Но стоит мне открыть какую-нибудь утилиту для мониторинга ресурсов (btop, nvtop) — снова стаёт 800 Мб. Прямо мистика какая-то! А закрываю — так же, как при включении, чуть держится и уходит в 1+ Гб.

Какое тому может быть рациональное объяснение? Поведение типичное для какого-нибудь хитрого вируса.

Все программы компилирую из репозитория Генты или github’а. Единственный грешок за мной: пробовал Tlauncher, запускал от рута. Теперь на него подозрения.

Прошу помощи и совета: вирус ли это? Если да — как отладить/излечить? Если нет — откуда такая странность?

 , , ,

dyonya
()

Большое потребление RAM.

Форум — Linux-hardware

Почему-то стало ощутимо больше. Раньше, как только запускал графическое окружение, доходило до 700 Мб, а теперь целый гигобайт. Откуда? Демоны все те же. Разве что драйвера проприетарные от Nvidia накатил — это может влиять?

 , ,

dyonya
()

Как проверить загруженность видеокарты с драйвером Nouveau?

Форум — Linux-hardware

Я говноед счастливый обладатель дискретной карты RTX 3050, мобильная, для ноутбука. Для моих нужд вполне хватало встроенной карточки AMD: видео казала, оконный менеджер рисовала и всё в таком духе. Но вот обидно, что карта лежит мёртвым грузом и пылится.

Поставил Nouveau, так как хочется открытого кода. Но теперь вообще непонятно, как отследить работу видеокарты. Нагруженность, температуру — как вообще убедиться, что драйвера подхватились и карта работает? Компьютер карту видит, но, например, Minecraft запустить, указав в лаунчере дискретную карту, не получилось.

Да и если собирать OBS Studio с флагом nvenc, то требуется nvidia-drivers…

Ну я в итоге сдался и поставил проприетарные дрова. Теперь можно загруженность отслеживать, в том же nvtop’е. В настройках ядра поставил по инструкции с Gentoo wiki: что-то про DRM и framebuffer. Но теперь, при запуске, ещё в консоли на секунду зависает с графическим артефактом внизу — нормально это? С Nouveau такого не было.

В общем, суть моего вопроса: можно ли как-то через sysfs мониторить состояние карты? Дружит ли вообще Nouveau с такими, относительно новыми, картами? Как удостовериться, что оно работает?

 , , ,

dyonya
()

Как вывести текст при запуске динамической библиотеки?

Форум — Development

Бо́льшая часть динамических библиотек моей системы исполняемые. Но при попытке выполнить их возникает ошибка Segmentation failed. Подразумевает ли формат ELF (.so) возможность вывода текстовой информации?

Например: запустил файл-библиотеку — получил текст с версией.

Кажется, Windows DLL так могут. Не ручаюсь, но пример где-то видел, как открытие библиотеки выводило версию.

а) Можно ли реализовать на Линукс (ELF)? б) Если да, есть ли возможность сделать это в clang, при создании библиотеки?

 , , ,

dyonya
()

В динамической библиотеке нет имён — в чём магия?

Форум — Development

Начинаю на обывательском уровне копаться в устройстве библиотек. Решил для одной (динамической, python runtime) глянуть список имён (через nm) – выпал в осадок: их там нет.

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

Ответьте, кто знаком с устройством. Dynamic ELF

 , , ,

dyonya
()

Системный вызов brk не работает.

Форум — Development

Пишу на Android (aarch64). 4 Гб оперативки + 2 Гб swap. Захотел проверить, какой предел для расширения кучи (через brk). Пытаюсь увеличить аж на 10 гигов – и всё равно brk возвращает не код ошибки, а новый адрес.

Насколько мне известно, должно возвратиться 0, ежели память не может быть выделена. Во всяком случае, так работает библиотечная обёртка brk(). А если это не так, то возможно ли иным способом проверить выделена ли память по факту? Как?

P.s. прошу про преимущества mmap не распыляться: хочу разобраться с вызовом brk, раз его ещё не выпилили из ядра.

 , ,

dyonya
()

RSS подписка на новые темы