Консольный клиент для Linux

Консольный клиент Яндекс.Диска для Linux позволяет вам управлять файлами на Диске без использования оконного интерфейса или программ, поддерживающих протокол WebDAV.

Преимущества консольного клиента по сравнению с WebDAV-подключением:

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

Консольный клиент может быть установлен на следующих операционных системах:

  • Ubuntu Linux 8.04 и выше;
  • Debian 5 и выше;
  • Fedora 9 и выше;
  • Red Hat Enterprise Linux 6 и выше;
  • CentOS 6 и выше.
  1. Установка клиента
  2. Мастер начальной настройки
  3. Работа с клиентом
    1. Команды
    2. Дополнительные параметры [OPTION]
    3. Примеры использования команд
    4. Пример файла config.cfg
  4. Вопросы и ответы
    1. Какие возможности Диска доступны в консольном клиенте?
    2. Работает ли в консольном клиенте выборочная синхронизация папок?
    3. Поддерживает ли консольный клиент работу с символическими ссылками?
    4. Можно ли использовать консольный клиент для репликации данных?
  5. GUI для консольного клиента Linux

Установка клиента

Чтобы установить клиент автоматически, воспользуйтесь командой быстрой установки пакета.

Пример быстрой установки пакета .deb
echo "deb http://repo.yandex.ru/yandex-disk/deb/ stable main" | sudo tee -a /etc/apt/sources.list.d/yandex.list > /dev/null && wget http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG -O- | sudo apt-key add - && sudo apt-get update && sudo apt-get install -y yandex-disk

Чтобы установить клиент вручную, скачайте нужную версию пакета по соответствующей ссылке ниже.

Формат пакета 32-bit 64-bit
.deb (Ubuntu, Debian) yandex-disk_latest_i386 yandex-disk_latest_amd64
.rpm (Fedora, Red Hat Enterprise Linux, CentOS) yandex-disk-latest.i386 yandex-disk-latest.x86_64
Внимание: Загружая программу, вы соглашаетесь с условиями Лицензионного соглашения.
Пример установки с помощью менеджера пакетов dpkg
# dpkg -i yandex-disk_0.1.0.103_i386.deb
Примечание: Репозиторий автоматически устанавливается по адресу /etc/apt/sources.list.d/yandex.list
Пример установки с помощью менеджера пакетов rpm
# rpm -ivh yandex-disk-0.1.0.103-1.fedora.i386.rpm
Примечание: Репозиторий автоматически устанавливается по адресу /etc/yum.repos.d/yandex.repo

Вы также можете добавить репозиторий с пакетом yandex-disk в список доступных репозиториев менеджера пакетов и установить пакет с помощью утилиты apt-get или yum.

Установка с помощью apt-get
Внимание: Сохраните копию файла /etc/apt/sources.list.d/yandex.list перед внесением в него изменений.
# echo "deb http://repo.yandex.ru/yandex-disk/deb/ stable main" >> /etc/apt/sources.list.d/yandex.list
# apt-get update
# apt-get install yandex-disk
Установка с помощью yum
# nano /etc/yum.repos.d/yandex.repo
# rpm --import http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG
# yum install yandex-disk

Содержимое файла 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

Для проверки цифровой подписи пакета может понадобиться импортировать в систему открытый GPG-ключ.

Импорт GPG-ключа для пакета .deb
wget -O YANDEX-DISK-KEY.GPG http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG
sudo apt-key add YANDEX-DISK-KEY.GPG
Импорт GPG-ключа для пакета .rpm
sudo rpm --import http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG

Мастер начальной настройки

Вы можете выполнить начальную настройку клиента с помощью команды setup.

$ yandex-disk setup
  1. Введите название каталога для хранения локальной копии Диска. Если вы оставите название пустым, в домашнем каталоге будет создана папка Yandex.Disk.
  2. Укажите, использовать ли прокси-сервер (y/n).
  3. Укажите, запускать ли клиент при старте системы (y/n).
  4. Введите имя пользователя на Яндексе.
  5. Введите пароль на Яндексе.
    Внимание: Если вы используете двухфакторную аутентификацию, для авторизации в программе «Яндекс.Диск» нужен одноразовый пароль, сгенерированный приложением «Яндекс.Ключ».

После того как мастер завершит работу, в каталоге ~/.config/yandex-disk будет создан файл конфигурации config.cfg.

Работа с клиентом

  1. Команды
  2. Дополнительные параметры [OPTION]
  3. Примеры использования команд
  4. Пример файла config.cfg

Команды

Для работы с клиентом используются следующие команды:

  • token — получить ключ авторизации (OAuth-токен) для вашего логина на Яндексе (USERNAME). При вводе команды вы можете указать ваш пароль на Яндексе (PASSWORD) и задать имя файла для хранения токена и путь к нему (FILE). Если дополнительные параметры не будут указаны, для хранения токена будет создан файл passwd в каталоге ~/.config/yandex-disk.
    $ yandex-disk token [-p, --password=PASSWORD] [OPTION] USERNAME [FILE]
  • start — запустить демон и синхронизировать все папки, кроме указанных в списке исключений exclude-dirs.
    $ yandex-disk start [OPTION]
  • status — отобразить статус работы демона (состояние синхронизации, ошибки синхронизации, список синхронизированных файлов, общее и свободное пространство на Диске).
    $ yandex-disk status [OPTION]
  • stop — остановить работу демона.
    $ yandex-disk stop [OPTION]
  • sync — синхронизировать все папки, кроме указанных в списке исключений exclude-dirs.
    $ yandex-disk sync [OPTION]
  • publish — получить публичную ссылку на указанный файл или папку (FILE).
    $ yandex-disk publish [OPTION] FILE
  • unpublish — отменить публикацию для указанного файла или папки (FILE).
    $ yandex-disk unpublish FILE

Дополнительные параметры [OPTION]

--config=FILE, -c FILE

Указать файл конфигурации. По умолчанию используется файл config.cfg в каталоге ~/.config/yandex-disk.

--dir=DIR, -d DIR

Указать каталог для хранения локальной копии Диска. Если его название не было задано при выполнении начальной настройки, по умолчанию будет использоваться каталог ~/Yandex.Disk.

--auth=FILE, -a FILE

Указать файл с данными авторизации. По умолчанию используется файл passwd, который создается с помощью команды token или мастера начальной настройки и хранится в каталоге ~/.config/yandex-disk.

--exclude-dirs=DIR1,DIR2,...

Не синхронизировать указанные каталоги. Чтобы настройка действовала всегда, каталоги необходимо добавить в список исключений exclude-dirs в файле config.cfg. Чтобы настройка действовала корректно, названия исключаемых директорий нужно перечислять через запятую, без пробелов.

--read-only

Запретить изменение файлов на сервере Диска и выполнить синхронизацию только в локальной копии. При возникновении конфликтов синхронизации локальные файлы будут переименованы. Если дополнительно указан параметр --overwrite, локальные файлы будут перезаписаны.

--overwrite

При синхронизации с сервером разрешить перезапись изменений, сделанных в локальной копии Диска. Используется вместе с параметром --read-only.

--no-daemon, -D

Запустить демон без возврата управления в консоль. Чтобы вернуть управление, демон необходимо остановить, запустив в другой консоли команду yandex-disk stop или закрыв текущую консоль.

--help, -h

Вывести справку.

--proxy=PARAM

Настроить прокси-сервер. Допустимые параметры:

  • auto — использовать системные настройки прокси-сервера (используется по умолчанию);
  • no — не использовать прокси-сервер;
  • protocol,address,port,login,password — настроить вручную.

Примеры использования команд

$ yandex-disk start -c ~/ydconfig/newconfig.cfg # запустить демон и синхронизацию с указанным файлом конфигурации 
$ yandex-disk start --exclude-dirs=Foto # не синхронизировать папку Foto
$ yandex-disk sync --read-only # синхронизировать папки в режиме read-only
$ yandex-disk publish Foto # получить публичную ссылку на папку Foto

Пример файла config.cfg

# Путь к файлу с данными авторизации
auth="/home/user/ydconfig/my_passwd"

# Каталог для хранения локальной копии Диска.
dir="/home/user/myDisk"

# Не синхронизировать указанные каталоги.
#exclude-dirs="exclude/dir1,exclude/dir2,path/to/another/exclude/dir"

# Указать прокси-сервер. Примеры:
#proxy=https,127.0.0.1,80
#proxy=https,127.0.0.1,80,login,password
#proxy=https,127.0.0.1,443
#proxy=socks4,my.proxy.local,1080,login,password
#proxy=socks5,my.another.proxy.local,1081
#proxy=auto
#proxy=no

Вопросы и ответы

Какие возможности Диска доступны в консольном клиенте?

При работе с консольным клиентом вам доступны все основные возможности Диска: синхронизация и публикация файлов и папок, выборочная синхронизация папок.

Работает ли в консольном клиенте выборочная синхронизация папок?

Да. Вы можете запретить синхронизацию отдельных папок, указав их при вводе команды (параметр --exclude-dirs=DIR1,DIR2,...) или добавив в список исключений exclude-dirs в файле config.cfg.

Можно ли использовать консольный клиент для репликации данных?

Да. Репликация данных может быть реализована с помощью параметра --read-only.

GUI для консольного клиента Linux

Вы можете работать с консольным клиентом с помощью GUI от сторонних разработчиков.

Название Описание
YD-tools Утилита поддерживает все основные функции консольного клиента. Она отображает текущее состояние синхронизации в виде значка в панели задач и может сообщать об изменениях с помощью всплывающих уведомлений. Также добавляет в контекстное меню пункты, отвечающие за публикацию.
Ya-gui Утилита позволяет запустить демон в обычном или расширенном режиме (с дополнительными опциями). Добавляет в контекстное меню пункт, отвечающий за публикацию. В запущенном состоянии позволяет открыть или закрыть доступ к файлам, остановить демон, а также отображает информацию о текущем статусе демона.
Yandex.Disk ServiceMenu Позволяет получить быстрый доступ к сервису Яндекс.Диск: скопировать публичную ссылку на файл или папку в буфер обмена, сохранить файл в вашу папку Яндекс.Диска.
Виджет Magic Folder Позволяет получить ссылку на публикацию.

Если вы знаете о других GUI для консольного клиента и их нет на этой странице, пожалуйста, сообщите нам об этом.

Также вы можете работать с Диском через WebDAV.