Grive2: форк Grive с поддержкой Google Drive REST API и частичной синхронизации

Grive был неофициальным открытым консольным Linux-клиентом для Google Drive. Я сказал «был», потому что этот инструмент больше не работает из-за смены Google’ом его API, а сам Grive не поддерживается разработчиками (на его Github-странице не было изменений с мая 2013 года).

grive2

Чтобы Grive снова работал, Виталий Филипов создал его форк и назвал его Grive2. Он поддерживает новый Google Drive REST API, а также включает новую возможность — частичную синхронизацию директорий, а также различные исправления багов.

В сравнении с оригинальным Grive, Grive2 получил следующие изменения:

  • поддержка нового Drive REST API
  • добавлена частичная синхронизцаия
  • рефакторинг кода: удалено много «мертвого» года, JSON-C больше не используется, API-специфичный код вынесен отдельно
  • больше исправлений стабильности
  • уменьшено количество обращений при чтении локальных файлов приложением
  • исправления различных багов

Так же, как и старое приложение, Grive2 НЕ поддерживает:

  • постоянное ожидание изменений в файловой системе или в Диске Google для синхронизации. Она происходит только когда вы запускаете Grive и каждый раз считает контрольные суммы для всех файлов
  • символьные ссылки
  • документы Google.

Устанавливаем Grive2 в Ubuntu или Linux Mint с помощью PPA-репозитория

Поскольку есть достаточно большое количество утилит, которые зависят от Grive, бинарники и пакеты Grive2 продолжают называться «grive», поэтому установка Grive2 из основного PPA-репозитория команды WebUpd8 перезапишет все старые версии Grive, которые были у вас в системе (как будто это новая версия обычного Grive).

Чтобы установить Grive2 в Ubuntu, Linux Mint и производных, используя основной PPA-репозиторий команды WebUpd8, используйте следующие команды:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install grive

Если вы не хотите добавлять PPA-репозиторий, вы также можете загрузить deb-файл отсюда (на Ubuntu 12.04 вам также потребуется yajl2 — получите его отсюда), но ручная установка deb-файлов означает отсутствие получения дальнейших обновлений.

Пользователи Arch Linux могут установить Grive2 через AUR (это на самом деле пакет «grive», который был обновлен форком Grive2).

Для других дистрибутивов Linux смотрите страницу проекта Grive2 на GitHub.

Используем Grive2

1. Grive2 загрузит или выгрузит новые или измененные файлы из директории, в которой вы его запустите. Поэтому сначала давайте создадим папку — назовем ее «grive» — в вашей домашней директории:

mkdir -p ~/grive

2. Теперь через терминал перейдем в свежесозданную папку «grive»:

cd ~/grive

3. В первый раз, когда вы запустите Grive2, вы должны использовать аргумент «-a», чтобы предоставить ему права на доступ к Google Drive:

grive -a

После выполнения команды выше в терминале появится адрес страницы — скопируйте его в браузере и откройте. В открытой странице вам будет предложено предоставить приложению доступ к вашему Google Drive — разрешите это, и будет отображен код авторизации, который нужно будет скопировать и вставить в терминал, где у вас запущен Grive2.

На этом все. Теперь каждый раз, когда вы захотите синхронизировать Google Drive с вашей локальной директорией «grive», перейдите в папку grive (шаг второй) и выполните команду grive (в этот раз без аргумента -a, потому что вы уже предоставили Grive доступ к Диску Google.

У Grive2 есть и некоторые расширенные возможности. Например, в сравнении с оригинальным Grive, у него есть частичная синхронизация. Чтобы провести синхронизацию только одной подпапки (папки из вашей ~/grive папки) с Google Drive, используйте следующую команду в вашем терминале:

grive -s SUBFOLDER

(заменив «SUBFOLDER» на название подпапки, которую вы хотите синхронизировать).

Чтобы просмотреть все доступные опции приложения, наберите:

grive —help