Instale e configure o cliente OneDrive no Debian 12 (Terminal)


Como ainda não existe um cliente OneDrive oficial para Linux, o projeto “ OneDrive Client for Linux ” é a única opção. Ele fornece um cliente poderoso e altamente configurável que pode ser executado em todas as principais distribuições Linux, FreeBSD ou como um contêiner Docker. Ele oferece suporte a recursos de sincronização unidirecional e bidirecional e se conecta com segurança aos serviços Microsoft OneDrive. Esta postagem é o passo a passo da instalação e configuração do OneDrive Linux no Debian 12 Bookworm, kernel 6.1.0-13-amd64 (64-bits)

1. Instalação

Nota: obsoleto

É muito fácil instalar o cliente OneDrive no Debian:

$ sudo apt update$ sudo apt install onedrive

De acordo com a documentação do cliente OneDrive para Linux, não é recomendado instalar o cliente OneDrive a partir dos repositórios de pacotes Debian.

A forma recomendada é instalar a partir do OpenSuse Build Service de acordo com as Instruções .

Etapa 1: Adicionar a chave do repositório OpenSuSE Build Service

Adicione a chave de versão do repositório OpenSuSE Build Service usando o seguinte comando:

$ wget -qO - https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/Debian_12/Release.key | gpg --dearmor | sudo tee /usr/share/keyrings/obs-onedrive.gpg > /dev/null

Etapa 2: adicionar o repositório OpenSuSE Build Service

Adicione o repositório OpenSuSE Build Service usando o seguinte comando:

$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/obs-onedrive.gpg] https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/Debian_12/ ./" | sudo tee /etc/apt/sources.list.d/onedrive.list

Etapa 3: atualize o cache do pacote apt

Execute o comando:

$ sudo apt update

Etapa 4: Instale o ‘onedrive’

Execute o comando:

$ sudo apt install --no-install-recommends --no-install-suggests onedrive

Etapa 5: leia ‘Problemas conhecidos’ com esses pacotes

Leia e entenda os problemas conhecidos com esses pacotes abaixo, tomando as medidas necessárias.

Se você quiser compilar a partir do código-fonte, leia o documento .

2. Autorize o aplicativo com sua conta OneDrive

é necessária a autorização do aplicativo com sua conta OneDrive. Basta executar o aplicativo sem nenhuma opção de comando:

$ onedrive

Você será solicitado a abrir um URL específico usando seu navegador, onde terá que fazer login em sua conta da Microsoft e dar permissão ao aplicativo para acessar seus arquivos. Após dar permissão ao aplicativo, você será redirecionado para uma página em branco. Copie o URL da página em branco no aplicativo.

$ onedriveConfiguring Global Azure AD EndpointsAuthorize this app visiting:https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=...Enter the response uri: https://login.microsoftonline.com/common/oauth2/nativeclient?code=...Application has been successfully authorised, however no additional command switches were provided.Please use --help for further assistance in regards to running this application.

3. Configuração

3.1 Exibir configuração atual

$ onedrive --display-config

E.g.,

onedrive version                       = v2.4.25-1+np1Config path                            = /home/user/.config/onedriveConfig file found in config path       = falseConfig option 'check_nosync'           = falseConfig option 'sync_dir'               = /home/user/OneDriveConfig option 'skip_dir'               = Config option 'skip_file'              = ~*|.~*|*.tmpConfig option 'skip_dotfiles'          = falseConfig option 'skip_symlinks'          = falseConfig option 'monitor_interval'       = 300Config option 'min_notify_changes'     = 5Config option 'log_dir'                = /var/log/onedrive/Config option 'classify_as_big_delete' = 1000Config option 'upload_only'            = falseConfig option 'no_remote_delete'       = falseConfig option 'remove_source_files'    = falseConfig option 'sync_root_files'        = falseSelective sync 'sync_list' configured  = falseBusiness Shared Folders configured     = false

3.2 Personalizar configuração

O arquivo de configuração não é criado por padrão e só deve ser criado se você quiser alterar os parâmetros operacionais padrão .

Os diretórios válidos para o arquivo de configuração são:

~/.config/onedrive# ou/etc/onedrive

Para Debian 12 Bookworm, o modelo do arquivo de configuração está localizado em:

/usr/share/doc/onedrive/config

Então, você precisa executar:

$ mkdir -p ~/.config/onedrive$ cp /usr/share/doc/onedrive/config ~/.config/onedrive/config

Observe que a versão mais recente do cliente OneDrive é 2.4.25 , enquanto no Debian 12 Bookworm é 2.4.23 . Portanto, há uma pequena diferença entre essas duas versões.

$ cat /usr/share/doc/onedrive/config# Configuration for OneDrive Linux Client# This file contains the list of supported configuration fields# with their default values.# All values need to be enclosed in quotes# When changing a config option below, remove the '#' from the start of the line# For explanations of all config options below see docs/USAGE.md or the man page.## sync_dir = "~/OneDrive"# skip_file = "~*|.~*|*.tmp"# monitor_interval = "300"# skip_dir = ""# log_dir = "/var/log/onedrive/"# drive_id = ""# upload_only = "false"# check_nomount = "false"# check_nosync = "false"# download_only = "false"# disable_notifications = "false"# disable_upload_validation = "false"# enable_logging = "false"# force_http_11 = "false"# force_http_2 = "false"# local_first = "false"# no_remote_delete = "false"# skip_symlinks = "false"# debug_https = "false"# skip_dotfiles = "false"# dry_run = "false"# min_notify_changes = "5"# monitor_log_frequency = "5"# monitor_fullscan_frequency = "10"# sync_root_files = "false"# classify_as_big_delete = "1000"# user_agent = ""# remove_source_files = "false"# skip_dir_strict_match = "false"# application_id = ""# resync = "false"# bypass_data_preservation = "false"# azure_ad_endpoint = ""# azure_tenant_id = "common"# sync_business_shared_folders = "false"# sync_dir_permissions = "700"# sync_file_permissions = "600"# rate_limit = "131072"

O arquivo de configuração para 2.4.25 pode ser visualizado aqui .

3.3 Algumas definições de configuração comumente usadas

A maioria das opções de linha de comando possui uma respectiva configuração de arquivo de configuração.

3.3.1 Diretório raiz do OneDrive

  • Parâmetro: sync_dir
  • Padrão: sync_dir = "~/OneDrive"
  • Observação:
    • Depois de mudar sync_dir, você deverá realizar uma ressincronização completa adicionando --resync à sua linha de comando existente – por exemplo:
$ onedrive --synchronize --resync
  • Permissões de diretório e arquivo:
    • Diretórios: 0700, ou drwx------
    • Arquivos: 0600, ou -rw-------
    • Importante: bits de permissão especiais (setuid, setgid, sticky bit) não são suportados.

3.3.2 Ignorar alguns arquivos

  • Parâmetro: skip_file
  • Padrão: skip_file = "~*|.~*|*.tmp"
  • Observação:
    • Os padrões não diferenciam maiúsculas de minúsculas.
    • *e ?caracteres curinga são suportados.
    • Usar |para separar vários padrões.
    • Importante: não use um skip_fileentrada de .*pois isso impedirá a busca correta de alterações locais a serem processadas.

3.3.3 Ignorar arquivos de pontos

  • Parâmetro: skip_dotfiles
  • Padrão: skip_dotfiles = "false"
  • Parâmetro: skip_symlinks
  • Padrão: skip_symlinks = "false"

3.3.5 Limitar o uso da largura de banda da Internet

  • Parâmetro: rate_limit
  • Padrão: rate_limit = "131072"
  • Valores limite de taxa válidos:
ValorVelocidadeObservação
131072128 KB/smínimo para operações básicas do aplicativo para evitar tempos limite
262144256 KB/s
524288512 KB/s
10485761MB/s
1048576010MB/s
104857600100MB/s

4. Teste a configuração

Você pode testar sua configuração utilizando o --dry-run Opção CLI, nenhuma alteração será aplicada.

$ onedrive --synchronize --verbose --dry-runDRY-RUN Configured. Output below shows what 'would' have occurred.Loading config ...Using Config Dir: /home/user/.config/onedriveInitializing the OneDrive API ...Opening the item database ...All operations will be performed in: /home/user/OneDriveInitializing the Synchronization Engine ...Account Type: personal...

5. Executando uma sincronização

Simplesmente executando:

$ onedrive --synchronize

6. Execute o onedrive como um usuário não root via systemd no Debian

Execute este comando, e todas as vezes que iniciar o sistema, o onedrive iniciará automaticamente

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

NOTA: Para outras distribuições Linux, visite o documento .

Fontes:

  1. Cliente OneDrive para página do github Linux
  2. Configuração e uso do cliente gratuito OneDrive

Comentários