CLI安装与GUI安装

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

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

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

当我在CLI上使用mount时,我需要指定一个mountpoint(它需要有一个先前创建的mountpoint;另外,我需要处理权限和诸如此类的东西) – 我不明白的是GUI在哪里它的相关信息? mountpoint似乎依赖于分区的标签,但在安装之前这样的目录不存在。 此外,GUI方式似乎并不太关心用户不是root用户。

是否有一种“简单”的方式通过CLI安装,就像在GUI上点击未安装的驱动器一样?

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

这提供了动态安装,其中为驱动器即时创建安装点,并且在卸载驱动器时,安装点消失。

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

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

 udisks --mount /dev/sdb1 

udisks手动使用udisks ,最好只需插入设备,然后运行dmesg | tail 之后不久(请参阅man dmesgman tail )以发现新连接设备的设备名称。

但是,这可能不是编写使用udisks安装设备的脚本的最佳方法。 我不知道你应该怎么做,而且很难知道,因为你没有准确地告诉我们你想要这个脚本做什么以及什么时候你想要它安装设备。

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

不。 noauto关键字使其在引导时跳过挂载。

是否有一种“简单”的方式通过CLI安装,就像在GUI上点击未安装的驱动器一样?

最简单的方法是使用noauto将其添加到/etc/fstab并使用…

 mount /dir 

这将为mountpoint安装探针,如果没有找到,则为/etc/fstab/dir需要存在。

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

 mount /dev/sda1 /media/directory 

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


mount通常只是超级用户。

示例选项:

  • rw,noauto,user安装为读取+写入但不能在启动时安装,您可以以用户身份执行此操作。

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

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

  • umask = 0333:每个人都读,执行。
  • umask = 0338:所有者,组读取和执行; 别人,没什么

在其中一条评论中,你说:

无论出于何种原因,我在通过ssh运行时遇到“Mount failed:not Aouthorized”

我使用pmount而不是udisks 。 它适用于ssh。

如果我没记错的话,这就是我用它的语法/ etc – 我的大多数都隐藏在别名后面:

 pmount /dev/sdb1 my_usb ls /media/my_usb/ eject /media/my_usb 

使用

 udisks --mount /dev/sdb1 

(将/dev/sdb1替换为您要安装的设备)