A Google Drive kliens telepítése - Grive2 (14 Jan 2016, Vitaliy Filippov)

kimarite képe

Bizonyára szívesen használnád a Google Drive felhő tárhely szolgáltatót a böngésződ nélkül, egy rendszeredre telepített, kliens alkalmazással. Mert például viszonylag sok felhő tárhely szolgáltatónál elérhető és telepíthető működőképes kliens alkalmazás. Tény, hogy a Google elég gyakran javítja az API-ját, és talán ezért vagy más ok miatt a kedvenc disztribúciódban nem érhető el meg a leírásban szereplő grive csomag és, ha elérhető, akkor nem működik. Kereskedelmi alkalmazás létezik, jól működik, de nekem például az ingyenesen elérhető csomag tekintetében hiány érzetem van. Másrészt a közelmúltban folyamatos probléma jelentkezett a feltöltött képeim megosztásával, így sürgős megoldást kellett találnom, mert szükségem van a szolgáltatásra.

Megmutatom, hogyan tudod telepíteni és frissíteni a Grive alkalmazást.
Előre szólok, nem grafikus, hanem terminálban futó (CLI) alkalmazás.
(kell hozzá egy terminál .. )

Elször is telepítsd a forgatáshoz szükséges függőségeket

Debian/Ubuntu/Linux Mint rendszereken

sudo apt-get install git cmake build-essential libgcrypt11-dev libyajl-dev libboost-all-dev libcurl4-openssl-dev libexpat1-dev libcppunit-dev binutils-dev dpkg-dev

FreeBSD rendszeren

pkg install git cmake boost-libs yajl libgcrypt pkgconf cppunit libbfd

Majd nyiss egy terminál és töltsd le a 'grive2' forrás csomagot

git clone https://github.com/vitalif/grive2

Választhatod azt, is, hogy ZIP-ben töltöd le, és kibontod. ezzel a módszerrel most nem foglalkozom. A ZIP csomag innen tölthető le:
https://github.com/vitalif/grive2/archive/master.zip

A terminálban maradva, a telepítés menete a következő
(a 'sudo' parancsot csak a látottaknak megfelelően használd)

cd grive2/
mkdir build
cd build
cmake ..
make -j4
sudo make install

A telepítés után, de még az első indítás előtt készítsd el a szinkronizálás könyvtárát.
Én a saját könyvtáram alá készítem el, és GoogleDrive néven,

mkdir /home/$USER/GoogleDrive

de bárhol máshol létrehozhatod.

Ha nem így teszel, nem hozol létre könyvtárat, úgy az alkalmazás figyelmeztet

/usr/local/bin/grive
Please run grive with the "-a" option if this is the first time you're accessing your Google Drive!

Kész a könyvtár, lépj bele,
(ha máshol hoztad létre, akkor használd a megfelelő elérési utat)

cd GoogleDrive

majd futtasd az első indítás parancsát.
(a folyamat, mely során a hitelesítési kódod (authetication code) is megkapod)

/usr/local/bin/grive -a

vagy

grive -a

Parancsikont is készíthetsz döntésed szerint, vagy szkriptet (parancsikonhoz).

-- Kapsz egy URL-t,
mely a
'Please go to this URL and get an authentication code:'
sor alatt, a
'https://accounts.google.com/o/oauth2/auth?scope='
kezdetű címen lesz, amit a böngésződ URL mezőjébe másolsz, azaz oda beilleszted.
(Paste & Go / Beilleszt és az Oldalra lép),

-- a hitelesítési oldalt megnyitva, a négy felkiáltójel ikonra sorban rákattintasz és a felbukkanó pop-up ablakokban mindenhol 'Ok'-t nyomsz,

-- így végül az átlátszó kékről sötétebb kékre váltó és aktíválódó 'Engedélyezés' rádiógombot megnyomva egy másik oldalra jutsz,
(a másik lehetőség az 'Elutasítás' *)

-- ahonnan a hitelesítési kódod kimásolod és bemásolod a terminálba a
'Please go to this URL and get an authentication code:'
szöveg alá,
(A terminál ablakában azonban bárhova bökhetsz az egér mutatóval -az egér jobb klikk menüs 'Beillesztés' művelettel- a kód oda esik be, ahova kell.)

-- és 'Enter'-t ütsz a kód (másolása és) beillesztése után.

-- .. nálam elindult a szinkronizálás az 'Enter' leütése után azonnal.

Reading local directories
Reading remote server file list
Synchronizing files
... 

-- várok.

-- befejezte.

... created in remote. creating local
Finished!

A GoogleDrive könyvtárban a leírás szerint létrejöttek a következő fájlok: '.grive' és 'grive_state'

[*] Az engedélyező oldalon a következő magyarázatot is elolvashatod a Third Party alkalmazásról:
Az Engedélyezés lehetőségre kattintva hozzájárul ahhoz, hogy ez az alkalmazás és a Google a vonatkozó szerződési feltételek és adatvédelmi irányelvek értelmében felhasználja az Ön információit. Bármikor módosíthatja ezt, valamint a további Fiókengedélyeket is.
https://security.google.com/settings/security/permissions

Ha az 'Elutasítás' rádiógombra böksz, ezt fogod látni a kód helyett:
'Elutasította a hozzáférést az alkalmazáshoz.'

A szinkronizálás parancsa egyébként a következő

cd /home/$USER/GoogleDrive/
grive

A legújabb csomagok mindig itt találhatóak meg
http://github.com/vitalif/grive2/

A Grive alkalmazás frissítése
(azaz, ne töröld a 'grive2' könyvtárat, kell a frissítéshez)

cd /home/$USER/grive2
git pull
cd build
cmake ..
make -j4
sudo make install

Bug (hiba) jelentés

grive -l log.txt --log-http http

A Grive2-ről még ezt lehet tudni

Welcome to the Grive2 project homepage!
- Üdvözölnek a készítők

The purpose of this project is to provide an independent open source implementation of Google Drive client for GNU/Linux. It uses Google Drive REST API
https://developers.google.com/drive/v2/reference/
to talk to Google Drive service. The code is written in standard C++.
- Az alkalmazás C++ programnyelven készült, Google Drive kilens, mely a Google Developers (fejlesztők) API-ját használja fel ..., 'ezért' működőképes.

Grive2 is the fork of the original abandoned «Grive» (https://github.com/Grive/grive) with added support for the new Drive REST API (original version was using the «Document List API» which is now shut down) and some new features, for example, partial sync.
- A Grive2 a Grive forkja (elágazása), mely már a Drive REST API támogatásának hozzáadásával készül, továbbá például a részleges szinkronizálás lehetőségével és pár más finomsággal, ..., de ezeket különben is elolvashatod a nyúzban (friss hírek) a fejlesztő weboldalán.

The source code of Grive2 is released under GPLv2.
- A forráskód GPLv2 licenc alatt elérhető és módosítható.

Grive Wiki

http://yourcmc.ru/wiki/Grive2#Installation

A telepítéshez szükséges függőségek

- alapvetően (feltétlenül szükséges) és

    yajl 2.x
    libcurl
    libstdc++
    libgcrypt
    Boost (Boost filesystem, program_options, regex, unit_test_framework and system are required)
    expat

- opcionálisan (választható / választhatod)

    CppUnit (for unit tests)
    libbfd (for backtrace)
    binutils (for libiberty, required for compilation in OpenSUSE, Ubuntu, Arch and etc)

Ha DEB csomagot (telepítő) szeretnél készíteni, akkor a forrás könyvtárban kell kiadnod az alábbi parancsot

dpkg-buildpackage -j4

No, de, mi van, ha hiányzik ehhez néhány függőség? A folyamat jelezni fogja. Íme:
(látszik, a forrás könyvtárban állok)

~/grive2$ dpkg-buildpackage -j4
dpkg-buildpackage: source package grive2
dpkg-buildpackage: source version 0.5+git20160114
dpkg-buildpackage: source changed by Vitaliy Filippov <vitalif@yourcmc.ru>
dpkg-buildpackage: host architecture i386
 dpkg-source --before-build grive2
dpkg-checkbuilddeps: Unmet build dependencies: libstdc++6-4.4-dev | libstdc++-4.9-dev | libstdc++-5-dev
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)

Én csak az az alábbit tudom telepíteni a háromból,

sudo apt-get install libstdc++6-4.4-dev

és ez megfelelő, mert a legújabb verzió.
(a jelzett háromból szükséges bármelyik)

Tehát akkor a DEB csomag létrehozásának módja egy éppen megnyitott terminálban

cd grive2
dpkg-buildpackage -j4

Lefut a folyamat, a '-j4' kapcsolóval 4 szálon, így gyorsítom a műveletet ..., melyhez persze a processzorod képességének is 'némileg' köze lesz.

Kapcsolók

Rövid

Hosszú

Magyarázat

-h

--help

Produce help message

-v

--version

Display Grive version

-a

--auth

Request authorization token

-p arg

--path arg

Root directory to sync

-s arg

--dir arg

Single subdirectory to sync (remembered for next runs)

-V

--verbose

Verbose mode. Enable more messages than normal.

 

--log-http arg

Log all HTTP responses in this file for debugging.

 

--new-rev

Create new revisions in server for updated files.

-d

--debug

Enable debug level messages. Implies -v.

-l arg

--log arg

Set log output filename.

-f

--force

Force grive to always download a file from Google Drive instead of uploading it.

 

--dry-run

Only detect which files need to be uploaded/downloaded, without actually performing them.

 

--ignore arg

Perl RegExp to ignore files (matched against relative paths, remembered for next runs).

Ha kíváncsi vagy a GIT verziókezelő rendszer működésére, olvasd el ezt:
http://git-scm.com/book

Kicsit szomorú vagyok, mert a Thunar fájlkezelőben a GoogleDrive könyvtárban semmilyen lehetőségem nincs a képeket megosztani URL-ként. A megoldáson még gondolkodom. Vélhetően Thunar plugin kéne ... .
A szinkronizálás azonban tökéletesen működik. Hurrá!

A DEB fájl létrehozásakor a következő üzenetet kapom

dpkg-deb: `grive' csomag építése itt: `../grive_0.5+git20160114_i386.deb'.
 signfile grive2_0.5+git20160114.dsc
gpg: skipped "Vitaliy Filippov <vitalif haleledel yourcmc ponty ru>": titkos kulcs nem áll rendelkezésre
gpg: [stdin]: clearsign failed: titkos kulcs nem áll rendelkezésre

 dpkg-genchanges  >../grive2_0.5+git20160114_i386.changes
dpkg-genchanges: including full source code in upload
 dpkg-source --after-build grive2
dpkg-buildpackage: full upload; Debian-native package (full source is included)
dpkg-buildpackage: warning: Failed to sign .dsc and .changes file

Úgy látom, a 'DEBIAN' és az 'usr' könyvtárak létrejöttek ...
Ám holnap is van nap.

cd
exit

 

Forrás
https://github.com/vitalif/grive2
http://yourcmc.ru/wiki/Grive2#Installation
https://github.com/Grive/grive
https://www.devops.zone/tricks/installing-grive-on-debian-for-google-dri...

Hozzászólások