Linux中國

如何把 Google 雲端硬碟當做虛擬磁碟一樣掛載到 Linux

Google 雲端硬碟 是全球比較受歡迎的雲存儲平台. 直到 2017 年, 全球有超過 8 億的活躍用戶在使用它。即使用戶數在持續增長,但直到現在 Google 還是沒有發布一款可以在 Linux 平台使用的客戶端。但這難不倒 Linux 社區。不時就有一些開發者給 Linux 操作系統帶來一些客戶端。下面我將會介紹三個用於 Linux 系統非官方開發的 Google 雲端硬碟客戶端。使用這些客戶端,你能把 Google 雲端硬碟像虛擬磁碟一樣掛載到 Linux 系統。請繼續閱讀。

1、Google-drive-ocamlfuse

google-drive-ocamlfuse 把 Google 雲端硬碟當做是一個 FUSE 類型的文件系統,它是用 OCam 語言寫的。FUSE 意即 用戶態文件系統 Filesystem in Userspace ,此項目允許非管理員用戶在用戶空間創建虛擬文件系統。google-drive-ocamlfuse 可以讓你把 Google 雲端硬碟當做磁碟一樣掛載到 Linux 系統。支持對普通文件和目錄的讀寫操作,支持對 Google dock、表單和演示稿的只讀操作,支持多個 Googe 雲端硬碟用戶,重複文件處理,支持訪問回收站等等。

安裝 google-drive-ocamlfuse

google-drive-ocamlfuse 能在 Arch 系統的 AUR 上直接找到,所以你可以使用 AUR 助手程序,如 Yay 來安裝。

$ yay -S google-drive-ocamlfuse

在 Ubuntu 系統:

$ sudo add-apt-repository ppa:alessandro-strada/ppa
$ sudo apt-get update
$ sudo apt-get install google-drive-ocamlfuse

安裝最新的測試版本:

$ sudo add-apt-repository ppa:alessandro-strada/google-drive-ocamlfuse-beta
$ sudo apt-get update
$ sudo apt-get install google-drive-ocamlfuse

使用方法

安裝完成後,直接在終端裡面輸入如下命令,就可以啟動 google-drive-ocamlfuse 程序了:

$ google-drive-ocamlfuse

當你第一次運行該命令,程序會直接打開你的瀏覽器並要求你確認是否對 Google 雲端硬碟的文件的操作進行授權。當你確認授權後,掛載 Google 雲端硬碟所需要的配置文件和目錄都會自動進行創建。

當成功授權後,你會在終端裡面看到如下的信息。

Access token retrieved correctly.

好了,我們可以進行下一步操作了。關閉瀏覽器並為我們的 Google 雲端硬碟創建一個掛載點吧。

$ mkdir ~/mygoogledrive

最後操作,使用如下命令掛載 Google 雲端硬碟:

$ google-drive-ocamlfuse ~/mygoogledrive

恭喜你了!你可以使用終端或文件管理器來訪問 Google 雲端硬碟裡面的文件了。

使用終端:

$ ls ~/mygoogledrive

使用文件管理器:

如何你有不止一個賬戶,可以使用 label 命令對其進行區分不同的賬戶,就像下面一樣:

$ google-drive-ocamlfuse -label label [mountpoint]

當操作完成後,你可以使用如下的命令卸載 Google 雲端硬碟:

$ fusermount -u ~/mygoogledrive

獲取更多信息,你可以參考 man 手冊。

$ google-drive-ocamlfuse --help

當然你也可以看看官方文檔和該項目的 GitHub 項目以獲取更多內容。

2. GCSF

GCSF 是基於 Google 雲端硬碟的 FUSE 文件系統,使用 Rust 語言編寫。GCSF 得名於羅馬尼亞語中的「 G oogle C onduce S istem de F ișiere」,翻譯成英文就是「Google Drive Filesystem」(即 Google 雲端硬碟文件系統)。使用 GCSF,你可以把 Google 雲端硬碟當做虛擬磁碟一樣掛載到 Linux 系統,可以通過終端和文件管理器對其進行操作。你肯定會很好奇,這到底與其它的 Google 雲端硬碟 FUSE 項目有什麼不同,比如 google-drive-ocamlfuse。GCSF 的開發者回應 Reddit 上的類似評論:「GCSF 意在某些方面更快(遞歸列舉文件、從 Google 雲端硬碟中讀取大文件)。當文件被緩存後,在消耗更多的內存後,其緩存策略也能讓讀取速度更快(相對於 google-drive-ocamlfuse 4-7 倍的提升)」。

安裝 GCSF

GCSF 能在 AUR 上面找到,對於 Arch 用戶來說直接使用 AUR 助手來安裝就行了,例如Yay

$ yay -S gcsf-git

對於其它的發行版,需要進行如下的操作來進行安裝。

首先,你得確認系統中是否安裝了Rust語言。

確保 pkg-configfuse 軟體包是否安裝了。它們在絕大多數的 Linux 發行版的默認倉庫中都能找到。例如,在 Ubuntu 及其衍生版本中,你可以使用如下的命令進行安裝:

$ sudo apt-get install -y libfuse-dev pkg-config

當所有的依賴軟體安裝完成後,你可以使用如下的命令來安裝 GCSF:

$ cargo install gcsf

使用方法

首先,我們需要對 Google 雲端硬碟的操作進行授權,簡單輸入如下命令:

$ gcsf login ostechnix

你必須指定一個會話名稱。請使用自己的會話名稱來代 ostechnix。你會看到像下圖的提示信息和Google 雲端硬碟賬戶的授權驗證連接。

直接複製並用瀏覽器打開上述 URL,並點擊 「allow」 來授權訪問你的 Google 雲端硬碟賬戶。當完成授權後,你的終端會顯示如下的信息。

Successfully logged in. Credentials saved to "/home/sk/.config/gcsf/ostechnix".

GCSF 會把配置保存文件在 $XDG_CONFIG_HOME/gcsf/gcsf.toml,通常位於 $HOME/.config/gcsf/gcsf.toml。授權憑證也會保存在此目錄當中。

下一步,創建一個用來掛載 Google 雲端硬碟的目錄。

$ mkdir ~/mygoogledrive

之後,修改 /etc/fuse.conf 文件:

$ sudo vi /etc/fuse.conf

注釋掉以下的行,以允許非管理員用 allow_otherallow_root 掛載選項來掛載。

user_allow_other

保存並關閉文件。

最後一步,使用如下命令掛載 Google 雲端硬碟:

$ gcsf mount ~/mygoogledrive -s ostechnix

示例輸出:

INFO gcsf > Creating and populating file system...
INFO gcsf > File sytem created.
INFO gcsf > Mounting to /home/sk/mygoogledrive
INFO gcsf > Mounted to /home/sk/mygoogledrive
INFO gcsf::gcsf::file_manager > Checking for changes and possibly applying them.
INFO gcsf::gcsf::file_manager > Checking for changes and possibly applying them.

重複一次,使用自己的會話名來更換 ostechnix。你可以使用如下的命令來查看已經存在的會話:

$ gcsf list
Sessions:
- ostechnix

你現在可以使用終端和文件管理器對 Google 雲端硬碟進行操作了。

使用終端:

$ ls ~/mygoogledrive

使用文件管理器:

如果你不知道自己把 Google 雲端硬碟掛載到哪個目錄了,可以使用 df 或者 mount 命令,就像下面一樣。

$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 968M 0 968M 0% /dev
tmpfs 200M 1.6M 198M 1% /run
/dev/sda1 20G 7.5G 12G 41% /
tmpfs 997M 0 997M 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 997M 0 997M 0% /sys/fs/cgroup
tmpfs 200M 40K 200M 1% /run/user/1000
GCSF 15G 857M 15G 6% /home/sk/mygoogledrive

$ mount | grep GCSF
GCSF on /home/sk/mygoogledrive type fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000,allow_other)

當操作完成後,你可以使用如下命令來卸載 Google 雲端硬碟:

$ fusermount -u ~/mygoogledrive

瀏覽GCSF GitHub 項目以獲取更多內容。

3、Tuxdrive

Tuxdrive 也是一個非官方 Linux Google 雲端硬碟客戶端。我們之前有寫過一篇關於 Tuxdrive 比較詳細的使用方法。可以查看如下鏈接:

當然,之前還有過其它的非官方 Google 雲端硬碟客戶端,例如 Grive2、Syncdrive。但它們好像都已經停止開發了。當有更受歡迎的 Google 雲端硬碟客戶端出現,我會對這個列表進行持續的跟進。

謝謝你的閱讀。

via: https://www.ostechnix.com/how-to-mount-google-drive-locally-as-virtual-file-system-in-linux/

作者:SK 選題:lujun9972 譯者:sndnvaps 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國