...osx-x64-cli.pkg and ...osx-x64-agent.pkg? What is the function of both?

Hi @webipsum thanks for the question.

The two packages cli.pkg and agent.pkg are new in v2.0.9.110 and follows the format for the other platforms.

There are currently three “interface type” packages:

  • GUI: The full package that includes the Duplicati.GUI.TrayIcon.exe / duplicati executable that will host the Duplicati server and show up in the desktop tray or menu bar.
    This package is recommended for most users as it is the simplest to get up and running.
    However, it includes a number of desktop components that may not be desired in more advanced setups (e.g., running on a machine with no desktop environment).

  • CLI: Same as the GUI package, but without the desktop component. These packages are a bit smaller and have less dependencies. If you are using this package you generally need to configure some way to start Duplicati.Server.exe / duplicati-server.

  • Agent: A reduced build that is intended to connect only to the Duplicati Console (https://app.duplicati.com) and can be configured from here.
    The Agent package is still a bit new, so at this point it is mostly intended for enterprise-style installations where many machines needs to be configured and managed centrally.
    At a later stage we will streamline this a bit so it is easier for single-user setups as well.

For MacOS there are the two formats: .dmg and .pkg. Most software on MacOS is delivered via a .dmg file where you copy in the app bundle, and you can do that with Duplicati as well. Since the CLI and Agent packages do not have an app bundle, there is no .dmg file for those.

The .pkg files are the installer format for MacOS and installs launch agents that automatically launches Duplicati when the user logs in. The GUI pkg will launch the app bundle on login, the agent will launch the agent on login, and the CLI will install a stub launcher that can be modified to start the server on login.

The GUI packages contains the support binaries, such as server-util, inside the app bundle, so invoking them requires the full path into the bundle.
The CLI and Agent packages installs these in /usr/local/Duplicati with symlinks into /usr/local/bin for easy access.

1 Like