Где находится правила благодаря которому сервис udev примонтировывает флэшку?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
жучара
Сообщения: 663
ОС: астралинукс

Где находится правила благодаря которому сервис udev примонтировывает флэшку?

Сообщение жучара »

Друзья! Debian 7 (32), вставляю флэшку, монтируется автоматом. Везде написано, что существует сервис, который на всякие события (конкретно на вставляние флэшки) реагирует по определённым правилам. И в манах тоже это написано.

По-быстрому хроника потерянного времени:
Среди прочего существую два сервиса, udev и udisks. Если отрубить udev и вставить флэшку, то udisk возродится и флэшка примонтируется. Если отрубить udisks, то флэшка не примонтируется.

Что это всё значит, я так и не понял, но правила лежат тут:

Shell

user@debian:~$ ls /lib/udev/rules.d/
40-hplip.rules 69-xserver-xorg-input-wacom.rules 85-hdparm.rules
40-usb-media-players.rules 70-uaccess.rules 85-hplj10xx.rules
40-usb_modeswitch.rules 70-udev-acl.rules 85-hwclock.rules
42-qemu-usb.rules 71-seat.rules 85-regulatory.rules
50-udev-default.rules 73-seat-late.rules 85-usbmuxd.rules
55-Argyll.rules 75-cd-aliases-generator.rules 90-alsa-restore.rules
55-dm.rules 75-net-description.rules 90-libgpod.rules
56-hpmud_support.rules 75-persistent-net-generator.rules 90-pulseaudio.rules
60-cdrom_id.rules 75-probe_mtd.rules 91-permissions.rules
60-crda.rules 75-tty-description.rules 95-cd-devices.rules
60-fuse.rules 77-mm-ericsson-mbm.rules 95-keyboard-force-release.rules
60-gnupg.rules 77-mm-longcheer-port-types.rules 95-keymap.rules
60-libgphoto2-2.rules 77-mm-nokia-port-types.rules 95-udev-late.rules
60-libsane.rules 77-mm-pcmcia-device-blacklist.rules 95-upower-battery-recall-dell.rules
60-persistent-alsa.rules 77-mm-platform-serial-whitelist.rules 95-upower-battery-recall-fujitsu.rules
60-persistent-input.rules 77-mm-qdl-device-blacklist.rules 95-upower-battery-recall-gateway.rules
60-persistent-serial.rules 77-mm-simtech-port-types.rules 95-upower-battery-recall-ibm.rules
60-persistent-storage-dm.rules 77-mm-usb-device-blacklist.rules 95-upower-battery-recall-lenovo.rules
60-persistent-storage.rules 77-mm-x22x-port-types.rules 95-upower-battery-recall-toshiba.rules
60-persistent-storage-tape.rules 77-mm-zte-port-types.rules 95-upower-csr.rules
60-persistent-v4l.rules 77-nm-olpc-mesh.rules 95-upower-hid.rules
61-accelerometer.rules 78-sound-card.rules 95-upower-wup.rules
61-gnome-bluetooth-rfkill.rules 80-drivers.rules 97-bluetooth-hid2hci.rules
64-xorg-xkb.rules 80-mm-candidate.rules 97-bluetooth.rules
69-cd-sensors.rules 80-networking.rules 99-systemd.rules
69-libmtp.rules 80-udisks.rules
69-xorg-vmmouse.rules 80-udisks.rules~
user@debian:~$
В каком файле лежат нужные нам правила- не понять. Всех больше на это похож (а как ещё-то определять?) файл 80-udisks.rules:
80-udisks.rules
# Do not edit this file, it will be overwritten on updates
#

# import names for PCI storage controllers
#
SUBSYSTEM=="pci", ACTION=="add|change", ENV{ID_MODEL_FROM_DATABASE}=="", ATTR{class}=="0x01*", IMPORT{program}="pci-db %p"

# Set eSATA port type for known eSATA CardBus adapters - first we want to ensure
# the device is on a cardbus controller (upper PCI device) - then we check
# vid/pid (lower PCI device)
#
SUBSYSTEM=="scsi_host", ATTRS{class}=="0x060700", GOTO="ata_port_cardbus"
GOTO="ata_port_cardbus_end"
LABEL="ata_port_cardbus"
# Mass storage controller: Silicon Image, Inc. SiI 3512 [SATALink/SATARaid] Serial ATA Controller (rev 01)
#
SUBSYSTEMS=="pci", ATTRS{vendor}=="0x1095", ATTRS{device}=="0x3512", ENV{UDISKS_ATA_PORT_CONNECTOR_TYPE}="ata_sata_external"
LABEL="ata_port_cardbus_end"

# probe SAS expanders
#
# (hmm, this might be racy, we might not have the BSG device just yet - if
# this is the case we can trigger a 'change' on the sas_expander device
# when the bsg device appears)
#
SUBSYSTEM=="sas_expander", ACTION=="add|change", IMPORT{program}="udisks-probe-sas-expander /sys/%p"

##############################################################################################################

# from here on, we only care about block devices
ACTION!="add|change", GOTO="udisks_end"
SUBSYSTEM!="block", GOTO="udisks_end"
KERNEL=="ram*", GOTO="udisks_end"

# Mark devices that shouldn't be automounted / autoassembled etc.
#
# Deny all, then punch holes for what looks like physical drives
# (TODO: this heuristic might need some work)
#

ENV{UDISKS_PRESENTATION_NOPOLICY}="1"
KERNEL=="sd*|hd*|sr*|mmcblk*|mspblk*", ENV{UDISKS_PRESENTATION_NOPOLICY}="0"

##############################################################################################################

# we only care about change events on device-mapper
# devices - never touch the device on add events
KERNEL=="dm-*", ACTION!="change", GOTO="udisks_end"

# honor the flag that device-mapper sets if the device should be ignored
ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="udisks_end"
ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}=="1", GOTO="udisks_end"

# import UDISKS_DM_* and UDISKS_LVM2_* properties - the long-term plan is to make the lvm2 and
# device-mapper packages provide this information
#
KERNEL=="dm-*", IMPORT{program}="udisks-dm-export %M %m"

# Make udevd synthesize a 'change' uevent when last opener of a rw-fd closes the fd - this
# should be part of the device-mapper rules
KERNEL=="dm-*", OPTIONS+="watch"

##############################################################################################################
# Probe LVM2 Physical Volumes - this will eventually be part of the LVM2 package

ENV{ID_FS_TYPE}=="LVM2_member", TEST=="/lib/udev/udisks-lvm-pv-export", IMPORT{program}="udisks-lvm-pv-export $env{ID_FS_UUID}"

##############################################################################################################

# Probe for partition tables; this really should be part of udev / util-linux-ng
#

# skip rules for inappropriate block devices
KERNEL=="fd*|mtd*|nbd*|gnbd*|btibm*", GOTO="probe_parttable_end"

# never access non-cdrom removable ide devices, the drivers are causing event loops on open()
KERNEL=="hd*[!0-9]", ATTR{removable}=="1", SUBSYSTEMS=="ide", ATTRS{media}=="disk|floppy", GOTO="probe_parttable_end"
KERNEL=="hd*[0-9]", ATTR{removable}=="1", GOTO="probe_parttable_end"

# don't scan for partition tables on empty discs
KERNEL=="sr*", ENV{ID_CDROM_MEDIA}!="?*", GOTO="probe_parttable_end"

# skip non-data discs (see https://bugzilla.kernel.org/show_bug.cgi?id=15757 for the udev bits)
KERNEL=="sr*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="", GOTO="probe_parttable_end"

# scan for partition tables both on whole-disk and partitions
#
IMPORT{program}="udisks-part-id $tempnode"

LABEL="probe_parttable_end"

##############################################################################################################

# pick up data from MD components; this REALLY should be done by rules installed
# by mdadm or the kernel package
#
ENV{ID_FS_TYPE}!="linux_raid_member", GOTO="md_end"

# avoid probing if it has already been done earlier
#
ENV{MD_LEVEL}!="", GOTO="md_end"
TEST=="/sbin/mdadm", IMPORT{program}="/sbin/mdadm --examine --export $tempnode"

LABEL="md_end"

##############################################################################################################

# Check if a disk is ATA SMART capable
#

# USB ATA enclosures with a SAT layer
KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="usb", ENV{DEVTYPE}=="disk", IMPORT{program}="udisks-probe-ata-smart $tempnode"

# ATA disks driven by libata
KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="ata", ENV{DEVTYPE}=="disk", IMPORT{program}="udisks-probe-ata-smart $tempnode"

# ATA disks connected via SAS (not driven by libata)
KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="scsi", ENV{DEVTYPE}=="disk", ENV{ID_VENDOR}=="ATA", IMPORT{program}="udisks-probe-ata-smart $tempnode"


# Example rule for tagging a device with a specific media type. Where and
# how to store this database needs some thought.
#
SUBSYSTEMS=="usb", ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:0", ENV{ID_DRIVE_FLASH_CF}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:1", ENV{ID_DRIVE_FLASH_MS}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:2", ENV{ID_DRIVE_FLASH_SM}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:3", ENV{ID_DRIVE_FLASH_SD}="1"

SUBSYSTEMS=="usb", ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:0", ENV{ID_DRIVE_FLASH_CF}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:1", ENV{ID_DRIVE_FLASH_SM}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:2", ENV{ID_DRIVE_FLASH_SD}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:3", ENV{ID_DRIVE_FLASH_MS}="1"

# APPLE SD Card Reader (MacbookPro5,4)
#
SUBSYSTEMS=="usb", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="8403", ENV{ID_DRIVE_FLASH_SD}="1"

# Realtek card readers
DRIVERS=="rts_pstor", ENV{ID_DRIVE_FLASH_SD}="1"
DRIVERS=="rts_bpp", ENV{ID_DRIVE_FLASH_SD}="1"

# Common theme
#
SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*SD_Reader*", ENV{ID_DRIVE_FLASH_SD}="1"
SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*Reader*SD*", ENV{ID_DRIVE_FLASH_SD}="1"
SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*CF_Reader*", ENV{ID_DRIVE_FLASH_CF}="1"
SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*SM_Reader*", ENV{ID_DRIVE_FLASH_SM}="1"
SUBSYSTEMS=="usb", ENV{ID_MODEL}=="*MS_Reader*", ENV{ID_DRIVE_FLASH_MS}="1"

# TODO: figure out if the drive supports SD and SDHC and what the current
# kind of media is - right now we just assume SD
KERNEL=="mmcblk[0-9]", SUBSYSTEMS=="mmc", ENV{DEVTYPE}=="disk", ENV{ID_DRIVE_FLASH_SD}="1", ENV{ID_DRIVE_MEDIA_FLASH_SD}="1"
KERNEL=="mspblk[0-9]", SUBSYSTEMS=="memstick", ENV{DEVTYPE}=="disk", ENV{ID_DRIVE_FLASH_MS}="1", ENV{ID_DRIVE_MEDIA_FLASH_MS}="1"

##############################################################################################################

# If previous rules did not set an icon, provide a default one for media players

ENV{UDISKS_PRESENTATION_ICON_NAME}=="?*", GOTO="udisks_media_player_end"

ENV{ID_MEDIA_PLAYER}=="?*", ENV{UDISKS_PRESENTATION_ICON_NAME}="multimedia-player"
ENV{ID_MEDIA_PLAYER}=="apple-ipod", ENV{UDISKS_PRESENTATION_ICON_NAME}="multimedia-player-ipod"

# Apple iPod Video
#
SUBSYSTEMS=="usb", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1209", ENV{UDISKS_PRESENTATION_ICON_NAME}="multimedia-player-ipod-white"

LABEL="udisks_media_player_end"

##############################################################################################################

# PC floppy drives
#
KERNEL=="fd*", ENV{ID_DRIVE_FLOPPY}="1"

# USB floppy drives
#
SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="08", ATTRS{bInterfaceSubClass}=="04", ENV{ID_DRIVE_FLOPPY}="1"

# ATA Zip drives
#
ENV{ID_VENDOR}=="*IOMEGA*", ENV{ID_MODEL}=="*ZIP*", ENV{ID_DRIVE_FLOPPY_ZIP}="1"

##############################################################################################################

# Partitions which desktops should not display
#

# Apple Bootstrap partitions
ENV{UDISKS_PARTITION_SCHEME}=="apm", ENV{UDISKS_PARTITION_TYPE}=="Apple_Bootstrap", ENV{UDISKS_PRESENTATION_HIDE}="1"

# special MBR partition types (EFI, hidden, etc.)
# see http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
ENV{UDISKS_PARTITION_SCHEME}=="mbr", \
ENV{UDISKS_PARTITION_TYPE}=="0x00|0x11|0x12|0x14|0x16|0x17|0x1b|0x1c|0x1e|0x27|0x3d|0x84|0x8d|0x90|0x91|0x92|0x93|0x97|0x98|0x9a|0x9b|0xbb|0xc2|0xc3|0xdd|0xef", \
ENV{UDISKS_PRESENTATION_HIDE}="1"

# special GUID-identified partition types
# see http://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs
ENV{UDISKS_PARTITION_SCHEME}=="gpt", \
ENV{UDISKS_PARTITION_TYPE}=="C12A7328-F81F-11D2-BA4B-00A0C93EC93B|21686148-6449-6E6F-744E-656564454649", \
ENV{UDISKS_PRESENTATION_HIDE}="1"

# APM recovery/tool partitions which are useless on Linux
ENV{UDISKS_PARTITION_SCHEME}=="apm", \
ENV{ID_CDROM}=="?*", ENV{ID_FS_TYPE}=="udf", ENV{ID_FS_LABEL}=="WD_SmartWare", \
ENV{UDISKS_PRESENTATION_HIDE}="1"

# recovery partitions (taken from old hal rules)
ENV{ID_FS_TYPE}=="ntfs|vfat", \
ENV{ID_FS_LABEL}=="RECOVERY|HP_RECOVERY|Recovery Partition|DellUtility|DellRestore|IBM_SERVICE|SERVICEV001|SERVICEV002|SYSTEM RESERVED", \
ENV{UDISKS_PRESENTATION_HIDE}="1"

# read-only non-Linux software installer partitions
ENV{ID_VENDOR}=="Sony", ENV{ID_MODEL}=="PRS*Launcher", ENV{UDISKS_PRESENTATION_HIDE}="1"

##############################################################################################################


LABEL="udisks_end"

В общем, удалял я удалял из файла /lib/udev/rules.d/80-udisks.rules правила, доудалялся, что все удалил, а флэшка всё равно примонтировывается:

Флэшка вытащена

Shell

user@debian:~$ cat /lib/udev/rules.d/80-udisks.rules
user@debian:~$ sudo udevadm control --reload-rules
user@debian:~$ df
Файловая система 1K-блоков Использовано Доступно Использовано% Cмонтировано в
rootfs 11533592 4192140 6755572 39% /
udev 10240 0 10240 0% /dev
tmpfs 154804 2564 152240 2% /run
/dev/disk/by-uuid/9a3a71b3-168d-4634-a903-2c0fc76c73f7 11533592 4192140 6755572 39% /
tmpfs 387004 292 386712 1% /dev/shm
tmpfs 387004 0 387004 0% /sys/fs/cgroup
tmpfs 102400 28 102372 1% /run/user
tmpfs 5120 0 5120 0% /run/lock
user@debian:~$
Вставляю флэшку.

Shell

user@debian:~$ df
Файловая система 1K-блоков Использовано Доступно Использовано% Cмонтировано в
rootfs 11533592 4192176 6755536 39% /
udev 10240 0 10240 0% /dev
tmpfs 154804 2596 152208 2% /run
/dev/disk/by-uuid/9a3a71b3-168d-4634-a903-2c0fc76c73f7 11533592 4192176 6755536 39% /
tmpfs 387004 292 386712 1% /dev/shm
tmpfs 387004 0 387004 0% /sys/fs/cgroup
tmpfs 102400 32 102368 1% /run/user
tmpfs 5120 0 5120 0% /run/lock
/dev/sdb1 976344 117716 858628 13% /media/20B62ECEB62EA46E
user@debian:~$
Вот сижу, не знаю, что и думать. Ни одного правила не осталось, а флэшка примонтировывается. Начать с простого вопроса- где ещё-то правилам быть, как не в этом файле? Спасибо, кто откликнется.
Я просто читаю маны.
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Где находится правила благодаря которому сервис udev примонтировывает флэшку?

Сообщение Hephaestus »

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

Я с udisks дела не имел, даже не помню, установлено оно у меня или нет. Поэтому могу только предполагать.
Возможно, после изменения правил требуется перезапуск сервиса, то есть нечто большее, чем просто "reload rules".

Ну и ещё правила могут лежать в /etc/udev/rules.d/
скорее всего, там ничего нет, но вдруг...

А вообще, попробуйте пожить без udisks. Может статься, оно Вам и не нужно.
И, да не надо путать udisks и udev. Udisks - это демон. И совсем не факт, что udisks руководствуется исключительно правилами из rules.d
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Где находится правила благодаря которому сервис udev примонтировывает флэшку?

Сообщение s.xbatob »

Флешку монтирует DE.
А уж кто и как ему советует — я даже не знаю
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18668
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Где находится правила благодаря которому сервис udev примонтировывает флэшку?

Сообщение Bizdelnick »

s.xbatob писал:
19.02.2020 15:56
Флешку монтирует DE.
Монтирует всё-таки udisks, но таки да, обычно по команде DE.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
жучара
Сообщения: 663
ОС: астралинукс

Re: Где находится правила благодаря которому сервис udev примонтировывает флэшку?

Сообщение жучара »

Hephaestus писал:
19.02.2020 15:43
жучараА Вы какой результат хотите получить?
Чтобы флешка не монтировалась без спросу?
Сам не люблю, когда монтируется автоматом.
В моей системе этого не происходит.
если бы флэшка перестала монтироваться, я бы понял- ага, вот udev руководствуется этим правилом при появлении флэшки. В мане так и написано:

Shell

man udevd
...
udevd listens to kernel uevents. For every event, udevd executes matching instructions specified in udev rules. See udev(7).
всё вперёд. А так хрен с ней, что она монтируется. Знания-то не появилось. Это если о результате говорить.
Hephaestus писал:
19.02.2020 15:43
жучараЯ с udisks дела не имел, даже не помню, установлено оно у меня или нет. Поэтому могу только предполагать.
Возможно, после изменения правил требуется перезапуск сервиса, то есть нечто большее, чем просто "reload rules".
не помогает
Hephaestus писал:
19.02.2020 15:43
жучараНу и ещё правила могут лежать в /etc/udev/rules.d/
скорее всего, там ничего нет, но вдруг...
там ничё нет, только ерунда, не относящаяся к делу.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
s.xbatob писал:
19.02.2020 15:56
Флешку монтирует DE.
А уж кто и как ему советует — я даже не знаю
Bizdelnick писал:
19.02.2020 16:21
s.xbatob писал:
19.02.2020 15:56
Флешку монтирует DE.
Монтирует всё-таки udisks, но таки да, обычно по команде DE.
хотелось бы с правилами разобраться. Нужны- не нужны... Я-то исхожу из того, что всё для чего-то есть. Простыня правил написана и сервис udev РАБОТАЕТ по этой простыне. Именно что работает по этой простыне, крутится-вертится. А как он по ней работает-то? Считал правила и висит себе?
Я просто читаю маны.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18668
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Где находится правила благодаря которому сервис udev примонтировывает флэшку?

Сообщение Bizdelnick »

жучара писал(а):
19.02.2020 16:30
А как он по ней работает-то? Считал правила и висит себе?
Не было необходимости глубоко вникать, но судя по тому, что правила начинают работать сразу после внесения изменений, либо каждый раз их перечитывает, либо отслеживает изменения через inotify.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
жучара
Сообщения: 663
ОС: астралинукс

Re: Где находится правила благодаря которому сервис udev примонтировывает флэшку?

Сообщение жучара »

Bizdelnick писал:
19.02.2020 16:32
жучара писал(а):
19.02.2020 16:30
А как он по ней работает-то? Считал правила и висит себе?
Не было необходимости глубоко вникать, но судя по тому, что правила начинают работать сразу после внесения изменений, либо каждый раз их перечитывает, либо отслеживает изменения через inotify.
как быстро вносятся изменения в правила и по цепочке в работу udevd, я понял. Вопрос, на что они ПРАКТИЧЕСКИ влияют, если не на примонтировывание. Пока это просто интересно. Ведь они же есть и есть для чего-то.
Я просто читаю маны.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18668
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Где находится правила благодаря которому сервис udev примонтировывает флэшку?

Сообщение Bizdelnick »

жучара писал(а):
19.02.2020 16:51
Вопрос, на что они ПРАКТИЧЕСКИ влияют
На создание файлов устройств в /dev, прежде всего. И на многое другое, прописанное в них, тоже. Имеющий глаза да увидит.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Где находится правила благодаря которому сервис udev примонтировывает флэшку?

Сообщение s.xbatob »

Bizdelnick писал:
19.02.2020 16:21
s.xbatob писал:
19.02.2020 15:56
Флешку монтирует DE.
Монтирует всё-таки udisks, но таки да, обычно по команде DE.
ясное дело, DE монтирует не сам. Но решение принимает именно он. Так что договариватья надо в первую очередь с ним
Спасибо сказали:

Аватара пользователя
жучара
Сообщения: 663
ОС: астралинукс

Re: Где находится правила благодаря которому сервис udev примонтировывает флэшку?

Сообщение жучара »

Тут, наверное. нужно попытаться ответить на вопрос- а как вообще включить-отключить автоматическое монтирование флэшки? А мы почти уже знаем ответ, благо похожая тема была:
Re: Где хранятся параметры, используемые при автоматическом примонтировании флэшки?

По ходу ответ на этот вопрос нашёлся быстро.

user@debian:~$ gsettings set org.gnome.desktop.media-handling automount false
или
user@debian:~$ gsettings set org.gnome.desktop.media-handling automount true
Всё. Ложка дёгтя:

Shell

user@debian:~$ gsettings
Использование:
gsettings [--schemadir КАТАЛОГ_СХЕМ] КОМАНДА [АРГУМЕНТЫ…]

Команды:
help Показать эту справку
list-schemas Список установленных схем
list-relocatable-schemas Список перемещаемых схем
list-keys Список ключей схемы
list-children Список потомков схемы
list-recursively Список ключей и значений, рекурсивно
range Запросить диапазон значений ключа
get Получить значение ключа
set Изменить значение ключа
reset Сбросить значение ключа
reset-recursively Сбросить все значения в заданной схеме
writable Проверить ключ на запись
monitor Следить за изменениями

Подробную справку можно получить с помощью «gsettings help КОМАНДА».


user@debian:~$
А меж тем, в другой оси (астралинукс Орёл 1.6):

Shell

user@astra:~$ gsettings
Usage:
gsettings --version
gsettings [--schemadir SCHEMADIR] COMMAND [ARGS...]

Commands:
help Show this information
list-schemas List installed schemas
list-relocatable-schemas List relocatable schemas
list-keys List keys in a schema
list-children List children of a schema
list-recursively List keys and values, recursively
range Queries the range of a key
describe Queries the description of a key
get Get the value of a key
set Set the value of a key
reset Reset the value of a key
reset-recursively Reset all values in a given schema
writable Check if a key is writable
monitor Watch for changes

Use 'gsettings help COMMAND' to get detailed help.


user@astra:~$
user@astra:~$ gsettings describe org.gnome.desktop.media-handling automount
Если установлено, тогда файловый менеджер Nautilus будет автоматически подключать носители, такие как жёсткие диски и съёмные носители, при запуске или подключении носителей.
user@astra:~$
То есть в debian отсутствует команда discrabe. Так что пока просто.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Bizdelnick писал:
19.02.2020 17:21
жучара писал(а):
19.02.2020 16:51
Вопрос, на что они ПРАКТИЧЕСКИ влияют
На создание файлов устройств в /dev, прежде всего. И на многое другое, прописанное в них, тоже. Имеющий глаза да увидит.
нельзя ли какой-нибудь простой пример? Например, отключаем правило такое-то и вот результат отличается от того что был, при включённом правиле. Я пока разницу вообще не увидел. Что вообще правил нет, что они есть, разницы никакой. Я конечно, не так проверял, а как надо? Может быть, файл с такими правилами влияет совсем на другое. Так ведь не пишут, на что. И ещё:

Shell

man udev
...
RUN
Add a program to the list of programs to be executed for a specific device. This
can only be used for very short running tasks. Running an event process for a long
period of time may block all further events for this or a dependent device. Long
running tasks need to be immediately detached from the event process itself.
Так, в файле /lib/udev/rules.d/80-udisks.rules ключ RUN отсутствует напрочь. Отсюда вопрос- а как оно вообще-что то делает? Команда на создание файлов устройств должна быть добавлена в RUN, а её нет. Да, и если я вам опять нахамил, лучше не отвечайте, ну его на фиг эту нервотрёпку.
Я просто читаю маны.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18668
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Где находится правила благодаря которому сервис udev примонтировывает флэшку?

Сообщение Bizdelnick »

жучара писал(а):
19.02.2020 18:18
нельзя ли какой-нибудь простой пример?
Ну вот, скажем, у меня в /lib/udev/rules.d/55-dm.rules в комментариях очень подробно расписано, что и для чего делается. А если нужен пример попроще, то в /etc/udev/rules.d/70-persistent-net.rules прописано правило для присвоения такого-то имени сетевому интерфейсу с таким-то MAC-адресом.
жучара писал(а):
19.02.2020 18:18
Команда на создание файлов устройств должна быть добавлена в RUN, а её нет.
Не должна. Какая-то команда вообще сравнительно редко бывает нужна. Да и, что уж там, Поттеринг и компания регулярно ломают всё, что связано с запуском команд из правил udev, и каждый раз объясняют, почему это не баг, а фича.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
жучара
Сообщения: 663
ОС: астралинукс

Re: Где находится правила благодаря которому сервис udev примонтировывает флэшку?

Сообщение жучара »

Bizdelnick, я вас не пойму, если нет команды RUN или аналога, какое действие нужно совершать согласно правилу (какому-либо)?:

Shell

man udevd
...
udevd listens to kernel uevents. For every event, udevd executes matching instructions specified in udev rules. See udev(7).
Я просто читаю маны.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18668
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Где находится правила благодаря которому сервис udev примонтировывает флэшку?

Сообщение Bizdelnick »

жучара писал(а):
19.02.2020 20:13
какое действие нужно совершать согласно правилу (какому-либо)?
То, которое в нём прописано (specified, то бишь).
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
жучара
Сообщения: 663
ОС: астралинукс

Re: Где находится правила благодаря которому сервис udev примонтировывает флэшку?

Сообщение жучара »

Bizdelnick писал:
19.02.2020 20:48
То, которое в нём прописано (specified, то бишь).
у нас что с вами, сказка про белого бычка? Ну ещё на один круг пошли. Итак, действие должно быть указано не просто, а по определённым правилам, то есть RUN. RUN-а нет. Вопрос- какое действие будет выполнено? И кажется, я даже знаю, что вы ответите.
Я просто читаю маны.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18668
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Где находится правила благодаря которому сервис udev примонтировывает флэшку?

Сообщение Bizdelnick »

жучара писал(а):
19.02.2020 20:58
Итак, действие должно быть указано не просто, а по определённым правилам, то есть RUN.
Кто сказал, что только RUN? Читайте man 7 udev, раздел «Rules Files», особенно внимательно — список, начинающийся со слов «The following keys can get values assigned». Там много всего помимо RUN.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали: