# format wiki
# LANGUAGE it
<
>
<>
<>
= Introduzione =
In questa guida si descrivono le procedure di installazione e configurazione di '''[[https://www.microsoft.com/it-it/microsoft-365/onedrive/online-cloud-storage|Microsoft OneDrive]]'''.
'''!OneDrive''' è un servizio di cloud storage offerto da Microsoft che permette di sincronizzare file tra diversi dispositivi e accedervi online. Per utilizzare '''!OneDrive''' su Ubuntu, occorre installare client appositi, di cui due dei più popolari sono '''[[https://www.insynchq.com/|insync]]''' e '''[[https://abraunegg.github.io/|OneDrive Client for Linux]]'''.
= Preparativi =
* Bisogna innanzitutto disporre di un account Microsoft attivo. Se necessario, è possibile crearne uno da [[https://account.microsoft.com/|questa pagina]].
* Qualora il proprio account Microsoft richieda un controllo di sicurezza e/o dell'identità su un dispositivo associato (ad esempio il proprio smartphone), assicurarsi che quest'ultimo sia a portata di mano per disporre eventuali autorizzazioni durante la procedura.
= Installazione =
{{{#!wiki important
Il pacchetto ''onedrive'' presente nei [[Repository#Repository_ufficiali|repository ufficiali]] è obsoleto e non più supportato. Per questo motivo di seguito verrà utilizzato quello presente nel repository '''[[https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/|OpenSuSE Build Service (OBS)]]'''.
}}}
== Ubuntu 20.04 e successive ==
0. Se non presente, [[AmministrazioneSistema/ComandiBase#mkdir|creare]] con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] la directory `/etc/apt/keyrings`.
0. Importare la chiave della firma dei pacchetti del repository '''!OneDrive''' digitando nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{
wget -qO - https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_$(lsb_release -rs)/Release.key | gpg --dearmor | sudo tee /etc/apt/keyrings/obs-onedrive.gpg -
}}}
0. Importare il repository di '''!OneDrive''' con il comando:{{{
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/obs-onedrive.gpg] https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_$(lsb_release -rs)/ ./" | sudo tee /etc/apt/sources.list.d/onedrive.list
}}}
0. Assicurarsi che il file `/etc/apt/keyrings/obs-onedrive.gpg` e i relativi [[AmministrazioneSistema/PermessiFile#Visualizzare_i_permessi|permessi di esecuzione]] siano attribuiti all'utente root. In caso contrario modificarli con le istruzioni contenute in [[Repository/GestioneRepositoryTerzeParti#Installazione_diretta_del_file_gpg|questa guida]].
0. [[AmministrazioneSistema/InstallareProgrammi/Apt#Aggiornamento_del_sistema|Aggiornare la lista dei pacchetti]].
0. Installare il il pacchetto ''onedrive'' con le opzioni indicare nel seguente comando:{{{
sudo apt install --no-install-recommends --no-install-suggests onedrive
}}}
Al termine della procedura, sarà possibile [[AmbienteGrafico/AvviareProgrammi#Avviare_programmi_da_terminale|avviare]] '''!OneDrive''' (con il [[AmministrazioneSistema/Terminale|terminale]] ].
== Avvio servizio ==
=== Concedere autorizzazione accesso ===
Per lanciare il tool si dovrà prima ottenere l'URL che servirà ad autorizzare il client alla connessione e all’accesso dell'account '''!OneDrive'''.
{{{#!wiki note
Poiché l'autorizzazione scade in breve tempo, è necessario eseguire rapidamente i seguenti passaggi.
}}}
0. Nel [[AmministrazioneSistema/Terminale|terminale]] digitare il seguente comando:{{{
onedrive
}}}
Verrà visualizzato nell'output un messaggio con l'indirizzo URL:{{{
Authorize this app visiting:
https://login.microsoftonline.com/common
}}}
0. Copiare e incollare l'indirizzo ottenuto nella barra degli indirizzi di un [[InternetRete/Navigazione#Browser_per_navigare|browser]].
0. Inserire e confermare le credenziali d'accesso per !OneDrive. La pagina del browser diventerà bianca e l’indirizzo URL cambierà (avrà nella parte finale il codice di conferma `?code=`.
0. Nel [[AmministrazioneSistema/Terminale|terminale]], alla dicitura{{{
Enter the response uri:
}}}
copiare il nuovo indirizzo completo fornito dal [[InternetRete/Navigazione#Browser_per_navigare|browser]].
== Test configurazione sincronizzazione account ==
{{{#!wiki note
A fini di test, nessun file verrà scaricato, caricato o rimosso! Verrà creata una cartella '''!OneDrive''' (se non esiste) nella directory home dell'utente per la sincronizzazione dei file.
}}}
Dopo aver [[InternetRete/Navigazione/OneDrive#Avvio_servizio|configurato e autorizzato l'app]] a sincronizzare l'account, è possibile testare a eseguire il client, nel [[AmministrazioneSistema/Terminale|terminale]] eseguendo il comando:{{{
onedrive --dry-run --sync
}}}
Se il test procede senza errori, proseguire alla Sincronizzazione dell'account.
<>
= Sincronizzazione =
## Inserire ivantu/SincronizzazioneCloud_prova appena pronta la guida revisionata
Sarà quindi possibile sincronizzare le directory e i file contenuti nel cloud con il sistema Ubuntu. A tal scopo digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
onedrive --sync
}}}
Oppure utilizzare il seguente comando:{{{
onedrive --sync --local-first
}}} per caricare prima i file locali (dalla cartella '''!OneDrive''' dell'utente) e poi scaricarli dal cloud.
== Sincronizzare una sola cartella ==
Per sincronizzare solo una singola cartella, ad esempio la sottocartella "Pictures" nella directory '''!OneDrive''', eseguendo il comando:{{{
onedrive --sync --single-directory 'Pictures'
}}}
== Sincronizzare solo i file locali ==
Sincronizzare i file locali solo tramite il comando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
onedrive --sync --upload-only
}}}
== Sincronizzare solo le differenze in locale ==
Sincronizzare le differenze locali tramite il comando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
onedrive --sync --download-only
}}}
== Non rimuovere i file precedentemente sincronizzati ==
Sincronizzare i file locali solo tramite il comando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
onedrive --sync --no-remote-delete
}}}
##per NON rimuovere i file precedentemente sincronizzati ma successivamente eliminati manualmente.
= Sincronizzare file in remoto con LibreOffice =
È possibile utilizzare '''[[https://it.wikipedia.org/wiki/LibreOffice|LibreOffice]]''' per connettersi e sincronizzare file in remoto con il servizio cloud '''!OneDrive'''.
Per sincronizzare un server remoto con '''[[Ufficio/LibreOffice|LibreOffice]]''', usare i seguenti metodi:
0. Aprire [[Ufficio/LibreOffice|LibreOffice]].
0. A seconda dei casi seguire il percorso:
* '''''File → Apri in remoto'''''
* '''''File → Salva in remoto'''''
0. Fare clic su '''Aggiungi servizio'''.
== Servizi ==
Accedendo ai servizi per la prima volta:
0. Impostare le finestre di dialogo e fare clic su '''OK'''.
0. Selezionare la casella di controllo '''Connessione sicura''' per accedere al servizio tramite il protocollo https e la porta 443.
0. Attivare la casella '''Memorizza password''' per salvare le proprie credenziali.
== Condivisione Windows ==
Di seguito sono elencati i parametri necessari per la condivisione Windows:
* Tipo: Condivisione Windows
* Host: l'URL del server
* Condivisione: la condivisione Windows
* Utente e Password: nome utente e password dell'account MSN
* Etichetta: nome connessione
* Radice: percorso dell'account
##== Server WebDAV ==
## * Tipo: WebDAV
## * Host: l'URL del server
## * Porta: 80
## * Etichetta: nome connessione.
## * Radice: percorso dell'account
##== FTP e SSH ==
## * Tipo: FTP o SSH
## * Host: l'URL del server
## * Porta: 21 (per FTP), 22 (per SSH)
## * Utente e Password: il nome utente e la password del servizio FTP o SSH
## * Etichetta: nome connessione
## * Radice: percorso dell'account
##== Server CMIS ==
## * Tipo: selezionare il tipo di server nell'elenco.
## * Host: l'URL del server
## * Utente e Password: nome utente e la password del servizio CMIS.
## * Deposito: deposito dei file nell'elenco a cascata.
## * Pulsante Aggiorna: aggiornare il contenuto dell'elenco del deposito.
## * Etichetta: nome connessione
## * Radice: inserire il percorso all'indirizzo radice del vostro account
= Risoluzione problemi =
== Errore Synchronize ==
Qualora compaia il seguente messaggio di errore:{{{
Configuring Global Azure AD Endpoints
ERROR: Microsoft OneDrive API returned an error with the following message:
Error Message: HTTP request returned status code 400 (Bad Request)
Error Reason: xxxxxxxxxxx: The user could not be authenticated as the grant is expired. The user must sign in again.
Trace ID: <>
Correlation ID: <>
Timestamp: 2023-06-25 15:11:17Z
ERROR: Microsoft OneDrive API returned an error with the following message:
Error Message: HTTP request returned status code 401 (Unauthorized)
Error Reason: Access token is empty.
Error Timestamp: 2023-06-25T15:11:17
API Request ID: <>
ERROR: Check your configuration as your refresh_token may be empty or invalid. You may need to issue a --reauth and re-authorise this client.
}}}
potrebbe essersi verificato un blocco nella sincronizzazione al server di Microsoft.
Per risolvere:
0. Ripetere la sincronizzazione del proprio account attivo scrivendo nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
onedrive --reauth
}}}
come suggerito nel messaggio di errore.
0. Eseguire nuovamente i passaggi del paragrafo [[#Sincronizzazione|Sincronizzazione]].
== Errore firma durante aggiornamento ==
Qualora aggiornando l'applicazione compaia il seguente messaggio di errore:{{{
gpgv:/var/lib/apt/lists/partial/download.opensuse.org_repositories_home:_npreining:_debian-ubuntu-onedrive_xUbuntu%255f22.04_._InRelease
The following signatures were invalid: EXPKEYSIG B8AC39B0876D807E home:npreining OBS Project
}}}
ripetere la procedura per importare la chiave della firma dei pacchetti, digitando il comando:{{{
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/obs-onedrive.gpg] https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_$(lsb_release -rs)/ ./" | sudo tee /etc/apt/sources.list.d/onedrive.list
}}}
== Warning: Valore parametro Threads e Core CPU ==
Potrebbe comparire un avviso simile al seguente:{{{
WARNING: Configured 'threads = 8' exceeds available CPU cores (2).
This may lead to reduced performance, CPU contention, and instability. For best results, set 'threads' no higher than the number of physical CPU cores.
}}}
il quale indica che il numero di thread di sincronizzazione configurati (`threads = 8` come nell'esempio) è superiore al numero di core CPU fisici disponibili sul sistema (che sono due nello stesso esempio).
Ciò costituisce un problema in quanto:
* Assegnare un numero di thread di lavoro significativamente superiore ai core CPU disponibili non migliora la velocità e, anzi, può causare un '''degrado delle prestazioni''', maggiore contesa per la CPU (CPU contention), un aumento dello switch di contesto (il sistema operativo deve continuamente scambiare i thread in esecuzione). Questo può portare a un utilizzo elevato delle risorse del sistema e, in casi estremi, a instabilità.
* Il client è progettato per funzionare in modo ottimale quando il numero di `threads` è '''uguale''' o '''inferiore''' al numero di core CPU fisici.
Per risolvere e ottimizzare le prestazioni, è necessario modificare il file di configurazione di !OneDrive impostandolo il valore `threads` in modo che corrisponda al numero di core CPU disponibili.<
>
Seguire la procedura descritta di seguito:
0. Innanzitutto è necessario conoscere il numero esatto di core CPU del sistema. A tal scopo digitare in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
nproc
}}}
L'output restituirà il numero di core CPU individuati dal sistema operativo. Prenderne nota.
{{{#!wiki note
Se il comando restituisce `2`, il valore ottimale per `threads` è `2`; e restituisce `4`, è invece `4`.
}}}
0. Aprire il file `~/.config/onedrive/config`, file di configurazione di !OneDrive, con un [[Ufficio/EditorDiTesto|editor di testo]].
0. Individuare il parametro '''threads''' e modificarne il valore appuntato in precedenza, o con uno inferiore, come nel seguente esempio:{{{
# Number of threads to use for upload/download.
threads = 2
}}}
0. Salvare le modifiche al file.
0. Riavviare il client !OneDrive tramite [[AmministrazioneSistema/Systemd|systemd]] digitando il comando:{{{
systemctl --user restart onedrive
}}}
Una volta riavviato il client, l'avviso di '''warning''' non dovrebbe più apparire e le prestazioni dovrebbero risultare più stabili e ottimali.
= Ulteriori risorse =
* [[https://rclone.org/onedrive/|Rclone con Microsoft OneDrive]] (guida dal sito ufficiale del progetto)
* [[https://github.com/abraunegg/onedrive/blob/master/docs/known-issues.md|Problemi noti]] (guida nella pagina ufficiale del progetto)
* [[https://it.wikipedia.org/wiki/Cloud_computing|Cloud Computing]] (pagina enciclopedica)
----
CategoryInternet