如何把Google云端硬盤當(dāng)做虛擬磁盤一樣掛載到Linux
Google 云端硬盤 是全球比較受歡迎的云存儲平臺. 直到 2017 年, 全球有超過 8 億的活躍用戶在使用它。即使用戶數(shù)在持續(xù)增長,但直到現(xiàn)在 Google 還是沒有發(fā)布一款可以在 Linux 平臺使用的客戶端。但這難不倒 Linux 社區(qū)。不時(shí)就有一些開發(fā)者給 Linux 操作系統(tǒng)帶來一些客戶端。下面我將會介紹三個(gè)用于 Linux 系統(tǒng)非官方開發(fā)的 Google 云端硬盤客戶端。使用這些客戶端,你能把 Google 云端硬盤像虛擬磁盤一樣掛載到 Linux 系統(tǒng)。請繼續(xù)閱讀。
1、Google-drive-ocamlfuse
google-drive-ocamlfuse 把 Google 云端硬盤當(dāng)做是一個(gè) FUSE 類型的文件系統(tǒng),它是用 OCam 語言寫的。FUSE 意即用戶態(tài)文件系統(tǒng),此項(xiàng)目允許非管理員用戶在用戶空間創(chuàng)建虛擬文件系統(tǒng)。google-drive-ocamlfuse 可以讓你把 Google 云端硬盤當(dāng)做磁盤一樣掛載到 Linux 系統(tǒng)。支持對普通文件和目錄的讀寫操作,支持對 Google dock、表單和演示稿的只讀操作,支持多個(gè) Googe 云端硬盤用戶,重復(fù)文件處理,支持訪問回收站等等。
安裝 google-drive-ocamlfuse
google-drive-ocamlfuse 能在 Arch 系統(tǒng)的 AUR 上直接找到,所以你可以使用 AUR 助手程序,如 Yay 來安裝。
$ yay -S google-drive-ocamlfuse
在 Ubuntu 系統(tǒng):
$ 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
當(dāng)你***次運(yùn)行該命令,程序會直接打開你的瀏覽器并要求你確認(rèn)是否對 Google 云端硬盤的文件的操作進(jìn)行授權(quán)。當(dāng)你確認(rèn)授權(quán)后,掛載 Google 云端硬盤所需要的配置文件和目錄都會自動進(jìn)行創(chuàng)建。
當(dāng)成功授權(quán)后,你會在終端里面看到如下的信息。
Access token retrieved correctly.
好了,我們可以進(jìn)行下一步操作了。關(guān)閉瀏覽器并為我們的 Google 云端硬盤創(chuàng)建一個(gè)掛載點(diǎn)吧。
$ mkdir ~/mygoogledrive
***操作,使用如下命令掛載 Google 云端硬盤:
$ google-drive-ocamlfuse ~/mygoogledrive
恭喜你了!你可以使用終端或文件管理器來訪問 Google 云端硬盤里面的文件了。
使用終端:
$ ls ~/mygoogledrive
使用文件管理器:
如何你有不止一個(gè)賬戶,可以使用 label
命令對其進(jìn)行區(qū)分不同的賬戶,就像下面一樣:
$ google-drive-ocamlfuse -label label [mountpoint]
當(dāng)操作完成后,你可以使用如下的命令卸載 Google 云端硬盤:
$ fusermount -u ~/mygoogledrive
獲取更多信息,你可以參考 man 手冊。
$ google-drive-ocamlfuse --help
當(dāng)然你也可以看看官方文檔和該項(xiàng)目的 GitHub 項(xiàng)目以獲取更多內(nèi)容。
2. GCSF
GCSF 是基于 Google 云端硬盤的 FUSE 文件系統(tǒng),使用 Rust 語言編寫。GCSF 得名于羅馬尼亞語中的“ G oogle C onduce S istem de F ișiere”,翻譯成英文就是“Google Drive Filesystem”(即 Google 云端硬盤文件系統(tǒng))。使用 GCSF,你可以把 Google 云端硬盤當(dāng)做虛擬磁盤一樣掛載到 Linux 系統(tǒng),可以通過終端和文件管理器對其進(jìn)行操作。你肯定會很好奇,這到底與其它的 Google 云端硬盤 FUSE 項(xiàng)目有什么不同,比如 google-drive-ocamlfuse。GCSF 的開發(fā)者回應(yīng) Reddit 上的類似評論:“GCSF 意在某些方面更快(遞歸列舉文件、從 Google 云端硬盤中讀取大文件)。當(dāng)文件被緩存后,在消耗更多的內(nèi)存后,其緩存策略也能讓讀取速度更快(相對于 google-drive-ocamlfuse 4-7 倍的提升)”。
安裝 GCSF
GCSF 能在 AUR 上面找到,對于 Arch 用戶來說直接使用 AUR 助手來安裝就行了,例如Yay。
$ yay -S gcsf-git
對于其它的發(fā)行版,需要進(jìn)行如下的操作來進(jìn)行安裝。
首先,你得確認(rèn)系統(tǒng)中是否安裝了Rust語言。
確保 pkg-config
和 fuse
軟件包是否安裝了。它們在絕大多數(shù)的 Linux 發(fā)行版的默認(rèn)倉庫中都能找到。例如,在 Ubuntu 及其衍生版本中,你可以使用如下的命令進(jìn)行安裝:
$ sudo apt-get install -y libfuse-dev pkg-config
當(dāng)所有的依賴軟件安裝完成后,你可以使用如下的命令來安裝 GCSF:
$ cargo install gcsf
使用方法
首先,我們需要對 Google 云端硬盤的操作進(jìn)行授權(quán),簡單輸入如下命令:
$ gcsf login ostechnix
你必須指定一個(gè)會話名稱。請使用自己的會話名稱來代 ostechnix
。你會看到像下圖的提示信息和Google 云端硬盤賬戶的授權(quán)驗(yàn)證連接。
直接復(fù)制并用瀏覽器打開上述 URL,并點(diǎn)擊 “allow” 來授權(quán)訪問你的 Google 云端硬盤賬戶。當(dāng)完成授權(quán)后,你的終端會顯示如下的信息。
Successfully logged in. Credentials saved to "/home/sk/.config/gcsf/ostechnix".
GCSF 會把配置保存文件在 $XDG_CONFIG_HOME/gcsf/gcsf.toml
,通常位于 $HOME/.config/gcsf/gcsf.toml
。授權(quán)憑證也會保存在此目錄當(dāng)中。
下一步,創(chuàng)建一個(gè)用來掛載 Google 云端硬盤的目錄。
$ mkdir ~/mygoogledrive
之后,修改 /etc/fuse.conf
文件:
$ sudo vi /etc/fuse.conf
注釋掉以下的行,以允許非管理員用 allow_other
或 allow_root
掛載選項(xiàng)來掛載。
user_allow_other
保存并關(guān)閉文件。
***一步,使用如下命令掛載 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.
重復(fù)一次,使用自己的會話名來更換 ostechnix
。你可以使用如下的命令來查看已經(jīng)存在的會話:
$ gcsf list
Sessions:
- ostechnix
你現(xiàn)在可以使用終端和文件管理器對 Google 云端硬盤進(jìn)行操作了。
使用終端:
$ ls ~/mygoogledrive
使用文件管理器:
如果你不知道自己把 Google 云端硬盤掛載到哪個(gè)目錄了,可以使用 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)
當(dāng)操作完成后,你可以使用如下命令來卸載 Google 云端硬盤:
$ fusermount -u ~/mygoogledrive
瀏覽GCSF GitHub 項(xiàng)目以獲取更多內(nèi)容。
3、Tuxdrive
Tuxdrive 也是一個(gè)非官方 Linux Google 云端硬盤客戶端。我們之前有寫過一篇關(guān)于 Tuxdrive 比較詳細(xì)的使用方法。可以查看如下鏈接:
當(dāng)然,之前還有過其它的非官方 Google 云端硬盤客戶端,例如 Grive2、Syncdrive。但它們好像都已經(jīng)停止開發(fā)了。當(dāng)有更受歡迎的 Google 云端硬盤客戶端出現(xiàn),我會對這個(gè)列表進(jìn)行持續(xù)的跟進(jìn)。