技術スペック
OS | ubuntu 20.04 LTS Focal Fossa |
CPU | Intel Core i7-9700 CPU 3.00 GHz |
- 1. 今回のスコープ
- 2. google-drive-ocamlfuseとは?
- 3. google-drive-ocamlfuseのインストール
- 4. Googleドライブへの認証
- 5. google-drive-ocamlfuseのマウント
- 6. Google drive 自動起動用スクリプトの設定
- Appendix: シンボリックリンクとハードリンク
- References
1. 今回のスコープ
やりたいこと
Google DriveをUbuntu 20.04にマウントする
方針
- google-drive-ocamlfuseのインストール
- google-driveの認証
- google-drive-ocamlfuseのマウント
- 自動起動用スクリプトの設定
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
関連ポスト
オンラインマテリアル
(注意:GitHub Accountが必要となります)