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:
- Depois de mudar
$ onedrive --synchronize --resync
- Permissões de diretório e arquivo:
- Diretórios:
0700
, oudrwx------
- Arquivos:
0600
, ou-rw-------
- Importante: bits de permissão especiais (setuid, setgid, sticky bit) não são suportados.
- Diretórios:
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_file
entrada 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"
3.3.4 Ignorar links simbólicos
- 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:
Valor | Velocidade | Observação |
---|---|---|
131072 | 128 KB/s | mínimo para operações básicas do aplicativo para evitar tempos limite |
262144 | 256 KB/s | |
524288 | 512 KB/s | |
1048576 | 1MB/s | |
10485760 | 10MB/s | |
104857600 | 100MB/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 .
Comentários
Postar um comentário