GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo mantener OneDrive sincronizado con una carpeta en Linux usando OneDrive Free Client Fork

OneDrive es un servicio de alojamiento y sincronización de archivos ofrecido por Microsoft, similar a Dropbox, Google Drive, MEGA, etc. No existe un cliente oficial de Microsoft OneDrive para Linux, pero aún es posible compartir sus archivos de OneDrive (con usuarios reales). time -File Watcher) a una carpeta en su computadora Linux Fork of OneDrive Free Client que aún se mantiene (un cliente de línea de comandos de OneDrive para Linux).

Hace un tiempo escribí sobre montar OneDrive en Linux con Rclone (con soporte para cuentas personales y de trabajo). Algunos usuarios pueden preferir mantener sus archivos de OneDrive sincronizados con una carpeta en su computadora Linux (tener los archivos en el disco duro después de la sincronización, para que se pueda acceder a ellos incluso cuando la computadora está fuera de línea), solo cargar/descargar los cambios en lugar de montar OneDrive, y en este artículo lo haremos con una bifurcación de OneDrive Free Client.

El OneDrive Free Client original se abandonó en el otoño de 2018, pero la herramienta se bifurcó unos meses más tarde con el mismo nombre y ha evolucionado constantemente desde entonces.

OneDrive Free Client Fork es una herramienta completa para interactuar y sincronizar OneDrive en Linux con las siguientes funciones:

  • Almacenamiento en caché de estado
  • Supervisión de archivos en tiempo real con Inotify
  • Validación de carga/descarga de archivos para garantizar la integridad de los datos
  • Subidas reanudables
  • Soporte de OneDrive para empresas (parte de Office 365)
  • Carpetas compartidas (OneDrive Personal)
  • Bibliotecas de SharePoint/Office 365
  • Notificaciones de escritorio a través de libnotify
  • Capacidad de ejecución en seco para probar los cambios de configuración
  • Evite la eliminación accidental de datos de OneDrive después de un cambio de configuración


Al igual que el proyecto original, la bifurcación OneDrive Free Client no tiene una interfaz gráfica de usuario, por lo que debe usarse desde la línea de comandos, aunque incluye notificaciones de escritorio para informarle sobre el estado de sincronización y cualquier errores de sincronización que se producen.

También es importante tener en cuenta que, si bien los cambios locales se cargan inmediatamente en la cuenta de Microsoft OneDrive vinculada, los cambios remotos se retrasan hasta la próxima sincronización --monitor cuando se usan. (Este modo de "supervisión" permite que OneDrive Free Client controle continuamente su sistema de archivos local en busca de cambios y los cargue cuando se detecten). Por ejemplo, si ejecuta esta herramienta como un servicio, el intervalo de monitoreo del cliente OneDrive gratuito es de 45 segundos, por lo que los cambios remotos pueden tardar hasta 45 segundos en sincronizarse con su unidad local.

En cuanto a las carpetas compartidas, para las cuentas personales de OneDrive solo necesita agregarlas a su OneDrive. Para hacer esto, vaya al sitio web de OneDrive e inicie sesión en su cuenta. Luego vaya a la lista de archivos compartidos, haga clic con el botón derecho en la carpeta que desea sincronizar y luego haga clic en Add to my OneDrive . Actualmente, las carpetas compartidas no son compatibles con las cuentas de OneDrive Business u Office 365.

Cómo instalar OneDrive Free Client (bifurcación) en Debian (y Ubuntu, etc.), Fedora y más

La documentación de OneDrive Free Client (fork) para Linux menciona que esta herramienta está disponible en los repositorios de Fedora, AUR para Arch Linux/Manjaro, An slackbuilds.org para Slackware y el canal inestable en NixOS.

La herramienta también está disponible en los repositorios oficiales de Debian y Ubuntu, aunque esto no se menciona en la documentación (editar:la documentación se ha actualizado para reflejar esto). Para Ubuntu, la bifurcación solo está disponible en Ubuntu 19.04, 19.10 y 20.04, mientras que Ubuntu 18.04 todavía tiene el antiguo OneDrive Free Client sin mantenimiento (que no estoy seguro de que todavía funcione, pero incluso si lo hace, tiene muchos errores , que nunca se arreglará). Para Debian, este paquete OneDrive está disponible en Sid y Bullseye.

Para instalar OneDrive Free Client (bifurcación) desde los repositorios oficiales en Fedora, Debian/Ubuntu use:

  • Instalar OneDrive Free Client (bifurcación) en Fedora:
sudo dnf install onedrive

  • Instalar OneDrive Free Client (bifurcación) en Solus OS:
sudo eopkg install onedrive

  • Instala OneDrive Free Client (fork) en Debian Sid o Bullseye/Ubuntu 20.10, 20.04 y 19.10 y distribuciones de Linux basadas en estas versiones de Ubuntu (como Pop!_OS, Linux Mint, etc.)/Raspbian Testing/Kali Linux:
sudo apt install onedrive


El desarrollador recomienda instalar la última versión desde la fuente, incluso en Ubuntu 19.10, ya que la versión en los repositorios es bastante antigua. Para Debian Buster y Ubuntu 18.04 (y Pop!_OS 18.04, Linux Mint 19.*, Elementary OS 5 o 5.1, etc.) debe compilar OneDrive Free Client (fork) desde la fuente como se explica en su wiki, ya que la versión en los repositorios es la aplicación anterior sin usar.

[[Editar]]En Ubuntu 20.04 (y Linux Mint 20) y 20.10, puede instalar la última versión de OneDrive mediante un PPA:
sudo add-apt-repository ppa:yann1ck/onedrive
sudo apt install onedrive

Para otras distribuciones de Linux, verifique si tiene un paquete "onedrive" en los repositorios e instálelo o compílelo desde la fuente.

También se proporciona una imagen de Docker de cliente OneDrive (bifurcación) gratuita.

Cómo usar OneDrive Free Client (bifurcación) para sincronizar Microsoft OneDrive con una carpeta en su computadora con Linux

1. Autorice OneDrive Free Client (bifurcación) para Linux con su cuenta de Microsoft OneDrive.

Para Office365/Acceder a una unidad de grupo Sharepoint en Office 365 Business o Education, lea las instrucciones de esta página.

Para cuentas personales, abra una terminal y ejecute:

onedrive

Cuando lo ejecute por primera vez, la terminal en la que ejecutó "onedrive" mostrará un mensaje sobre la autorización de esta aplicación siguiendo un enlace. Copie el enlace que se muestra en la terminal y péguelo en un navegador web. Después de iniciar sesión en su cuenta de Microsoft, debería ver una página que le pregunta si desea permitir que esta aplicación acceda a su información:haga clic en Yes .

Después de hacer clic en Yes , se le llevará a una página en blanco. Eso está bien, esa es la forma en que debe ser. Ahora debe copiar y pegar la URL de esta página en blanco en el terminal donde autorizará la herramienta OneDrive con su cuenta de OneDrive.

Después de eso, verá un mensaje en la terminal que indica que No OneDrive sync will be performed without either of these two arguments being present . Esto se debe a que no intentamos sincronizar archivos, solo autorizamos la aplicación onedrive con su cuenta onedrive, así que ignórelos.

2. Sincronización inicial entre OneDrive y su sistema de archivos local.

Una vez autorizado, puede sincronizar sus archivos de OneDrive en la nube con su disco local. La herramienta de línea de comandos de OneDrive carga todos los archivos de OneDrive en formato . abajo ~/OneDrive (una carpeta de OneDrive en su directorio de inicio). No es necesario que cree esta carpeta, ya que la herramienta Onedrive la creará por usted.

Hagamos una ejecución en seco (sincronización de prueba) sin cambios reales para asegurarnos de que este cliente OneDrive gratuito para Linux funcione correctamente usando:

onedrive --synchronize --verbose --dry-run

Si todo se ve bien, comencemos a sincronizar sus archivos de OneDrive con el ~/OneDrive local. carpeta. Puede sincronizar todos sus archivos y carpetas de OneDrive con la carpeta local de OneDrive (Paso 2A a continuación) o sincronizar solo algunos archivos y carpetas (sincronización selectiva - Paso 2B a continuación).

2A. Para sincronizar TODOS sus archivos en la nube de OneDrive con su disco local (con ~/OneDrive), utilice:

onedrive --synchronize

Esto es solo para la sincronización inicial. Para ejecutar OneDrive Free Client para Linux en segundo plano y sincronizar archivos cuando se detectan cambios, consulte el Paso 3 a continuación (Habilite el servicio systemd).

2B. Activa y usa la sincronización selectiva.

¿Qué sucede si desea sincronizar varios directorios y archivos, pero no todos? Luego, debe usar la función de sincronización selectiva disponible con este cliente de línea de comandos de OneDrive para Linux.

La sincronización selectiva es una función que le permite especificar los archivos y directorios para sincronizar entre OneDrive y su sistema de archivos local, omitiendo todos los demás directorios y archivos.

Es muy importante tener en cuenta que OneDrive Free Client para Linux no eliminará los directorios o archivos ya sincronizados de su disco duro en caso de que luego los excluya mediante la sincronización selectiva. Lo que hace los excluye de futuras sincronizaciones.

Ejemplo:si solo permite que OneDrive sincronice la Carpeta 1 y la Carpeta 2, cuando luego agregue la Carpeta 3 a su directorio de OneDrive en su computadora, esa Carpeta 3 no se sincronizará con su cuenta de OneDrive; pero si tiene la Carpeta 1, la Carpeta 2 y la Carpeta 3 sincronizadas con su cuenta de OneDrive y luego decide sincronizar solo la Carpeta 1 y la Carpeta 2, la Carpeta 3 no se eliminará del directorio de OneDrive en su computadora con Linux, pero se eliminarán los cambios que realice. las carpetas no se sincronizarán con su cuenta de OneDrive.

Puede habilitar la sincronización selectiva para OneDrive Free Client copiando un archivo llamado . crear sync_list en ~/.config/onedrive . Edita este sync_list Archivo y agregue la ruta relativa a los archivos y directorios que desea sincronizar con OneDrive, cada uno en una nueva línea. Todos los archivos y directorios que no coincidan con una línea de este archivo se omitirán de la sincronización.

Ejemplo. Digamos que tengo muchos archivos y carpetas en mi cuenta de OneDrive, pero solo quiero sincronizar 2 directorios llamados Backup y Photos y 3 archivos llamados file1.ods, file2.odt y file3.odt con los 3 archivos en Documents are carpetas en mi cuenta de OneDrive. En este caso el ~/.config/onedrive/sync_list El archivo debe contener las siguientes líneas:

Backup
Photos
Documents/file1.odt
Documents/file2.odt
Documents/file3.odt

Cuando usa la sincronización selectiva por primera vez y cada vez que realiza cambios en el ~/.config/onedrive/sync_list Archivo que necesita una resincronización completa con --resync , así:

onedrive --synchronize --resync

Si tiene habilitado el servicio systemd de OneDrive Free Client (Paso 3 a continuación) y se está ejecutando actualmente, intentar ejecutar este comando generará un mensaje de error que indica:Initializing the Synchronization Engine ... A database statement execution error occurred: disk I/O error. Segmentation fault (core dumped) . En este caso, debe detener el servicio onedrive systemd, luego ejecutar el comando resincronizar y luego reiniciar el servicio de esta manera:

systemctl --user stop onedrive
onedrive --synchronize --resync
systemctl --user start onedrive

También hay opciones para omitir un directorio, omitir archivos, archivos de puntos y enlaces simbólicos disponibles a través del archivo de configuración de OneDrive Free Client para Linux (consulte el Paso 5 a continuación).

Al igual que la sincronización regular completa, esto solo se aplica a la sincronización inicial. Para ejecutar OneDrive Free Client para Linux en segundo plano y sincronizar archivos cuando se detectan cambios, consulte el Paso 3 a continuación.

3. Habilite el servicio Systemd de OneDrive Free Client para Linux.

Para que OneDrive Free Client para Linux se ejecute como un servicio, de modo que se inicie automáticamente con su computadora y esté constantemente atento a los cambios de OneDrive, sincronizando los archivos y carpetas modificados, habilitamos su servicio systemd.

Cuando se usa como un servicio systemd, este cliente de línea de comandos de OneDrive para Linux se ejecuta en modo de monitor (--monitor ), que permite monitorear continuamente su sistema de archivos local para detectar cambios en los archivos. Sin embargo, para muchos archivos esto puede causar problemas (no se puede agregar un nuevo reloj de notificación) causados ​​por el entorno local. La solución a esto es aumentar el número máximo de relojes de usuario. Esta página muestra cómo hacerlo en Debian/RedHat o similar (Ubuntu, Fedora, etc.) y Arch Linux/Manjaro.

Para habilitar e iniciar el servicio systemd de OneDrive (con notificaciones habilitadas) para su usuario actual (no root), ejecute:

systemctl --user enable onedrive
systemctl --user start onedrive

Compruebe el estado del servicio del sistema OneDrive Free Client con:

systemctl status --user onedrive

Solo revisa los registros:

journalctl --user-unit onedrive -f

relacionado con systemd:chkservice es un administrador de dispositivos systemd con una interfaz de usuario de terminal (nueva versión disponible)

Para conocer otras formas de ejecutar el servicio OneDrive (como usuario raíz a través de init.d), consulte su documentación.

Es muy importante tener en cuenta que debe utilizar el ~/OneDrive (o cualquier ruta que use para la carpeta OneDrive) mientras se ejecuta el servicio systemd de la bifurcación OneDrive Free Client , ya que todos sus archivos se eliminarán de OneDrive (todavía puede acceder a ellos en la Papelera en el sitio web de OneDrive).

5. (Opcional) Opciones de configuración.

Si desea utilizar una ubicación de carpeta personalizada de OneDrive, cambiar el intervalo de supervisión de los archivos modificados y mucho más, puede utilizar el archivo de configuración del cliente gratuito de OneDrive.

Para Debian, Ubuntu y Derivatives, consulte /usr/share/doc/onedrive/config para ver una configuración de ejemplo . Otra distribución de Linux, o si no puede encontrar este archivo de configuración, puede obtenerlo de la página del proyecto OneDrive Free Client GitHub:aquí hay un enlace directo.

Para cambiar la configuración predeterminada de OneDrive Free Client para Linux para su usuario, copie este archivo de configuración en ~/.config/onedrive . Por ejemplo, en Debian/Ubuntu y otras distribuciones de Linux donde este archivo está instalado en /usr/share/doc/onedrive/config , cópielo en ~/.config/onedrive Uso:

cp /usr/share/doc/onedrive/config ~/.config/onedrive/

Ahora, para cambiar algunas opciones de OneDrive Free Client, abra el ~/.config/onedrive/config archivo con un editor de texto. Todas las opciones están comentadas (tienen # en frente de ellos); Para cambiar cualquiera de los valores predeterminados, elimine el comentario de la línea y establezca el valor que desee.

Las opciones en el archivo de configuración deberían explicarse por sí mismas en la mayoría de los casos. Para obtener ayuda, consulte la página del manual de onedrive (man onedrive ).

Para obtener más información sobre el uso del cliente gratuito de OneDrive en Linux, incluido su uso con varias cuentas de OneDrive, la habilitación de la compatibilidad con proxy para el servicio systemd de OneDrive y más, consulte la documentación de uso del cliente gratuito de OneDrive.


Debian
  1. Cómo instalar TeamSpeak Server en Debian 11

  2. Cómo instalar Buho Task Manager en Debian 11 Desktop

  3. Cómo instalar Textpattern CMS con Nginx en Debian 10

  4. Instale Firefox Sync Server en Debian 11

  5. Cómo instalar Dropbox y Dropbox-cli en Debian 10

Instalación mínima del servidor OpenSUSE 13.2

Cómo instalar Lighttpd con PHP, MariaDB y Lets Encrypt SSL en Debian 10

4 formas de instalar VS Code Editor en Ubuntu 22.04 | 20.04 LTS

Cómo instalar el escritorio de plasma KDE en Ubuntu 22.04 Jammy Jellyfish Linux

Cómo comprimir y descomprimir archivos en Ubuntu

¿Dongles de banda ancha móvil USB en Ubuntu (14.04)? ¿Donde empezar?