Help with installing on Raspberry Pi

Hello,

I’m trying to get Duplicati working on a Raspberry Pi and so far I can’t seem to get it to work. Any help would be appreciated.

Here are the things I’ve tried so far:

  1. I installed using Duplicati by by downloading the DEB file (I’m using Raspbian) and running
    sudo dpkg -i <filename>
  2. The install errored due to missing dependencies, but I ran sudo apt-get -f install to fix that.
  3. Duplicati would start up, but when trying to connect to B2 I would get certificate errors and followed the advice given in the error message of running cert-sync ... to fix the issue, but cert-sync wasn’t installed…
  4. So added the Mono repo and installed the ca-certification-mono package and tried running cert-sync, but that failed for some reason and I can’t remember why. I decided that I should uninstall all the Mono packages and Duplicati and try to reinstall everything.
  5. Reinstalled Duplicati using dpkg, ran apt-get to fix the dependencies, manually installed ca-certification-mono, but now I get the below errors:
Server has started and is listening on 127.0.0.1, port 8300
Unexpected error: System.TypeLoadException: Could not load type of field 'System.Net.HttpWebRequest:tlsSettings' (52) due to: Could not resolve type with token 01000034 (from typeref, class/assembly Mono.Security.Interface.MonoTlsSettings, Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756) assembly:Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756 type:Mono.Security.Interface.MonoTlsSettings member:<none>
  at Duplicati.GUI.TrayIcon.HttpServerConnection.PerformRequest[T] (System.String method, System.String urlfragment, System.Collections.Generic.Dictionary`2[TKey,TValue] queryparams) [0x0000c] in <d07129d6974642b0bbdaa3ccc42fe89d>:0 
  at Duplicati.GUI.TrayIcon.HttpServerConnection.UpdateStatus () [0x00001] in <d07129d6974642b0bbdaa3ccc42fe89d>:0 
  at Duplicati.GUI.TrayIcon.HttpServerConnection..ctor (System.Uri server, System.String password, System.Boolean saltedpassword, System.Boolean dbPasswordSourceDatabase, System.Collections.Generic.Dictionary`2[TKey,TValue] options) [0x000de] in <d07129d6974642b0bbdaa3ccc42fe89d>:0 
  at Duplicati.GUI.TrayIcon.Program.RealMain (System.String[] _args) [0x003d7] in <d07129d6974642b0bbdaa3ccc42fe89d>:0 
Crash! 
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.AggregateException: One or more errors occurred. ---> System.TypeLoadException: Could not load type of field 'System.Net.HttpWebRequest:tlsSettings' (52) due to: Could not resolve type with token 01000034 (from typeref, class/assembly Mono.Security.Interface.MonoTlsSettings, Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756) assembly:Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756 type:Mono.Security.Interface.MonoTlsSettings member:<none>
  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine] (TStateMachine& stateMachine) [0x0002c] in <c109e83bf6b6427c945b56620bfa750d>:0 
  at Duplicati.Library.UsageReporter.ReportSetUploader+<>c.<Run>b__2_0 (CoCoL.IReadChannel`1[T] chan) [0x00023] in <5fd9851e5e564c4d957baf4634e9caab>:0 
  at CoCoL.AutomationExtensions+<RunTask>c__async2`1[T].MoveNext () [0x000f3] in <42facd2a943c4ff2bbe038fcc8489a68>:0 
   --- End of inner exception stack trace ---
  at System.Threading.Tasks.Task.ThrowIfExceptional (System.Boolean includeTaskCanceledExceptions) [0x00011] in <c109e83bf6b6427c945b56620bfa750d>:0 
  at System.Threading.Tasks.Task.Wait (System.Int32 millisecondsTimeout, System.Threading.CancellationToken cancellationToken) [0x00043] in <c109e83bf6b6427c945b56620bfa750d>:0 
  at System.Threading.Tasks.Task.Wait (System.TimeSpan timeout) [0x00022] in <c109e83bf6b6427c945b56620bfa750d>:0 
  at Duplicati.Library.UsageReporter.Reporter.ShutDown () [0x00037] in <5fd9851e5e564c4d957baf4634e9caab>:0 
  at Duplicati.Server.Program.RealMain (System.String[] args) [0x006c4] in <a6c0c2089b9a44ec9be5057a44f12116>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00032] in <c109e83bf6b6427c945b56620bfa750d>:0 
   --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00048] in <c109e83bf6b6427c945b56620bfa750d>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <c109e83bf6b6427c945b56620bfa750d>:0 
  at Duplicati.Library.AutoUpdater.UpdaterManager.RunMethod (System.Reflection.MethodInfo method, System.String[] args) [0x00000] in <2e3a1be277654a188f84e503094300c3>:0'

So, am I just doing things in the wrong order (i.e install Mono first and then Duplicati, if so what Mono packages?)? Or is there something else going on here that I’m not sure about.

Thanks a ton!

I edited your post to improve the formating. (Just added ~~~ before and after the output you pasted, see here for details).

1 Like

OK, I’ve got it working and it has successfully started backing up. Here’s how I got it running on properly.

  1. Added the Mono repos: http://www.mono-project.com/download/#download-lin-raspbian

  2. Installed mono-complete (I probably didn’t need to do that package, but I wanted to make sure I had everything) and the ca-certificates-mono package
    sudo apt-get install mono-complete ca-certificates-mono

  3. Ran cert-sync: sudo cert-sync /etc/ssl/certs/ca-certificates.crt I think I forgot the sudo the first time and that’s why I ran into errors.

  4. Installed the duplicati deb package
    sudo dpkg -i duplicati*.deb

  5. Fixed the rest of the missing dependencies with sudo apt-get -f install

After all that everything is working properly!

2 Likes

Thanks for the solution @frailotis . I’ll give it a try.

When attempting to install Mono, I found out that I needed to install dirmngr in order to add the Mono repository by using the following:
sudo apt-get install dirmngr

I was running Raspbian Stretch, so I made sure to use the following line for the sources.list file:
deb http://download.mono-project.com/repo/debian raspbianstretch main