起動時に自動的にマウントされるSDカードをマウント/マウント解除するには?

起動時に自動的にマウントされるSDカードをマウント/マウント解除するには?

私たちはDebian 8.4を実行する1つのデバイス(実際には2つ)を持っており、ほとんどがベンダーによって事前設定されています。起動時に自動的に取り付けられるSDカードスロット(利用可能な場合)があります。

問題は、fsck用​​のカードを手動でマウント解除した後にどのように再マウントするのですか?手動で再インストールすることもできますが、起動時に自動的にインストールされるため、システムにも同じ方法で再インストールする方法が必要です。単にシステムを再起動することもできますが、それが最善の解決策ではないようです。

以下が含まれているのでsystemctl | grep mmc

media-sd\x2dmmcblk0p1.mount          loaded active mounted   /media/sd-mmcblk0p1

systemdが起動時にカードを取り付けたようです。ところで、umountその項目は消えた。 Systemdはまだ私にとってミステリーなので、この知識は私にとってあまり役に立ちません。

編集:言及するのを忘れました:/ etc / fstabにはSDカードに関する内容はありません。

編集:起動後、次のようにsystemctl status 'media-sd\x2dmmcblk0p1.mount'表示されます。

? media-sd\x2dmmcblk0p1.mount - /media/sd-mmcblk0p1
   Loaded: loaded (/proc/self/mountinfo)
   Active: active (mounted) since Fri 2016-04-15 11:47:52 UTC; 3h 2min ago
    Where: /media/sd-mmcblk0p1
     What: /dev/mmcblk0p1

その後は次のようにumount言います。

? media-sd\x2dmmcblk0p1.mount
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)

systemctl cat 'media-sd\x2dmmcblk0p1.mount'どちらの場合も何も言わなかった。

答え1

見つけたと思います。

私の最初の考えとは異なり、SDカードはsystemdではなく起動時にudevによってマウントされます。以下を含むルールがあることがわかりました/etc/udev/rules.d/11-media-by-label-auto-mount.rules

KERNEL!="mmcblk[0-9]p[0-9]", GOTO="media_by_label_auto_mount_end"
# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"
# Get a label if present, otherwise specify one
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="sd-%k"
# Global mount options
ACTION=="add", ENV{mount_options}="relatime"
# Filesystem-specific mount options
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=002"
# Mount the device
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"
# Clean up after removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"
# Exit
LABEL="media_by_label_auto_mount_end"

したがって、次の方法を使用してSDカードをマウントできます。

sudo udevadm trigger -c add -y "mmcblk*"

それでも単純なものには少し不思議ですが(私の考えでは)うまくいきます。

関連情報