error opening ATTR

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1649
Зарегистрирован: 10 сен 2016, 10:16
Решено: 19
Откуда: Москва
Благодарил (а): 693 раза
Поблагодарили: 187 раз
Контактная информация:

error opening ATTR

#1

16 мар 2019, 08:27

Предлагаю поразбираться:

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

Код: Выделить всё

error opening ATTR{/sys/bus/platform/drivers/sram/queue/scheduler} for writing: No such file or directory
Гуглил. Нечто похожее, как мне кажется, обнаружил на манджаровском форуме
https://forum.manjaro.org/t/udev-rule-t ... isks/67307
в качестве решения там пишут (гуглоперевод):
Я нашел проблему. Я упустил из виду, что у меня есть другое правило udev, которое должно установить планировщик для всех других дисков на bfq. Но в этом правиле есть ошибка: ...
...
Проблема в том, что он не указывает KERNEL == "sd?" и поэтому он выполняется также для разделов. ...
я нашел это правило в каталоге etc/udev/rules.d . Оно там одно 60-scheduler.rules
и в моем случае содержимое отличается от того, что было на манджаровском форуме

Код: Выделить всё

ACTION=="add|change", KERNEL=="sd*[!0-9]|sr*", ATTR{queue/scheduler}="bfq"
Моих знаний не хватает что бы понять, есть ошибка в этом правиле или нет?
Влияет ли именно эта запись на ошибку в журнале (указанную мной выше) или там что-то другое?
Кто-нибудь может подсказать по теме вопроса?

Дополнительно: в своих поисках ориентировался на
https://losst.ru/nastrojka-udev-rules-v-linux
выхлоп от тестирования тоже не понимаю

Код: Выделить всё

└─ $ udevadm test /sys/block/sda
calling: test
version 229
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

=== trie on-disk ===
tool version:          229
file size:         7066329 bytes
header size             80 bytes
strings            1764945 bytes
nodes              5301304 bytes
Load module index
timestamp of '/etc/systemd/network' changed
timestamp of '/lib/systemd/network' changed
Parsed configuration file /lib/systemd/network/99-default.link
Created link configuration context.
timestamp of '/etc/udev/rules.d' changed
timestamp of '/lib/udev/rules.d' changed
Reading rules file: /lib/udev/rules.d/40-crda.rules
Reading rules file: /lib/udev/rules.d/40-iio-sensor-proxy.rules
Reading rules file: /lib/udev/rules.d/40-libsane.rules
Reading rules file: /lib/udev/rules.d/40-usb-media-players.rules
Reading rules file: /lib/udev/rules.d/40-usb_modeswitch.rules
Reading rules file: /lib/udev/rules.d/40-vm-hotadd.rules
Reading rules file: /lib/udev/rules.d/50-apport.rules
Reading rules file: /lib/udev/rules.d/50-firmware.rules
Reading rules file: /lib/udev/rules.d/50-udev-default.rules
Reading rules file: /lib/udev/rules.d/55-Argyll.rules
IMPORT found builtin 'usb_id --export %p', replacing /lib/udev/rules.d/55-Argyll.rules:110
Reading rules file: /lib/udev/rules.d/55-dm.rules
Reading rules file: /lib/udev/rules.d/56-hpmud.rules
Reading rules file: /lib/udev/rules.d/60-block.rules
Reading rules file: /lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /lib/udev/rules.d/60-drm.rules
Reading rules file: /lib/udev/rules.d/60-evdev.rules
Reading rules file: /lib/udev/rules.d/60-gnupg.rules
Reading rules file: /lib/udev/rules.d/60-gnupg2.rules
Reading rules file: /lib/udev/rules.d/60-inputattach.rules
Reading rules file: /lib/udev/rules.d/60-libgphoto2-6.rules
Reading rules file: /lib/udev/rules.d/60-libsane.rules
Reading rules file: /lib/udev/rules.d/60-openobex.rules
Reading rules file: /lib/udev/rules.d/60-pcmcia.rules
Reading rules file: /lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /lib/udev/rules.d/60-persistent-storage-dm.rules
Reading rules file: /lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /etc/udev/rules.d/60-scheduler.rules
Reading rules file: /lib/udev/rules.d/60-serial.rules
Reading rules file: /lib/udev/rules.d/60-steam-input.rules
Reading rules file: /lib/udev/rules.d/60-steam-vr.rules
Reading rules file: /lib/udev/rules.d/61-kde-bluetooth-rfkill.rules
Reading rules file: /lib/udev/rules.d/61-persistent-storage-android.rules
Reading rules file: /lib/udev/rules.d/64-btrfs.rules
Reading rules file: /lib/udev/rules.d/64-xorg-xkb.rules
Reading rules file: /lib/udev/rules.d/65-libwacom.rules
Reading rules file: /lib/udev/rules.d/66-xorg-synaptics-quirks.rules
Reading rules file: /lib/udev/rules.d/69-cd-sensors.rules
Reading rules file: /lib/udev/rules.d/69-libmtp.rules
Reading rules file: /lib/udev/rules.d/69-wacom.rules
Reading rules file: /lib/udev/rules.d/69-xorg-vmmouse.rules
Reading rules file: /lib/udev/rules.d/70-debian-uaccess.rules
Reading rules file: /lib/udev/rules.d/70-mouse.rules
Reading rules file: /lib/udev/rules.d/70-neon-fido_u2f.rules
Reading rules file: /lib/udev/rules.d/70-power-switch.rules
Reading rules file: /lib/udev/rules.d/70-printers.rules
Reading rules file: /lib/udev/rules.d/70-resolvconf-initramfs-copy.rules
Reading rules file: /lib/udev/rules.d/70-uaccess.rules
Reading rules file: /lib/udev/rules.d/70-udev-acl.rules
Reading rules file: /lib/udev/rules.d/71-nvidia.rules
Reading rules file: /lib/udev/rules.d/71-power-switch-proliant.rules
Reading rules file: /lib/udev/rules.d/71-seat.rules
Reading rules file: /lib/udev/rules.d/71-u-d-c-gpu-detection.rules
Reading rules file: /lib/udev/rules.d/73-seat-late.rules
Reading rules file: /lib/udev/rules.d/73-special-net-names.rules
Reading rules file: /lib/udev/rules.d/73-usb-net-by-mac.rules
Reading rules file: /lib/udev/rules.d/75-net-description.rules
Reading rules file: /lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /lib/udev/rules.d/77-mm-cinterion-port-types.rules
Reading rules file: /lib/udev/rules.d/77-mm-dell-port-types.rules
Reading rules file: /lib/udev/rules.d/77-mm-ericsson-mbm.rules
Reading rules file: /lib/udev/rules.d/77-mm-haier-port-types.rules
Reading rules file: /lib/udev/rules.d/77-mm-huawei-net-port-types.rules
Reading rules file: /lib/udev/rules.d/77-mm-longcheer-port-types.rules
Reading rules file: /lib/udev/rules.d/77-mm-mtk-port-types.rules
Reading rules file: /lib/udev/rules.d/77-mm-nokia-port-types.rules
Reading rules file: /lib/udev/rules.d/77-mm-pcmcia-device-blacklist.rules
Reading rules file: /lib/udev/rules.d/77-mm-platform-serial-whitelist.rules
Reading rules file: /lib/udev/rules.d/77-mm-qdl-device-blacklist.rules
Reading rules file: /lib/udev/rules.d/77-mm-simtech-port-types.rules
Reading rules file: /lib/udev/rules.d/77-mm-telit-port-types.rules
Reading rules file: /lib/udev/rules.d/77-mm-usb-device-blacklist.rules
Reading rules file: /lib/udev/rules.d/77-mm-usb-serial-adapters-greylist.rules
Reading rules file: /lib/udev/rules.d/77-mm-x22x-port-types.rules
Reading rules file: /lib/udev/rules.d/77-mm-zte-port-types.rules
Reading rules file: /lib/udev/rules.d/78-graphics-card.rules
Reading rules file: /lib/udev/rules.d/78-sound-card.rules
Reading rules file: /lib/udev/rules.d/80-debian-compat.rules
Reading rules file: /lib/udev/rules.d/80-drivers.rules
Reading rules file: /lib/udev/rules.d/80-ifupdown.rules
Reading rules file: /lib/udev/rules.d/80-libinput-device-groups.rules
Reading rules file: /lib/udev/rules.d/80-mm-candidate.rules
Reading rules file: /lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /lib/udev/rules.d/80-udisks2.rules
Reading rules file: /lib/udev/rules.d/85-hdparm.rules
Reading rules file: /lib/udev/rules.d/85-hplj10xx.rules
Reading rules file: /lib/udev/rules.d/85-keyboard-configuration.rules
Reading rules file: /lib/udev/rules.d/85-regulatory.rules
Reading rules file: /lib/udev/rules.d/90-alsa-restore.rules
Reading rules file: /lib/udev/rules.d/90-fwupd-devices.rules
Reading rules file: /lib/udev/rules.d/90-libgpod.rules
Reading rules file: /lib/udev/rules.d/90-libinput-model-quirks.rules
Reading rules file: /lib/udev/rules.d/90-pulseaudio.rules
Reading rules file: /lib/udev/rules.d/95-cd-devices.rules
Reading rules file: /lib/udev/rules.d/95-kpartx.rules
Reading rules file: /lib/udev/rules.d/95-upower-csr.rules
Reading rules file: /lib/udev/rules.d/95-upower-hid.rules
Reading rules file: /lib/udev/rules.d/95-upower-wup.rules
Reading rules file: /lib/udev/rules.d/97-dmraid.rules
Reading rules file: /lib/udev/rules.d/99-systemd.rules
rules contain 393216 bytes tokens (32768 * 12 bytes), 37415 bytes strings
26871 strings (224069 bytes), 23217 de-duplicated (190309 bytes), 3655 trie nodes used
value '[dmi/id]sys_vendor' is 'Foxconn'
value '[dmi/id]sys_vendor' is 'Foxconn'
GROUP 6 /lib/udev/rules.d/50-udev-default.rules:55
IMPORT 'ata_id --export /dev/sda' /lib/udev/rules.d/60-persistent-storage.rules:32
starting 'ata_id --export /dev/sda'
'ata_id --export /dev/sda'(err) 'unable to open '/dev/sda''
Process 'ata_id --export /dev/sda' failed with exit code 1.
IMPORT 'scsi_id --export --whitelisted -d /dev/sda' /lib/udev/rules.d/60-persistent-storage.rules:44
starting 'scsi_id --export --whitelisted -d /dev/sda'
'scsi_id --export --whitelisted -d /dev/sda'(out) 'ID_SCSI=1'
'scsi_id --export --whitelisted -d /dev/sda'(out) 'ID_VENDOR='
'scsi_id --export --whitelisted -d /dev/sda'(out) 'ID_VENDOR_ENC='
'scsi_id --export --whitelisted -d /dev/sda'(out) 'ID_MODEL='
'scsi_id --export --whitelisted -d /dev/sda'(out) 'ID_MODEL_ENC='
'scsi_id --export --whitelisted -d /dev/sda'(out) 'ID_REVISION='
'scsi_id --export --whitelisted -d /dev/sda'(out) 'ID_TYPE='
Process 'scsi_id --export --whitelisted -d /dev/sda' succeeded.
IMPORT builtin 'path_id' /lib/udev/rules.d/60-persistent-storage.rules:64
LINK 'disk/by-path/pci-0000:00:1f.2-ata-1' /lib/udev/rules.d/60-persistent-storage.rules:65
IMPORT builtin 'blkid' /lib/udev/rules.d/60-persistent-storage.rules:76
Failure opening block device /dev/sda: Permission denied
IMPORT builtin 'blkid' returned non-zero
ATTR '/sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:1/0:0:1:0/block/sda/queue/scheduler' writing 'bfq' /etc/udev/rules.d/60-scheduler.rules:1
error opening ATTR{/sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:1/0:0:1:0/block/sda/queue/scheduler} for writing: Permission denied
RUN '/lib/udev/hdparm' /lib/udev/rules.d/85-hdparm.rules:1
update old name, '/dev/disk/by-id/ata-Hitachi_HDS723020BLE640_MSH7215P0P4RHW' no longer belonging to '/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:1/0:0:1:0/block/sda'
found 'b8:0' claiming '/run/udev/links/\x2fdisk\x2fby-id\x2fata-Hitachi_HDS723020BLE640_MSH7215P0P4RHW'
no reference left, remove '/dev/disk/by-id/ata-Hitachi_HDS723020BLE640_MSH7215P0P4RHW'
update old name, '/dev/disk/by-id/wwn-0x5000cca37dc99d88' no longer belonging to '/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:1/0:0:1:0/block/sda'
found 'b8:0' claiming '/run/udev/links/\x2fdisk\x2fby-id\x2fwwn-0x5000cca37dc99d88'
no reference left, remove '/dev/disk/by-id/wwn-0x5000cca37dc99d88'
handling device node '/dev/sda', devnum=b8:0, mode=0660, uid=0, gid=6
preserve permissions /dev/sda, 060660, uid=0, gid=6
preserve already existing symlink '/dev/block/8:0' to '../sda'
found 'b8:0' claiming '/run/udev/links/\x2fdisk\x2fby-path\x2fpci-0000:00:1f.2-ata-1'
creating link '/dev/disk/by-path/pci-0000:00:1f.2-ata-1' to '/dev/sda'
preserve already existing symlink '/dev/disk/by-path/pci-0000:00:1f.2-ata-1' to '../../sda'
ACTION=add
DEVLINKS=/dev/disk/by-path/pci-0000:00:1f.2-ata-1
DEVNAME=/dev/sda
DEVPATH=/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:1/0:0:1:0/block/sda
DEVTYPE=disk
ID_BUS=scsi
ID_PATH=pci-0000:00:1f.2-ata-1
ID_PATH_TAG=pci-0000_00_1f_2-ata-1
ID_SCSI=1
MAJOR=8
MINOR=0
SUBSYSTEM=block
TAGS=:systemd:
USEC_INITIALIZED=2801442
run: '/lib/udev/hdparm'
Unload module index
Unloaded link configuration context.
┌─ mugalem ~
Если нужна еще какая-то информация - скажите - я дополню.

Аватара пользователя

slant
Сообщения: 4469
Зарегистрирован: 21 июн 2017, 18:09
Решено: 95
Благодарил (а): 51 раз
Поблагодарили: 1966 раз
Контактная информация:

error opening ATTR

#2

16 мар 2019, 13:55

Если не ошибаюсь, у тебя эта строчка такая из-за моей инструкции по переключению планировщиков на BFQ. А там она именно такая, чтобы захватывать по максимуму все разновидности устройств, с любой разметкой. Т.к. в минте по умолчанию новая система планировщиков не включена, и не настроена. А потому, если не подцепится BFQ - будет none. А это хоть и не смертельно но очень неприятно даже для SSD. Так что, лучше уж пусть будет warning в логе о том, что куда-то прицепить BFQ не удалось (это как раз тот warning - там куда bfq не повесить, нету ...queue/scheduler), чем какой-то диск останется без планировщика вообще, из-за того что из под правила выпал. IMHO.

ACTION=="add|change", KERNEL=="sd*[!0-9]|sr*", ATTR{queue/scheduler}="bfq"
Если уж очень раздражает - можно модифицировать так:
ACTION=="add|change", KERNEL=="sd*[!0-9]", ATTR{queue/scheduler}="bfq"
За бортом как минимум сидюки останутся. Оно у вас на sram агрится согласно правилу - "sr" там есть.

"sd*[!0-9]|sr*" - читается так: "все имена которые начинаются с sd, но которые не заканчиваются на диапазон символов 0-9, или все имена которые начинаются на sr". Т.е. разделы как раз исключаются. Это регулярные выражения. Стоит ознакомиться кстати - они много где используются, и бывают крайне полезны.

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1649
Зарегистрирован: 10 сен 2016, 10:16
Решено: 19
Откуда: Москва
Благодарил (а): 693 раза
Поблагодарили: 187 раз
Контактная информация:

error opening ATTR

#3

16 мар 2019, 17:50

slant писал(а):
16 мар 2019, 13:55
Если не ошибаюсь, у тебя эта строчка такая из-за моей инструкции по переключению планировщиков на BFQ.
Видимо, так оно и есть.
slant писал(а):
16 мар 2019, 13:55
Оно у вас на sram агрится согласно правилу - "sr" там есть.
Очень сложный англицкий язык: пишется sram, а читается CDrom - ни в жизни бы не догадался.
Пишется Ливерпуль, а произносится Манчестер.
(с) Драгунский.
Спасибо. Поправил.
Потестирую, что получится.
А вообще есть смысл BFQ ставить на сидюк? (честно говоря, я уж и забыл когда последний раз им пользовался)
А то может в той теме, где вы советовали нужно правку внести?

Аватара пользователя

Unborn
Сообщения: 1920
Зарегистрирован: 03 сен 2016, 13:36
Решено: 24
Благодарил (а): 5 раз
Поблагодарили: 264 раза
Контактная информация:

error opening ATTR

#4

16 мар 2019, 18:07

slant писал(а):
16 мар 2019, 13:55
sd*[!0-9]|sr*" - читается так: "все имена которые начинаются с sd, но которые не заканчиваются на диапазон символов 0-9, или все имена которые начинаются на sr". Т.е. разделы как раз исключаются. Это регулярные выражения. Стоит ознакомиться кстати - они много где используются, и бывают крайне полезны.
sd*[!0-9]|sr* - читается так - * - это любые символы в любом количестве, далее - но не цифры, для sr* - это вообще всё, что можно.
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"
Для оптических приводов можно добавить sr[0-9]
Для того, что не крутится - noop.
Для флешек, которые преимущественно либо читаются, либо пишутся можно вообще без планировщика обойтись. А вот для оптического привода может и CFQ более предпочтителен. Тут точно не скажешь, кроме того, что noop не для HDD.

Аватара пользователя

slant
Сообщения: 4469
Зарегистрирован: 21 июн 2017, 18:09
Решено: 95
Благодарил (а): 51 раз
Поблагодарили: 1966 раз
Контактная информация:

error opening ATTR

#5

16 мар 2019, 20:13

StarMAUGLI писал(а):
16 мар 2019, 17:50
Очень сложный англицкий язык: пишется sram, а читается CDrom - ни в жизни бы не догадался.
На всякий случай - это не английский язык, а regexp. Так уж получилось, что sram попадает под маску выборки, т.к. тоже с букв sr начинается.
StarMAUGLI писал(а):
16 мар 2019, 17:50
А вообще есть смысл BFQ ставить на сидюк? (честно говоря, я уж и забыл когда последний раз им пользовался)
А то может в той ветке, где вы советовали нужно правку внести?
Не меньший, чем на винт. А sr<X> - это не только сидюки. Это вообще могут быть и другие устройства которые висят на SCSI, или для них эмулируют scsi. (Первые сидюки через SCSI цеплялись, и даже когда появились с интерфейсом IDE, а позже и SATA - присвоение осталось из исторических соображений).
Unborn писал(а):
16 мар 2019, 18:07
Для оптических приводов можно добавить sr[0-9]
В принципе да. Можно сделать примерно так: KERNEL=="sd*[!0-9]|sr[0-9]"
А вот выборка по признаку вращения (секция ATTR{queue/rotational}=="1") - сомнительна, по причине описанной ниже.
Unborn писал(а):
16 мар 2019, 18:07
Для того, что не крутится - noop.
Спорно. Для флешек IMHO лучше bfq, т.к. при этом обходится тот самый знаменитый баг в ядре, из-за которого копирование на/с флешки ставит раком всю систему. Для SSD - по словам авторов, новый BFQ учитывает особенности записи чтения для этих дисков. Т.е. должен быть как минимум не хуже. Но именно полного сравнения я лично не проводил - только на уровне "не стало ли хуже в обычной работе". Ответ: не становится.
Unborn писал(а):
16 мар 2019, 18:07
Для флешек, которые преимущественно либо читаются, либо пишутся можно вообще без планировщика обойтись. А вот для оптического привода может и CFQ более предпочтителен. Тут точно не скажешь, кроме того, что noop не для HDD.
В минте 18 (ядро 4.12-4.15) при переключении на новую систему планировщиков (которая требуется для bfq), CFQ становится недоступен. Noop (как минимум с ядром 4.13, которое было в момент написания руководства) тоже. Остается два выбора - bfq или none. Выбор очевиден, IMHO.

Аватара пользователя

Автор темы
StarMAUGLI
Сообщения: 1649
Зарегистрирован: 10 сен 2016, 10:16
Решено: 19
Откуда: Москва
Благодарил (а): 693 раза
Поблагодарили: 187 раз
Контактная информация:

error opening ATTR

#6

16 мар 2019, 20:38

slant писал(а):
16 мар 2019, 20:13
Это вообще могут быть и другие устройства которые висят на SCSI, или для них эмулируют scsi. (Первые сидюки через SCSI цеплялись, и даже когда появились с интерфейсом IDE, а позже и SATA - присвоение осталось из исторических соображений).
а как узнать есть ли у меня такие устройства помимо сидюка?
сидюком, как я писал выше, вообще не пользуюсь - выкинул бы, да пыль в системник набьется :-D (впрочем можно просто кабеля поотключать)

Закрыто

Вернуться в «Жесткие диски, SSD, Flash-накопители, разделы на них»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя