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

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

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

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

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

  • Ubuntu Linux 8.04 и выше;
  • Debian 5 и выше;
  • Fedora 9 и выше;
  • Red Hat Enterprise Linux 6 и выше;
  • CentOS 6 и выше.
  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.