如何把 Google 雲端硬碟當做虛擬磁碟一樣掛載到 Linux
Google 雲端硬碟 是全球比較受歡迎的雲存儲平台. 直到 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 上直接找到,所以你可以使用 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-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 項目以獲取更多內容。
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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive