當前位置: 首頁>>技術教程>>正文


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/zh-tw/article/12177.html,未經允許,請勿轉載。