Как синхронизировать OneDrive с Linux
Зачем нужен OneDrive на Linux
Если вы переходите с Windows на Linux, часть ваших личных данных, вероятно, уже хранится в OneDrive (встроен в Windows 10/11). Чтобы не терять доступ к фото, документам и архивам, удобнее настроить синхронизацию OneDrive прямо в Linux, чем постоянно пользоваться веб-интерфейсом.
Короткое определение: OneDrive Client for Linux — свободно разрабатываемый клиент для доступа и синхронизации данных OneDrive на Linux-станциях.
Важно: прямого официального клиента от Microsoft для большинства дистрибутивов Linux нет, поэтому приходится использовать поддерживаемые сообществом проекты.
Основные варианты доступа к OneDrive на Linux
- OneDrive Client for Linux (рекомендуется) — полноценный клиент для синхронизации и мониторинга в реальном времени.
- OneDriveGUI — графический интерфейс поверх клиентa для пользователей, которые избегают терминала.
- rclone — универсальный инструмент для работы с облаками (подходит для монтирования и однократных копий).
- Веб-интерфейс OneDrive — работает в браузере, но медленнее и неудобен для больших объёмов.
- Платные решения (например, Insync) — предлагают интеграции и поддержку за деньги.
Когда это не подойдёт: если вам нужна сквозная серверная интеграция с enterprise-политиками Microsoft или сторонняя поддержка уровня Microsoft — стоит рассмотреть корпоративные решения и консультации.
Преимущества OneDrive Client for Linux
- Поддержка бесплатных и платных аккаунтов OneDrive, OneDrive для бизнеса и SharePoint.
- Мониторинг файлов в реальном времени и фоновая синхронизация.
- Ограничение скорости трафика и возобновляемая загрузка.
- Проверка успешности загрузки/скачивания.
Факт: у бесплатного аккаунта OneDrive обычно 5 ГБ хранилища; у платных подписок объём может быть больше.
Установка на Ubuntu 22.04 LTS (пошагово)
Ниже — пример установки на Debian-подобных системах (Ubuntu 22.04). Команды сохраняйте в том виде, как они приведены.
- Обновите систему:
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo apt-get autoremove -y
sudo apt-get autoclean -y
- Перезагрузите систему:
reboot- Добавьте ключ репозитория OpenSuSE Build Service (пример для xUbuntu_22.04):
wget -qO - https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_22.04/Release.key | gpg --dearmor | sudo tee /usr/share/keyrings/obs-onedrive.gpg > /dev/null- Добавьте сам репозиторий (не меняйте путь для вашей версии Ubuntu):
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/obs-onedrive.gpg] https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_22.04/ ./" | sudo tee /etc/apt/sources.list.d/onedrive.list- Обновите кэш apt и установите пакет:
sudo apt-get update
sudo apt install --no-install-recommends --no-install-suggests onedriveПримечание: для других версий Ubuntu/дистрибутивов путь к репозиторию и ключи могут отличаться. Всегда сверяйтесь с инструкцией на GitHub проекта.
Установка на Arch / Manjaro
Используйте pamac (или AUR):
pamac build onedrive-abrauneggИли собирайте из исходников по инструкции на GitHub.

ALT: Логотип OneDrive на фоне ноутбука с обоями Ubuntu
Первичная настройка и авторизация
OneDrive Client for Linux — в основном инструмент командной строки. Для вывода справки используйте:
onedrive --helpДля первичной синхронизации выполните команду (замените destination-directory на путь к папке):
onedrive destination-directory [FILEPATH] --synchronizeВ процессе приложение откроет ссылку для авторизации в браузере. После входа в аккаунт Microsoft скопируйте URL-адрес из браузера и вставьте его в терминал (страница в браузере часто остаётся пустой). Это завершит аутентификацию.
Проверить статус синхронизации:
onedrive display-sync-status
ALT: Диалог авторизации и индикатор синхронизации OneDrive в терминале
OneDriveGUI — графическая надстройка
Если терминал вызывает дискомфорт, используйте OneDriveGUI — AppImage с графическим интерфейсом, который работает поверх OneDrive Client for Linux.
- Скачать OneDriveGUI AppImage с GitHub проекта.
- В каталоге загрузки сделать файл исполняемым:
chmod +x ./OneDriveGUI-[VERSION]-x86_64.AppImageЗамените [VERSION] на конкретную версию файла.
Запустите AppImage и создайте профиль. Укажите каталог синхронизации (если вы уже синхронизировали через CLI, можете указать тот же путь).
Пройдите процедуру авторизации в браузере (как и в CLI).

ALT: Окно создания профиля OneDriveGUI с указанием каталога синхронизации

ALT: Графический интерфейс OneDrive Client for Linux с управлением аккаунтами
Настройка автосинхронизации (systemd)
Чтобы синхронизация работала постоянно в фоне, можно создать systemd-сервис, который запускает клиент в режиме мониторинга.
Пример юнита для systemd (создайте /etc/systemd/system/onedrive.service):
[Unit]
Description=OneDrive Free Client
After=network.target
[Service]
Type=simple
User=YOUR_USERNAME
ExecStart=/usr/bin/onedrive --monitor
Restart=on-failure
[Install]
WantedBy=default.targetЗамените YOUR_USERNAME на имя локального пользователя, под которым нужно запускать синхронизацию. Затем выполните:
sudo systemctl daemon-reload
sudo systemctl enable --now onedrive.serviceПроверка статуса:
systemctl status onedrive.serviceАльтернатива: если вы предпочитаете периодическую синхронизацию, можно добавить cron-задание:
# Выполнять синхронизацию каждые 15 минут
*/15 * * * * /usr/bin/onedrive --synchronize --no-remote-deleteОпция –no-remote-delete предотвращает удаление локальных файлов при удалении на OneDrive (используйте осторожно и согласно вашей политике).
Пример конфигурационного файла
Клиент обычно использует файл конфигурации в директории пользователя: ~/.config/onedrive/config
Пример содержимого (пояснительная, проверьте актуальные опции в вашей версии клиента):
# Путь для синхронизации
sync_dir = "~/OneDrive"
# Пропустить эти папки при синхронизации
skip_dir = "{\"__MACOSX\",\"node_modules\"}"
# Пропустить файлы по шаблону
skip_file = "{\"~*\",\"*.tmp\"}"
# Интервал мониторинга в секундах
monitor_interval = 20
# Ограничение скорости в КБ/с (пример)
max_upload_speed = 0
max_download_speed = 0
# Разрешить символические ссылки
skip_symlinks = falseПримечание: конкретные ключи и формат могут отличаться между форками проекта. Всегда сверяйтесь с документацией вашей версии.
Критерии приёмки (как понять, что всё настроено правильно)
- Файлы, которые вы ожидаете (папки, новые и изменённые файлы), появляются в целевой папке sync_dir.
- Статус команды display-sync-status не показывает ошибок.
- Служба systemd active (если настроена) и перезапускается при сбое.
- При тестовых изменениях файлы синхронизируются в разумное время (соответственно объёму и скорости канала).
Отладка и типичные проблемы
- Ошибка авторизации: проверьте, открыт ли URL полностью; иногда браузеры блокируют редиректы или расширения мешают. Попробуйте другой браузер или приватное окно.
- Проблемы с репозиторием/ключом apt: убедитесь, что вы используете правильный путь для вашей версии Ubuntu. Проверьте вывод apt-get update на ошибки.
- Нехватка прав: убедитесь, что сервис запускается от нужного пользователя и имеет доступ к каталогу sync_dir.
- Конфликты файлов: при параллельных изменениях возможны конфликты — проверьте логи клиента.
Полезные команды для диагностики:
onedrive --synchronize --verbose
journalctl -u onedrive.service -f
ps aux | grep onedriveОтказоустойчивость и план отката (инцидентный план)
- Остановите сервис:
sudo systemctl stop onedrive.service- Сделайте бэкап текущего каталога синхронизации (копия на внешний диск или в архив):
cp -a ~/OneDrive ~/OneDrive-backup-$(date +%F-%T)Если нужно вернуть прежнее состояние — остановите сервис, замените каталог восстановленной копией и запустите сервис заново.
Если синхронизация привела к массовому удалению/повреждению, восстановите из резервной копии и свяжитесь с поддержкой/сообществом проекта для анализа логов.
Альтернативные подходы (когда лучше выбирать другое решение)
- rclone: удобен для монтирования облака как файловой системы, для единоразовых копий и скриптов резервного копирования.
- Nextcloud/ownCloud: если вы хотите полностью контролировать облачное хранилище и хранить данные на собственном сервере.
- Insync (коммерческий): подходит для тех, кто готов платить за удобство и графическую интеграцию.
Сравнение в одной строке: OneDrive Client for Linux — лучшее соотношение «бесплатно + функционально» для постоянной двунаправленной синхронизации; rclone — гибче для однонаправленных задач и монтирования.
Безопасность и конфиденциальность
- Локальные копии: файлы, синхронизированные с OneDrive, хранятся на локальном диске — подумайте о шифровании диска (Full Disk Encryption) и резервном копировании.
- Токены и ключи: учтите, что аутентификационные токены хранятся локально; ограничьте доступ к домашнему каталогу и используйте права доступа.
- GDPR/конфиденциальность: если вы обрабатываете персональные данные, проверьте правила хранения и передачи данных в вашей юрисдикции и в условиях использования Microsoft.
Important: частые изменения в методах аутентификации Microsoft могут требовать обновления клиента; держите ПО в актуальном состоянии.
Плейбук для ролей
Администратор:
- Установить клиент на тестовой машине.
- Проверить авторизацию и создать systemd-сервис.
- Настроить мониторинг и логирование.
- Подготовить план отката и инструкцию для пользователей.
Пользователь (настольный):
- Установить OneDriveGUI или следовать CLI-инструкции.
- Создать профиль и указать каталог синхронизации.
- Протестировать загрузку/скачивание нескольких файлов.
Чек-лист перед миграцией данных
- Проверить объём данных на OneDrive и наличие свободного места на локальном диске.
- Сделать резервную копию наиболее важных файлов заранее.
- Убедиться в стабильном интернет-соединении.
- Проверить права доступа и владельца каталога sync_dir.
- Наладить мониторинг и оповещения на случай ошибок.
Примеры команд — шпаргалка
- Инициализация авторизации: запустите onedrive, он сам выведет ссылку для авторизации.
- Полная синхронизация в указанную папку:
onedrive ~/OneDrive --synchronize- Режим мониторинга (фоновая синхронизация):
onedrive --monitor- Просмотр статуса:
onedrive display-sync-status- Запуск с подробным выводом ошибок:
onedrive --synchronize --verboseКогда это не сработает
- Корпоративные политики безопасности Microsoft, блокирующие стороннюю аутентификацию.
- Сложные SharePoint-структуры с индивидуальными правами доступа могут требовать дополнительной настройки.
- Если требуется поддержка MS Office Online интеграции на уровне Windows, то Linux-клиент не даст идентичного опыта.
Итог
OneDrive Client for Linux — функциональный и практичный способ получить доступ к вашим файлам OneDrive на большинстве дистрибутивов Linux. Для десктоп-пользователей доступен OneDriveGUI. Настройка автосинхронизации через systemd или cron обеспечивает постоянную актуальность данных. Если вы заботитесь о безопасности — используйте шифрование диска и контролируйте токены доступа.
Если вы планируете массовую миграцию от Microsoft или ожидаете корпоративных ограничений, протестируйте решение на небольшой выборке данных перед полным переносом.
Notes: всегда проверяйте актуальную документацию проекта OneDrive Client for Linux на GitHub перед установкой или обновлением.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента