如何在 openSUSE 13.2 中禁用外部设备的自动挂载?

gre*_*man 9 opensuse automounting

以前我使用 openSUSE 11.4 并且我有一个旧的手动挂载。尽管如此,我复制了所有配置文件(我认为)我注意到/etc/fstab设备未知是自动挂载的(知道我定义为noauto)。但是因为这与 openSUSE 13.2 发行版有很大不同,所以我并不感到惊讶。

So how to do this in openSUSE 13.2? I would like to mount the device manually by mount, and unmount also manually by umount. No other way, no smart timeout on inactivity or anything like that.

I would like to disable that feature at system level, nothing per desktop (for the record I use KDE 3.5, not a joke), so I could be 100% sure this problem will not appear again when working in pure console or another desktop.

Related issue provided by don-crissti: Automount not disabling in Ubuntu 12.04 or 13.04

Update

# more /etc/udev/rules.d/85-no-automount.rules
SUBSYSTEM=="usb", ENV{UDISKS_AUTO}="0"
Run Code Online (Sandbox Code Playgroud)
  • kernel-desktop-devel-3.16.6-2.1.x86_64
  • udev-210-25.5.4.x86_64
  • udisks2-2.1.3-2.1.5.x86_64

max*_*zig 14

您在 OpenSUSE 或 Fedora 等现代 Linux 发行版上看到的自动挂载是由udisks2服务实现的。

因此,您可以通过停止该服务在系统级别禁用该功能,例如:

# systemctl stop udisks2.service
Run Code Online (Sandbox Code Playgroud)

要验证它是否已停止:

# systemctl status udisks2
Run Code Online (Sandbox Code Playgroud)

当然,这种变化不是永久性的。

默认情况下,udisks2 服务甚至未启用,因此在引导期间不会自动启动。相反,它是通过 Dbus 激活的(例如,当第一个用户启动桌面会话时)。

因此,如果你真的讨厌 udisks2:

$ systemctl mask udisks2
Run Code Online (Sandbox Code Playgroud)

这将阻止所有启动,包括手动启动。

动机

为什么要通过精美的 disks2 磁盘管理器禁用自动挂载?

有几个很好的理由,例如

  • 解决 udisks2 自动挂载错误1
  • 对某些 USB 驱动器进行取证工作
  • 从 USB 设备上损坏的 FS 中拯救数据(自动挂载会导致更多破坏)

1.例如在 Fedora 25 上,当连接 2 个作为 Btrfs RAID-1 镜像的 USB 设备时,镜像会自动挂载,/run/media/juser/mirror/run/media/juser/mirror1在解锁屏幕时它也会第二次挂载......而第一次挂载仍然有效...