Linux синхронизация yandex disk

Yandex.disk: Использование облачного хранилища в Линукс

В настоящее время очень популярным инструментом для доступа и управления файлами являются так называемые облачные хранилища.

Они предполагают размещение пользовательских данных на доступных через интернет удалённых серверах т.е. в «облаке» и доступ к нему посредством специального программного обеспечения (ПО) и протоколов. Компании-разработчики облачных хранилищ и сред поддерживают практически все популярные платформы и операционные системы (ОС) для взаимодействия пользователей с облаком. Не стала исключением и компания «Яндекс», которая вместе с предоставляемым ею сервисом «Яндекс.Диск» предлагает пользователям и одноимённый продукт для удобного пользования, собственно, самим сервисом. В этой статье речь пойдёт об утилите Яндекс.Диск и её использовании в Linux.

Загрузка и установка пакета Яндекс.Диск​

Сама утилита представляет собой демон, постоянно работающий в памяти и следящий за изменениями определённых файлов и каталогов в локальном и удалённом хранилище (облаке) и реагирует на определённые события (добавление, удаление, переименование и/или изменение файлов/каталогов), запуская синхронизацию, которая актуализирует данные в облаке и локальных хранилищах.

Утилита является бесплатной и, как указывают сами разработчики, написана на языке C++ в IDE Kdevelop. Распространяется Яндекс.Диск в виде пакетов .deb и .rpm, которые можно скачать и установить как вручную (используя менеджер пакетов apt например), так и при помощи системы управления пакетами используемой ОС.

Для Debian-ориентированной системы для установки Яндекс.Диск через систему управления пакетами (СУП) нужно выполнить следующие команды:

sudo echo "deb http://repo.yandex.ru/yandex-disk/deb/ stable main" | sudo tee -a /etc/apt/sources.list.d/yandex-disk.list > /dev/null sudo apt-get update sudo apt-get install yandex-disk 

В результате в системный репозиторий будет добавлен новый источник «deb http://repo.yandex.ru/yandex-disk/deb/ stable main» со стабильными сборками Яндекс.Диск, из которого будет производиться установка и последующие обновления утилиты.

Для RPM-ориентированных систем порядок установки с помощью СУП несколько иной. Нужно для начала вручную создать и отредактировать файл источника для добавления его в системный репозиторий:

sudo nano /etc/yum.repos.d/yandex.repo 

Запустится текстовый редактор nano (который сразу создаст файл yandex.repo по указанному пути), в котором нужно ввести следующее содержимое:

\[yandex\] name=Yandex failovermethod=priority baseurl=http://repo.yandex.ru/yandex-disk/rpm/stable/$basearch/ enabled=1 metadata_expire=1d gpgcheck=1 gpgkey=http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG 

Далее, сохранить сделанные изменения, нажав сочетание клавиш , подтвердить сохранение (Enter), закрыть редактор nano (Ctrl + X) и выполнить следующие команды:

sudo rpm --import http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG sudo yum install yandex-disk 

Все эти действия выполняются и при использовании пакетных менеджеров, если сначала вручную скачать пакеты Яндекс.Диска через веб-браузер (или утилиту wget), например для deb-пакетов:

sudo dpkg -i yandex-disk\_latest\_amd64.deb 
sudo rpm -ivh yandex-disk\_latest.x86\_64.rpm 

Сами пакеты для нужных платформ и под соответствующую архитектуру можно скачать по адресу: https://disk.yandex.ru/download#pc.

Также может потребоваться импортировать с помощью wget открытые GPG-ключи для проверки цифровой подписи пакетов, если это по какой-либо причине не произошло автоматически при использовании СУП или менеджера пакетов. Для Debian:

wget -O YANDEX-DISK-KEY.GPG http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG sudo apt-key add YANDEX-DISK-KEY.GPG 
sudo rpm --import http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG 

Управление демоном из командной оболочки​

Разработчики Яндекс.Диска в реализации этого проекта постарались максимально придерживаться принципов так называемой концепции UNIX-Way, которая предполагает при разработке ПО соблюдение следующих принципов:

  • программа должна быть очень (насколько это возможно) небольшой;
  • программа должна выполнять только одну простую задачу, но выполнять её хорошо;
  • программа должна легко взаимодействовать с другими программами.

Утилита Яндекс.Диск, как уже говорилось, работает как демон (в хорошем смысле…), а потому основной метод управления ею — это дискретные команды с соответствующими опциями и параметрами. Эти команды могут выполняться как непосредственно пользователем в командной оболочке, так и другими программами, которые могут быть графическими оболочками для демона Яндекс.Диска, как в виде оконных приложений, так и в виде виджетов и/или апплетов рабочего стола. Некоторые достойные реализации (YD-tools, Yandex.Disk ServiceMenu) графического пользовательского интерфейса (GUI) давно существуют.

Для управления клиентом Яндекс.Диск предназначена команда yandex-disk, её общий синтаксис следующий:

yandex-disk внутренняя_команда [ ОПЦИИ ]

Внутренними командами утилиты yandex-disk являются команды управления демоном синхронизации, а также команды его настройки, которые приведены в следующей таблице:

Начальное конфигурирование демона.

Команда Назначение
start Запускает как демон и начинает синхронизацию каталога. В файл «.sync/status» каталога синхронизации записывается текущий статус синхронизации.
stop Останавливает демон.
status Выводит статус демона: статус синхронизации, ошибки, последние синхронизированные файлы, состояние дискового пространства.
token Получает OAuth-токен, шифрует и сохраняет его в специальном файле (по умочанию — /.config/yandex-disk/passwd). Если не указаны опции -p PASSWORD или —password PASSWORD, то выводит приглашение ввести пароль из STDIN.
sync Синхронизирует каталог и завершение работы (если демон запущен, дождается окончания синхронизации). Требуется для ручной синхронизации по требованию.
publish Делает файл/каталог публичным и выводит ссылку в STDOUT. Сам объект будет скопирован в синхронизируемый каталог. Для перезаписи существующих объектов следует использовать опцию —overwrite.
unpublish Удаляет публичный доступ к файлу/каталогу.
setup Начальное конфигурирование демона.

Начальное конфигурирование демона.​

Соответственно, сами эти команды могут выполняться в следующем виде:

yandex-disk start \[OPTION\] yandex-disk stop \[OPTION\] yandex-disk status \[OPTION\] yandex-disk sync \[OPTION\] yandex-disk token \[-p, --password=PASSWORD\] \[OPTION\] USERNAME \[FILE\] yandex-disk publish \[OPTION\] FILE yandex-disk unpublish FILE 

В следующей таблице приводится описание всех доступных для yandex-disk опций:

Опция Описание
—config=FILE, -c FILE Читает опции из конфигурационного файла. Файл должен содержать строки вида имя=значение. Путь к файлу по умолчанию ~/.config/yandex-disk/config.cfg.
—dir=DIR, -d DIR Задаёт путь к каталогу Яндекс.Диска.
—auth=FILE, -a FILE Читает данные токена из файла. Файл должен быть сгенерирован командой token. Путь к файлу по умолчанию ~/.config/yandex-disk/passwd.
—exclude-dirs=DIR1,DIR2,… Исключает из синхронизации указанные каталоги.
—read-only Указывает не загружать локальные изменения в облако. Измененные локально файлы будут переименованы.
—overwrite Указывает в режиме «read-only» перезаписывать локально измененные файлы.
—no-daemon, -D Запускает демон без возможности управления через командную оболочку. Чтобы вернуть управление, демон необходимо остановить, запустив в другой консоли команду yandex-disk stop или закрыв текущую консоль.
—version, -v Выводит информацию о версии.
—proxy=PARAM Задаёт настройки прокси-сервера. Допустимые параметры: auto — использовать системные настройки прокси-сервера — используется по умолчанию, no — не использовать прокси сервер. protocol,address,port,login,password — настроить вручную. Пример настройки прокси-сервера вручную: proxy=socks4,my.proxy.local,1080,login,password

Как можно видеть, разработчики подошли к реализации утилиты Яндекс.Диск, что называется — «по-настоящему», ярко отразив в ней философию маленькой, эффективной, простой и удобной UNIX-программы. Все команды и опции говорят сами за себя и настройка демона Яндекс.Диск не вызывает никаких сложностей.

Первое, что необходимо выполнить в командной строке, после установки утилиты Яндекс.Диск — это запустить начальную настройку её демона с помощью команды:

Далее нужно проследовать несложному процессу, в ходе которого будет предложено создать защищённый токен на основе учётных данных, задать настройки прокси-сервера (если предполагается его использовать), указать путь к каталогу синхронизации, а также определить опции автозапуска демона при входе в систему:

$ yandex-disk setup Использовать прокси-сервер? \[y/N\]: N Авторизация Если у вас ещё нет аккаунта на Яндексе, его можно завести по ссылке https://passport.yandex.ru/passport?mode=register Введите логин: mylogin Введите пароль: Токен сохранен в /home/john/.config/yandex-disk/passwd Настройка Яндекс.Диска Введите путь к папке Яндекс.Диска (Оставьте пустым для использования папки '/home/john/Yandex.Disk'): /media/john/Yandex.Disk/Disk/ Запускать Яндекс.Диск при входе в систему? \[Y/n\]: Y Запуск демона. Готово 

В приведённом примере производится настройка демона синхронизации для учетной записи mylogin без задействования прокси-сервера. Каталогом для синхронизации в данном случае является каталог Disk на отдельном разделе (или устройстве) Yandex.Disk.

Интеграция с файловым менеджером​

Поскольку сервис Яндекс.Диск поддерживает работу по протоколу WebDAV, то синхронизацию легко настроить для приложений, которые поддерживают эту технологию. В Linux таковыми являются например файловые менеджеры Dolphin (для среды KDE), а также Nautilus – для среды GNOME.

Сама настройка файлового менеджера для работы через WebDAV совсем несложна и на примере Dolphin выглядит следующим образом:

  • Для начала в адресной строке файлового менеджера нужно перейти по адресу webdavs://webdav.yandex.ru.
  • Далее, в появившемся диалоговом окне требуется ввести имя пользователя и пароль для доступа к облачному хранилищу.
  • После успешной авторизации Dolphin отобразит содержимое облачного хранилища, как-будто это локальный каталог.
  • По желанию можно добавить данный адрес в список точек «быстрого входа» в Dolphin, чтобы каждый раз не вводить адрес вручную.

Как можно видеть, благодаря грамотной реализации для Linux-систем и поддержке современных технологий для работы и защиты данных в удалённых хранилищах, утилита Яндекс.Диск легко и гибко способна организовать синхронизацию файлов. Для системных администраторов она примечательна ещё и тем, что полностью соответствует принципам администрирования UNIX/Linux систем. И если в это позволяет политика и регламент безопасности сети организации, то утилита Яндекс.Диск — это отличный вариант предоставить пользователям инструмент для синхронизации их данных с облаком.

Источник

Читайте также:  Линукс на карте памяти
Оцените статью
Adblock
detector