Google 雲端硬碟[1] 是全球比較受歡迎的雲儲存平臺. 直到 2017 年, 全球有超過 8 億的活躍使用者在使用它。即使使用者數在持續增長,但直到現在 Google 還是沒有釋出一款可以在 Linux 平臺使用的客戶端。但這難不倒 Linux 社群。不時就有一些開發者給 Linux 作業系統帶來一些客戶端。下麵我將會介紹三個用於 Linux 系統非官方開發的 Google 雲端硬碟客戶端。使用這些客戶端,你能把 Google 雲端硬碟像虛擬磁碟一樣掛載到 Linux 系統。請繼續閱讀。
1、Google-drive-ocamlfuse
google-drive-ocamlfuse 把 Google 雲端硬碟當做是一個 FUSE 型別的檔案系統,它是用 OCam 語言寫的。FUSE 意即使用者態檔案系統,此專案允許非管理員使用者在使用者空間建立虛擬檔案系統。google-drive-ocamlfuse 可以讓你把 Google 雲端硬碟當做磁碟一樣掛載到 Linux 系統。支援對普通檔案和目錄的讀寫操作,支援對 Google dock、表單和演示稿的只讀操作,支援多個 Googe 雲端硬碟使用者,重覆檔案處理,支援訪問回收站等等。
安裝 google-drive-ocamlfuse
google-drive-ocamlfuse 能在 Arch 系統的 AUR[2] 上直接找到,所以你可以使用 AUR 助手程式,如 Yay[3] 來安裝。
$ 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
當然你也可以看看官方檔案[4]和該專案的 GitHub 專案[5]以獲取更多內容。
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 上的類似評論[6]:“GCSF 意在某些方面更快(遞迴列舉檔案、從 Google 雲端硬碟中讀取大檔案)。當檔案被快取後,在消耗更多的記憶體後,其快取策略也能讓讀取速度更快(相對於 google-drive-ocamlfuse 4-7 倍的提升)”。
安裝 GCSF
GCSF 能在 AUR[7] 上面找到,對於 Arch 使用者來說直接使用 AUR 助手來安裝就行了,例如Yay[3]。
$ yay -S gcsf-git
對於其它的發行版,需要進行如下的操作來進行安裝。
首先,你得確認系統中是否安裝了Rust語言。
確保 pkg-config
和 fuse
軟體包是否安裝了。它們在絕大多數的 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_other
或 allow_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 專案[9]以獲取更多內容。
3、Tuxdrive
Tuxdrive 也是一個非官方 Linux Google 雲端硬碟客戶端。我們之前有寫過一篇關於 Tuxdrive 比較詳細的使用方法。可以檢視如下連結:
當然,之前還有過其它的非官方 Google 雲端硬碟客戶端,例如 Grive2、Syncdrive。但它們好像都已經停止開發了。當有更受歡迎的 Google 雲端硬碟客戶端出現,我會對這個串列進行持續的跟進。
謝謝你的閱讀。