Score:1

Native OneDrive not following configuration that is displayed with --display-config, causes constant pop-ups

US flag
user1641545

I installed native onedrive (not from PPA). Auth, started a sync.

Using /home/user/ as the sync_dir so it uses the Documents Pictures and Desktop directories for my user.

I set it to skip dot files, and also to check for .nosync, then I touch .nosync files in the directories I did not want synced like Downloads, VirtualBox\ VMs etc.

I keep getting these notifications for OneDrive no such file or directory, but they are all from dotted directories like .config or .cache, which I thought were ignored because of the skip_dotfiles being true.

Since this started happening, I touch .nosync files inside of .config and .cache, and have also started using the skip_dir parameter adding .cache|.config and have restarted daemon in between each but I still get the messages.

I did set it up as a service with

sudo systemctl enable onedrive@user

sudo systemctl start onedrive@user

Here is output of onedrive --display-config (run as 'user')

Configuration file successfully loaded
onedrive version                       = v2.4.13-1build1
Config path                            = /home/user/.config/onedrive
Config file found in config path       = true
Config option 'check_nosync'           = true
Config option 'sync_dir'               = /home/user/
Config option 'skip_dir'               = .cache|.config
Config option 'skip_file'              = ~*|.~*|*.tmp|sdc*.txt*|securelink*.log|desktop.ini
Config option 'skip_dotfiles'          = true
Config option 'skip_symlinks'          = true
Config option 'monitor_interval'       = 300
Config option 'min_notify_changes'     = 5
Config option 'log_dir'                = /var/log/onedrive/
Config option 'classify_as_big_delete' = 1000
Config option 'upload_only'            = false
Config option 'no_remote_delete'       = false
Config option 'remove_source_files'    = false
Config option 'sync_root_files'        = false
Selective sync 'sync_list' configured  = false
Business Shared Folders configured     = false

Here is example of what is constantly popping up on my screen: screenshot of error messages

System is a fresh Kubuntu 22.04

Linux katana 5.15.0-50-generic #56-Ubuntu SMP Tue Sep 20 13:23:26 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Thank you for the response. I have changed the config to use /home/user/OneDrive as sync root, created the soft links from /home/user/Documents (target) to /home/user/OneDrive/Documents (linkname) for Desktop, Pictures, etc. When I do a dry run it all seems to go fine, it shows Documents/ ... and not OneDrive/Documents for the linked folders. However when I run onedrive --synchronize --resync it fails:

$ onedrive --resync --synchronize
Configuration file successfully loaded
Configuring Global Azure AD Endpoints

A database statement execution error occurred: disk I/O error

Please retry your command with --resync to fix any local database corruption issues.

Segmentation fault (core dumped)
abraunegg avatar
kr flag
> A database statement execution error occurred: disk I/O error - this is because you are running a version less than v2.4.21 ... please upgrade your client.
andrew.46 avatar
in flag
@ScriptyScript Looks like you provided extra information on your Question as an Answer; I *appended* the extra information to your Question and deleted the Answer.
Score:2
kr flag

Disclosure: I am the developer of the OneDrive Client for Linux - https://github.com/abraunegg/onedrive

I installed native onedrive (not from PPA). Auth, started a sync. onedrive version = v2.4.13-1build1

Firstly, you are running an obsolete and unsupported client version. Do not install from Ubuntu repositories, do not install from any PPA. These contain unsupported and obsolete client versions.

Please install the correct client version following the procedure to install the client on Ubuntu platforms. This information can be found on the GitHub site: https://github.com/abraunegg/onedrive/blob/master/docs/ubuntu-package-install.md

To your actual issue, your issue stems from the following configuration you have made:

Config option 'sync_dir' = /home/user/

Please do not do this.

As you have found out, it will attempt to start uploading all manner of items, and, literally cause a mess. If this truly is your desired configuration - you will have to configure a whole host of exclusions that you are probably not doing at the moment - which, if you do not do - could lead to things such as your SSH Keys being exposed online to OneDrive. Please do not do this sort of configuration.

Now .. I get that you want to upload Documents Pictures and Desktop directories for your user.

Your best solution here is to:

  • Configure the application to use a sync_dir of /home/user/OneDrive
  • Inside your /home/user/OneDrive - create a symbolic link to the directories you wish to sync, for example: /home/user/Desktop -> /home/user/OneDrive/Desktop ... so that the client will sync to OneDrive online the contents of those directories.

I set it to skip dot files, and also to check for .nosync, then I touch .nosync files in the directories I did not want synced like Downloads, VirtualBox\ VMs etc.

and:

Configuration file successfully loaded
Configuring Global Azure AD Endpoints

A database statement execution error occurred: disk I/O error

Please retry your command with --resync to fix any local database corruption issues.

Segmentation fault (core dumped)

This error is specifically caused by using any version less than v2.4.18 - so please upgrade your client to v2.4.21 or greater

What I suggest that you do:

  • Install the correct client version. You need to install v2.4.21 or later.
  • Configure the application correctly, validate with --display-config and test manually using --synchronize --dry-run --verbose to ensure the client is performing the operations and exclusions you are expecting.

If you run into issues, please follow the correct support process and open a discussion on the GitHub site.

abraunegg avatar
kr flag
You can backup from /home ... you need to configure the application to do so. Re ' I wanted to ask why is your software so out of date from Ubuntu?' ... because there is no package maintainer for Ubuntu ..... why dont you become the package maintainer?
abraunegg avatar
kr flag
This is why the the OpenSuSE Repo exists ....
abraunegg avatar
kr flag
You are free to your opinion - however this is 100% correct method for the application to advise that a new version has been released and it is time to upgrade. There are many folk who compile from source, or use Docker as well - not just 'repositories'. The OpenSuSE Build Service that provides the Debian|Ubuntu packages was also updated shortly thereafter - so Ubuntu should also be telling you that there is a new version available.
abraunegg avatar
kr flag
As for 'spamming' ..... advising once at application startup that something is out of date is not 'spamming' - it is called appropriate notification. There is a retry of this action post application startup every 24 hours - but again - this is certainly not 'spamming' by any definition. As for development learning - I have been using Linux since boot & root floppy disk days and have been developing software (commercial and open source) for close to 30 years now on a variety of systems ... so I do have quite a bit of knowledge on this matter.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.