Ubuntu 24.04 Issues

I did an OS upgrade from 23.10 to 24.04 that failed, and I had to do a fresh 24.04 install. Beside the 24.04 issue everyone else has had, I need to copy the Duplicati config file/files from the 23.10 disk to 24.10. What should I be looking for, I presumably can put it/them in the same place on 24.10.

That brings me to the libappindicator0.1-cil issue everyone has had, and saw the support thread. Frankly it left me confused. What is the easiest solution?

The files are usually stored in ~/.config/Duplicati.
You need the Duplicati-server.sqlite and any *.sqlite files.

I am not aware of any good workarounds unfortunately.

If you can live without having the tray-icon, you can ignore the dependency and just run duplicati-server instead of duplicati.

If you really want the tray icon, I will post a canary build soon that does not rely on libappindicator or mono. It does change quite a lot of things though, and is significantly less tested, although the core implementation is unchanged.

I have now published a canary build that installs on Ubuntu 24.04.
There are a few caveats and it is not well tested, but it does fit the “easiest” criteria.

OK, I’m game. Questions:

Where should I download the zip file? https://duplicati.com/download just has the standard 2.0.8.1

Are the generic Linux instructions still correct for this?

I have /root/.config/Duplicati (and its contents) copied over from Ubuntu 23.10. Will the install on 24.04use the config and sqlite files there?

You can use the update server:

Or Github:

And I am also experimenting with a prettier version (not a stable URL):

I’ve been running this special version of 2.0.9.100 since 5/30 and it works fine on Ubuntu 24.04 with no libappindicator0.1-cil issue. Today I got a popup offering 2.0.9.101. Is that safe with no libappindicator0.1-cil issue?

Great to hear!

Yes! I do not plan to release another version that depends on Mono / libappindicator. If some unexpected emergency arises the version will be 2.0.8.x.

Starting with 2.0.9.100 there is no longer a Mono or libappindicator dependency. The first stable release on this line will be something like 2.1.0.0.

I had the same issue with no libappindicator/mono for Ubuntu 24.04 after upgrading.
So I installed 2.0.9.105_canary sucessfully.
(I think before it must have been the 2.0.8.1 from the homepage.)

But now I lost my config (settings and planned jobs). Instead there’s an old (copied) config loaded from a year ago when I came from windows, which is useless.
I don’t want to try it just by myself, because I don’t want to destroy my config.
Is there a chance to find my yesterday’s config from 2.0.8.1?
How can I reuse it, without adding all my jobs and exclusions?

Maybe this can help you to help me:

~/.config/Duplicati$ ls --human-readable -l -t --group-directories-first
insgesamt 108M
drwxrwxr-x 2 verwalter verwalter 4,0K Aug 31 14:52  control_dir_v2
drwxrwxr-x 2 verwalter verwalter 4,0K Okt 26  2023  updates
-rw-r--r-- 1 verwalter verwalter 724K Aug 31 15:19  Duplicati-server.sqlite
-rw-r--r-- 1 verwalter verwalter 724K Aug 31 14:51 'Sicherung Duplicati-server 20240831025150.sqlite'
-rw-r--r-- 1 verwalter verwalter  247 Aug 31 14:51  machineid.txt
-rw------- 1 verwalter verwalter 106M Okt 21  2023  DPNAIVMYJZ.sqlite
-rwxrwxrwx 1 verwalter verwalter 724K Okt 16  2023  Duplicati-server20240831-145150.bak
-rw-rw-r-- 1 verwalter verwalter  283 Okt 16  2023  installation.txt

Anything to rename or move there? Like replace the “Duplicati-server.sqlite”
with the “Sicherung Duplicati-server 20240831025150.sqlite”?

Each job actually present should have a job database named as random-letters.sqlite.
There’s only one here from last October. Were you maybe running as root previously?
Those files would be in ~root/.config/Duplicati. Maybe this folder is in verwalter.

Sorry, my fault!

I also have this folder with the job’s databases:

/mnt/Sicherungen/Duplicati$ ls --human-readable -l -t --group-directories-first -R
.:
insgesamt 28K
drwxr-xr-x 2 root      root      4,0K Aug 27 15:02 Ubuntu
drwxrwxrwx 2 verwalter verwalter 4,0K Aug 26 14:24 Downloads
drwxrwxrwx 2 verwalter verwalter 4,0K Aug 26 14:11 FritzNAS
drwxrwxr-x 2 verwalter verwalter 4,0K Aug 26 02:38 Sicherungen
drwxr-xr-x 2 root      root      4,0K Aug 25 22:56 Programme
drwxrwxr-x 2 verwalter verwalter 4,0K Feb 17  2024 Windows

./Ubuntu:
insgesamt 3,5G
-rw------- 1 root root 3,5G Aug 27 15:02 DCUFUKVOUH.sqlite
-rw------- 1 root root 224K Dez  2  2023 DCUFUKVOUH.backup

./Downloads:
insgesamt 6,4G
-rw------- 1 root root 6,4G Aug 26 14:24 JBNQXXZQQC.sqlite
-rw------- 1 root root 776K Dez  1  2023 JBNQXXZQQC.backup

./FritzNAS:
insgesamt 277M
-rw------- 1 root root 277M Aug 26 14:11 UFVNGWVLZN.sqlite

./Sicherungen:
insgesamt 4,8G
-rw------- 1 root root 4,8G Aug 26 02:38 LNWFKBUQAX.sqlite

./Programme:
insgesamt 2,3G
-rw------- 1 root root 2,3G Aug 25 22:56 AWTCYSLIMF.sqlite
-rw------- 1 root root 416K Dez  1  2023 AWTCYSLIMF.backup

./Windows:
insgesamt 2,5G
-rw------- 1 root root 2,5G Feb 17  2024 LNYGZEWTPX.sqlite

I can add new jobs one after another, importing from these files, right?
But if there’s an overall config file, I would prefer using this.
And how can I get my general settings back, including some non-default options like mail report?

So that looks like a bunch of root-owned job databases, recently updated.
This is another indication that you ran Duplicati as root by systemd before.
What’s in ~root/.config/Duplicati? Is there a Duplicati-server.sqlite?

No if you mean import the job configuration. An import requires an export.

Exporting a backup job configuration

If you mean can you hand-create jobs and attach to database, probably…
But that’s kind of absurd. Please look for the recent Duplicati-server.sqlite.

Find the Duplicati-server.sqlite. It might be in ~root folder as I’ve described.

Do you have any idea of how you started and stopped Duplicati previously?
The fix for this might be as easy as running it the same way you did before.

Ordinarily the active server database is in same folder as its job databases.
Yours is different for some reason, and I don’t know your intentions for that.

1 Like

Yes, there is a root owned one, last modified in october 2023.

OK

Sorry, but I forgot the details about the last installation and what I did until it run smoothly.
I didn’t start or stop it by myself. It also had no app icon in the tray - now there is one.
It was running always, so yes, probably via systemd.
I think I was using this guide: Installation - Duplicati 2 User's Manual
This time I just installed the deb file with the software packet app. I will try the rest of the installation guide right after this post…

(The different places for the databases was my intention. At my first tryout I was running ubuntu dual boot with windows and had some size limitations with my disk. So I put these databases on another disk. And because on this disk are other backups too, it’s kind of a proper place.)

Oh, i’m so sorry for making effort!
This did the trick.
I just had to use the installation guide!
Shame on me!

After completing the guide i quit via app icon in the tray and started the service. A few seconds later I was able to see options and jobs like yesterday.
Thanks a lot for pointing me into the right direction!

2 Likes

Happy to hear that you got it sorted out. Is there anything that Duplicati could have done better here to avoid the troubles you got?

I was trying to follow the thread, and it looks like the correct file was in ~/.config/Duplicati as it should be, and the backup there was created when it started 2.0.9.105.

It seems Duplicati found the database (since it could upgrade it), but why did it look for another database afterwards?

Was strange. I’m not sure we ever found your Duplicati-server.sqlite storage location. Modification time (but not file name) should change on every backup to update the statistics.

Now that you’re on a systemd Duplicati, you can systemctl status duplicati for PID, then run

lsof -p PID | grep sqlite

to get (for example from my system)

duplicati 458090 root 106u REG 8,3 139264 1442824 /root/.config/Duplicati/Duplicati-server.sqlite

but if one tends to move databases around, the server has several ways to do it, such as

--server-datafolder
Duplicati needs to store a small database with all settings. Use this option to choose where the settings are stored. This option can also be set with the environment variable DUPLICATI_HOME.

which for a systemd Duplicati can go in /etc/default/duplicati

# cat /etc/default/duplicati
# Defaults for duplicati initscript
# sourced by /etc/init.d/duplicati
# installed at /etc/default/duplicati by the maintainer scripts

#
# This is a POSIX shell fragment
#

# Additional options that are passed to the Daemon.
DAEMON_OPTS=""
# 
1 Like

There I get:

duplicati 10224 root 108u REG 259,2 327680 19005442 /usr/lib/duplicati/data/Duplicati-server.sqlite

And the named file exists there (checked) and was last modified today. Seems to be the right one.

Does that mean, that I can delete all the other sqlite and bak files from ~/.config/Duplicati from my 1st post 2 days ago?
|

There I have:
DAEMON_OPTS="--webservice-interface=any --webservice-port=8200 --portable-mode"

The web manual says:
--portable-mode: Activates portable mode where the database is placed below the program executable.
Seems to be the guilty. IDK why there’s this option. Should I change anything? It’s running fine now, I think.
Maybe like asked above delete the DBs in ~/.config/Duplicati, move the right one from /usr/lib/duplicati/data to ~/.config/Duplicati and remove the --portable-mode option?

It’s a bit my fault: last year Ubuntu was new to me and I didn’t know how to install a DEB file. So I followed the instructions and ended up running Duplicati as systemctl service, which apparently dropped the database to the program files because of the use of the portable option.
In the meantime I have more knowledge and simply installed the DEB file without the instructions. As a result, Duplicati searched for the database elsewhere and only found old data from the Windows migration.

A note: “Please follow the installation instructions!” right next to/below the download could prevent such confusion for beginners like me.

No, as written above and in my last post, my database is with the program files. In ~/.config/Duplicati are old ones. And after I run Duplicati as systemctl service again, the database is searched and found under /usr/lib/duplicati/data again.

Just tried it:
After making copies I

  • deleted /usr/lib/duplicati/data
  • deleted all databases in ~/.config/Duplicati
  • moved the correct sqlite database to /root/.config/Duplicati/Duplicati-server.sqlite
  • removed --portable-mode in /etc/default/duplicati
  • sudo systemctl restart duplicati

I hope that’s kind of correct now!
At least everything works fine for me and some old crap is cleaned up now.

I don’t know why you chose it, but portable means, for example, Duplicati on a USB stick. along its configuration and databases although you moved your job databases and left the server database.

You could undo that if you like. Be sure the ~ you go to is ~root (assuming Duplicati is run as root). Leaving it alone would also work, except using odd locations might confuse someone in the future.

Now that you know where active database is, if you’re positive the others aren’t good for anything, they’re not helping much except maybe as stale fallback. If they might be used, maybe keep them.

Not really. If you previously were running duplicati TrayIcon, e.g. from an OS start menu, using a systemd service running as root would have the same problem you had, except in the other way.

I’m not sure if I agree with advising --portable-mode for a Linux install, and don’t know why it’s written that way. --webservice-interface=any may be dangerous, as it allows remote attacks.

What to do about maintenance of the manual is an open question I hope leadership can resolve.

1 Like

I’m pretty sure, I didn’t chose these options by myself, because I don’t know what they exactly mean. So after --portable-mode I’ll also remove --webservice-interface=any for security reasons.

Like I wrote above I moved my database to /root/.config/Duplicati/Duplicati-server.sqlite without leading ~.
After removing --portable-mode, Duplicati created a new database. And lsof -p PID | grep sqlite showed exactly this path. So I replaced it with my own db.
(In the meantime I’ve learned from ChatGPT, that ~root = /root, if he wasn’t lying.)
Hopefully this is a common path, not confusing someone in the future!