Подключение папки Google Drive \ Disk к Астра Линукс CE

Ciberz

New member
Сообщения
20
#1
Доброе время суток!
Решил поделиться опытом подключения облачного хранилища Google к Астре. Вопрос оказался нетривиальным, поскольку практически всё имеющееся ПО не работает с fly-менеджером, а сам Гугл никакого средства для Linux не предоставляет.

ДЫСКЛАЙМЕР:
Проверено на версиях Астра "Орёл" 2.12.40 (5.4.0.54, 5.4.0.71) и 2.12.43 (5.10.0.хх)
Установка ПО потребует подключение к частному репозиторию, после установки его можно исключить из списка доступных репозиториев.

ПЛЮСЫ:
Легко настраивается.
Полный доступ к папкам в хранилище средствами API Google.

МИНУСЫ:
Подключается как сетевая папка непосредственно в файловую систему, что означает:
а) Не имеет собственных средств бэкапа на локальной копии.
б) Удаление документов происходит безвозвратно, если нет иного устройства для бэкапа.
в) В случае проблем с интернет-соединением, подвисает fly-менеджер окон. Самый простой способ - отключение сетевого адаптера и размонтирование папки, пока интернет снова не подключится.

========
Установка.

Открываем терминал и вводим строки:

1) Устанавливаем необходимое ПО для работы пакета:

sudo apt install -y software-properties-common dirmngr

2) Записываем в файл /etc/apt/sources.list два частных репозитория разработчика программы:

deb http://ppa.launchpad.net/alessandro-strada/ppa/ubuntu xenial main

deb-src http://ppa.launchpad.net/alessandro-strada/ppa/ubuntu xenial main

Вводим пароль админа при сохранении этого файла.

3) Добавляем ключи этого репозитория:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AD5F235DF639B041

4) Устанавливаем пакет собственно программы ocamlfuse

sudo apt-get update

sudo apt-get install -y google-drive-ocamlfuse

5) Создаём папку для работы с Google Drive. Название и местоположение папки могут быть где угодно, если не системный диск и не home то не забудьте сделать автомонтирование этого диска, иначе работать ничего не будет. :)

Делаю папку в домашнем каталоге:

mkdir ~/google-drive

6) Первичная авторизация и монтирование папки Google Drive в нашу папку. Обращаю внимание, что если сделаете через sudo, затем папку придётся сделать доступной для текущего пользователя сменой аттрибутов папки.

google-drive-ocamlfuse ~/google-drive/

Открывается окно браузера по умолчанию с ауторизацией Гугла. Введите данные пользователя и пароль, Гугл авторизует вас и сбросит в программу токен для подключения папки.

Всё, папка подключена, заходите в домашний каталог google-drive и наслаждайтесь. :)

====
Автомонтирование папки.

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

1) Открываем ПАНЕЛЬ УПРАВЛЕНИЯ = СИСТЕМА = АВТОЗАПУСК
2) Нажимаем ПЛЮС
3) Тип: ПРИЛОЖЕНИЕ
4) Имя: GDrive
5) Команда: google-drive-ocamlfuse ~/google-drive

====

Приятной работы! :)
 
Последнее редактирование:

Ciberz

New member
Сообщения
20
#2
Кстати, вчера удалось непонятным макаром впихнуть gnome-online-accounts и подключить через них gdrive в виде отдельного ресурса. Метод работает, но есть проблема: при копировании с папки gdrive на локальный диск происходит переименование всех файлов и перепаковка их в zip. Что это за глюк, пока разбираться времени не было, имейте ввиду, что первый способ глюков подобного рода не имеет.
 

Ciberz

New member
Сообщения
20
#3
Добавление к предыдущей теме.

РЕШЕНИЕ ВОПРОСА С РЕЗЕРВНОЙ КОПИЕЙ ДИСКА GOOGLE DRIVE НА ТЕЛЕФОН.

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

ДЫСКЛАЙМЕР: Описанный способ не является рекламой стороннего ПО, просто примером конфигурации, которая прекрасно работает без дополнительных инвестиций.

Нам понадобится: старый мобильный телефон с системой не старше Android 6.xx (любой телефон с 2-го квартала 2017 года выпуска), SD-карта для телефона размером не менее 16 Gb (Google Disk дает бесплатно 15)

1. Подготавливаем телефон, убирая всё лишнее, чтобы хватило места для установки или обновления следующих программ.
2. Устанавливаем Sd-карту в телефон (на неё будем делать копию данных)
3. Устанавливаем и обновляем следующее ПО: прошивку телефона обновляем до последней версии (см. инструкции к телефону), через Play Market обновляем:
а) Play Market.
b) Google Services
c) Google Drive
4. Подключаем аккант Google в качестве основного в телефон.
5. Устанавливаем через Google Play Market приложение Autosync от MetaCtrl
https://play.google.com/store/apps/details?id=com.ttxapps.drivesync&hl=ru

Программа бесплатная, хотя у нее есть и платные функции (к примеру, в бесплатном режиме она копирует данные только из одной корневой папки GDrive). В принципе, этого вполне достаточно для комфортной работы - просто скопируйте в эту папку те папки, которые Вам нужны и вуаля!

Дальше всё просто. Единственный глюк - если обновляли программы в пункте 3., не забудьте перед запуском Autosync перегрузить телефон, иначе будет глючить подключение к онлайн аккаунту диска.

Открываем приложение, даём доступ к файлам и фото, затем подключаемся к аккаунту Google. После подключения нажимаем на "Мастер: создать тестовую синхронизацию". Мастер создаёт правило и делает новую папку DriveSyncFiles на вашем диске Гугла. В эту папку можно скопировать через онлайн-доступ или иным способом все те файлы, которые Вы считаете необходимым иметь в копии на телефоне.

Последнее: переназначить папку для хранения файлов на телефоне. Для этого нужно зайти в настройки, синхронизации и вместо папки внутренней памяти выбрать в списке SD-карту (в этот момент программа запросит разрешение на запись на эту курту, что следует подтвердить в следующем окне). Можете использовать как корневую папку, так и создать свою. После выбора папки перейдите в любое другое окно программы для сохранения настроек.

Автосинхронизация выполняется по расписанию, интервал от 30 минут до суток. Также, можно отключить автосинхронизацию и выполнять синхронизацию вручную - кому как нравится.

Способ прекрасно работает.

Если кто-то найдёт другие программы для подобного автоматического копирования и убедится, что они работоспособные, просьба отписаться сюда. Вопрос касается прежде всего mail.ru, microsoft onedrive и yandex
 

BelovMV

New member
Сообщения
5
#4
Прям про onedrive очень актуально мне.... получилось настроить синхронизацию через Insync, но он платный =(. Может еще кто что знает?
 

BelovMV

New member
Сообщения
5
#5
Установка onedrive в Astra Linux

1. Для начала нужно скачать и установить [curl](https://curl.se/download/curl-8.1.1.tar.xz) https://curl.se/download.html
Распаковываем архив
Переходим в появившуюся папку, у меня появилась папка curl-8.1.1
Запускаем терминал в этой папке (curl-8.1.1) и собираем и устанавливаем пакет:
./configure --without-ssl
make
sudo make install

2. Затем устанавливаем sqlite3, libsqlite3-dev и pkg-config
sudo apt install sqlite libsqlite3-dev pkg-config

3. Скачиваем компилятор, для этого в терминале командуем:
curl -fsS https://dlang.org/install.sh | bash -s dmd

4. Активируем его командой (цифры могут отличаться в зависимости от доступной версии, которую вы скачали, у меня это версия 2.103.1):
source ~/dlang/dmd-2.103.1/activate

5. Далее скачиваем onedrive и собираем пакет:
```
git clone https://github.com/abraunegg/onedrive.git
cd onedrive
./configure --with-systemduserunitdir
make clean; make;
sudo make install
```

Я собирал его с ключом --with-systemduserunitdir ... Наверное можно и без него, но с ним мне показалось будет логичнее... Сборка проходит очень быстро.

Все! После сборки командуем deactivate и выходим из среды сборки...

Далее можно пользоваться, в терминале командуем onedrive, появляется ссылка - настройка, переходим по ней, входим в свою учетную запись Microsoft. Сам Onedrive в браузере не откроется, откроется пустая страница, не нужно ее "насиловать", просто копируйте появившуюся ссылку с окна браузера в терминал, он как раз все это время и будет там ее ждать, и нажимайте Enter.

Готово!
Для справки пишите в терминале onedrive -h
Для синхронизации: onedrive --synchronize