Показаны сообщения с ярлыком GoogleDrive. Показать все сообщения
Показаны сообщения с ярлыком GoogleDrive. Показать все сообщения

суббота, 28 ноября 2015 г.

How to mount Google Drive on Linux

As I speak, more than 22,000 people signed up for a petition, desperately wanting to have an official native Linux client for Google Drive, and yet their voice is still being ignored by Google. Perhaps when it comes to boosting their bottom line, Linux desktop market is not a priority for Google.
They can ignore Linux desktop market all they want, but they cannot ignore the power of FOSS. Faced with the frustration, the open-source community responded, producing unofficial Google Drive clients such as Grive or SyncDrive. These clients are file synchronization tools which sync files and folders between local file system and remote Google Drive. As such, you cannot mount Google Drive using these tools.
If you want to mount Google Drive on Linux, you can try google-drive-ocamlfuse, which is a FUSE-based file system backed by Google Drive. Using this user-space file system, you can mount your Google Drive account on Linux, and have full read/write access to files/folders in Google Drive as if they were local files/folders.
In this tutorial, I will describe how to mount Google Drive on Linux with google-drive-ocamlfuse.

Install google-drive-ocamlfuse on Linux

google-drive-ocamlfuse is written in OCaml, and you can use OPAM (OCaml package manager) to build and install google-drive-ocamlfuse from its source. In this case, you need to install prerequisites such as FUSE. The following are distro-specific such instructions.
To install google-drive-ocamlfuse on Debian:
$ sudo apt-get install ocaml camlp4-extra
$ git clone https://github.com/OCamlPro/opam.git
$ cd opam
$ ./configure
$ make
$ sudo make install
$ sudo apt-get install m4 libcurl4-gnutls-dev libfuse-dev libsqlite3-dev
$ opam init
$ opam update
$ opam install google-drive-ocamlfuse
After successful build, the google-drive-ocamlfuse binary will be found in ~/.opam/system/bin. Add this path to your PATH environment variable as follows.
$ vi ~/.bashrc
PATH= $PATH:$HOME/.opam/system/bin
export PATH 
$ source ~/.bashrc
To install google-drive-ocamlfuse on Ubuntu or Linux Mint, you can use its official PPA as follows.
$ sudo add-apt-repository ppa:alessandro-strada/ppa
$ sudo apt-get update
$ sudo apt-get install google-drive-ocamlfuse
To install google-drive-ocamlfuse on Fedora:
$ sudo yum install ocaml ocaml-camlp4-devel ocaml-ocamldoc
$ git clone https://github.com/OCamlPro/opam.git
$ cd opam
$ ./configure
$ make
$ sudo make install
$ sudo yum install m4 fuse fuse-devel libcurl-devel libsqlite3x-devel zlib-devel
$ opam init
$ opam update
$ opam install google-drive-ocamlfuse
After successful build, the google-drive-ocamlfuse binary will be found in ~/.opam/system/bin. Add this path to your PATH environment variable as follows.
$ vi ~/.bashrc
PATH=$PATH:$HOME/.opam/system/bin
export PATH 
$ source ~/.bashrc
To install google-drive-ocamlfuse on CentOS or RHEL, you can follow the above Fedora instructions. However, the default version of OCaml installed on CentOS/RHEL does not meet the minimum version requirement (3.12.1) for building OPAM. Therefore you need to upgrade OCaml by installing it from source.

Mount Google Drive with google-drive-ocamlfuse

The first step is to add your user name to Linux group named fuse as follows, so that Google Drive can be mounted by you (i.e., a non-root user).
$ sudo usermod -a -G fuse <user_name>
$ exec su -l $USER
Next, configure google-drive-ocamlfuse by running it without any argument:
$ google-drive-ocamlfuse
This will open up a web browser window, asking you to log in to your Google account. After logging in, you will see the following screen, requesting for permission. Click on "Accept".
Next you have to grant "gdfuse OAuth2 Endpoint" access to your Google account. For that, log in to your Google account again.
Click on "Allow" button.
Then you should see a message saying that google-drive-ocamlfuse was successfully granted access. Close the browser tab / window to finalize.
At this point, the initial configuration is completed. You should see a new directory named ~/.gdfuse/default created, which contains the configuration file "config", application state and file cache.
Now proceed to create a mount point, and mount Google Drive as follows.
$ mkdir ~/googledrive
$ google-drive-ocamlfuse ~/googledrive
Use mount command to check if Google Drive is mounted successfully.
$ mount
google-drive-ocamlfuse on /home/dev/googledrive type fuse.google-drive-ocamlfuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
You can also check how much space is left on your Google Drive account by using df command.
$ df
google-drive-ocamlfuse  15728640     304  15728336   1% /home/dev/googledrive
To unmount the Google Drive file system, simply run:
$ fusermount -u ~/googledrive

Mount Multiple Google Drive Accounts Simultaneously

If you have more than one Google Drive account, you can mount them simultaneously. In this case, use "-label" option to distinguish between them as follows.
$ google-drive-ocamlfuse -label [label] [mountpoint]
The first time you run google-drive-ocamlfuse with a given label, you will need to go through the same Google authentication procedure as before, but for a different Google account. After that, ~/.gdfuse/[label] will be created to store configuration data for the different Google account.

Auto-mount Google Drive upon Boot

If you want to have Google Drive mounted automatically upon boot, you can follow the steps below. The credit goes to Alessandro Strada, the original author of google-drive-ocamlfuse.
Create a shell script named "gdfuse" in /usr/bin (as root) with this content:
$ sudo vi /usr/bin/gdfuse
#!/bin/bash

google-drive-ocamlfuse -label $1 $*
exit 0
Give it exec permissions:
$ sudo chmod +x /usr/bin/gdfuse
Copy your directory ~/.gdfuse in root home (that's because mount is executed by root)
$ sudo cp -r /home/[user]/.gdfuse /root/
Edit /etc/fstab adding a line like this:
gdfuse#default  /mnt/gdrive     fuse    allow_other     0       0
And then you can use mount command to run google-drive-ocamlfuse:
$ sudo mount /mnt/gdrive
If you want, you can change the owner of the filesystem by adding a line to /etc/fstab (if the user id is 1000):
gdfuse#default  /mnt/gdrive     fuse    allow_other,uid=1000,gid=1000   0       0
If you have more than one Google drive accounts, you can also mount them by adding their corresponding label after the # (in /etc/fstab):
gdfuse#label  /mnt/gdrive     fuse    allow_other     0       0

пятница, 6 сентября 2013 г.

Клиент Google Drive на Linux

Insync – продвинутый клиент Google Drive на Linux (обзор)

В последнее время все ведущие игроки IT рынка как-то резко взяли прицел на облачные сервисы. Даже отечественный Mail.Ru обзавёлся собственным облаком, осчастливив потенциальных пользователей бесплатным хранилищем аж в 100 Гб.

А вот я до последнего времени не находил нормального «облачного» клиента для родной Убунты. Штатный Ubuntu One сразу вызвал у меня кучу нареканий. Во-первых, клиент безбожно тормозил при синхронизации. Нормально он справлялся только с парой-тройкой файлов ничтожного веса. Потом начинал безбожно грузить систему. Во-вторых, при изменении настроек сервис вообще начинал жутко глючить, не в состоянии запомнить изменения и продолжая работать по старой схеме – и то выборочно. В общем, после пару дней отчаянной борьбы, я благополучно отправил клиент в корзину.

С другой стороны, меня всё устраивает в классическом облаке Google Drive. Есть интеграция с другими сервисами, достаточный объём бесплатного хранилища (15 Гб) и вообще всё нормально. Одна проблема – родной клиент не поддерживает дистрибутивы Linux. В будущих версиях обещают подключить поддержку, но когда это будет – никто не знает.
А для меня возможность автоматической синхронизации личных папок с облачным сервисом – принципиальный момент. Не хочу я каждый раз идти через браузер и вручную обновлять в Google Drive важные для меня файлы.

Но вот на днях наткнулся на приложение под названием Insync, которое не только может устанавливаться на Ubuntu, но и имеет массу дополнительных фич, которых нет у родного клиента. Единственный недостаток Insync, который для многих будет принципиальным – программка стоит 10 баксов. Впрочем, каждому желающему сначала предлагается попробовать её бесплатно в триал версии. Срок триала – 15 дней.

Что касается самой программки, то выглядит она довольно мило. После её установки в системном трее появляется значок со статусом («подключено к аккаунту», «синхронизация»).
В доке фирменная иконка выглядит тоже неплохо, но смысла её там держать, на мой взгляд, особого нет. Программка и так будет появляться в трее при запуске системы, а все основные функции доступны через контекстное меню.

Одной из самых ценных фич программки является её поддержка нескольких аккаунтов Google. Аккаунты можно подключать с помощью ссылки "Add a Google account...", а удалять в настройках аккаунта ("***@gmail.com» – "Settings" – "Remove account").

При первой активации Insync, потребуется ввести логин и пароль аккаунта Google, а также выбрать название для папки синхронизации (можно своё) и её локацию. В дальнейшем всё это можно будет поменять через то же меню "Settings" аккаунта.

В результате, в соответствующем месте появляется синяя папка (в моём случае «Google Drive») с соответствующим названием, с которой можно работать точно так же, как и с любой другой папкой: сохранять файлы и папки, переносить, менять названия, удалять и т. п.
Её содержимое будет автоматически синхронизироваться с Google Drive в фоновом режиме. Особо отмечу, что синхронизация не ложится тяжёлым бременем на оперативку и не перекрывает наглухо интернет канал – в процессе синхронизации можно запросто смотреть что-нибудь на YouTube.

Если есть необходимость прервать автоматическую синхронизацию, в основном меню есть кнопочка "Pause". Возвращаем в исходное состояние с помощью кнопки "Resume". Кстати, в настройках есть возможность отключить автоматическую синранизацию и сообщения о событиях.

Ещё одна ценная функция, это возможность добавлять файл в папку автоматической синхронизации прямо из штатного контекстного меню, выводящемуся по правой кнопке при выделении соответствующего файла. Там есть возможность выбора, на какой аккаунт Google Drive ляжет указанный файл.

Также программка отслеживает последовательность пользовательских действий и позволяет найти тот файл, с которым производились изменения. Список последних изменений доступен через пункт меню "Recent changes".

О таких мелочах, как возможность выходить в папку автоматической синхронизации прямо из меню программы ("***@gmail.com» – "Go to Folder"), а также непосредственного выхода в браузерную версию Google Drive (пункт "Go to Drive web") даже как-то неловко упоминать.

В целом, впечатление от программки очень позитивное. Сделана она аккуратно как в плане дизайна и интерфейсов, так и в плане функционала: не тормозит, не тупит, не лагает, всё происходит максимально корректно и оперативно.

Конечно, тот факт, что разработчики хотят за неё 10 баксов, немного портит впечатление, но, с другой стороны, программка стоит этих денег. Впрочем, вы можете сами попробовать её совершенно бесплатно в течение 15 дней.

Чтобы загрузить Insync для Ubuntu идём на официальную страничку сервиса и качаем там соответствующий deb.
Затем запускаем скаченный файл двойным кликом: он открывается в интерфейсе Ubuntu Software Center – там жмём классическое "Install" и наслаждаемся...
                                           Автор

P.S. Для 16.04 проделываем следующее

wget -qO - https://d2t3ff60b2tol4.cloudfront.net/services@insynchq.com.gpg.key \
| sudo apt-key add -

Added this to sources: deb http://apt.insynchq.com/ubuntu xenial non-free contrib

sudo apt-get update & sudo apt-get install insync

https://www.insynchq.com/downloads


P.S. Если перестает после перезагрузки запускаться Insync, правим файл /etc/prelink.conf  добавляем строку
-b /usr/lib/insync/library.zip