KI 0589 Hvordan får jeg OneDrive på Linux?
Installasjon
Alle maskiner skal ha repo for onedrive lagt til så installasjon av onedrive er enkelt. I et terminalvindu kjører du kommandoen:sudo apt install onedrive
Konfigurasjon
Før du starter programmet er det lurt å gjøre noen forberedelser. Finn frem til OneDrive i nettleseren og se hva du har liggende der. Det er ikke sikkert du ønsker å synkronisere alt til maskinen. Det er mange måter å bruke onedrive på og det er god dokumentasjon å finne her: https://github.com/abraunegg/onedrive/blob/master/docs/USAGE.mdKonfigurasjonen gjøres i folderen ~/.config/onedrive. Den må lages:
mkdir ~/.config/onedrive
En konfigurasjonsfil med standardinnstillingene finnes på https://github.com/abraunegg/onedrive/blob/master/config, og kan lastes ned til ~/.config/onedrive for å forenkle konfigurasjonsprosessen. Hvis ikke, opprett filen config i ~/.config/onedrive.
Det er anbefalt at du i det minste endrer konfigurasjonen til å ignorere "dotfiles". Editer konfigurasjonsfilen og sett skip_dotfiles til true:
# debug_https = "false"
skip_dotfiles = "true"
# skip_size = "1000"
Vi anbefaler å konfigurere onedrive til å bruke en av disse to metodene:
- Spesifisere hva som skal synkroniseres
- Spesifisere hva som ikke skal synkroniseres
1. Spesifisere hva som skal synkroniseres
Ved å spesifisere hva som skal synkroniseres velger man i praksis at bare det man spesifiserer blir synkronisert og alt annet ignorert. Dette er en fordel om man har mye liggende i OneDrive og/eller på disken som man ikke trenger å synkronisere. Editer ~/.config/onedrive/config slik at den inneholder følgende linjer:skip_file = "~*|.~*|*.tmp|*.exe|*.lnk"
skip_dotfiles = "true"
Lag så en fil i konfigurasjonsmappen som heter sync_list og spesifiser der hva du vil skal synkroniseres. Dokumentasjon på det kan du finne her: https://github.com/abraunegg/onedrive/blob/master/docs/USAGE.md#performing-a-selective-sync-via-sync_list-file
Alle linjer i denne filen er filer eller foldere relativt til sync_dir. Eksempler:
/Documents/ synkroniserer mappen Documents i rotfolderen
Documents/ synkroniserer alle mapper som heter Documents
Documents synkroniserer alle filer og mapper som heter Documents
work/proj* synkroniserer alle filer eller mapper som begynner på proj og befinner seg i en mappe som heter work
Et eksempel på en sync_list er:
/Desktop/
/Documents/
/Music/
/Pictures/
/Public/
/Templates/
/Videos/
2. Spesifisere hva som ikke skal synkroniseres
Ved å spesifisere hva som ikke skal synkroniseres har man ganske god kontroll på hva som blir synkroniser til å begynne med. Andre filer eller mapper som blir lagt til og som ikke er nevnt i unntakslistene vil da automatisk synkroniseres. For å velge bort deler av OneDrive editerer vi ~/.config/onedrive/config på følgende måte:skip_dotfiles = “true”
# Legg til hva som ikke skal synkroniseres vha skip_file og skip_dir. Man kan liste flere ting ved å bruke ‘|’ mellom dem eller/og spesifisere skip_file og skip_dir flere ganger. Eksempel:
skip_file = “*.exe|*.lnk”
skip_file = “*.tmp”
skip_dir = “Microsoft*|Favorites”
skip_dir = “Downloads”
# Spesifiser så mye eller lite du har behov for. skip_file/skip_dir hopper over alt den finner både i sync_dir og på OneDrive så det som er spesifisert som unntak vil ikke synkroniseres opp og heller ikke ned.
Velg mappe å synkronisere til
Du kan selv velge hvilken mappe du vil bruke til å synkronisere med OneDrive ved å definere sync_dir i ~/.config/onedrive/config. sync_dir = "~/OneDrive" er standardinnstillingen, men du kan også bruke sync_dir = "~/" dersom du vil synkronisere selve hjemmekatalogen. Gå gjennom hva du har liggende og lag eventuelt en eksklusjons- eller inklusjonsliste som vist i de tidligere seksjonene. Det er også lurt å sørge for at skip_dotfiles = “true” er definert.Start programmet og autentiser
Når du er trygg på konfigurasjonen kan du starte onedrive med kommandoen "onedrive":[user@hostname ~]$ onedrive
Authorize this app visiting:
https://.....
Enter the response uri:
Hold inne ctrl og trykk på lenken med musen og den vil ta deg til nettleser der du skal logge inn. Etter vellykket innlogging får du et tomt vindu. Kopier adressen og lim den inn i terminalvinduet:
[user@hostname ~]$ onedrive
Authorize this app visiting:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=22c49a0d-d21c-4792-aed1-8f163c982546&scope=Files.ReadWrite%20Files.ReadWrite.all%20Sites.ReadWrite.All%20offline_access&response_type=code&redirect_uri=https://login.microsoftonline.com/common/oauth2/nativeclient
Enter the response uri: https://login.microsoftonline.com/common/oauth2/nativeclient?code=<redacted>
Application has been successfully authorised, however no additional command switches were provided.
Please use 'onedrive --help' for further assistance in regards to running this application.
Du har nå autentisert programmet. Du kan teste konfigurasjonen din ved å kjøre
onedrive --display-config
Sjekk at det ser bra ut. Deretter kan du kjøre en “dry-run” for å se hva programmet ønsker å gjøre:
onedrive --synchronize --verbose --dry-run
Om dette ser bra ut starter du synkroniseringen med
onedrive --synchronize
Kjøre onedrive som systemkommando som starter automatisk
For å få onedrive til å kjøre automatisk kan du kjøresystemctl enable --user onedrive
systemctl start --user onedrive
Nå vil onedrive starte automatisk og kjøre i bakgrunnen. For å sjekke eventuelle feil kan du sjekke status:
systemctl status --user onedrive
journalctl --user-unit=onedrive -f -q
Resynkronisere etter endringer
Gjør man endringer i config, sync_list og/eller business_shared_folder må man resynkronisere. Stopp tjensten og kjør onedrive med --resync:systemctl stop --user onedrive
onedrive --resync --synchronize
systemctl start --user onedrive
Merknader
OneDrive på Linux har begrenset funksjonalitet. Spesielt vil ikke samhandlingsfunksjonalitet fungere slik en er vant med fra Windows/Mac. Dersom du trenger dette fra OneDrive på Linux anbefaler vi å bruke OneDrive i nettleser. For filsynkronisering mot OneDrive vil begge alternativene nevnt over fungere.Se ellers informasjon om samarbeid i OneDrive på KI 0620