GNU/Linux >> Linux Esercitazione >  >> Debian

Come mantenere OneDrive sincronizzato con una cartella su Linux utilizzando OneDrive Free Client Fork

OneDrive è un servizio di file hosting e sincronizzazione offerto da Microsoft, simile a Dropbox, Google Drive, MEGA, ecc. Non esiste un client Microsoft OneDrive ufficiale per Linux, ma è comunque possibile condividere i tuoi file OneDrive (con time -File Watcher) in una cartella del computer Linux Fork del client gratuito di OneDrive che è ancora gestito (un client della riga di comando di OneDrive per Linux).

Tempo fa ho scritto di montare OneDrive in Linux con Rclone (con supporto per account di lavoro e personale). Alcuni utenti potrebbero preferire mantenere sincronizzati i propri file OneDrive con una cartella sul proprio computer Linux (avendo i file sul disco rigido dopo la sincronizzazione, quindi è possibile accedervi anche quando il computer è offline), caricare/scaricare solo le modifiche invece di montaggio di OneDrive e in questo articolo lo faremo con un fork di OneDrive Free Client.

Il client gratuito OneDrive originale è stato abbandonato nell'autunno del 2018, ma lo strumento è stato biforcato alcuni mesi dopo con lo stesso nome e da allora è in continua evoluzione.

OneDrive Free Client Fork è uno strumento completo per l'interazione e la sincronizzazione di OneDrive su Linux con le seguenti funzionalità:

  • Memorizzazione nella cache di stato
  • Monitoraggio dei file in tempo reale con Inotify
  • Convalida del caricamento/download dei file per garantire l'integrità dei dati
  • Caricamenti ripristinabili
  • Supporto di OneDrive for Business (parte di Office 365)
  • Cartelle condivise (OneDrive Personal)
  • Librerie di SharePoint/Office 365
  • Notifiche sul desktop tramite libnotify
  • Capacità di funzionamento a secco per testare le modifiche alla configurazione
  • Impedisci l'eliminazione accidentale dei dati di OneDrive dopo una modifica della configurazione


Come il progetto originale, il fork di OneDrive Free Client non ha un'interfaccia utente grafica, quindi deve essere utilizzato dalla riga di comando, sebbene includa notifiche desktop per informarti sullo stato di sincronizzazione e su eventuali sincronizzare gli errori che si verificano.

È anche importante notare che mentre le modifiche locali vengono immediatamente caricate sull'account Microsoft OneDrive collegato, le modifiche remote vengono ritardate fino alla sincronizzazione successiva quando vengono utilizzate --monitor (Questa modalità di "monitoraggio" consente a OneDrive Free Client di monitorare continuamente le modifiche del file system locale e di caricarle quando vengono rilevate). Ad esempio, se esegui questo strumento come servizio, l'intervallo di monitoraggio del client OneDrive gratuito è di 45 secondi, quindi possono essere necessari fino a 45 secondi prima che le modifiche remote vengano sincronizzate con l'unità locale.

Per quanto riguarda le cartelle condivise, per gli account OneDrive personali devi solo aggiungerli al tuo OneDrive. Per fare ciò, vai al sito Web di OneDrive e accedi al tuo account. Quindi vai all'elenco dei file condivisi, fai clic con il pulsante destro del mouse sulla cartella che desideri sincronizzare, quindi fai clic su Add to my OneDrive . Le cartelle condivise non sono attualmente supportate per gli account OneDrive Business o Office 365.

Come installare OneDrive Free Client (fork) su Debian (e Ubuntu ecc.), Fedora e altro

La documentazione di OneDrive Free Client (fork) per Linux menziona che questo strumento è disponibile nei repository Fedora, AUR per Arch Linux/Manjaro, An slackbuilds.org per Slackware e il canale unstable su NixOS.

Lo strumento è disponibile anche nei repository ufficiali di Debian e Ubuntu, sebbene questo non sia menzionato nella documentazione (modifica:la documentazione è stata aggiornata per riflettere questo). Per Ubuntu, il fork è disponibile solo in Ubuntu 19.04, 19.10 e 20.04, mentre Ubuntu 18.04 ha ancora il vecchio client gratuito OneDrive non mantenuto (che non sono sicuro funzioni ancora, ma anche se lo fa, ha molti bug , che non verrà mai risolto). Per Debian, questo pacchetto OneDrive è disponibile in Sid e Bullseye.

Per installare OneDrive Free Client (fork) dai repository ufficiali su Fedora, utilizzare Debian/Ubuntu:

  • Installa OneDrive Free Client (fork) su Fedora:
sudo dnf install onedrive

  • Installa OneDrive Free Client (fork) su Solus OS:
sudo eopkg install onedrive

  • Installa OneDrive Free Client (fork) su Debian Sid o Bullseye / Ubuntu 20.10, 20.04 e 19.10 e distribuzioni Linux basate su queste versioni di Ubuntu (come Pop!_OS, Linux Mint ecc.) / Raspbian Testing / Kali Linux:
sudo apt install onedrive


Lo sviluppatore consiglia di installare l'ultima versione dal sorgente anche su Ubuntu 19.10 poiché la versione nei repository è piuttosto vecchia. Per Debian Buster e Ubuntu 18.04 (e Pop!_OS 18.04, Linux Mint 19.*, Elementary OS 5 o 5.1 ecc.) è necessario creare OneDrive Free Client (fork) dal sorgente come spiegato sul suo wiki poiché la versione nei repository è la vecchia app inutilizzata.

[[Modifica]]Su Ubuntu 20.04 (e Linux Mint 20) e 20.10 puoi installare l'ultimo OneDrive utilizzando un PPA:
sudo add-apt-repository ppa:yann1ck/onedrive
sudo apt install onedrive

Per altre distribuzioni Linux, controlla se hai un pacchetto "onedrive" nei repository e installalo o compila dal sorgente.

Viene fornita anche un'immagine Docker gratuita del client OneDrive (fork).

Come utilizzare OneDrive Free Client (fork) per sincronizzare Microsoft OneDrive in una cartella sul tuo computer Linux

1. Autorizza OneDrive Free Client (fork) per Linux con il tuo account Microsoft OneDrive.

Per Office365/Accesso a un'unità di gruppo Sharepoint in Office 365 Business o Education, leggere le istruzioni in questa pagina.

Per gli account personali, apri un terminale ed esegui:

onedrive

Quando lo esegui per la prima volta, il terminale su cui hai eseguito "onedrive" mostrerà un messaggio sull'autorizzazione di questa app seguendo un collegamento. Copia il link mostrato nel terminale e incollalo in un browser web. Dopo aver eseguito l'accesso al tuo account Microsoft, dovresti visualizzare una pagina che ti chiede se desideri consentire a questa applicazione di accedere alle tue informazioni:fai clic su Yes .

Dopo aver fatto clic su Yes , verrai indirizzato a una pagina vuota. Va bene, è così che dovrebbe essere. Ora devi copiare e incollare l'URL di questa pagina vuota nel terminale dove autorizzerai lo strumento OneDrive con il tuo account OneDrive.

Successivamente, vedrai un messaggio nel terminale che afferma che No OneDrive sync will be performed without either of these two arguments being present . Questo perché non abbiamo provato a sincronizzare i file, abbiamo solo autorizzato l'applicazione onedrive con il tuo account onedrive, quindi ignorali.

2. Sincronizzazione iniziale tra OneDrive e il file system locale.

Una volta autorizzato, puoi sincronizzare i tuoi file cloud OneDrive sul tuo disco locale. Lo strumento della riga di comando di OneDrive carica tutti i file di OneDrive in . giù ~/OneDrive (una cartella OneDrive nella tua home directory). Non è necessario creare questa cartella poiché lo strumento Onedrive la creerà per te.

Eseguiamo un test (sincronizzazione di prova) senza modifiche effettive per assicurarci che questo client OneDrive gratuito per Linux funzioni correttamente utilizzando:

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

Se tutto sembra a posto, iniziamo a sincronizzare i file di OneDrive con ~/OneDrive locale cartella. Puoi sincronizzare tutti i file e le cartelle di OneDrive nella cartella OneDrive locale (passaggio 2A di seguito) o sincronizzare solo alcuni file e cartelle (sincronizzazione selettiva - passaggio 2B di seguito).

2A. Per sincronizzare TUTTI i tuoi file cloud di OneDrive sul tuo disco locale (su ~/OneDrive), usa:

onedrive --synchronize

Questo è solo per la sincronizzazione iniziale. Per eseguire OneDrive Free Client per Linux in background e sincronizzare i file quando vengono rilevate modifiche, consulta il passaggio 3 di seguito (Abilita il servizio systemd).

2B. Attiva e usa la sincronizzazione selettiva.

Cosa succede se si desidera sincronizzare più directory e file, ma non tutti? Quindi dovresti usare la funzione di sincronizzazione selettiva disponibile con questo client della riga di comando di OneDrive per Linux.

La sincronizzazione selettiva è una funzionalità che ti consente di specificare i file e le directory da sincronizzare tra OneDrive e il tuo file system locale, saltando tutte le altre directory e file.

È molto importante notare che OneDrive Free Client per Linux non rimuoverà le directory oi file già sincronizzati dal disco rigido nel caso in cui in seguito li escludi tramite la sincronizzazione selettiva. Ciò che fa li esclude dalle sincronizzazioni future.

Esempio:se consenti a OneDrive di sincronizzare solo Folder1 e Folder2, quando in seguito aggiungi Folder3 alla directory di OneDrive sul tuo computer, tale Folder3 non verrà sincronizzato con il tuo account OneDrive; ma se hai Folder1, Folder2 e Folder3 sincronizzati con il tuo account OneDrive e quindi decidi di sincronizzare solo Folder1 e Folder2, Folder3 non verrà rimosso dalla directory OneDrive sul tuo computer Linux, ma tutte le modifiche apportate in esso verranno rimosse. le cartelle non verranno sincronizzate con il tuo account OneDrive.

Puoi abilitare la sincronizzazione selettiva per OneDrive Free Client copiando un file chiamato . crea sync_list in ~/.config/onedrive . Modifica questo sync_list File e aggiungi il percorso relativo ai file e alle directory che desideri sincronizzare con OneDrive, ciascuno su una nuova riga. Tutti i file e le directory che non corrispondono a una riga di questo file verranno ignorati dalla sincronizzazione.

Esempio. Diciamo che ho molti file e cartelle nel mio account OneDrive, ma voglio solo sincronizzare 2 directory chiamate Backup e Foto e 3 file chiamati file1.ods, file2.odt e file3.odt con tutti e 3 i file in Documenti sono cartelle nel mio account OneDrive. In questo caso il ~/.config/onedrive/sync_list Il file deve contenere le seguenti righe:

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

Quando utilizzi la sincronizzazione selettiva per la prima volta e ogni volta dopo aver apportato modifiche al ~/.config/onedrive/sync_list File di cui hai bisogno per una risincronizzazione completa con --resync , in questo modo:

onedrive --synchronize --resync

Se il servizio di sistema di OneDrive Free Client è abilitato (passaggio 3 di seguito) ed è attualmente in esecuzione, il tentativo di eseguire questo comando risulterà in un messaggio di errore che indica:Initializing the Synchronization Engine ... A database statement execution error occurred: disk I/O error. Segmentation fault (core dumped) . In questo caso è necessario arrestare il servizio systemd di onedrive, quindi eseguire il comando resync e riavviare il servizio in questo modo:

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

Sono inoltre disponibili opzioni per saltare una directory, saltare file, file punto e collegamenti simbolici tramite il file di configurazione di OneDrive Free Client per Linux (consultare il passaggio 5 di seguito).

Proprio come la sincronizzazione regolare completa, questo si applica solo alla sincronizzazione iniziale. Per eseguire OneDrive Free Client per Linux in background e sincronizzare i file quando vengono rilevate modifiche, consulta il passaggio 3 di seguito.

3. Abilita il servizio di sistema OneDrive Free Client per Linux.

Affinché OneDrive Free Client per Linux possa essere eseguito come servizio, in modo che si avvii automaticamente con il tuo computer e sia costantemente alla ricerca delle modifiche di OneDrive, sincronizzando i file e le cartelle modificati, abilitiamo il suo servizio systemd.

Se utilizzato come servizio systemd, questo client della riga di comando di OneDrive per Linux viene eseguito in modalità monitor (--monitor ), che consente al file system locale di essere continuamente monitorato per le modifiche ai file. Tuttavia, per molti file ciò può causare problemi (impossibilità di aggiungere un nuovo orologio di inotify) causati dall'ambiente locale. La soluzione a questo è aumentare il numero di clock utente massimi. Questa pagina mostra come farlo su Debian/RedHat o simili (Ubuntu, Fedora, ecc.) e Arch Linux/Manjaro.

Per abilitare e avviare il servizio di sistema OneDrive (con le notifiche abilitate) per il tuo attuale utente (non root), esegui:

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

Controlla lo stato del servizio di sistema del client gratuito OneDrive con:

systemctl status --user onedrive

Basta controllare i log:

journalctl --user-unit onedrive -f

relativo a systemd:chkservice è un gestore di dispositivi systemd con un'interfaccia utente terminale (nuova versione disponibile)

Per altri modi per eseguire il servizio OneDrive (come utente root tramite init.d), vedere la relativa documentazione.

È molto importante notare che devi utilizzare il ~/OneDrive (o qualunque percorso tu utilizzi per la cartella OneDrive) mentre è in esecuzione il servizio fork systemd di OneDrive Free Client , poiché tutti i tuoi file verranno rimossi da OneDrive (puoi comunque accedervi nel Cestino sul sito Web di OneDrive).

5. (Facoltativo) Opzioni di configurazione.

Se desideri utilizzare una posizione della cartella OneDrive personalizzata, modificare l'intervallo di monitoraggio per i file modificati e altro, puoi utilizzare il file di configurazione del client gratuito di OneDrive.

Per Debian, Ubuntu e derivati, vedere /usr/share/doc/onedrive/config per un esempio di configurazione . Un'altra distribuzione Linux, o se non riesci a trovare questo file di configurazione, puoi ottenerlo dalla pagina del progetto GitHub del client gratuito OneDrive:ecco un collegamento diretto.

Per modificare la configurazione predefinita di OneDrive Free Client per Linux per il tuo utente, copia questo file di configurazione in ~/.config/onedrive . Ad esempio su Debian/Ubuntu e altre distribuzioni Linux in cui questo file è installato sotto /usr/share/doc/onedrive/config , copialo in ~/.config/onedrive Utilizzo:

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

Ora per modificare alcune opzioni del client gratuito di OneDrive, apri il ~/.config/onedrive/config file con un editor di testo. Tutte le opzioni sono commentate (hanno # di fronte a loro); Per modificare uno qualsiasi dei valori predefiniti, decommenta la riga e imposta il valore sul valore desiderato.

Le opzioni nel file di configurazione dovrebbero essere autoesplicative nella maggior parte dei casi. Per assistenza, vedere la pagina man di onedrive (man onedrive ).

Per ulteriori informazioni sull'utilizzo del client gratuito OneDrive su Linux, incluso l'utilizzo con più account OneDrive, l'abilitazione del supporto proxy per il servizio di sistema OneDrive e altro, vedere la documentazione sull'utilizzo del client gratuito OneDrive.


Debian
  1. Come installare il server proxy Shadowsocks-Libev su Debian 9 Stretch VPS

  2. Debian – Misterioso "incapace di risolvere l'host" in Dead.letter?

  3. 4 modi per ottenere un rapporto dettagliato sulla batteria del laptop su Debian 10

  4. Debian – Servizio attivo ma (chiuso)?

  5. Come installare lo stack LAMP su Debian 8

Installa Deepin Desktop Environment su Ubuntu [semplici passaggi]

Come creare un cliente in SolidCP?

Come installare LibreOffice su Fedora 35

Come creare un sito Web statico utilizzando Ubuntu 22.04 LTS

Come visualizzare le partizioni del disco Linux (tabella delle partizioni)

Risoluzione dei problemi di server lenti:come controllare CPU, RAM e I/O del disco