我正在设置 Debian Stretch 的新安装。因为它是在定制的 NAS 盒子上,所以我有一个小抱怨 - 原始软件是从模制在主板上的 USB 内存模块启动的。我从其他地方启动 Debian,但它会自动识别并挂载该 USB 存储器中的所有分区。所以我想我会自己编写一个小脚本来卸载这些分区并从 rc.local 运行它,但现在我发现 rc.local 实际上是向后兼容功能的已弃用的向后兼容功能,因此应该避免。
那么我该如何运行这个小脚本:
umount /dev/sdd1 /dev/sdd2 /dev/sdd3 /dev/sdd4 /dev/sdd5
在启动时?它不是守护进程,所以我认为按照我发现的其他问题和讨论中对守护进程进程的建议深入研究 systemd 是没有意义的这里。
或者也许有一种方法可以阻止 Debian 从一开始就安装该 USB 内存?
答案1
它不是一个守护进程,所以我认为深入研究 systemd 是没有意义的
这就是你错的地方。
有两种方法可以处理这个问题,都涉及 systemd。
- 找出相关
.mount
单位的生成位置,并更改生成器。按照惯例,这将是systemd-fstab-generator
或systemd-gpt-auto-generator
。事实上,您在/etc/fstab
前者的驱动器中找不到这些行,这表明它更有可能是后者,或者某种自定义生成器。 - 屏蔽相关
.mount
单位。
可以使用 来发现相关的安装单位systemctl --all
。
当然,如果发现没有.mount
单位,那么这一定是由于某种额外机制而发生的,也许是一个可以显式安装东西的脚本,您只需弄清楚如何禁用它。
进一步阅读
- https://unix.stackexchange.com/a/425540/5132
- 伦纳特·珀特林等人。 (2017)。
systemd.mount
。 系统手册页。 freedesktop.org。 - 伦纳特·珀特林等人。 (2017)。
systemd-fstab-generator
。 系统手册页。 freedesktop.org。 - 伦纳特·珀特林等人。 (2017)。
systemd-gpt-auto-generator
。 系统手册页。 freedesktop.org。