Многие пользователи linux ранее не имели возможности автоматической синхронизации подключенного Yandex Disk в Linux.
На сегодняшний день такая возможность предоставлена разработчиками сервиса. Теперь можно подключить ваш Яндекс диск в виде папки и запустить постоянную автоматическую синхронизацию файлов.
В статье будет рассказано, как я настроил себе Яндекс диск в Linux с автоматической синхронизацией. Если вы хотите посмотреть или воспользоваться инструкцией от самих разработчиков то пройдите по этой ссылке.
Инструкция предлагаемая разработчиками — превосходно работает на сегодняшний день. Правда она предполагает использование только одного аккаунта Yandex disk.
Мне понадобилось подключить две папки от облачного хранилища Yandex disk.
Готового решения данного вопроса на сегодняшний день я не нашел.
Проанализировав способы подключения Yandex disk в Linux с синхронизацией, которые предлагают на различных сторонних ресурсах, я сформировал для себя рабочий вариант.
Мой способ подключения подойдет для Debian и дистрибутивов основанных на нем — Ubuntu, Linux mint и т.п.
Я использую Debian 11 и все ниже описанное проделал на нем. Все отлично работает.
Устанавливаем Yandex disk в Linux
Для начала скачаем последний deb пакет yandex disk от разработчиков на их официальном сайте тут. Выбирайте именно тот пакет который соответствует разрядности вашей операционной системе.
После скачивания deb пакета устанавливаем его с помощью утилиты Gdebi.
Можно проделать это командой из терминала, откройте терминал из папки в которую скачен deb пакет (контекстное меню по правой кнопке мышки в окне файлового менеджера) и введите команду
sudo dpkg -i Имя-скаченного-пакета.deb
Теперь нам надо произвести первоначальную настройку, подключить свой Яндекс диск.
Вводим команду в терминале
yandex-disk setup
В терминале вас спросят — используете ли вы прокси сервер?
Я естественно ответил «n», я не использую его.
Потом попросят перейти по указанной ссылке и ввести, предоставленный пароль.
После того как вы введете пароль у вас попросит указать папку которую вы будете синхронизировать.
Папку нужно создать за ранее. Я указал папку в домашней директории.
И согласился с запуском синхронизации при старте системы.
На данном этапе, если у Вас всего один аккаунт Яндекс диска, настройку можно закончить.
Папка указанная для синхронизации будет автоматически синхронизироваться с вашим Яндекс диском.
Подготовка к подключению второго Яндекс диска
Если вы хотите подключить второй яндекс диск, то у вас ничего не выйдет. Вернее выйдет, вы настроите подключение точно так же, но предыдущий перестанет работать.
Будет работать только один который вы настроите последним.
Поэтому перед тем как настраивать второй яндекс диск нужно проделать следующее.
Вначале останавливаем сервис yandex-disk
yandex-disk stop
Теперь нам нужно перенести файлы настроек настроенного яндекс диска в другую директорию, я просто переименовал ее в yandex-disk1
mv ~/.config/yandex-disk ~/.config/yandex-disk1
Теперь откроем файл config.cfg из переименованной папки yandex-disk1
nano ~/.config/yandex-disk1/config.cfg
И исправим путь к файлу с паролем passwd, в соответствии с тем как вы переименовали папку, а именно строка auth=….
Также можно указать другую папку для синхронизации с яндекс диском в строке dir
Папку нужно предварительно создать, если укажите другую и дать ей права на чтение и запись вашим пользователем и его группой.
Вот как это выглядит в моем случае
Естественно сохраняем сочетанием клавиш Ctrl+O и закрываем Ctrl-X
Теперь создадим юнит для systemd, сам файл
# touch /etc/systemd/system/yandex-disk.service
Откроем созданный файл командой
# nano /etc/systemd/system/yandex-disk.service
Внесем в него следующее содержимое, с учетом нашего расположения новой папки конфигурационных файлов.
Обратите внимание на строки User и Group, я указал логин и группу своего пользователя.
[Unit]
Description=Yandex.Disk
Requires=network.target
After=network.target
[Service]
Type=forking
User=user
Group=user
ExecStart=/usr/bin/yandex-disk start -c /home/user/.config/yandex-disk1/config.cfg
RestartSec=1min
Restart=on-failure
[Install]
WantedBy=multi-user.target
Естественно сохраняем сочетанием клавиш Ctrl+O и закрываем Ctrl-X
Перезапустим systemd
systemctl --system daemon-reload
Запустим созданную нами службу
systemctl start yandex-disk.service
Посмотреть как работает
systemctl status yandex-disk.service
Теперь добавим службу в автозагрузку, если все работает
systemctl enable yandex-disk.service
Теперь перезагружаем систему и проверяем работает ли синхронизация нашей папки Яндекс диска
Напоминаю, наша папка была указана по умолчанию в домашней директории ~/Yandex.Disk
Теперь устанавливаем второй аккаунт Яндекс
Настраиваем второй аккаунт простой командой, как и в первом случае
yandex-disk setup
Просто указываем другой каталог синхронизации, а так как настройки предыдущего аккаунта мы перенесли в другое место и сделали запуск синхронизации через системную службу systemd — она тоже будет работать.
У меня все работает и синхронизируется одновременно два аккаунта в две разные, соответственно, папки.
Если есть, кому, что добавить или сказать, пишите в комментариях.
Всем Удачи!
Не получается задать папку на другом физическом диске.
Я все делал как описано в статье, на Debian 11, все работало.
Данную процедуру проделывал два раза, оба успешно.
Учитывая нынешнюю обстановку в мире, что то «банят», что то криво работает и т.п. — допускаю, что может заработать не с первого раза.
О, оказалось не в «банях» дело
Помог коммент
https://github.com/slytomcat/yandex-disk-indicator/issues/183?ysclid=l9frtdz86a630892584
«При возникновении подобной проблемы мне помогло удаление файла «~uid» из папки .sync в корне диска»
Сути действий я не понял, но помогло
Спасибо за информацию!!!
Будем иметь ввиду. В файле идентификатор или ключ какой то судя по содержанию.
Удачи!
Спасибо. Очень помогло. Ubuntu 22.
Но при этом на втором компе не взлетело.
Стартует, но в статусе выводит «no internet access», не смог разобраться,
пока 2й диск запускаю из терминала с параметром -D
Настраивал только на Debian, пару раз, все работало. Постарался все максимально описать в статье. Вообще все это было проделано в качестве эксперимента, но оно заработало.
По моему разработчики вообще не предусматривали одновременную работу и синхронизацию с двумя дисками на одном пк, даже в windows.
Спасибо. все сработало с первого раза. Гуд !!!!!!