当前位置: 首页>>技术教程>>正文


CLI 安装与 GUI 安装

, , , ,

问题描述

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

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

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

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

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

最佳答案

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

这提供了一个动态挂载,其中为驱动器 on-the-fly 创建挂载点,当驱动器被卸载时,挂载点消失。

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

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

udisks --mount /dev/sdb1

当手动使用 命令行 中的 udisks 时,您最好简单地插入一个设备,然后在此后不久运行 dmesg | tail(请参阅 man dmesgman tail)以发现新连接设备的设备名称。

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

次佳答案

Since I do not want to automount on boot, fstab is out of the question (right?).

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

Is there an “easy” way to mount via CLI, just like it does on the GUI by clicking on an unmounted drive?

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

mount /dir

这将具有安装点的安装探针,如果未找到,则用于 /etc/fstab 中的设备。 /dir 需要存在。

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

mount /dev/sda1 /media/directory

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


mount 通常只是超级用户。

示例选项:

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

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

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

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

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

第三种答案

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

For whatever reason, I’m getting “Mount failed: Not Aouthorized” when running it via ssh

我使用 pmount 而不是 udisks 。它通过 ssh 工作。

如果我没记错的话,这是我使用的语法/等 – 此时我的大部分内容都隐藏在别名后面:

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12177.html,未经允许,请勿转载。