使っていますDebian バスター、10.7、私はudev / udisks2 / systemdに比較的最初に触れ、それをよりよく理解しようとし、多くのことを学びました。しかし、udisks2が特定のボリューム(SDカード)を自動的にマウントするのを止める方法がわからないようです。だけで/media/$USER/foo
なく/data
。
これまでに試したことは次のとおりです。
$ grep /data /etc/fstab
UUID="3537-3761" /data exfat-fuse defaults,nofail,x-systemd.device-timeout=2ms 0 0
$ cat /etc/systemd/system/data-sdcard-mount.service
[Unit]
Description=Mount Data SD Card on /data
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/mount /data
ExecStop=/bin/umount /data
$ cat /etc/udev/rules.d/99-data-sdcard.rules
ACTION=="add", \
SUBSYSTEM=="block", \
ENV{DEVTYPE}=="partition", \
ENV{ID_DRIVE_MEDIA_FLASH_SD}=="1", \
ENV{ID_NAME}=="SF256", \
ENV{ID_SERIAL}=="0x3db0a775", \
RUN+="/bin/systemctl start data-sdcard-mount", \
ENV{UDISKS_IGNORE}="1", \
OPTIONS="last_rule"
ACTION=="remove", \
SUBSYSTEM=="block", \
ENV{DEVTYPE}=="partition", \
ENV{ID_DRIVE_MEDIA_FLASH_SD}=="1", \
ENV{ID_NAME}=="SF256", \
ENV{ID_SERIAL}=="0x3db0a775", \
RUN+="/bin/systemctl stop data-sdcard-mount", \
OPTIONS="last_rule"
カードを挿入したときに別の端末ウィンドウに表示されるシステムログは次のとおりです(MATEにログインした後も同様です)。
Feb 4 13:25:51 localhost kernel: [508706.027711] mmc3: new high speed SDXC card at address aaaa
Feb 4 13:25:51 localhost kernel: [508706.044472] mmcblk3: mmc3:aaaa SF256 238 GiB
Feb 4 13:25:51 localhost kernel: [508706.058372] mmcblk3: p1
Feb 4 13:25:51 localhost systemd[1]: Starting Mount Data SD Card on /data...
Feb 4 13:25:51 localhost mount[1734]: FUSE exfat 1.3.0
Feb 4 13:25:51 localhost mount[1734]: WARN: volume was not unmounted cleanly.
Feb 4 13:25:51 localhost mount.exfat-fuse: volume was not unmounted cleanly
Feb 4 13:25:51 localhost systemd[1]: data.mount: Unit is bound to inactive unit dev-disk-by\x2duuid-3537\x2d3761.device. Stopping, too.
Feb 4 13:25:51 localhost systemd[1]: Started Mount Data SD Card on /data.
Feb 4 13:25:51 localhost systemd[1]: Unmounting /data...
Feb 4 13:25:51 localhost systemd[14720]: data.mount: Succeeded.
Feb 4 13:25:51 localhost systemd[2920]: data.mount: Succeeded.
Feb 4 13:25:51 localhost systemd[1]: data.mount: Succeeded.
Feb 4 13:25:51 localhost systemd[1]: Unmounted /data.
Feb 4 13:25:52 localhost systemd[1]: Started Clean the /media/vanfan/Data mount point.
Feb 4 13:25:52 localhost udisksd[2010]: Mounted /dev/mmcblk3p1 at /media/vanfan/Data on behalf of uid 1000
/dataにマウントされていますが、何らかの理由でマウント解除されているようです。
出てくる内容は次のとおりですudisksctl info -b /dev/mmcblk3p1
。
$ udisksctl info -b /dev/mmcblk3p1
/org/freedesktop/UDisks2/block_devices/mmcblk3p1:
org.freedesktop.UDisks2.Block:
Configuration: []
CryptoBackingDevice: '/'
Device: /dev/mmcblk3p1
DeviceNumber: 45825
Drive: '/org/freedesktop/UDisks2/drives/SF256_0x3db0a775'
HintAuto: true
HintIconName:
HintIgnore: false
HintName:
HintPartitionable: true
HintSymbolicIconName:
HintSystem: false
Id: by-uuid-3537-3761
IdLabel: Data
IdType: exfat
IdUUID: 3537-3761
IdUsage: filesystem
IdVersion: 1.0
MDRaid: '/'
MDRaidMember: '/'
PreferredDevice: /dev/mmcblk3p1
ReadOnly: false
Size: 255835766784
Symlinks: /dev/disk/by-id/mmc-SF256_0x3db0a775-part1
/dev/disk/by-label/Data
/dev/disk/by-path/platform-4809c000.mmc-part1
/dev/disk/by-uuid/3537-3761
UserspaceMountOptions: uhelper=udisks2
org.freedesktop.UDisks2.Filesystem:
MountPoints: /media/vanfan/Data
Size: 0
org.freedesktop.UDisks2.Partition:
Flags: 0
IsContained: false
IsContainer: false
Name:
Number: 1
Offset: 33554432
Size: 255835766784
Table: '/org/freedesktop/UDisks2/block_devices/mmcblk3'
Type: 0x07
UUID:
私が逃した部分がありますか?もっと良い方法がありますか?私は以前このトピックについて研究して動作しようとしましたが、これがうまくいかない理由を本当に理解していません。
答え1
UDisksがあなたのアイテムを無視する理由を見つけたようですfstab
。 UDisksはあなたのアイテムを解析できませんfstab
。
UUID="3537-3761" /data exfat-fuse defaults,nofail,x-systemd.device-timeout=2ms 0 0
引用符でUUID="3537-3761"
問題が発生しました。私のシステムのクイックテスト:
引用符を含める:
$ udisksctl mount -b /dev/sdb1
Mounted /dev/sdb1 at /run/media/vojta/E2FC-EAE3
いいえ:
$ udisksctl mount -b /dev/sdb1
Mounted /dev/sdb1 at /mnt/test
これがうまくいくかどうかはわかりません。すべての例(含まれています)は、引用符なしでman fstab
UUIDを使用してエントリを指定することを示していますが、これは動作するため、UDiksもおそらくそうする必要があるため、UDiksのバグとして報告することを検討できます。UUID=<uuid>
mount