google-drive-ocamlfuseのインストール: Linux版google-drive-stream

Ubuntu Desktop環境構築 Part 7

公開日: 2020-12-19
更新日: 2022-09-03

技術スペック

OS ubuntu 20.04 LTS Focal Fossa
CPU Intel Core i7-9700 CPU 3.00 GHz

1. 今回のスコープ

やりたいこと

Google DriveをUbuntu 20.04にマウントする

方針

  1. google-drive-ocamlfuseのインストール
  2. google-driveの認証
  3. google-drive-ocamlfuseのマウント
  4. 自動起動用スクリプトの設定

2. google-drive-ocamlfuseとは?

「google-drive-ocamlfuse」はGoogleドライブをLinux上でマウント出来るソフトウェアです. Googleドライブのデスクトップ向け公式ソフトウェアでは非同期になり, 端末側にもデータを保存する容量を要求しますが, こちらのソフトウェアはネットワークマウントを行います. そのため, 少ないストレージ容量の端末でも容量を気にせず使用出来るというメリットがあります.

なぜ遠隔にあるGoogleドライブのストレージを端末側にマウント出来るかというと, FUSEという独自のファイルシステムを構築出来る機能を用いているからです.

機能

  • Google Drive上のファイルとフォルダに対してterminalから read/write access ができる
  • Google Docs, Sheets, and Slidesに対してread-only accessができる
  • 複数のgoogle accountのgoogle driveをマウントすることができる
  • google drive上のファイルの複製/消去が可能
  • Symbolic links
  • Read-ahead buffers when streaming

3. google-drive-ocamlfuseのインストール

.deb packagesが PPAに上がっているのでそれをまずadd-apt-repositoryします. その後にapt installを実行します.

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

なお, add-apt-repository ppa:の結果は/etc/apt/sources.list.dに格納されています.

4. Googleドライブへの認証

Install後まずgoogle driveの認証をしなくてはなりません. google-drive-ocamlfuseをパラメータなしでまず実行します.

1
$ google-drive-ocamlfuse

すると, 自動的にGoogleのサイトに遷移し, ソフトウェアの認証を行うか聞かれます. またコマンド実行後, ~/.gdfuse/defaultにconfigファイルが生成されます. 今回はconfigファイルの設定方法は特にいじりませんが, いじりたい場合はこちらのwiki pageを参照してください.

5. google-drive-ocamlfuseのマウント

マウントポイントをmkdirしてから, Googleドライブをマウントそこにマウントします.

1
2
$ mkdir ~/googledrive
$ google-drive-ocamlfuse ~/googledrive

アンマウントしたい場合は, 以下のコマンドを実行する.

1
fusermount -u ~/googledrive

6. Google drive 自動起動用スクリプトの設定

このままだと自動起動してくれず毎回マウントしないといけないので, 自動起動用スクリプトを書きます.

1
$ nano ~/bin/google-drive-ocamlfuse-start.sh
  • google-drive-ocamlfuse-start.sh
1
2
#! /usr/bin/bash
google-drive-ocamlfuse ~/googledrive

実行権限を以下のように編集します

1
$ chmod 700 google-drive-ocamlfuse-start.sh 

次にスタートメニューからStartup Applications Preferencesを起動します. そして先程のスクリプトを登録しておきます.

エイリアスを設定する場合

Google driveをマウントすると, そのマウントとされたフォルダが存在するディレクトリにて ls コマンドを実行する際など シェルコマンドの動作が遅くなる傾向があります. そのため, 必要に応じてマウント/アンマウントするほうが良い場合があります.

自分は以下のようなエイリアスを設定し, 必要に応じてマウントしています.

1
2
alias mount_googledrive='google-drive-ocamlfuse ~/GoogleDrive'
alias unmount_googledrive='fusermount -u ~/GoogleDrive'

Appendix: シンボリックリンクとハードリンク

1
$ ln -s /home/ryo/sample1.txt sample

というコマンドでファイルやディレクトリに対するリンク(リンクファイル)を作成することができます. リンクにはシンボリックリンクとハードリンクの2種類があります. PATHを絶対パスで指定するとリンクファイルを移動しても使えるので, 絶対パスで指定することをおすすめです.

リンクの種類 説明
シンボリックリンク シンボリックリンクはリンク先を呼び出すだけなので, それ自体を削除しても本体には影響はありません. 本体を削除するとリンクが切れてしまいます. ln -sとオプションをつけることでシンボリックリンクを作成することができます.
ハードリンク ハードリンクはリンクファイルとリンク先両方共同じものとみなされ, どちらか片方を削除しても実態は残ります.

References

関連ポスト

オンラインマテリアル



Share Buttons
Share on:

Feature Tags
Leave a Comment
(注意:GitHub Accountが必要となります)