CLI 安装与 GUI 安装

Nic*_*lla 22 gui command-line mount automount hard-drive

在 Ubuntu 12.10 上,当我想挂载硬盘时,我只需单击未挂载的驱动器,一切正常(通过挂载到/media/username/partitionlabel)。

基本上,我想通过命令行(对于我正在处理的脚本)完全做到这一点

因为我不想在启动时自动挂载,所以 fstab 是不可能的(对吧?)。

当我在 CLI 上使用 mount 时,我需要指定一个挂载点(它需要有一个以前创建的挂载点;另外,我需要处理权限等等)——我不明白的是 GUI 在哪里它的信息来自?挂载点似乎取决于分区的标签,但在挂载之前这样的目录不存在。此外,GUI 方式似乎不太关心不是 root 的用户。

是否有一种通过 CLI 挂载的“简单”方法,就像在 GUI 上单击未挂载的驱动器一样?

Eli*_*gan 16

Nautilus 和其他装载驱动器(即GUI)的文件管理器使用该udisks命令。

这提供了一个动态挂载,挂载点是即时为驱动器创建的,当驱动器被卸载时,挂载点消失。

有关man 1 udisks如何使用此命令(手动或从脚本/应用程序调用)的详细信息,请参阅。要了解有关udisks工作原理的更多信息,请参阅man 7 udisks

要使用 挂载设备udisks,您必须为设备指定有效的设备名称。指定设备的卷名将不起作用。所以,你可以这样使用udisks

udisks --mount /dev/sdb1
Run Code Online (Sandbox Code Playgroud)

udisks从命令行手动使用时,最好简单地插入设备,然后稍后运行dmesg | tail(参见man dmesgman tail)以发现新连接设备的设备名称。

然而,这可能不是编写使用 挂载设备的脚本的最佳方式udisks。我不知道到底应该怎么做,因为你还没有告诉我们,正是这将是很难知道什么你想这个脚本做的,你想要安装的设备。

  • @NicolaApicella 你如何运行它?如果您尝试从远程会话(包括 SSH)或 crontab 中运行它,您将收到一条 *notauthorized* 消息;默认情况下,非 root 用户只能从本地交互式登录使用 `udisks` 挂载卷。(不过,他们仍然可以从使用“udisks”的本地交互式登录运行脚本。) (2认同)

Rin*_*ind 7

因为我不想在启动时自动挂载,所以 fstab 是不可能的(对吧?)。

不。 noauto关键字使它在启动时跳过安装。

是否有一种通过 CLI 挂载的“简单”方法,就像在 GUI 上单击未挂载的驱动器一样?

最简单的方法是将其添加到/etc/fstabwithnoauto并使用 ...

mount /dir
Run Code Online (Sandbox Code Playgroud)

这将有一个挂载点的挂载探针,如果没有找到,则用于/etc/fstab. /dir虽然需要存在。

如果提供了设备或 UUID,/etc/fstab则不会进行探测。像这样...

mount /dev/sda1 /media/directory
Run Code Online (Sandbox Code Playgroud)

或者使用udisks (我会让 Eliah 处理那个 >:-) )


mount 通常只是超级用户。

示例选项:

  • rw,noauto,user 将其挂载为读+写,但不在启动时挂载,您可以以用户身份进行挂载。

  • 您还可以在/etc/fstab文件中为用户添加权限。你可以用umask它。

  • umask=0444 :每个人都读,不写,不执行。

  • umask=0333 :每个人都阅读,执行。

  • umask=0338 : 所有者,组读取和执行;其他的,没什么